Я использую каскадный детектор лиц opencv (cv.HaarDetectObjects) в python.
например:
faces = cv.HaarDetectObjects(grayscale, cascade, storage, 1.2, 2,
cv.CV_HAAR_DO_CANNY_PRUNING, (50,50))
for f in faces:
print(f)
Это напечатает список обнаружений в такой форме:
((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)
Где каждая строка представляет обнаружение. Первые 4 числа - это координаты x, y верхней левой точки, а также высота и ширина ограничивающего прямоугольника. Последнее число (цитируется из документации openCV) - это количество соседей. .
Думаю, у меня есть два вопроса:
1) Что означает последнее число? Я не нашел упоминания об этом при поиске в Google.
2) ( более важно ) Есть ли способ получить оценку достоверности для каждого обнаружения? Насколько классификатор лиц уверен, что обнаружение соответствует реальному лицу?
Спасибо