2016-07-28 2 views
9

Я использую opencv_traincascade для обнаружения объекта. Я пытаюсь найти очки на фотографии. Для этого я загрузил 830 таких фотографий: http://pi1.lmcdn.ru/product/V/I/VI060DWIHZ27_1_v2.jpgИсключение OpenCV после расчета на 1 день

Затем я загрузил много фотографий с моделью в платьях или просто платья с фотографиями, 1799 фотографий.

Тогда Я начать opencv_traincascade с параметрами: opencv_traincascade -data Feature/классификатор -vec samples.vec -bg negatives.txt -numStages 10 -minHitRate 0,999 -maxFalseAlarmRate 0,5 -numPos 830 -numNeg 1799 -w 60 -h 90 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024

Но после шага 4 у меня есть сообщение: Набор данных для набора темпа не может быть заполнен. Обучение филиалу прекращено.

Полный StackTrace является:

➜ pictureFeature opencv_traincascade -data Feature/classifier -vec samples.vec -bg negatives.txt -numStages 10 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 830 -numNeg 1799 -w 60 -h 90 -mode ALL -precalcValBufSize 1024 -precalcIdxBufSize 1024 

PARAMETERS: 
cascadeDirName: Feature/classifier 
vecFileName: samples.vec 
bgFileName: negatives.txt 
numPos: 830 
numNeg: 1799 
numStages: 10 
precalcValBufSize[Mb] : 1024 
precalcIdxBufSize[Mb] : 1024 
acceptanceRatioBreakValue : -1 
stageType: BOOST 
featureType: HAAR 
sampleWidth: 60 
sampleHeight: 90 
boostType: GAB 
minHitRate: 0.999 
maxFalseAlarmRate: 0.5 
weightTrimRate: 0.95 
maxDepth: 1 
maxWeakCount: 100 
mode: ALL 



===== TRAINING 0-stage ===== 
<BEGIN 
POS count : consumed 830 : 830 
NEG count : acceptanceRatio 1799 : 1 
Precalculation time: 26 

+----+---------+---------+ 
| N | HR | FA | 
+----+---------+---------+ 
| 1|  1|  1| 
+----+---------+---------+ 
| 2|  1|  1| 
+----+---------+---------+ 
| 3|  1| 0.145636| 
+----+---------+---------+ 

END> 
Training until now has taken 0 days 5 hours 22 minutes 10 seconds. 

===== TRAINING 1-stage ===== 
<BEGIN 
POS count : consumed 830 : 830 
NEG count : acceptanceRatio 1799 : 0.145715 
Precalculation time: 24 

+----+---------+---------+ 
| N | HR | FA | 
+----+---------+---------+ 
| 1|  1|  1| 
+----+---------+---------+ 
| 2|  1|  1| 
+----+---------+---------+ 
| 3|  1|  1| 
+----+---------+---------+ 
| 4|  1| 0.762646| 
+----+---------+---------+ 
| 5|  1| 0.432462| 
+----+---------+---------+ 

END> 
Training until now has taken 0 days 14 hours 38 minutes 28 seconds. 

===== TRAINING 2-stage ===== 
<BEGIN 
POS count : consumed 830 : 830 
NEG count : acceptanceRatio 1799 : 0.062696 
Precalculation time: 28 

+----+---------+---------+ 
| N | HR | FA | 
+----+---------+---------+ 
| 1|  1|  1| 
+----+---------+---------+ 
| 2|  1|  1| 
+----+---------+---------+ 
| 3|  1|  1| 
+----+---------+---------+ 
| 4|  1| 0.590328| 
+----+---------+---------+ 
| 5|  1| 0.187326| 
+----+---------+---------+ 

END> 
Training until now has taken 0 days 23 hours 21 minutes 4 seconds. 

===== TRAINING 3-stage ===== 
<BEGIN 
POS count : consumed 830 : 830 
NEG count : acceptanceRatio 1799 : 0.0117929 
Precalculation time: 21 

+----+---------+---------+ 
| N | HR | FA | 
+----+---------+---------+ 
| 1|  1|  1| 
+----+---------+---------+ 
| 2|  1|  1| 
+----+---------+---------+ 
| 3|  1|0.0944969| 
+----+---------+---------+ 

END> 
Training until now has taken 1 days 3 hours 47 minutes 34 seconds. 

===== TRAINING 4-stage ===== 
<BEGIN 
POS count : consumed 830 : 830 
NEG count : acceptanceRatio 1799 : 0.00112161 
Precalculation time: 18 

+----+---------+---------+ 
| N | HR | FA | 
+----+---------+---------+ 
| 1|  1|  0| 
+----+---------+---------+ 

END> 
Training until now has taken 1 days 5 hours 4 minutes 35 seconds. 

===== TRAINING 5-stage ===== 
<BEGIN 
POS count : consumed 830 : 830 
Train dataset for temp stage can not be filled. Branch training terminated. 

Я пытался использовать cascade.xml для поиска объекта, но результат был совершенно не.

enter image description here

Может кто-нибудь помочь с моей проблемой?

+0

Для классификации: вам необходимо собрать положительные и отрицательные подготовки изображений (положительная: голову + очки и отрицательные: голова) на вашем образце img на изображении есть только солнцезащитные очки –

+0

Создается ли bg.txt в Windows? –

ответ

3

Если вы посмотрите на ошибку, вы обнаружите, что она остановилась на «NEG count», что означает, что возникла проблема с чтением негативных изображений обучающих данных на этапе 5.Поэтому вам нужно исправить путь к отрицательным образцам обучения, чтобы он работал.

Ниже приведено подробное обсуждение по этому вопросу, которые могут быть полезны: Cascade Training Error OpenCV 2.4.4

Она также может быть проблема с файлом bg.txt, вот еще один ответ: error in train casacde.

Другого пост с подобным error: Train dataset for temp stage can not be filled.

Если ничего не работает, попробуйте использовать другой вариант открытого резюме: http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download

3

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

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

или потому, что разрыв строки в файле Б.Г. (negatives.txt в вашем случае) является плохо закодирован. Не могли бы вы дважды проверить, что последний символ каждой строки в файле 'negatives.txt' равен '\ n', а не '\ r'?

также продолжать пытаться поддерживать положительное в отрицательном соотношении образцов около 25% -30%

И, наконец быть уверены, что все ваши положительные и отрицательные образы содержат головы лицо:

В картине образца (один из 830) на нем видны только одно солнцезащитные очки (без головы, без слышимости, без волос), только белый backgroud, поэтому ваш классификатор завершит поезд, чтобы распознать солнцезащитные очки только на белом фоне, так что нет никакой возможности распознать любые солнцезащитные очки, когда лицо видимо;

Try уважать:

  • положительная картина = headface с очками

  • отрицательная картинка = headface только

С уважением

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