dlib人脸识别

dlib人脸识别

1、dlib安装

​ 代码的编写在jupyter notebook中来完成

​ jupyter notebook是一个工具

​ pip install jupyter ------------>安装使用

​ 如何启动:

​ 命令行输入:jupyter notebook

​ 前提,环境变量配置成功

​ dlib安装-------------> pip install dlib

​ dlib有不同的版本,最新版本(19.17.0),经过测试,dll包不完备,所以上次我在使用时,出了一点问题,随着时间的推移,修复

​ 建议大家安装之前的版本(19.8.1)

​ pip install dlib==19.8.1

2、dlib人脸识别

​ cv2和dlib异同

​ 都可以识别人脸

​ cv2级联方式识别人脸,启用算法时,人脸特征数据:haar

​ dlib底层使用的是深度神经网络

​ 所以dlib识别准确率,要比opencv(cv2)高

​ pip install opencv-python

​ 我们就可以在代码中,导包了

​ dlib调用相应方法,识别人脸

​ face_detector = dlib.get_frontal_face_detector()

​ 调用:

​ 人脸坐标数据

​ faces = face_detector(image,1)

​ 绘制:

    for face in faces:
        left = face.left()
        top = face.top()
        right = face.right()
        bottom = face.bottom()
 
        cv2.rectangle(jin,pt1 = (left,top),pt2 = (right,bottom),color = [0,0,255],thickness = 2)

3、dlib多张人脸的识别

​ jupyter执行代码 Ctrl + Enter

​ 多张人脸和单张人脸识别的代码完全一样的

4、dlib可以识别视频中的人脸

​ 视频操作,首先读取视频

​ cv2工具---------> opencv------->计算机视觉

​ 演示,视频每一张图片,进行显示

​ cv2.waitKey(10) -------->毫秒,快进感觉

​ 视频中人脸可以检测,但是播放速度变慢,为什么???

​ 因为人脸识别,算法应用,大量计算,计算时,花时间的

5、dlib可以标记人脸的关键点(轮廓点)

​ 1、识别人脸

​ 2、轮廓识别人脸关键点

​ 人脸68个关键点:嘴巴,鼻子,眼睛,眉毛,轮廓

​ shape = dlib.shape_predictor('./shape_predictor_68_face_landmarks.dat')

​ facemarks = shape(jin,face)

​ for mark in facemarks.parts():

​ x = mark.x

​ y = mark.y

​ cv2.circle(jin,center = (x,y),radius = 2,color = [0,255,0],thickness = 2)

posted @ 2020-03-31 17:02  import*  阅读(1159)  评论(0编辑  收藏  举报