我已经创建了系统框架,它拍摄一张照片,将其转换为 LBPH 图像,然后从网格的每个图块(8x8)中获取直方图。我正在关注这篇论文,但我很困惑在第 4 步之后下一步要做什么来识别特征。我是否只需将网格的每个正方形与一组已知特征正方形进行比较并找到最接近的匹配?这是我的第一个面部检测程序,所以我对它很陌生。
1 回答
所以基本上图像处理是这样工作的。像素强度值本身变化太大且信息不足,无法用于算法理解图像。更有用的是像素强度值之间的局部关系因此用于识别的图像处理,检测基本上是一个两步过程。
特征提取- 将低级、高方差、无信息特征(如像素强度)转换为高级、低方差、信息量更大的特征集(例如边缘、视觉图案等),这称为特征提取。多年来,已经提出了许多特征提取机制,例如使用 Sobel 滤波器进行边缘检测、定向梯度直方图 (HOG)、类似 Haar 的特征、尺度不变特征 (SIFTS) 和您尝试使用的 LBPH。(请注意,在大多数不受计算限制的现代应用程序中,卷积神经网络(CNN)用于特征提取步骤,因为它们在经验上工作得更好。
使用转换的特征- 一旦提取了更多有用的信息(一组信息更丰富的特征),您需要使用这些特征来执行您希望完成的推理操作。在这一步中,您将拟合一个模型(函数逼近器),以便将您的高级特征作为输入,该模型输出您想要的信息(在这种情况下,我认为是关于图像是否包含人脸的分类)。因此,您需要选择并拟合一个可以利用高级特征进行分类的模型。一些经典的方法包括决策树、支持向量机和神经网络。本质上,模型拟合是一个标准的机器学习问题,需要使用一组标记的训练数据来“教”模型高级特征集对于包含人脸的图像的外观,
听起来您当前状态的代码缺少第二部分。作为一个好的起点,研究使用 sci-kit learn 的决策树包。