SIFT, HOG и SURF c ++, opencv - PullRequest
       334

SIFT, HOG и SURF c ++, opencv

7 голосов
/ 15 марта 2011

У меня простой вопрос, который я хочу знать, какие библиотеки доступны и могут дать хорошие результаты для реализации SIFT, HOG (Histogram Oriented Gradient) и SURF в c ++ или opencv?

Следовательно: 1- Дайте мне ссылку на код, если можете, что я буду очень признателен. 2- Если вы знаете одну из них или какую-либо информацию, которая приведет меня к тому, чего я хочу, я буду очень признателен.

Спасибо

Ответы [ 6 ]

3 голосов
/ 23 июня 2012

Не уверен, что это все еще актуально, но вы также получаете две реализации вычисления дескрипторов HOG в opencv, то есть версии HOG-кода как для GPU, так и для CPU.

для версии процессора вы можете проверить это сообщение в блоге

однако в версии CPU вам нужно написать собственную логику для скользящих окон.

и версия GPU довольно проста, вы можете прочитать документацию здесь

3 голосов
/ 17 мая 2011
3 голосов
/ 15 марта 2011

проверьте это: surf - отличная статья http://people.csail.mit.edu/kapu/papers/mar_mir08.pdf sift - отличный источник, я попробовал это на iPhone http://blogs.oregonstate.edu/hess/ - быстро - библиотека быстрого обнаружения углов http://svr -www.eng.cam.ac.uk / ~ er258 / работа / fast.html

2 голосов
/ 13 июля 2012

Будьте осторожны с реализациями OpenCV, потому что последние версии OpenCV классифицировали реализации SIFT и SURF как несвободные http://docs.opencv.org/modules/nonfree/doc/nonfree.html.

Теперь вы можете использовать их, но, вероятно, они подлежат лицензированию и не могут использоваться для коммерческих решений.

2 голосов
/ 16 марта 2011

Может помочь вам узнать, что реализации SIFT и SURF уже интегрированы в OpenCV.http://opencv.willowgarage.com/documentation/cpp/features2d__feature_detection_and_descriptor_extraction.html

0 голосов
/ 13 сентября 2013

Для обнаружения используются дескрипторы на основе каналов HoG, Sobel и Lab. Специфичные для класса классные леса для обнаружения объектов ( исходный код opencv / c ).

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

...