Seite 1 von 1

Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 14:16
von NinoBaumann
Hallo,

ich arbeite mich gerade ins Thema der Bilderkennung ein. folgende Schritte habe ich schon abgeschlossen:
-n.i.O. und i.O. Bilder von Kraft-Weg-Diagrammen habe ich separiert in Ordnern gespeichert
-Txt Date mit den negativen Bildern erstellt. Also die Bilder welche keinen Fehler besitzen (i.O.)
-Dann habe ich mit dem annotation Tool von OpenCV die entsprechenden Bereiche in den Bildern markiert, welche zum n.i.O. Zustand führten
-Über das createsample Tool habe ich dann das entsprechende Training ausgeführt und die .vec Datei erhalten
Jetzt wollte ich das Kaskaden Training durchführen. Hier wird mir dann folgende Terminalmeldung ausgegeben:

OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(3.4.11) Error: Bad argument (> Can not get new positive sample. The most possible reason is insufficient count of samples in given vec-file.
> ) in CvCascadeImageReader::PosReader::get, file C:\build\3_4_winpack-build-win64-vc15\opencv\apps\traincascade\imagestorage.cpp, line 158

Der Fehler wird hier auch benannt. Der wahrscheinlichste Grund für den Fehler wird eine unzureichenden Anzahl an Beispielen in der .vec Datei sein. Aber ich habe halt überhaupt keinen Anhaltspunkt was zu >wenig< ist. brauche ich noch 10, 20, 30 oder 500?! Wie gehe ich das Problem am besten an?

Folgende Argumente sind in das Kaskadentraining gegangen:
C:/Users/nb/OpenCV/opencv/build/x64/vc15/bin/opencv_traincascade.exe -data cascade/ -vec pos.vec -bg neg.txt -w 24 -h 24 -numPos 85 -numNeg 194 -numStages 10

numPos: 85
numNeg: 194
numStages: 10
precalcValBufSize[Mb] : 1024
precalcIdxBufSize[Mb] : 1024
acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 24
sampleHeight: 24
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
Number of unique features given windowSize [24,24] : 162336

Re: Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 14:22
von __deets__
Wieso trainierst du Bilderkennung für sowas? Deine Daten stellen doch schon direkt einen Featurevektor dar. Das auf Pixel aufzublasen hilft doch nicht.

Re: Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 14:33
von NinoBaumann
Sry. Ich verstehe gerade nicht, was Du mir sagen willst. Könntest Du es nochmal anders erklären?

Re: Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 14:45
von __deets__
Du hast Messdaten. Darauf würde ich direkt lernen. Nicht auf einem gemalten Bild dieser Messdaten.

Re: Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 14:49
von NinoBaumann
Okay. Was ist der Überbegriff zu diesem Stichwort? Wie lerne ich Messdaten sein? Gibt es hierzu ein Tutorial auf Youtube o.Ä.?

Re: Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 14:57
von __deets__
Jedes lernverfahren ist dazu prinzipiell geeignet. SVM oder XGBoost zb. Spezifische Tutorials kenne ich nicht, aber kaggle erwähnte meine Freundin immer.

Re: Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 15:05
von __deets__
Und noch ein Nachtrag: was du da gewählt hast, ist wirklich massiv ungeeignet. Das verfahren will zb vorder- und Hintergrund Bilder haben. Das existiert bei dir in einer sinnvollen Weise nicht.

Ich würde wirklich erstmal einen Grundlagenkurs ML durcharbeiten, damit du eine Vorstellung bekommst, was es gibt, und wofür die eingesetzt werden können.

Re: Fehler beim Kaskaden Trainings von OpenCV

Verfasst: Freitag 10. November 2023, 15:46
von NinoBaumann
Werde ich machen. Danke für deine Tipps deets.