Używam detektora kaskadowego (cv.HaarDetectObjects) w pythonie.Zaufanie klasyfikatorów do wykrywacza twarzy opencv
na przykład:
faces = cv.HaarDetectObjects(grayscale, cascade, storage, 1.2, 2,
cv.CV_HAAR_DO_CANNY_PRUNING, (50,50))
for f in faces:
print(f)
To będzie wydrukować listę wykrytych w tej formie:
((174, 54, 114, 114), 53)
((22, 51, 121, 121), 36)
((321, 56, 114, 114), 21)
((173, 263, 125, 125), 51)
((323, 272, 114, 114), 20)
((26, 271, 121, 121), 36)
gdzie każda linia reprezentuje wykrycia. Pierwsze 4 cyfry to pozycja x, y lewego górnego punktu i wysokość, szerokość obwiedni. Ostatnia liczba to (powołując się na dokumentację openCV) liczbę sąsiadów.
Chyba mam dwa pytania:
1) Co oznacza ostatnia liczba oznacza? Nie mogłem znaleźć żadnego odniesienia do tego podczas googlowania.
2) (jeszcze ważniejsza) Czy istnieje sposób na uzyskanie pewności siebie za każde wykrycie? Ile wynosi klasyfikator twarzy, że wykrywanie odpowiada prawdziwej twarzy?
Dzięki
może być przydatny: http://haoxiang.org/2013/11/opencv-detectmultiscale-output-detection-score/ – Shai