【计算机视觉40例】案例36:调用CNN实现人脸检测

网友投稿 308 2022-08-22

【计算机视觉40例】案例36:调用CNN实现人脸检测

Dlib是一个现代工具包,包含机器学习算法和工具,用于在程序中构造软件来解决复杂的现实世界问题。它被工业界和学术界广泛应用于机器人、嵌入式设备、移动电话和大型高性能计算环境等领域。Dlib的开源许可允许用户在任何应用程序中免费使用它。

Dlib官网提供了非常翔实的资料,对它的函数有非常具体的使用说明。除此以外,Dlib官网还提供了大量的案例帮助我们快速掌握该工具的使用。

本章中,我们使用Dlib实现几个跟人脸识别相关的具有代表性的案例,具体如下:

定位人脸绘制关键点勾勒五官轮廓人脸对齐调用CNN实现人脸检测

本章中所使用的模型均可在Dlib官网下载。

Dlib中提供了调用CNN人脸检测器的方式。调用CNN模型比基于HOG的模型要更加精准,但是也要花费更多的算力。通常情况下,我们使用Dlib的HOG定位人脸时感觉不到任何的时延,而调用CNN时能够感觉到非常明显的时延。

在Dlib中调用CNN实现人脸检测的步骤如下:

步骤1:载入模型。通过模型装载函数,将CNN模型载入。

步骤2:使用检测器检测人脸。函数函数cnn_face_detector,完成人脸检测。

步骤3:遍历步骤2得到的每一张人脸,将其输出。

使用Dlib调用CNN的人脸检测器代码如下:

运行程序,运行结果如图1所示,程序准确地识别出了每一张人脸。本程序运行较慢,请耐心等待。

图1  检测结果

在《计算机视觉40例——从入门到深度学习(OpenCV-Python)》第27章《dlib库》中详细介绍了定位人脸、绘制关键点、勾勒五官轮廓、人脸对齐、调用CNN实现人脸检测等案例。

《计算机视觉40例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的40个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python类的命名空间与组合(什么是 Python 的命名空间?)
下一篇:字典基本操作方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~