我正在做一个face recognition
项目,在这个项目中,我识别运动中的人的脸,这意味着这个人一直在运动,我必须检测并识别他的脸
为此,我使用caffemodel
进行人脸检测,并使用改进的knn方法进行人脸识别。它工作正常,但在大多数情况下,它会给出错误的识别。因为人在移动,所以很难获得好的面部图像。下面是捕获的人脸的几个示例:
摄像机放置在离人稍远的地方,因为它的正面不是很清晰。面部图像大小为100x120。我必须使用这些图像进行人脸识别。我想知道是否有人可以指导我在识别前可以使用的一些预处理方法,以便提高准确性。请帮忙。谢谢
Tags:
因为你需要人脸识别,所以只需要人脸细节,而不需要周围环境。周围的物体由于误报而降低了精确度。 您可以按照以下步骤增强图像质量:
步骤1:仅使用haarcascade检测人脸
步骤2:裁剪图像
步骤3:重塑为原始尺寸
步骤3:标准化图像以固定亮度
第三步:
norm_img
到caffemodel
这种方法可以显著提高精度
若你们有不同的退化(模糊、极端姿势、照明等),knn方法是不好的。如果你有数据,我建议你使用一个小的神经网络,通过退化和姿势(Megaface)进行训练。它会有更好的识别准确率。当然,对于实时应用程序,您应该使用较小的网络。除了我的建议,还有两种人脸识别的预处理方法。第一种是面对齐,它扭曲面以获得相同的对齐,从而获得更好的精度。为了进行校准,有地标预测模型可以在脸上找到68个地标点(例如鼻子、眼睛、嘴巴)。但是,在极端姿势(右上角)中,对齐是不够的
最好的预处理方法是去除闪电效应
假设您具有以下图像:
你怎么能找到那张脸?或者脸在哪里
在当前情况下,即使用人眼也无法在图像中找到人脸
如果我们应用
GaussianBlur
:至少我们可以看到脸在图像中的位置
现在,我们如何定位人脸
上面是一张具有挑战性的图片,您可以在其中测试您的方法。因为上面的图像不能被Haar和face-recognition检测到。如果您的方法找到它,您可以确定您的方法
例如:
下图可以通过类似于Haar的特征找到。因此,您的方法必须检测以下图像。否则,你应该改变你的方法
可能的问题你为什么不提到面部对齐
最具挑战性的事实是人脸识别中的闪电效应。如果你的方法解决了这个问题,你所能做的就是用更多的样本训练你的网络,或者你可以使用预先训练好的网络
相关问题 更多 >
编程相关推荐