OpenCV Haar Classifier: обучение прекращается преждевременно - PullRequest
0 голосов
/ 17 октября 2018

Я пытался обучить базы данных изображений для обнаружения лиц с помощью каскадов Хаара.Я сделал 2 попытки:

1) Я использовал следующую базу данных для положительных изображений: http://robotics.csie.ncku.edu.tw/Databases/FaceDetect_PoseEstimate.htm#Our_Database_ (6660 изображений) Для негативных изображений я использовал эту базу данных: https://github.com/sonots/tutorial-haartraining/tree/master/data/negatives (3300 изображений)

Я использовал эту команду для обучения сэмплов: opencv_createsamples -info info.dat -vec samples2.vec -w 32 -h 24 -num 6660

Я использовал эту командудля обучения данных: opencv_traincascade -data ./classifier3 -vec samples2.vec -bg bg.txt -numPos 6000 -numNeg 12000 -numStages 30 -precalcValBufSize 5120 -precalcIdxBufSize 5120 -numThreads 12 -eh5-minHitRate 0,99 -maxFalseAlarmRate 0,5 -режим ВСЕ

Обучение продолжается до этапа 9. Затем значение перерыва acceptRatio пересекается. (Требуемый коэффициент допуска для модели достигнут, чтобы избежать чрезмерного подбора данных обучения. Отраслевое обучение прекращено.)

Я не понимаю проблемы здесь.Я использовал только рекомендуемые значения для параметров.Я пытался изменить minHitRate до 0,95, но результат тот же.Я могу подумать о некоторых возможных причинах:

i) Я использовал положительные изображения напрямую, без обрезки.Но я не думаю, что это должно быть проблемой, так как фон полностью прост.

ii) База данных изображений содержит лица в разных позах.Это может привести к осложнениям во время тренировки.Является ли хорошей идеей тренировать лица в разных позах, используя один и тот же каскадный классификатор?Или я должен использовать разные классификаторы для каждой позы?

iii) Мои негативные изображения могут быть слишком разными по сравнению с позитивными.Это тот случай?Если да, то какие негативные изображения мне нужно искать?

Я попытался протестировать файл cascade.xml на нескольких образцах изображений, но ничего не было обнаружено.

2) СохранениеИмея в виду потенциальную причину i), я использовал эту базу данных, уже обрезанную для положительных изображений: http://conradsanderson.id.au/lfwcrop/ (около 13000 изображений)

Но проблема все еще сохраняется.На этот раз он тренируется до стадии 11. В этом случае я использовал -numPos как 8000 -numNeg как 20000 (увеличил отношение, чтобы обучить больше отрицательных выборок), -w как 24 и -h как 24.

Кто-нибудь может направить меня сюда?

...