我在这里是因为我需要一些建议...
我正在使用人脸检测。我已经尝试过一些方法,例如 de DLIB Detector、HoG 等……
目前,我开始使用基于 ResNet .caffe 模型的 OpenCV DNN 检测,但经过多次尝试后,我意识到这个模型对于超过 300x300(HxW)的图像不是很好。
请注意,我的图像是 1520x2592 (HxW)。当我应用调整大小时,几乎所有人脸信息都丢失了,因为原始图像中的人脸大约为 150x150 像素,当使用 DNN 调整大小以进行检测时,它们的大小约为 30x20(大约)。
我已经尝试过的一些方法:
- 在子图中拆分图
- 背景减法
我需要达到的目标:
- 快速检测
- 减少丢失面孔的数量(未检测到)
挑战:
- 里面有小脸的大图
- 图像中有很多区域未被使用(但我无法更改相机的位置)
最佳答案
基于 SSD 的网络是完全卷积的,这意味着您可以改变输入大小。尝试传递不同大小的输入,并选择一个能提供令人满意的性能和准确性的输入。这里有一个例子:http://answers.opencv.org/question/202995/dnn-module-face-detection-poor-results-open-cv-343/
input = blobFromImage(img, 1.0, Size(1296, 760)); // x0.5
或者input = blobFromImage(img, 1.0, Size(648, 380)); // x0.25
关于python-3.x - 对超过 300x300 的图像使用 OpenCV DNN 检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54040303/