субота, 29 травня 2021 р.

Виявлення людських силуетів HOG-детектором

Силуети пішоходів можна виявляти каскадним класифікатором Хаара haarcascade_fullbody.xml проте із цим завданнями краще справляються HOG-класифікатори, а саме класифікатор hogcascade_pedestrians.xml який використовується за умовчанням в функції HOGDescriptor_getDefaultPeopleDetector. HOG-класифікатори використовують алгоритм відмінний від алгоритму Віоли-Джонса.

Приклад використання HOG-класифікатора виявлення силуетів людей.

import cv2 
import numpy as np 
 
scaling_factor = 0.5
hog = cv2.HOGDescriptor()
hog.setSVMDetector( cv2.HOGDescriptor_getDefaultPeopleDetector() )
frame = cv2.imread('foto/pep1.jpg')
face_rects= hog.detectMultiScale(frame, winStride=(8,8), padding=(32,32), scale=1.05)

for (x,y,w,h) in face_rects[0]: 
        cv2.rectangle(frame, (x,y), (x+w,y+h), (0,255,0), 3)
 
cv2.imshow('Input image', frame)
print ("Знайдено {0} пішоходи(ів)!".format(len(face_rects[0])))

Знайдено 3 пішоходи(ів!  
Отримуємо
Інший приклад роботи HOG-детектора

Немає коментарів:

Дописати коментар