0

Я пишу программу распознавания лиц. Поэтому моя цель - найти лицо на изображении определенного размера. На данный момент я создал алгоритм HOG и классификатор SVM. Для предоставленного изображения я могу определить, есть ли его лицо или нет, но только для изображений фиксированного размера, где лицо находится посередине. Итак, как мне найти лица, которые больше или меньше, чем SVM обучается или находится в неизвестном месте на изображении?Поиск объекта неизвестного размера на изображении

+0

Я думаю, что это решает проблему в разделе 3. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.193.4954&rep=rep1&type=pdf –

+0

@MatthewPope, что сайт заблокирован, Я не могу получить к нему доступ. –

+0

Google Scholar может предоставить вам html-версию статьи. Возможно, вы можете получить доступ к этому. https://scholar.google.com/scholar?q=Shift+Invariant+Support+Vector+Machines+Face+Recognition+System –

ответ

0

Что вам нужно - это «обнаружение нескольких масштабов».

Основой является запуск вашего детектора на нескольких разных масштабах изображения. Итак, вам нужно собрать пирамиду изображения и для каждого уровня изображения запустить детектор с помощью сканирования изображения.

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

Для объектов, которые меньше, чем у вашего первоначального классификатора, вам необходимо: увеличить изображение и запустить детектор или обучить ваш класс на минимальный размер, который вы ожидаете обнаружить.

посмотреть на https://www.mpi-inf.mpg.de/fileadmin/inf/d2/HLCV/cv-ss13-0605-sliding-window.pdf для ознакомления с некоторыми основными понятиями.

Также вы можете попробовать использовать opencv, встроенный в многомасштабное обнаружение. opencv HOG multicale detector

+0

Очень хорошо, это именно то, что я искал! Большое спасибо! –