天天看點

視訊人臉檢測——Dlib版(六)

往期目錄

視訊人臉檢測——Dlib版(六)

OpenCV添加中文(五)

圖檔人臉檢測——Dlib版(四)

視訊人臉檢測——OpenCV版(三)

圖檔人臉檢測——OpenCV版(二)

OpenCV環境搭建(一)

更多更新,歡迎通路我的github:https://github.com/vipstone/faceai

前言

Dlib的人臉識别要比OpenCV精準很多,一個是模型方面的差距,在一方面和OpenCV的定位有關系,OpenCV是一個綜合性的視覺處理庫,既然這麼精準,那就一起趕快來看吧。

視訊人臉檢測是圖檔識别的進階版本,圖檔檢測詳情點選檢視我的上一篇《圖檔人臉檢測——Dlib版(四)》

除了人臉識别用的是Dlib外,還是用OpenCV讀取攝像頭和處理圖檔(轉為灰色),是以給出相關的文檔,友善了解。

效果預覽

技術實作

有了OpenCV的視訊人臉檢測,Dlib也大緻相同除了視訊識别器模型的聲明和使用不同,具體的細節請參考,視訊人臉檢測——OpenCV版(三) 那篇已經講的很細緻了,在這就不具體叙述了。

完整的代碼如下:

# coding=utf-8
import cv2
import dlib

detector = dlib.get_frontal_face_detector()  #使用預設的人類識别器模型


def discern(img):
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    dets = detector(gray, 1)
    for face in dets:
        left = face.left()
        top = face.top()
        right = face.right()
        bottom = face.bottom()
        cv2.rectangle(img, (left, top), (right, bottom), (0, 255, 0), 2)
        cv2.imshow("image", img)


cap = cv2.VideoCapture(0)
while (1):
    ret, img = cap.read()
    discern(img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

           

那麼,OpenCV和Dlib的視訊識别對比,有兩個地方是不同的:

1.Dlib模型識别的準确率和效果要好于OpenCV;

2.Dlib識别的性能要比OpenCV差,使用視訊測試的時候Dlib有明顯的卡頓,但是OpenCV就好很多,基本看不出來;

關注下面二維碼,訂閱更多精彩内容。

視訊人臉檢測——Dlib版(六)
視訊人臉檢測——Dlib版(六)
視訊人臉檢測——Dlib版(六)

關注公衆号(加好友):

視訊人臉檢測——Dlib版(六)

作者:

王磊的部落格

出處:

http://vipstone.cnblogs.com/