Отследите точки в видео с помощью алгоритма Канаде-Лукаса-Томази (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
, должно быть 2-D полутоновым или 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] Томази, Карло и Такео Канаде. Обнаружение и отслеживание функций точек, факультет компьютерных наук, Университет Карнеги Меллон, апрель 1991 года.
[3] Ши, Цзяньбо и Карло Томази. «Хорошие функции для отслеживания», IEEE Conference on Компьютерное Зрение and Pattern Recognition, 1994, pp. 593-600.
[4] Калал, Зденек, Крыстиан Миколайчик и Иржи Матас. «Прямая-обратная ошибка: автоматическое обнаружение отказов в отслеживании», Труды 20-й Международной конференции по распознаванию шаблона, 2010, стр. 2756-2759, 2010.
detectHarrisFeatures
| detectMinEigenFeatures
| detectSURFFeatures
| estimateGeometricTransform
| imrect
| insertMarker
| vision.HistogramBasedTracker