如何在不使用任何类型的神经网络(如 CNN)的情况下进行人脸识别?

数据挖掘 机器学习 分类 美国有线电视新闻网 图像分类
2022-03-15 13:34:54

是否/是否有任何方法来执行人脸识别,而不是使用卷积神经网络,该网络使用 128-D 向量映射(编码)人脸技术,然后在其上使用分类器(如 knn/SVM)?

在 CNN 方法发明之前,我们用什么来进行人脸识别?


来自@rahulreddy的评论:

自定义对象检测可以使用 Voila-Jones Haar 级联或使用定向梯度直方图 (HOG) 技术或现在通过 CNN。

1个回答

就目前而言,基于 NN 的方法是当前最先进的方法。它优于下面描述的方法,但本着回答问题的精神,这里......

不使用 CNN 的诀窍是找到带有人脸的图像的良好表示。CNN 很棒,因为它们学习了很好的特征。如果你不想使用它,你可以使用 CNNs,你可以使用Eingenfaces作为你的特征。

k (k<d)主要假设是大多数人脸图像位于由最大方差的第一方向确定的低维子空间上。

u1, ... ,uk您可以使用 PCA 来确定跨越该子空间的向量或“特征面” 。

然后,您可以将数据集中的所有人脸图像表示为特征脸的线性组合。

例如,给定这些用于训练的图像:

在此处输入图像描述

您可以学习以下特征脸:

在此处输入图像描述

这些特征脸突出了一个人脸上的不同特征。如果你对所有人进行平均,你会发现一张平均脸,这将是你训练集中所有人中最常见的特征。

那么,这张脸:

在此处输入图像描述

可以通过平均面和一些其他特征面的线性组合来重构:

在此处输入图像描述

现在,每个组件的权重都可以用作分类算法的特征。此时可以是任何东西,例如KNNSVM