Отслеживание точек в видео с использованием алгоритма Канаде-Лукас-Томази (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 длиной М, содержит значение true или false, соответствующее достоверности отслеживаемой точки. Длина М соответствует количеству точек. Значение false указывает на недопустимую точку, которая не должна отслеживаться. Например, эту функцию можно использовать с estimateGeometricTransform для определения преобразования между местоположениями точек в предыдущем и текущем кадрах. Можно пометить отклонения как недопустимые.
Чтобы использовать функцию объекта, укажите object™ System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)
[1] Лукас, Брюс Д. и Такео Канаде. «Метод итеративной регистрации изображений с применением стереовидения», материалы 7-й Международной совместной конференции по искусственному интеллекту, апрель 1981 года, стр. 674-679.
[2] Томази, Карло и Такео Канаде. Обнаружение и отслеживание точечных признаков, факультет компьютерных наук, Университет Карнеги-Меллон, апрель 1991 года.
[3] Ши, Цзяньбо и Карло Томази. «Хорошие особенности для отслеживания», Конференция IEEE по компьютерному зрению и распознаванию образов, 1994 год, стр. 593-600.
[4] Калал, Зденек, Крыстиан Миколайчик, Иржи Матас. «Forward-Backward Error: Automatic Detection of Tracking Fails», Материалы 20-й Международной конференции по распознаванию образов, 2010, стр. 2756-2759, 2010.
detectHarrisFeatures | detectMinEigenFeatures | detectSURFFeatures | estimateGeometricTransform | imrect | insertMarker | vision.HistogramBasedTracker