2016-05-29 9 views
0

Mein Ziel ist es, eine Kaskade zu trainieren, um ein bestimmtes Gesicht der Würfel zu erkennen.Was bewirkt, dass opencv_traincascade.exe beim Einlesen negativer Samples abstürzt?

Ich habe 106 nicht generierte Proben in eine VEC-Datei (mit dem Namen dice1.vec) von opencv_createsamples mit den Parametern -w 32 -h32 konvertiert. Zusätzlich habe ich eine Textdatei negTxt1.txt mit ungefähr 420 Zeilen, die sich auf andere Würfelflächen beziehen (32x32 .png Dateien) und ungefähr 600 Zeilen, die sich auf andere beliebige 640x480 große bg Dateien beziehen.

ich versuchte mit bei 16 GB RAM opencv_traincacade.exe mit folgenden params auf einem Windows-Computern ausführen: tools\opencv_traincascade.exe -data positives/testclassifier -vec positives/1/dice.vec -bg positives/negTxt1.txt -numStages 20 -numPos 100 -numNeg 1000 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -acceptanceRatioBreakValue .0001 -w 32 -h 32 -mode ALL

jedoch beim Verbrauchen negative Proben, wird das Programm zum Absturz beim Versuch, zu konsumieren negative Proben, und die letzten Linie vor dem Absturz ist NEG current samples: 427. Dann erscheint das Fehlerfenster "opencv_traincascade funktioniert nicht ..." ohne Fehlermeldung.

Ich habe Vorschläge von SO und hier (d. H. here, here) angeschaut, aber die vorgeschlagene Lösung schien nicht hilfreich zu sein. Der Versuch, -numPos auf 80 zu reduzieren, verhindert den Absturz nicht, und die Parameter für die Puffergröße sind ausreichend groß. Der Versuch, -numNeg auf < 427 zu reduzieren, funktioniert für die erste Stufe, stürzt aber in der nächsten Stufe, am selben Punkt im Training (wenn es NEG current samples: ... heißt) an einer anderen Stelle ab.

Mit welchen Schritten kann ich diesen Absturz verhindern und erfolgreich einen Klassifizierer erstellen?

Antwort

1

Es scheint, dass die Aktualisierung und Verwendung der Tools und Bibliotheken von OpenCV 3.1.0 (von ihrer Website) dieses Problem behebt.

+0

welche OpenCV-Version hatten Sie vor? Ich bin damit beunruhigt mit 2.4.8 und werde auf 2.4.13 oder 3.1 updaten und es erneut versuchen. –

+0

Ich erinnere mich nicht, aber es war wahrscheinlich die neueste stabile 2.x-Version. –

Verwandte Themen