В заключение, немного упрощая, все, что вам нужно для обнаружения конкретных объектов на изображении:
- Локализация "точек интереса" для извлечения исправлений:
Чтобы получить интересующие вас объекты, вы можете использовать некоторые алгоритмы, такие как детектор углов Harris, случайным образом или что-то просто, например, скользящие окна.
- Из этих точек получите патчи:
Вам нужно будет принять решение о размере патча.
- Из этих патчей вычислитедескриптор функции.(как HOG).
Вместо HOG вы можете использовать другой дескриптор функции, такой как SIFT, SURF ...
Реализация HOG не слишком сложна.Вы должны рассчитать градиенты извлеченного патча, применяя ядра Собел X и Y, после чего вам нужно разделить патч на ячейки NxM, например, 8x8, и вычислить гистограмму градиентов, угла и величины.В следующей ссылке вы можете увидеть более подробное объяснение: Учебное пособие по HOG Person Detector
- Проверьте свой вектор признаков в ранее обученном классификаторе
OnceВы получили этот вектор, проверьте, является ли это желаемый объект или нет с помощью ранее обученного классификатора, такого как SMV.Вместо SVM вы можете использовать NeuralNetworks, например.
Реализация SVM более сложна, но есть некоторые библиотеки, такие как opencv, которые вы можете использовать.