2017-11-08 13 views
0

특별히 구조화 된 텍스트 (MRZ)가있는 영역을 탐지하기 위해 캐스케이드를 학습하려고합니다. 나는 200 개의 양성 샘플과 572 개의 음성 샘플을 수집했다. ~ 프로세스가 실행Haar 캐스케이드 결과 파일이 너무 작습니다.

opencv_traincascade.exe -data cascades -vec vector/vector.vec -bg bg.txt -numPos 200 -numNeg 572 -numStages 3 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -featureType LBP -mode ALL -w 400 -h 45 -maxFalseAlarmRate 0.8 -minHitRate 0.9988 

PARAMETERS: 
cascadeDirName: cascades 
vecFileName: vector/vector.vec 
bgFileName: bg.txt 
numPos: 199 
numNeg: 572 numStages: 3 precalcValBufSize[Mb] : 2048 precalcIdxBufSize[Mb] : 2048 acceptanceRatioBreakValue : -1 stageType: BOOST featureType: LBP sampleWidth: 400 sampleHeight: 45 boostType: GAB minHitRate: 0.9988 maxFalseAlarmRate: 0.8 weightTrimRate: 0.95 maxDepth: 1 maxWeakCount: 100 Number of unique features given windowSize [400,45] : 8778000 

===== TRAINING 0-stage ===== <BEGIN POS count : consumed 199 : 199 NEG count : acceptanceRatio 572 : 1 Precalculation time: 26.994 
+----+---------+---------+ | N | HR | FA | 
+----+---------+---------+ | 1|  1|  1| 
+----+---------+---------+ | 2|  1|0.0244755| 
+----+---------+---------+ END> 
Training until now has taken 0 days 0 hours 36 minutes 35 seconds. 

===== TRAINING 1-stage ===== <BEGIN POS count : consumed 199 : 199 NEG count : acceptanceRatio  
0 : 0 Required leaf false alarm rate achieved. 
Branch training terminated. 

35 분 좋은 캐스케이드 너무 작은 것 45 선으로 2 kB의 파일을 생성합니다

Trainig는 다음과 같은 갔다. 말할 필요도없이 필요한 영역을 감지하지 못합니다.

나는 인수를 조정하려했지만 아무 소용이 없었다.

더 큰 샘플 세트를 사용하는 것이 더 좋지만,이 샘플 번호의 결과도 다소 합리적인 결과를 산출해야한다고 생각합니다. 정확하지는 않습니다.

특정 텍스트 (MRZ)가있는 영역을 감지하는 데 좋은 방법이 있습니까? 정확도를 높이려면 얼마나 정확합니까?

미리 감사드립니다.

답변

2

당신이 최대 허위 경보 율 0.8 per stage3 stages을 생산하려면,이 분류는 0.8^3 false alarm rate = 0.512 최대가되지만 첫 번째 단계 이후, 분류가 이미보다 훨씬 더 0.0244755의 허위 경보 율에 도달 3 단계 이후에 의미 최종 목표 (0.512)이므로 분류 기준은 이미 충분히 양호하며 더 이상 단계가 필요하지 않습니다.

괜찮은 경우 numStages를 늘리거나 maxFalseAlarmRate를 첫 번째 단계에서 '최종 품질'에 미치지 않는 양만큼 줄입니다.

환경을 더 잘 나타내는 샘플과 샘플을 수집해야 할 것입니다. 이러한 낮은 오경보를 달성하는 것은 일반적으로 나쁜 교육 데이터 (너무 간단하거나 너무 유사)의 신호입니다.

하얼 폭포가 작업 해결에 적합한 지 여부는 알 수 없습니다.

+0

500 개의 부정적인 샘플을 추가하고 maxFalseAlarmRate 0.6 및 numStages 4를 사용하여 교육을 시작했지만 여전히 결과는 매우 좋지 않습니다. sampleHeight 및 sampleWidth 값이 결과에 영향을 미칠 수 있다고 생각합니까? 감사. – void

+0

몇 가지 샘플 샘플을 질문 텍스트 (양수 및 음수 샘플)에 추가 할 수 있습니까? 얼마나 많은 단계가 성공적으로 계산 되었습니까? – Micka