2016-01-20 61 views
0

我们使用Viola-Jones进行人脸检测。该算法工作得很好,几乎没有误报。但是,我们有错误的否定。我们检测到一个非常明确的假阴性图案,这是脸部像素的灰度值与背景像素之间的非常高的对比度。Viola-Jones人脸检测:像素间高对比度

对于假阴性,如果图像被转换成一个单一的灰度矩阵,我们将看到这样的事情 - 255表示白色像素,即背景,而低得多的值是面(即较暗)像素)

255 255 255 255 255 255 80 
255 255 255 255 255 110 100 
255 255 255 255 90 100 110 
255 255 255 90 100 105 100 

在这些情况下,该算法未能检测到人脸。我尽了自己的代码和网络可用的API,具有相似的结果(没有一个检测上的相关图片脸

对于真阳性,对比度不高,你可能会看到这样的事情:

215 203 193 180 
205 196 182 175 
199 195 186 183 
202 201 197 193 
209 204 196 187 
214 202 185 172 
198 182 171 159 
192 174 164 156 

其中较高的值是背景像素(witish但不完全白色,它们具有一些灰色)和较低的值对应于脸部(更暗)。

有没有人面临这一问题和/或具有任何建议?

+0

今天有比Viola-Jones人脸检测更好的算法,请google“dlib,创建你自己的物体检测器”。如果你需要最好的召回,谷歌“轻松创建高品质的对象探测器与深度学习”。 – StereoMatching

+0

嘿StereoMatching,非常感谢,这是一篇很棒的文章。 –

回答

1

如果问题是对比,那里有一些对比归一化算法。尝试将它们作为预处理步骤,看看它是否有帮助。

+0

谢谢Ralf,我试着用混合结果打开cv的直方图均衡。我得到了和以前一样多的漏报,只是不同的漏报。 –

+0

这不仅仅是一种算法。搜索几个并尝试它们 - 否则,对比度可能不是你的实际问题? –