В течение нескольких дней я пытаюсь создать свою собственную программу классификации объектов, используя Python-Open cv и Haar Cascade.Обнаружение объекта OpenCV-Python не работает
После создания образцов, вот как обучить систему:
opencv_traincascade -data classifier -vec samples.vec -bg negatives.txt -numStages 12 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 1000 -numNeg 600 -w 50 -h 50 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024
и после стадии 8 я получил этот выход
===== TRAINING 8-stage =====
<BEGIN
POS count : consumed 1000 : 1000
NEG count : acceptanceRatio 600 : 0.00221078
Precalculation time: 10
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 1|
+----+---------+---------+
| 2| 1| 1|
+----+---------+---------+
| 3| 1| 0.898333|
+----+---------+---------+
| 4| 1| 0.916667|
+----+---------+---------+
| 5| 1| 0.691667|
+----+---------+---------+
| 6| 1| 0.681667|
+----+---------+---------+
| 7| 1| 0.518333|
+----+---------+---------+
| 8| 1| 0.626667|
+----+---------+---------+
| 9| 1| 0.441667|
+----+---------+---------+
===== TRAINING 9-stage =====
<BEGIN
POS count : consumed 1000 : 1000
NEG count : acceptanceRatio 0 : 0
Required leaf false alarm rate achieved. Branch training terminated.
Однако тренированная модель не обнаруживает какой-либо объект (часы в этом случае). Я застрял и не знаю, как это решить. Любые полезные идеи очень ценятся.
ОК, это ответы, почему обучение остановилось, спасибо. Но почему обученная система ничего не обнаруживает? Может ли это означать, что обучение не было успешным, например, в результате переобучения? Каким образом я могу улучшить свое обучение с вашей точки зрения? –
Это другой большой вопрос. Вам нужно установить правильные параметры для ваших объектов, и эти параметры сильно зависят от объекта, который вы обнаруживаете. Вы можете проверить HR и FA для набора проверки, и он покажет, перегружает ли он. Если это так, вам нужно увеличить набор тренировок (в некоторых случаях это помогает, но не обязательно, поскольку я сказал, что это сильно зависит от ваших наборов данных). –
Спасибо. «Вы можете проверить HR и FA для проверки, и он покажет, перерабатывает ли он», это довольно интересно, как я могу это сделать? –