2013-07-28 2 views
3

У меня есть видео о футболе, в котором игроки находятся относительно далеко от камеры и, таким образом, представляют небольшие части изображения. Я использую вычитание фона для обнаружения игроков, и результаты в порядке, но меня попросили обнаружить с помощью Hog.Люди обнаруживают, используя Hog, не найдя никого

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

Вот пример изображения link

Спасибо.

ответ

0

Посмотрите на определение функции для detectMultiscale http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-detectmultiscale

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

+0

Я попытался установить минимальный размер и изменить значение шкалы, но он все еще не может обнаружить никого. – Kenpachi

1

Дескриптор, который вы используете с HOG, определяет минимальный размер человека, которого вы можете обнаружить: с помощью DefaultPeopleDetector окно обнаружения имеет высоту 128 пикселей и ширину 64 x, поэтому вы можете обнаружить людей высотой около 90 пикселей. С дескриптором Daimler размер, который вы можете обнаружить, немного меньше.

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

Смежные вопросы