Отследите точки в видео с помощью алгоритма Kanade-Lucas-Tomasi (KLT)
Объект средства отслеживания точки отслеживает набор точек с помощью Kanade-Lucas-Tomasi (KLT), отслеживающего функцию алгоритма. Можно использовать средство отслеживания точки для видео стабилизации, оценки движения камеры и объектного отслеживания. Это работает особенно хорошо на отслеживание объектов, которые не изменяют форму и на тех, которые показывают визуальную структуру. Средство отслеживания точки часто используется для краткосрочного отслеживания как часть большей среды отслеживания.
В то время как алгоритм средства отслеживания точки прогрессирует в зависимости от времени, точки могут быть потеряны из-за подсветки изменения из плоского вращения или ясно сформулированного движения. Чтобы отследить объект за длительный период времени, вы, возможно, должны повторно получить точки периодически.
Отслеживать набор точек:
Создайте vision.PointTracker
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?
pointTracker = vision.PointTracker
возвращается средство отслеживания точки возражают, что отслеживает набор точек в видео.
свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки. Например, pointTracker
= vision.PointTracker(Name,Value
)pointTracker = vision.PointTracker('NumPyramidLevels',3)
Инициализируйте процесс отслеживания:
Чтобы инициализировать процесс отслеживания, необходимо использовать initialize
задавать начальные местоположения точек и начальный видеокадр.
initialize(pointTracker,points,I)
инициализирует точки, чтобы отследить и устанавливает начальный видеокадр. Начальные местоположения points
, должен быть M-by-2 массив [x y] координаты. Начальный видеокадр, I
, должен быть 2D шкала полутонов или изображение RGB и должна быть одного размера и тип данных, когда видеокадры передали step
метод.
detectFASTFeatures
, detectSURFFeatures
, detectHarrisFeatures
, и detectMinEigenFeatures
функции являются немногими из многих способов получить начальные точки для отслеживания.
[
отслеживает точки во входном кадре, points
,point_validity
] = pointTracker(I
)I
.
[
дополнительно возвращает оценку достоверности для каждой точки.points
,point_validity
,scores
] = pointTracker(I
)
setPoints(pointTracker,
устанавливает точки для отслеживания. Функция устанавливает M-by-2 points
)points
массив [x
y] координирует с точками, чтобы отследить. Можно использовать эту функцию, если точки должны быть повторно обнаружены, потому что слишком многие из них были потеряны во время отслеживания.
setPoints(pointTracker,
дополнительно позволяет вам отметить точки или как допустимые или как недопустимые. Вход логический векторный points
,point_validity
)point_validity
из длины M, содержит истинное или ложное значение, соответствующее валидности точки, которая будет прослежена. Длина M соответствует числу точек. Ложное значение указывает на недопустимую точку, которая не должна быть прослежена. Например, можно использовать эту функцию с estimateGeometricTransform
функция, чтобы определить преобразование между местоположениями точки в предыдущих и текущих системах координат. Можно отметить выбросы как недопустимые.
Чтобы использовать объектную функцию, задайте Систему object™ как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
[1] Лукас, Брюс Д. и Тэкео Кэнэйд. “Итеративный Регистрационный Метод Изображений с Приложением к Видению Стерео”, Продолжения 7-й Международной Объединенной Конференции по Искусственному интеллекту, апрель 1981, стр 674–679.
[2] Tomasi, Карло и Тэкео Кэнэйд. Обнаружение и отслеживание функций точки, кафедры информатики, Университета Карнеги-Меллон, апрель 1991.
[3] Ши, Джиэнбо и Карло Томази. “Хорошие Функции, чтобы Отследить”, Конференция по IEEE по Компьютерному зрению и Распознаванию образов, 1994, стр 593–600.
[4] Kalal, Зденек, Krystian Mikolajczyk и Иржи Матас. “Прямая обратная Ошибка: Автоматическое обнаружение Отслеживания Отказов”, Продолжения 20-й Международной конференции по вопросам Распознавания образов, 2010, страницы 2756-2759, 2010.
insertMarker
| vision.HistogramBasedTracker
| detectSURFFeatures
| detectHarrisFeatures
| detectMinEigenFeatures
| estimateGeometricTransform
| imrect