Отслеживание естественных функций с помощью openCV - оценка параметров - PullRequest
4 голосов
/ 10 мая 2011

Вкратце, каковы доступные варианты для реализации отслеживания определенного изображения (фото / графика / логотип) в веб-канале с использованием OpenCv? В частности, я пытаюсь сопоставить мнение о следующем:

  1. Будет ли HaarTraining излишним (учитывая, что это не 3d-объекты, а просто отслеживаемые изображения), или это единственный выход?

  2. Пробовал согласование шаблонов, обнаружение на основе цвета, но они не обеспечивают надежного отслеживания при различном освещении / масштабе / ориентации вообще.

  3. Будет ли SIFT, SURF функция сопоставления работать так же надежно в видео, как и со статическим изображением сравнение

Я относительный новичок в OpenCV, как видно из моих предыдущих запросов к SO (очень полезные ответы). Какие-нибудь подсказки или ссылки на то, что может быть хорошим ресурсом для начала реализации NFT с OpenCV?

Ответы [ 2 ]

8 голосов
/ 10 мая 2011

Не могли бы вы немного подробнее рассказать о своих требованиях?А именно, какой тип внешнего вида вы ожидаете / насколько вы контролируете окружающую среду.Какие у вас есть ограничения в отношении скорости / мощности / ресурсов?

Без них я могу дать лишь общую оценку 3 путям, о которых вы говорите.

1.Хаар будет работать хорошо и быстро, особенно для распознавания.

Обратите внимание, что Haar не очень хорошо работает для 3D, если вы не тренируетесь с полным спектром шаблонов, чтобы охватить различные перспективы.Детским приложением-каскадом каскадов Хаара является система распознавания лиц Виолы Джонса, которая в значительной степени ориентирована на лобные лица (безусловно, может быть обучена многим другим вещам)

Учебное пособие по обучению Хаару с использованием OpenCV см. здесь .

2.Попробуйте NCC или, что еще лучше, отслеживание Лукаса Канаде (cvCalcOpticalFlowPyrLK, который является пирамидальным, как в грубом-точном LK - четырехуровневая пирамида обычно работает хорошо) для шаблона.Обычно хорошо до 10% масштаба или 10 градусов вращения без изменения шаблона.Кроме того, у вас могут быть автоматически развивающиеся шаблоны, которые могут дрейфовать со временем.

Краткое руководство по оптическому потоку / отслеживанию см. В this .

3.SIFT / SURF действительно будет работать очень хорошо.Я бы предложил дополнительный шаг геометрической проверки для удаления ложных совпадений.

Я был бы немного обеспокоен количеством вычислительного времени.Если нет существенного вращения освещения / масштаба / в плоскости, то SIFT, вероятно, излишним.Если вы действительно нуждаетесь в этом, проверьте превосходную SIFTGPU от Changchang Wu.Примечание: третье лицо, а не OpenCV.

1 голос
/ 10 мая 2011

Кажется, что ни один из методов, применяемых в одиночку, не может дать надежных результатов, если это не хобби.Возможно, какой-то адаптивный алгоритм будет более или менее приемлемым.Например, посмотрите известный проект с открытым исходным кодом , где они используют машинное обучение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...