Sto provando a creare un rilevatore di testa utilizzando le funzioni LBP in OpenCV, utilizzando l'utilità Traincascade. Spero che il rilevatore di testa si trasformi in qualcosa di simile al profilo di OpenCV creato da Vladim Pivarevsky. Voglio ricreare il modello perché il modello attuale gestisce solo la faccia frontale e quella sinistra.Traincascade OpenCV per allenamento LBP
Seguo Naotoshi Seo tutorial e utilizzo set di dati da Irshad Ali website. Sfortunatamente, il modello risultante funziona lentamente con un sacco di false rilevazioni.
Il traincascade viene eseguito come segue:
opencv_traincascade -data "data" -vec "samples.vec" -bg "out_negatives.dat" -numPos 26000 -numNeg 4100 -numStages 16 -featureType LBP -w 20 -h 20 -bt GAB -minHitRate 0.995 -maxFalseAlarmRate 0.3 -weightTrimRate 0.95 -maxDepth 1 -maxWeakCount 100 -maxCatCount 256 -featSize 1
Ho provato ad utilizzare altri set di dati, ora faccia frontale dal http://fei.edu.br/~cet/facedatabase.html ma il risultato è ancora lo stesso: lenta rilevazione e molti falsi positivi.
Qualcuno ha conoscenza o esperienza nella creazione di modello haar/lbp a cascata? Si prega di dare qualsiasi suggerimento in modo da poter migliorare la precisione del modello. Ho provato a utilizzare il modello integrato OpenCV e il risultato è buono (lbpfrontalface.xml). Grazie mille!
Ho provato il tuo suggerimento, 12000 positivi e 5000 negativi. I positivi creati dal 2000 faccia, usando creare esempi per arrivare a 12000. Ma ancora, troppi falsi positivi. Puoi darmi un esempio del tuo parametro di lavoro traincascade? Il mio parametro è il seguente: opencv_traincascade -data "data" -vec "samples.vec" -bg "out_negatives.dat" -numPos 10000 -numNeg 5600 -numStages 16 -feature Tipo LBP -w 20 -h 20 -minHitRate 0.995 -maxFalseAlarmRate 0.5 -weightTrimRate 0.95 -maxDepth 1 -maxWeakCount 100 -maxCatCount 256 -featSize 1 – bonchenko
Se si hanno falsi "volti" e vero anche io, posso consigliare di provare ad aumentare numStages. Altrimenti qualcosa di sbagliato nel tuo positivo. I miei parametri sono "-data h_data -vec vecs/vec -bg bg/negative.txt -numPos 5000 -numNeg 2500 -numStages 14 -featureType HAAR -minHitRate 0.999 -maxFalseAlarmRate 0.3 -w 14 -h 24" ma mi alleno in cascata per le bottiglie (Anche io mi sono allenato a lbp, ma haar era meglio). Dovresti anche leggere [questo] (http://answers.opencv.org/question/7141/about-traincascade-paremeters-samples-and-other/?answer=10049#post-id-10049). È la risposta più bella che ho visto. – McBodik
Grazie! Ora i falsi positivi sono diminuiti a ---> 0, cambio 0maxFalseAlarmRate a 0.1 e makWeakCount 300. Un problema però è la velocità. Ora proverò la risposta @GPPK sull'aumento della dimensione del campione. Sebbene, per il vettore positivo, utilizzi .MergeVector di Sonots, non riesco a utilizzare altre dimensioni di 20x20. Cosa usi per creare il vettore positivo? – bonchenko