Я пытался обучить базы данных изображений для обнаружения лиц с помощью каскадов Хаара.Я сделал 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.
Кто-нибудь может направить меня сюда?