对于 OpenCV 人脸检测和识别,人脸是不是略微失真是不是重要?

Posted

技术标签:

【中文标题】对于 OpenCV 人脸检测和识别,人脸是不是略微失真是不是重要?【英文标题】:Does it matter if faces are slightly distorted for OpenCV Face Detection & Recognition?对于 OpenCV 人脸检测和识别,人脸是否略微失真是否重要? 【发布时间】:2020-05-12 20:51:15 【问题描述】:

我正在编写一个使用 OpenCV 人脸检测和识别的程序,使用 this 作为指导

面部变形是否重要?例如,我正在考虑将相机*放在门上的窥视孔上,这会产生内在的失真。 OpenCV 还能检测和识别吗?

系统:树莓派 4 操作系统

Python 版本:3.x

*PS:如果有人能推荐一款好的 RPi 相机,它可以在窥视孔上很好地工作,那就太好了。目前正在考虑 RPi V2 摄像头。

谢谢! :-)

【问题讨论】:

您的问题似乎不清楚。 良好的 RPi 相机 是什么意思?你有什么要求?请访问并查看how to ask a good question @YunusTemurlenk “好”是指“最适合该任务”。无论如何,这只是关于失真的实际问题的一个附加问题 有人知道吗?! 【参考方案1】:

首先,相机质量对于检测面部(或其他物体)并不那么重要,因为我使用了更差的(0.5 Mpx 等低分辨率)相机,即使在这些相机上结果也很好。关于检测对象的要点取决于您使用的算法。流行的算法:

    OpenCV 中的 Haar 级联人脸检测器 OpenCV 中基于深度学习的人脸检测器 Dlib 中的 HoG 人脸检测器 Dlib 中基于深度学习的人脸检测器

根据您共享的文档,Haar Cascade 是您正在考虑使用的算法。 Haar Cascade 可以更快地工作,但也可能存在一些问题(如遮挡、许多人脸的问题和一些扭曲的人脸图像等。)在this link 中有一个关于这些算法比较的非常好的文档。

Here也是haar级联人脸检测的教程。

我认为使用人孔摄像头检测人脸不会有问题。

【讨论】:

对。在博客上,程序员使用 LBP 分类器而不是 Haar。您对比较费率有什么想法吗? 是的,因为文档说 OpenCV DNN 似乎更好。 OK 所以 LBP 和 DNN 分类器是一样的?

以上是关于对于 OpenCV 人脸检测和识别,人脸是不是略微失真是不是重要?的主要内容,如果未能解决你的问题,请参考以下文章

人脸识别《一》opencv人脸识别之预处理

opencv联合dlib人脸识别例子

opencv联合dlib人脸识别例子

基于QT和OpenCV的人脸检测识别系统

基于OpenCV读取摄像头进行人脸检测和人脸识别

基于QT和OpenCV的人脸检测识别系统