利用dlib進行人臉檢測

2021-08-28 23:24:47 字數 1699 閱讀 6027

1)dlib安裝,pip install dlib。參考: 。

同opencv人臉檢測,參考:

#構建人臉檢測器

detector = dlib.get_frontal_face_detector()

# 獲取人臉關鍵點檢測器

predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")

dets = detector(gray, 1) #人臉檢測

for face in dets: #對檢測到的矩形特徵遍歷(檢測結果dets為矩形框的兩個角點座標,左上+右下)

#將人臉檢測矩形框繪製出來

cv2.rectangle(img,(face.left(),face.top()),(face.right(),face.bottom()),(0,0,255),2)

shape = predictor(img, face) # 尋找人臉的68個標定點

# 遍歷所有點,列印出其座標,並圈出來

for pt in shape.parts():

pt_pos = (pt.x, pt.y)

cv2.circle(img, pt_pos, 2, (0, 255, 0), 1)

cv2.imshow("image", img)

cv2.waitkey(0)

cv2.destroyallwindows()同opencv人臉檢測,參考:

def face_detect(img):

gray = cv2.cvtcolor(img,cv2.color_bgr2gray)

#構建人臉檢測器

detector = dlib.get_frontal_face_detector()

dets = detector(gray, 1) #人臉檢測

for face in dets: #對檢測到的矩形特徵遍歷(檢測結果dets為矩形框的兩個角點座標,左上+右下)

#將人臉檢測矩形框繪製出來

cv2.rectangle(img,(face.left(),face.top()),(face.right(),face.bottom()),(0,0,255),2)

import cv2

cap = cv2.videocapture(0)

while(1):

ret,img = cap.read()

face_detect(img)

cv2.imshow("image",img)

if cv2.waitkey(1) & 0xff == ord('q'):

break

cap.release()

cv2.destroyallwindows()

在人臉檢測方面,dlib和opencv相比有如下優缺點:

1)識別精確度:dlib >= opencv,即dlib模型識別的準確率和效果要好於opencv;

2)dlib更多的人臉識別模型,可以檢測出臉部68甚至更多的特徵點;

使用Dlib庫進行人臉檢測,人臉對齊和人臉識別

在之前的部落格中,我已經介紹了如何使用dlib 18.17進行人臉檢測和人臉對齊。windows10 vs2013環境下dlib庫的編譯與使用 鄔小陽 使用dlib庫進行人臉檢測與對齊 鄔小陽 最近又看dlib官網時,發現dlib 19.3開始又加入了人臉識別dnn模型,而且在lfw上取得了99.3...

使用Dlib庫進行人臉檢測,人臉對齊和人臉識別

在之前的部落格中,我已經介紹了如何使用dlib 18.17進行人臉檢測和人臉對齊。windows10 vs2013環境下dlib庫的編譯與使用 鄔小陽 使用dlib庫進行人臉檢測與對齊 鄔小陽 最近又看dlib官網時,發現dlib 19.3開始又加入了人臉識別dnn模型,而且在lfw上取得了99.3...

Opencv與dlib聯合進行人臉關鍵點檢測與識別

依賴庫 opencv 2.4.9 dlib 19.0 libfacedetection 本篇不記錄如何配置,重點在實現上。使用libfacedetection實現人臉區域檢測,聯合dlib標記人臉特徵點,最後使用opencv的facerecognizer實現人臉識別。訓練模組 人臉檢測 獲取人臉區域...