惊呆了!速度高达15000fps的人脸检测算法!

(欢迎关注“我爱计算机视觉”公众号,一个有价值有深度的公众号~)

昨天52CV君发现一篇奇文,《Face Detection at 15,000 FPS:Real-Time Inference on GPU and CPU》,速度高达15000fps的人脸检测算法!

我认为用real-time来形容它的速度已经不够贴切了,这明明是闪电嘛~

这篇论文来自SIBGRAPI2018,是一个位于巴西的关注计算机图形、视觉、模式识别、图像处理的学术会议,看起来巴西人不仅踢球快,检测算法也追求超级快。

主要思想

其主要思想概括一下,就是图像缩小后再CNN检测。请看下图:

该算法将图像缩到极小(最小达到16*16像素),然后进行CNN检测,CNN此时跑的非常快。这时候原图中的小尺寸人脸往往是检测不到的,不过没关系,对于一些特定场景(比如车载摄像头的人脸检测)已经够用了。

网络结构

下图展示了作者所用网络的结构:

上图最上面部分是网络流程,d1、d2、d3是网络结构,白色和灰色代表不同的inception结构。网络最后分别是分类(是否是人脸)和定位分支(位置在哪里)。图中不同颜色代表不同网络层或结构,最下面的部分有说明。

数据集

作者使用WIDER-FACE数据集的训练集制作训练集,按照含有人脸图像截取出来并进行一定的缩放。

Fig.3 展示了这一过程。

同时作者收集了GoPro拍摄的车内的视频作为测试集。

Fig.4 展示了其中示例。

实验结果

作者在实验阶段最重要的参数设置变化是图像大小,最大图像80*80,最小图像16*16。

对比的算法是经典的V&J人脸检测器。(估计也不好意思跟先进的算法比精度吧~)

不仅报告了精度,还报告了在CPU(I3-6006U)、树莓派3、1080Ti、1080Ti(batch size为256)上的运行fps。

结果:

使用该文算法,在分辨率为64*64时取得了最高的精度,此时在树莓派3上也能达到实时(16.86fps)。

在分辨率16*16时取得了最快的速度,其中1080Ti(batch size为256)情况下高达15442.34fps!此时在树莓派3上也达到了49.61fps!

作者最后通过设置不同的分类阈值研究了IOU图,发现影响该算法检测精度的主要因素是定位不够精确,亦即很多时候分类器已经分类出人脸了,但定位不准。(这意味着如果能够提高定位精度,这个算法就更逆天了)

可惜的是,目前还未发现作者将此算法开源~

加入专业讨论群

加入52CV-人脸识别专业讨论群,扫码添加52CV君(your-word)拉你入群:

(请务必注明:人脸)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:928997753。

(不会时时在线,如果没能及时通过验证还请见谅)

本文对你有帮助吗?欢迎留言。

(欢迎关注“我爱计算机视觉”公众号,一个有价值有深度的公众号~)

转载请注明:《惊呆了!速度高达15000fps的人脸检测算法!

发表评论

电子邮件地址不会被公开。 必填项已用*标注