HOG против каскада Хаара - производительность процессора - PullRequest
0 голосов
/ 04 апреля 2020

Я строю проект с обнаружением человеческих лиц и определением ориентиров. Я делаю несколько тестов с ним, пока я смог создать «пользовательский» dlib shape_predictor, и теперь я пытаюсь выбрать, какой API обнаружения лиц мне следует использовать. Мой окончательный проект будет построен на Raspberry Pi 3 B. Я много читаю, и люди обычно говорят, что Haar менее надежен, но менее тяжел для процессора, чем HOG, тем не менее, я просто попытался использовать каскад haar, но он использует 70% моего процессора (i7-7700HQ), а HOG также загружает процессор на 30%. Я делаю что-то не так?

Я использую Dlib 19.7 и OpenCV 4.2.0.32 в Anaconda (windows 10).

Это код для обнаружения лиц каскада Хаара:

detectorFace = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

vs = VideoStream(src=0).start()

while True:
   frame = vs.read()
   frame = imutils.resize(frame, width=600)
   gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
   retangs = detectorFace.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30),flags=cv2.CASCADE_SCALE_IMAGE)
   for (x, y, w, h) in retangs:
      cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)

 ...

...