网站分页怎么做口碑营销的形式
简介
人脸识别不同于人脸检测。在人脸检测中,我们只检测了人脸的位置,在人脸识别任务中,我们识别了人的身份。
本文重点介绍使用库 face_recognition 实现人脸识别,该库基于深度学习技术,并承诺使用单个训练图像的准确率超过 96%。
识别系统用例
- 寻找失踪者
- 识别社交媒体上的帐户
- 识别汽车中的驾驶员
- 考勤系统
了解人脸识别的工作原理
- 我们将人的照片和他们的名字传递给模型。
- 该模型拍摄每张照片,将它们转换为某种数字编码,并将它们存储在一个列表中,并将所有标签(人名)存储在另一个列表中。
- 在预测阶段,当我们传递未知人的图片时,识别模型会将该人的图像转换为编码。
- 在将未知人的图像转换为编码后,它会尝试根据距离参数找到最相似的编码。与未知人的编码距离最小的编码将是最接近的匹配。
- 在获得最接近的匹配编码后,我们从该列表中获取该编码的索引并使用索引。我们找到检测到的人的名字。
传统人脸识别算法
传统的人脸识别算法不符合现代人脸识别标准。它们旨在使用旧的传统算法识别面部。
OpenCV 提供了一些传统的面部识别算法。
- Eigenfaces:http://www.scholarpedia.org/article/Eigenfaces
- 尺度不变特征变换 (Scale Invariant Feature Transform,SIFT):https://en.wikipedia.org/wiki/Scale-invariant_feature_transform
- Fisher faces:http://www.scholarpedia.org/article/Fisherfaces
- 局部二进制模式直方图 (Local Binary Patterns Histograms,LBPH):https://en.wikipedia.org/wiki/Local_binary_patterns
这些方法在提取图像信息和匹配输入和输出图像的方式上有所不同。
LBPH 算法是一种简单但非常有效的方法,仍在使用中,但与现代算法相比速度较慢。
人脸识别深度学习
有多种基于深度学习的面部识别算法可供使用。
- DeepFace
- DeepID series of systems
- FaceNet
- VGGFace
一般来说,基于地标的人脸识别器对人脸图像进行拍摄,并试图找到眉毛、嘴角、眼睛、鼻子、嘴唇等基本特征点。有60多个地标。
人脸识别涉及的步骤
- 人脸检测:定位人脸,记下每个人脸定位的坐标,并在每个人脸周围绘制一个边界框。
- 面部对齐。标准化人脸以获得快速训练。
- 特征提取。从面部图片中提取局部特征进行训练,这一步由不同的算法执行不同的操作。
- 人脸识别。将输入人脸与我们数据集中的一个或多个已知人脸进行匹配。
识别流程
使用python实现人脸识别系统。使用 face_recognition 库实现基于深度学习的人脸识别系统。
1. 设置人脸识别库:
为了安装人脸识别库,我们需要先安装dlib