2016-10-15 3 views
0

저는 며칠 동안 Python-Open cv 및 Haar Cascade를 사용하여 객체 분류 프로그램을 직접 만들려고 노력했습니다. 단계 8 후에 나는 훈련 된 모델은 어떤 물체를 감지하지 않습니다 그러나이 출력객체 감지 OpenCV-Python이 작동하지 않습니다.

===== 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. 

을받은

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 

(시계 :

샘플을 만든 후, 여기에 시스템을 훈련하는 방법이다 이 경우). 나는 갇혀 있고 이것을 해결하는 방법을 모른다. 어떤 유용한 아이디어라도 크게 평가됩니다.

답변

0

원하는 매개 변수가 확인되었습니다 : "-minHitRate 0.999 -maxFalseAlarmRate 0.5".

위의 표에 따르면 HitRate = 1 및 FalseAlarmRate = 0.441667이므로 교육이 중지 된 것입니다.

+0

괜찮 았던 이유는 교육이 멈춘 이유입니다. 감사합니다. 그런데 왜 훈련 된 시스템이 아무것도 탐지하지 못합니까? 그것이 overfitting의 결과로 예를 들면 훈련이 성공적이지 않았 음을 함축 할 수 있습니까? 어떤면에서 훈련을 향상시킬 수 있습니까? –

+0

또 다른 큰 질문입니다. 개체에 대해 올바른 매개 변수를 설정해야하며 이러한 매개 변수는 탐지하는 개체에 따라 크게 달라집니다. 검증 세트에 대해 HR 및 FA를 확인할 수 있으며, 적합하지 않은 경우 표시됩니다. 그렇다면 증가하는 교육 세트가 필요합니다 (경우에 따라 도움이되지만 의무적이지는 않습니다. 귀하의 데이터 세트에 따라 크게 달라집니다). –

+0

감사. "당신은 검증 세트에 대한 HR 및 FA를 확인할 수 있으며, 그것이 과장되면", 이것은 매우 흥미 롭습니다. 어떻게 할 수 있습니까? –