首页 > 嗟来之食 > 图片人脸检测——Dlib版(四)
2018
06-06

图片人脸检测——Dlib版(四)

上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库。
点击查看往期:
《图片人脸检测——OpenCV版(二)》
《视频人脸检测——OpenCV版(三)》
dlib与OpenCV对比
识别精准度:Dlib >= OpenCV
Dlib更多的人脸识别模型,可以检测脸部68甚至更多的特征点
效果展示

人脸的68个特征点

安装dlib
下载地址:https://pypi.org/simple/dlib/ 选择适合你的版本,本人配置:

Window 10 + Python 3.6.4

我现在的版本是:dlib-19.8.1-cp36-cp36m-win_amd64.whl
使用命令安装:

pip3 install D:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl

显示结果: Processing d:\soft\py\dlib-19.8.1-cp36-cp36m-win_amd64.whl Installing collected packages: dlib Successfully installed dlib-19.8.1
为安装成功。
下载训练模型
训练模型用于是人脸识别的关键,用于查找图片的关键点。
下载地址:http://dlib.net/files/
下载文件:shape_predictor_68_face_landmarks.dat.bz2
当然你也可以训练自己的人脸关键点模型,这个功能会放在后面讲。
下载好的模型文件,我的存放地址是:C:\Python36\Lib\site-packages\dlib-data\shape_predictor_68_face_landmarks.dat.bz2
解压:shape_predictor_68_face_landmarks.dat.bz2得到文件:shape_predictor_68_face_landmarks.dat
代码实现

#coding=utf-8

import cv2
import dlib

path = "img/meinv.png"
img = cv2.imread(path)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#人脸分类器
detector = dlib.get_frontal_face_detector()
# 获取人脸检测器
predictor = dlib.shape_predictor(
"C:\\Python36\\Lib\\site-packages\\dlib-data\\shape_predictor_68_face_landmarks.dat"
)

dets = detector(gray, 1)
for face in dets:
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环境搭建(一)》
《图片人脸检测——OpenCV版(二)》
《视频人脸检测——OpenCV版(三)》
《图片人脸检测——Dlib版(四)》
 
更多动态,请关注我的GitHub:https://github.com/vipstone/faceai
 

最后编辑:
作者:
这个作者貌似有点懒,什么都没有留下。

留下一个回复