1

Я работаю над проектом в своей школе, чтобы определить, сколько учеников в классе. Как на этой картинке. classroomобнаружение людей с haar cascade

Я пытаюсь использовать Haar Cascade в opencv для обнаружения лица, чтобы обнаружить людей, но результат очень плохой. Например: After detection

Я взял тысячи фотографий в классе и обрезал картинку с людьми вручную. Есть около 4000 положительных образцов и 12000 отрицательных образцов. Мне было интересно, что я сделал неправильно? Когда я обрезаю изображение, должен ли я обрезать только такую ​​голову? Head Или как это с телом? With Body

Я думаю, что у меня было достаточно образцов подготовки, и я следую за точную процедуру с этой должности: http://note.sonots.com/SciSoftware/haartraining.html#v6f077ba , которые должны работать. Или использовать другой алгоритм, например HOG или SVM. Любое предложение было бы здорово для меня, я застрял в этом в течение нескольких месяцев и понятия не имею. Большое спасибо!

+0

предварительно обработанный каскад в opencv работает только для фронтальных лиц, и вам нужно обучить что-то вроде многопользовательского объекта. – mrgloom

+0

Можете ли вы опубликовать свои полные команды? – JohnAllen

+0

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

ответ

2

Haar лучше для человеческого лица. Hog с SVM является классическим для обнаружения людей, и было много источников и блогов о них, нетрудно подготовить классификатор. Для вашей сцены я думаю, что «голова и плечо» лучше, чем «голова одна». Но ваши примеры с несколькими видами увеличивают сложность. Лучшая камера была бы лучше. Добавьте больше жестких отрицательных выборок, если у вас всегда есть больше ложных положительных сигналов. Эта статья может помочь: http://irip.buaa.edu.cn/~zxzhang/papers/icip2009-1.pdf

0

Как правило, с Хаара каскада, результат сильно отличается, когда мы изменяем параметры, когда мы обучаем классификатор. В моем случае этот объект очень прост, но он также не может обнаружить: opencv haar cascade for Varikont detection

Когда я изменил параметры, он может обнаружить очень приятный. Вы можете посмотреть здесь: https://inspirit.github.io/jsfeat/sample_haar_face.html

Или более специальным и профессиональным, вы можете исследовать Сумку визуальных слов (SIFT/SURF + SVM или SGD).

Лично я считаю, что вам не нужно использовать комплекс методов для обнаружения людей. С уважением,