Как работает обучение дескрипторов функций HOG?

#opencv #computer-vision #feature-detection

#opencv #компьютерное зрение #обнаружение функций

Вопрос:

Похоже, что в OpenCV нет никаких реализаций обучения HOG и мало источников о том, как работает обучение HOG. Из того, что я понял, обучение HOG может выполняться в режиме реального времени. Но каковы требования к обучению? Как на самом деле работает процесс обучения?

Ответ №1:

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

Еще один совет при проведении исследований в области компьютерного зрения — отмечать авторов статей, которые кажутся вам интересными, и пытаться найти их веб-сайты. Они, как правило, имеют реализацию своих алгоритмов, а также практические правила их использования. Кроме того, посмотрите ссылки, которые приведены в статье о вашем алгоритме. Это может быть очень полезно для получения базовых знаний, чтобы по-настоящему понять, как работает алгоритм и почему.

Ответ №2:

Ваша терминология немного запутана. HOG — это дескриптор функций. Вы можете обучить классификатор с помощью HOG, который, в свою очередь, можно использовать для обнаружения объектов. OpenCV включает в себя детектор людей, который использует функции HOG, и классификатор SVM. Он также включает в себя CascadeClassifier, который может использовать HOG и который обычно используется для распознавания лиц.

В OpenCV есть программа под названием opencv_traincascade, которая позволяет обучать каскадный детектор объектов, что дает вам возможность использовать HOG. В наборе инструментов системы компьютерного зрения для MATLAB есть функция trainCascadeObjectDetector, которая выполняет то же самое.