简单的面部识别分类

简介: 【7月更文挑战第31天】简单的面部识别分类。

简单的面部识别分类
根据之前的步骤将脸部从图像中分离,如果直接将两张照片进行对比,当两者中人脸的角度、位置不同时,接下来的网络或者算法在做分类时准确率降低,所以通常需要先对脸部图像进行预处理。比较通用的预处理方法是瓦希德·卡泽米(Vahid Kazemi)和约瑟芬·沙利文(Josephine Sullivan)提出的面部特征点估计,该方法的主要思路是找到面部中普遍存在的68个特征点,包括下巴、每只眼睛的外部轮廓、每条眉毛的内部轮廓等,然后基于这些特征点的位置对图像进行仿射变换等操作,让人脸尽量居中。
脸部居中之后可以进行识别,最简单的方法是将要识别的人脸与数据库被标注的人脸进行比较,看是否相似。直接比较的话,如果人脸数据库中有上万张甚至十几万张照片,那么逐个比较会需要很长的时间。embedding可以解决这个问题,这种方法是将图像这种复杂的数据生成一个简单的数列,具体思路是:使用卷积神经网络进行面部编码,将面部图像在网络中进行训练并生成128个参数值。例如,现在有3张照片,照片A和照片C属于同一个人,照片B属于另外一个人,设计神经网络,使3张照片学习并生成3组参数值,其中,照片A和照片C生成的参数值相近,且与照片B生成的参数值有差距,经过多次学习后,即使某个人有很多照片,神经网络也可以为这个人生成一个大概范围的参数值。
这个卷积神经网络的作用是将某个人的人脸照片进行编码。使用这个网络,可以对新的需要人脸识别的用户进行编码。
最后一步就是人脸识别,有了前面的铺垫,这一步就很简单了。得到需要识别的人脸并将其编码之后,使用分类算法就可以完成识别,如KNN。需要注意的是,这里的KNN并不是对比两张照片的像素距离,而是对比编码后的128个参数值的距离。

目录
相关文章
|
计算机视觉 Python
OpenCV完成面部情绪识别
OpenCV完成面部情绪识别
199 0
|
4月前
|
机器学习/深度学习 算法 数据库
简单的面部识别分类
【7月更文挑战第30天】简单的面部识别分类。
28 1
|
4月前
|
TensorFlow 算法框架/工具 Python
识别图像
【7月更文挑战第29天】识别图像。
85 8
|
4月前
|
TensorFlow 算法框架/工具 计算机视觉
识别
【7月更文挑战第29天】识别
48 8
|
5月前
人脸关键点识别
【6月更文挑战第21天】
29 4
人脸关键点识别
|
5月前
|
机器学习/深度学习 算法 数据挖掘
第7章 目标检测与识别
第7章 目标检测与识别
|
5月前
|
机器学习/深度学习 XML 算法
第5章 人脸检测和识别
第5章 人脸检测和识别
|
6月前
|
机器学习/深度学习 人工智能 图计算
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
197 0
|
计算机视觉 Python
计算机视觉|图像中的信息识别
计算机视觉|图像中的信息识别
74 0