网站搭建说明/西安网约车平台
人脸识别经过近几年的发展已经非常普遍了,有我们非常熟悉的人脸识别打卡、人脸识别付款等等应用场景。

今天,夏老师跟大家分享这些应用场景背后的技术——Python调用Dlib实现人脸关键点检测。
这次我们会用到两个工具,分别是opencv和dlib。
opencv帮助我们从摄像头中获取摄像头视频图片;
dlib帮助我们检测图片中的人脸及人脸的关键点。
环境安装
我使用的环境是windows10+ python 3.7.4+opencv 3.4.2.17+dlib 19.19.0
Python 可以直接在官网上下载或者安装anconda,官网上有具体教程这里不再介绍
https://www.python.org
https://www.anaconda.com
opencv可以使用以下命令直接安装
pip install opencv-python
dlib可能会比较麻烦,我的电脑直接使用pip安装会一片红,在网上找了很多资料,然后我先从https://pypi.org/simple/dlib中下载dlib-19.19.0.tar.gz 文件。
然后使用命令
pip install dlib-19.19.0.tar.gz
如果还是按照不了的话可能需要根据错误自行百度。
编写代码
编码的话就很简单首先引入opencv和dlib包

使用opencv打开摄像头

使用dlib初始化人脸检测器,其中shape_predictor_68_face_landmarks文件可以从http://dlib.net/files/ 下载,这是官方已经训练好的模型。

下面代码主要流程是从摄像头中读取图片检测人脸,检测特征点并显示

输入q退出

清理资源

整体代码

效果展示

总体来说如果使用已经训练好的模型来做人脸检测是非常简单的,唯一的坑就是dlib的安装可能会消耗较多时间,当然这次我们只是做了人脸的检测,后续我们可以实现对人脸进行对比或者实现人脸识别功能。