2

Я пытаюсь выполнить поиск объектов с помощью OpenCV. Но меня что-то смущает. Отслеживание & алгоритм прогнозирования, такой как фильтры camshift и kalman, может выполнять задачу отслеживания, тогда как методы SURF-соответствия также могут это сделать.

Я не совсем понимаю разницу между двумя подходами. Я сделал некоторые кодировки на основе feature2d (используется SURF) и motion_analysis_and_object_tracking (используется camshift) учебника OpenCV. Похоже, что это всего лишь два средства одной цели. Я прав, или я пропустил какую-то концепцию?

И это хороший способ совместить отслеживание перемещений с помощью функции SURF? ... возможно, может быть использовано больше материала, например, для согласования контуров?Комбинация camshift и opencv

ответ

5

Короткий ответ:

  1. Detect интересный объект, используя характерную точку (SURF) или любой другой подход.
  2. Получите ограничивающий прямоугольник объекта и передайте его как вход для объекта отслеживания (например, CAMShift).
  3. Используйте объект отслеживания, если объект не будет потерян.

Объект отслеживания является процесс нахождения положения объекта , используя информацию в предыдущих кадрах. Разница между отслеживанием и обнаружением заключается в том, что, хотя оба процесса локализуют положение объекта, обнаружение не использует никакой информации из предыдущих кадров, чтобы локализовать объект .

Посмотрите на "Object Tracking: A Survey" by Alper Yilmaz, Omar Javed and Mubarak Shah. Этот документ содержит всесторонний обзор методов обнаружения и отслеживания.

+0

Спасибо за ваш ответ. Статья очень помогает. Я понимаю это как два аспекта: 1. Tracker, такой как CAMShift, может принимать данные от других методов обнаружения, а SURF - это одно из признаков обнаружения, которое может создавать вход; 2. В OBJECT TRACKING мы должны попытаться использовать информацию в предыдущих кадрах, и обнаружение не всегда необходимо. – Comen