计算机视觉:Python 中的人脸识别快速入门
使用所有流行模型进行基于 Python 深度学习的人脸检测、识别、情感、性别和年龄分类
讲师:Abhilash Nelson
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 从图像中检测人脸
- 实时视频中的人脸检测
- 情绪检测、年龄性别预测
- 图像、实时视频中的人脸识别
要求
- 一台配置不错的计算机,并热衷于深入基于计算机视觉的人脸识别世界
描述
你好呀!
欢迎来到我的新课程“使用 Python 进行深度学习的人脸识别”。这是我的计算机视觉系列的更新课程,涵盖基于 Python 深度学习的人脸检测、人脸识别、情感、性别和年龄分类,使用所有流行的模型,包括 Haar Cascade、HOG、SSD、MMOD、MTCNN、EigenFace、FisherFace、VGGFace、 FaceNet、OpenFace、DeepFace
人脸检测和人脸识别是计算机视觉最常用的应用。使用这些技术,计算机将能够提取图像或视频中的一张或多张面孔,然后将其与现有数据进行比较,以识别该图像中的人。
人脸检测和人脸识别被政府和组织广泛用于监视和治安。我们每天还在许多应用中使用它,例如手机的面部解锁等。
对于那些想要使用 Python 深入研究人脸识别而无需处理与典型深度学习过程相关的所有复杂性和数学的人来说,本课程将是一个快速入门。
我们将使用一个名为 Face-recognition 的 Python 库,它使用简单的类和方法来轻松实现人脸识别。我们还使用 OpenCV、Dlib 和 Pillow for python 作为支持库。
现在让我们看看本课程中包含的有趣主题的列表。
首先,我们将进行有关人脸检测和人脸识别技术的介绍性理论课程。
之后,我们准备通过下载并安装 anaconda 包来为计算机准备 Python 编码。然后我们将安装所需的其余依赖项和库,包括 dlib、人脸识别、opencv 等,并尝试一个小程序来查看是否一切都安装正常。
你们中的大多数人可能没有基于 Python 的编程背景。接下来的几个课程和示例将帮助您获得基本的 Python 编程技能,以继续完成本课程中包含的课程。主题包括 Python 赋值、流程控制、函数和数据结构。
然后我们将介绍面部检测器的基础知识和工作原理,该检测器将从给定媒体检测人脸。我们将尝试使用 python 代码来检测给定图像中的面部,并将面部提取为单独的图像。
然后我们将继续从视频中进行人脸检测。我们将从计算机的网络摄像头传输实时视频,并尝试从中检测人脸。我们将在实时视频中检测到的每个人脸周围绘制矩形。
在下一个课程中,我们将自定义面部检测程序,以动态模糊从网络摄像头视频流中检测到的面部。
之后,我们将尝试使用预先训练的深度学习模型进行面部表情识别,并从实时网络摄像头视频和静态图像中识别面部情绪
然后我们将使用预先训练的深度学习模型尝试年龄和性别预测,并从实时网络摄像头视频和静态图像中识别年龄和性别
在人脸检测之后,我们将介绍人脸识别的基础知识和工作原理,它将识别已检测到的人脸。
在下一节中,我们将尝试使用 python 代码来识别给定图像中的人名及其面部,并在面部周围绘制一个矩形,并在其上显示他们的名字。
然后,就像我们在人脸检测中所做的那样,我们将继续从视频中进行人脸识别。我们将从计算机的网络摄像头传输实时视频,并尝试识别和命名其中的面孔。我们将在检测到的每张面孔周围绘制矩形,并在其下方绘制实时视频中他们的名字。
大多数时候,在编码过程中,随着面部匹配决策,我们可能需要知道面部的匹配程度。为此,我们将得到一个称为面部距离的参数,它是两个面部的匹配程度。稍后我们将使用简单的数学将该面部距离值转换为面部匹配百分比。
在接下来的两节课中,我们将学习如何调整用于面部检测的面部标志点。我们将绘制连接这些面部标志点的线,以便我们可以直观地看到计算机用于评估的面部点。
将地标点定制提升到一个新的水平,我们将使用地标点为面部图像创建自定义面部化妆。
到目前为止,我们使用人脸识别第三方库来实现大部分功能。但从现在开始,我们将使用流行的库分别尝试人脸识别流程步骤,包括人脸检测、人脸对齐、人脸特征提取验证和分类。我们将在本次会议中介绍这些内容。
在下一节中,我们将从人脸检测开始。我们将它们分为传统的人脸检测方法和涉及CNN的现代方法。
首先我们将尝试使用 Haar Cascade 对象检测算法进行人脸检测。我们将首先针对静态图像尝试它,然后我们将针对保存的视频以及实时网络摄像头视频实现它。
另一种流行的人脸检测算法是 HOG 或定向梯度直方图。首先我们将介绍 HOG 算法的工作原理,然后我们将尝试将 HOG 方法用于图像、视频和实时网络摄像头流。
我们将尝试的下一个人脸检测算法是 SSD 或单次检测。我们还将对 SSD 重复相同的功能练习。然后是MMOD。我们还将对 SSD 重复相同的功能练习。
然后是 MMOD,最大边缘对象检测。我们还将对 MTCNN 重复相同的功能练习。
接下来是下一个算法,即 MTCNN,即多任务级联卷积网络。我们还将为 MTCNN 重复相同的功能练习,包括图像、视频和实时流。
最后我们将快速比较这些人脸检测算法的性能。
人脸检测完成后,我们将继续进行人脸对齐。我们将使用流行的 Dlib 库 python 实现来执行图像、视频和视频流的人脸对齐。
在人脸对齐练习之后,我们将在实际人脸识别发生的地方进行人脸验证和分类。首先我们来介绍一下人脸分类。我们将这些技术分为传统的人脸识别方法和涉及CNN的现代方法。
首先,我们将尝试 Eigenface Fisherface 和 LBPH(局部二值模式直方图)技术。我们将对这些算法进行简短介绍,然后继续
为这些算法准备图像数据集。
然后我们将为它们设置先决条件。稍后我们将使用 MTCNN 进行人脸检测并对检测到的人脸进行预处理以进行识别。然后是涉及图像数据集训练和尝试图像预测的练习。然后,我们将保存该模型,以便稍后加载并进行预测,而无需再次进行训练。
我们还将尝试将其用于预先保存的视频和实时网络摄像头流。完成后,我们将快速比较 Eigenface Fisherface 和 LBPH 算法。
传统的方式就这些了,现在我们继续进行深度学习人脸识别。首先使用流行的 VGGNet 模型进行人脸识别,称为 VGGface。我们将介绍 VGG 人脸,然后我们将实现图像的 VGGface 人脸验证。稍后我们将尝试对视频和实时流进行 VGGface 人脸验证。
然后我们介绍了 FaceNet、OpenFace 和 DeepFace 模型。我们将使用一个流行的、易于使用的、名为 Deepface 的开源 Python 人脸识别框架来实现其余流行的深度学习技术。
我们将在计算机上安装 deepface,然后首先尝试进行人脸检测和人脸对齐。然后我们会尝试deepface进行人脸一对一验证。后来经过一些修改,我们可以将其用于涉及一对多比较的人脸分类。Deepface还可以用于进行涉及性别、年龄、情感、种族等的人脸分析
这就是本快速课程当前包含的所有主题。本课程中使用的代码、图像和库已上传并在文件夹中共享。我将在上一课或本课程的资源部分中提供下载它们的链接。您可以在项目中自由使用代码,无需提出任何问题。
此外,完成本课程后,您将获得课程结业证书,这将为您的作品集增值。
现在就这些了,很快教室见。快乐学习,度过愉快时光。
本课程适合谁:
- 初学者或想开始使用基于 Python 的人脸识别