我一直在使用dlib库检测人脸,在Python和DotNet包装器上进行测试。两者都产生了同样奇怪的问题:从互联网上获取的图像质量差(图像质量低、光线差等),几乎总是被检测到,而从我的iPhone上拍摄的高质量/光线的照片几乎从未被检测到
我完全确信,在我的iPhone上拍摄的人脸比从互联网上拍摄的人脸质量更高,但无论我改变iPhone照片的灯光和相机角度多少次,结果总是一样的。偶尔会检测到iPhone人脸,而绝大多数完全可以接受的人脸照片都未被检测到。我完全不知所措,任何想法都很受欢迎
下面是我相对简单的代码示例
from face_recognition import load_image_file, face_locations
faces = face_locations(load_image_file("foo.jpg"))
face_detected = len(faces) >= 1
你也可以试试deepface吗
它实际上包含了几个人脸检测器。它的默认检测器是mtcnn,但您仍然可以设置所需的检测器
如果无法检测到面,detectFace函数将返回异常
我想出了一个解决方案,我想我会和大家分享它,以防将来有人遇到这个问题。将所有图像转换为灰度,修复了数据集中所有未检测到的人脸。我用C#而不是Python编写了这篇文章,但无论如何我都会与大家分享。可以使用Emgu.CV库和以下代码完成此操作:
它很快而且很有效
相关问题 更多 >
编程相关推荐