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實現人臉識別。訓練模組 人臉檢測 獲取人臉區域...