面部识别程序如何工作?
computer-vision
5
0

该程序将经历什么流程?

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

主成分分析是模式识别系统(如人脸识别)的基础

收藏
评论

大致来说,处理阶段为:

  1. 检测脸部位置
  2. 标准化面孔
  3. 收集每个检测到的脸部的特征
  4. 将特征提供给机器学习算法

第1步通常使用经典的Viola&Jones人脸检测算法完成 。这是非常快速和可靠的。

在步骤1中找到的脸部可能具有不同的亮度,对比度和大小。为了简化处理,将它们全部缩放为相同的大小,并在步骤2中补偿曝光差异(例如,使用直方图均衡化)。

步骤3有很多方法。早期的面部检测器试图找到特定的位置(眼睛的中心,鼻子的末端,嘴唇的末端等),并使用它们之间的几何距离和角度作为识别特征。据我了解,这些方法非常快速,但并不可靠。

一种更新的方法“ Eigenfaces”基于以下事实:可以将面部图片近似为基本图像(通过PCA从大量训练图像集中找到)的线性组合。该近似中的线性因子可以用作特征。该方法也可以单独应用于脸部(眼睛,鼻子,嘴巴)。如果所有图像之间的姿势相同,则效果最佳。如果有些脸朝左看,有些脸朝上看,那也行不通。主动外观模型尝试通过训练完整的3d模型而不是平面2d图片来抵消这种影响。

步骤4相对简单:您为每个面部和在训练过程中获取的面部图像都有一组数字,并且您想要找到与当前测试面部“最相似”的训练面部。这就是机器学习算法的作用。我认为最常见的算法是支持向量机(SVM)。其他选择是例如人工神经网络或k近邻。如果功能很好,那么ML算法的选择就没有太大关系。

有关该主题的文献:

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号