Ich öffne opencv_traincascade, und ich erreiche nie die Vorberechnungszeit für Stufe 0.
Bearbeiten: Mein Problem scheint spezifisch für LBP-Training zu sein. Ich habe featureType in HAAR geändert und der Klassifikator wurde innerhalb weniger Minuten fertiggestellt.
Bearbeiten: Die Vorberechnungszeit ist in Sekunden, also sollten Sie in Stufe 0 innerhalb von 10 Sekunden eine Vorberechnung erreichen, aber ich habe es bis zu 40 Sekunden lang gesehen. Die Vorberechnungszeit kann von Stufe zu Stufe stetig ansteigen und dann in den späteren Phasen plötzlich dramatisch auf eine halbe Stunde ansteigen (und vielleicht sogar noch länger, wenn Sie mit Tausenden von Proben arbeiten, aber ich bin noch nicht so weit) / strong>
(Ich werde weiterhin diesen Beitrag aktualisieren, indem ich Dinge, die ich verstanden habe, auffrische, die mich daran hindern, die Vorausberechnung zu verstehen, und vielleicht herausfinden, warum HAAR-Training funktionieren würde, während LBP das nicht tun würde Quellcode zum Einleiten des Stage-Zyklus)
Problem
Ich öffne opencv_traincascade, und ich erreiche nie die Vorberechnungszeit für Stufe 0.
Ich benutze ein MacBook Air, das 2014 gekauft wurde.
Prozessor 1.3 GHz Intel Core i5
Speicher 4 GB 1600 MHz DDR3
Grafik Intel HD Graphics 5000
Software OS X 10.9.4 (13E28)
Mein Terminal sieht ungefähr so aus und lässt ungefähr 390% (wirklich?) meiner CPU und 4 Threads in meinem Aktivitätsmonitor laufen.
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed x : x
NEG count : acceptanceRatio y : 1
Obwohl ich versucht habe, viele Klassifikatoren zu erstellen, um etwas zu teilen, mit dem wir uns alle identifizieren können, werde ich auf ein Tutorial zur Autoerkennung verweisen, da ich das gleiche Ergebnis bekomme, egal ob es ein eigenes Training ist oder nicht. Dieser Trainer wurde veröffentlicht, und ich habe gesehen, dass andere Leute darauf Bezug nehmen, also nehme ich an, dass es funktioniert.
Auf meinem Desktop habe ich:
Ein pos-Ordner mit den relativen Dateipfaden und Informationen (1 0 0 100 40) in einem cars.info-Ordner;
Eine bg.txt-Datei mit relativen Pfaden zu einem Neg-Ordner mit den negativen Samples;
Ein leerer Datenordner namens "data";
Eine cars.vec-Datei mit positiven Stichproben. Ich kann die Vektordatei sehen und die Bilder sind da.
Es gibt ursprünglich 550 positive Samples bei 100x40 und 48x24 nach der Verwendung von Erstellungssamples zum Erstellen der vec-Datei
Es gibt 500 negative Samples bei 100x40
Hier war der Befehl createsamples als Referenz:
%Vor%Dann führe ich den folgenden Befehl aus:
%Vor% PARAMETERS:
cascadeDirName: data
vecFileName: cars.vec
bgFileName: bg.txt
numPos: 500
numNeg: 500
numStages: 2
precalcValBufSize[Mb] : 256
precalcIdxBufSize[Mb] : 256
stageType: BOOST
featureType: LBP
sampleWidth: 48
sampleHeight: 24
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
Dies ist meine Ausgabe, die ich noch nie für LBP vorberechnen gesehen habe, egal was ich versuche zu trainieren; wie ich versucht habe, die Stichprobengröße, die Auflösung von Bildern, minHitRate oder das Verringern von numPos zu ändern.
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 500 : 500
NEG count : acceptanceRatio 500 : 1
Bitte fragen Sie nach Informationen, die ich nicht liefern konnte. Ich entschuldige mich.
Ich habe gelesen, dass Trainer in endlosen Schleifen stecken bleiben und dass der Quellcode geändert werden muss. Ich hoffe jedoch, dass dies vermieden werden kann, da dies für andere (zumindest für den Autor) zu funktionieren scheint.
Ich danke Ihnen allen für die vielen Fragen und Antworten, die mir bei verschiedenen Programmierprojekten geholfen haben.
Ich habe ein solches Problem schon einmal erlebt. Die Art, wie ich es löse, besteht darin, die Werte von precalcValBufSize und precalcIdxBufSize auf 0 und 0 zu setzen. Es scheint, dass die Vorberechnung für LBP nicht funktionieren kann. Es funktioniert jedoch gut, nachdem sie auf 0 gesetzt wurden. Der Trainingsprozess für LBP ist viel schneller als bei Haar.
Tags und Links opencv