0

opencv의 haartraining을 처음 사용합니다.OpenCV Haartraining이 영원히 끝나지 않습니다

연습을 위해 35 개의 긍정적 인 이미지와 45 개의 부정적인 이미지를 사용했습니다.

하지만 데이터에서 훈련 할 때, 그것은 영원히 완료되지 않습니다는

매개 변수는 매우 조정에도.

(분 공격 속도 = 0.001, 최대 허위 경보 율 = 나는 그것이 이것 때문에 극단적 인 값으로 시간이 많이 걸릴 것이라고 생각하지 않는다 0.999

)

내 실험에서 잘못을해야하는지 ?

여기 내 명령과 매개 변수입니다.

$opencv_haartraining -data Training -vec samples.vec -bg negatives.dat -nstages 2 -nsplits  2 -minhitrate 0.001 -maxfalsealarm 0.999 -npos 30 -nneg 40 -w 20 -h 20 -nonsym -mem 512 -mode  ALL -minpos 10 

그리고 그 결과.

Data dir name: Training 
Vec file name: samples.vec 
BG file name: negatives.dat, is a vecfile: no 
Num pos: 30 
Num neg: 40 
Num stages: 2 
Num splits: 2 (tree as weak classifier) 
Mem: 512 MB 
Symmetric: FALSE 
Min hit rate: 0.001000 
Max false alarm rate: 0.999000 
Weight trimming: 0.950000 
Equal weights: FALSE 
Mode: ALL 
Width: 20 
Height: 20 
Applied boosting algorithm: GAB 
Error (valid only for Discrete and Real AdaBoost): misclass 
Max number of splits in tree cascade: 0 
Min number of positive samples per cluster: 10 
Required leaf false alarm rate: 0.998001 
Stage 0 loaded 
Stage 1 loaded 
Stage 2 loaded 
Stage 3 loaded 
Stage 4 loaded 

Tree Classifier 
Stage 
+---+---+---+---+---+ 
| 0| 1| 2| 3| 4| 
+---+---+---+---+---+ 

    0---1---2---3---4 

Number of features used : 125199 

Parent node: 4 

*** 1 cluster *** 
POS: 30 32 0.937500 
+0

정말 오랜 시간이 걸립니다. 너비 (15)와 높이 (15)가 작은 양수 (1000) 및 음수 (900) 샘플을 많이 시험해보십시오. – Saikat

답변

4

나는 OpenCV_Haartraining을 사용하고 있다고 생각합니까?

그렇다면 더 이상 사용되지 않는 앱이므로 opencv_traincascades를 사용해야합니다.

- A. Speed up the time taken to classify 
- B. Have better support 

Training Vs TrainCascadeTrainCascade Wiki을 읽기 위해이 링크를 참조한다이.

편집 : 또한

, 당신의 분 적중률과 maxFalseAlarm 속도를 변경합니다.

나는 0.4 & 0.95와 같은 것을 사용하는 것이 좋습니다.

이유는 영원히 0.999 & 0.0001에 도달하는 것입니다.

+0

내가 말한대로 opencv_haartraining – winnerrrr

+0

을 사용했는데, opencv_traincascade가 작동했습니다! 고마워! – winnerrrr

+0

무한 루프에있는 프로그램과 진행중인 프로그램을 구분하려면 어떻게합니까? –

2

이것은 정상입니다. this tutorial과 내 경험에 비추어 볼 때, 훈련은 일주일까지 며칠 걸리는 것이 정상입니다. 튜토리얼에서 인용 :

을 참고 : 당신이 훈련 기간 동안 너무 많은 일을 기다려야하기 때문에 당신이 다른 뭔가 haartrainig 작동하도록 권장하는 동시에 (이것은 아마도 일주일 걸릴 것이다). 나는 보통 다음과 같이 실험했다. 1. 금요일에 haartraining을 실행한다. 2. 완전히 잊어라. 3. 다음 금요일 금요일에 의 결과를 본다. 4. 다른 haartraining (loop)을 달리다.

+0

무한 루프중인 프로그램과 진행중인 프로그램을 구분하려면 어떻게합니까? –