Próbuję utworzyć detektor głowy za pomocą funkcji LBP w OpenCV, używając narzędzia traincascade. Mam nadzieję, że detektor głowy da w efekcie coś podobnego do profilu profilu OpenCV stworzonego przez Vladima Pivarevsky'ego. Chcę odtworzyć model, ponieważ obecny model obsługuje tylko twarz przednią i lewą.Traincascade OpenCV do szkolenia LBP
Podążam za Naotoshi Seo tutorial i używam zestawu danych od Irshad Ali website. Niestety, wynikowy model wykonuje się powoli z dużą ilością fałszywego wykrywania.
traincascade prowadzony jest następująco:
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
Próbowałem za pomocą innego zestawu danych, teraz czołowej od http://fei.edu.br/~cet/facedatabase.html ale wynik jest wciąż ten sam: powolne wykrywanie i wiele fałszywych alarmów.
Ktoś ma wiedzę lub doświadczenie w tworzeniu modelu kaskadowego haar/lbp? Podaj wszelkie sugestie, aby poprawić precyzję modelu. Próbowałem użyć wbudowanego modelu OpenCV, a wynik jest dobry (lbpfrontalface.xml). Dziękuję bardzo!
Wypróbowałem twoją sugestię, 12000 pozytywów i 5000 negatywów. Pozytywy utworzone od 2000 r. Twarz, za pomocą tworzenia próbek, aby uczynić go do 12000. Ale nadal, za dużo fałszywych alarmów. Czy możesz podać przykład swojego parametru pracy pociągu? Mój parametr jest następujący: opencv_traincascade -data "data" -vec "samples.vec" -bg "out_negatives.dat" -numPos 10000 -numNeg 5600 -num Scains 16 -featureType LBP -w 20 -h 20 -minHitRate 0.995 -maxFalseAlarmRate 0.5 -weightTrimRate 0,95 -maxDepth 1 -maxWeakCount 100 -maxCatCount 256 -featSize 1 – bonchenko
Jeśli masz fałszywe "twarze" i to prawda, mogę polecić spróbować zwiększyć liczbę sztuk. Zrób coś złego w twoim pozytywie. Moje parametry to "-data h_data -vec vecs/vec -bg bg/negative.txt -numPos 5000 -numNeg 2500 -numstStages 14 -featureType HAAR -minHitRate 0.999 -maxFalseAlarmRate 0.3 -w 14 -h 24" ale trenuję kaskadę dla butelek (Trenowałem też lbp, ale haar był lepszy). Powinieneś również przeczytać [this] (http://answers.opencv.org/question/7141/about-traincascade-paremeters-samples-and-other/?answer=10049#post-id-10049). To najodpowiedniejsza odpowiedź, jaką widziałem. – McBodik
Dzięki! Teraz liczba fałszywych alarmów zmniejszyła się do ---> 0, zmieniam 0maxFalseAlarmRate na 0.1 i makWeakCount 300. Problemem jest jednak wciąż prędkość. Teraz spróbuję odpowiedzi @GPPK na temat zwiększania wielkości próby. Chociaż, ponieważ używam programu .MergeVector z Sonot dla wektora pozytywnego, wydaje mi się, że nie mogę użyć innego rozmiaru niż 20x20. Czego używasz do stworzenia pozytywnego wektora? – bonchenko