CVPR 2017 | Tiny Faces 小人脸检测算法简介

2018 年 2 月 1 日 极市平台 论智

↑ 点击蓝字关注极市平台 识别先机 创造未来


来源:论智

编译: Bing


论文地址https://arxiv.org/pdf/1801.06504.pdf


去年四月,CMU的Peiyun Hu和Deva Ramanan发表了一篇名为Finding Tiny Faces的论文,其中提出了一种新型的寻找小目标物体的方法,该方法基于三个要素:标度不变(Scale Invariance)、图像分辨率(Image resolution)和上下文语境推理(Contextual reasoning)。此外,该算法还是基于“中心凹”(foveal)描述,即模糊外围图像进行编码并提供足够的上下文信息,模仿人类视觉。


这一问题目前仍是公开的挑战,我们希望将这一方法应用于不同的实验中。因此,本文除了介绍该方法外,还会专注于现实中的挑战:不只是发现小物体,还要进行计算以及其他拓展的功能。代码已发布在GitHub上:https://github.com/alexattia/ExtendedTinyFaces


具体方法

就算是人类,想在一张照片中找出所有出镜的人都不是一件容易的事,更何况是机器。因此,我们需要确定如何才能最好地编码上下文。对于语境建模,论文中使用固定大小(291px)的感受野(receptive field)。然后从深度模型有效的中心凹描述中提取“超列”特征,定义模型。该技术在更大的感受野中,既能捕捉高分辨率的细节,也能找到粗糙的低分辨率图像。


上图是模型的结构。图像输入后被重新缩放,比例特定的检测器用来保证比例固定。然后,将缩放的图像输入卷积神经网络中,预测每分辨率的映射。最后,在原始分辨率下应用非最大抑制(NMS)去除重叠的边界框,得到最终的结果。


此外,该算法的性能受到图像分辨率的影响。确实,我们在实验时缩小了原始图像,并绘制生成了平均Jaccard相似度和检测到的人脸数量。最终得出结论:缩放越小,人脸检测的效果越差。


另外,我们还测试了Tiny Faces算法在模糊人脸上的表现,最终发现,该算法在检测模糊人脸方面比一般方法的表现差得多。


最后,我们将Tiny Faces算法与Faster R-CNN、MT-CNN、Haar Cascades和HOG在WIDERFACE数据集下做了对比,结果如下表:


Category1中,每张图有1~34张人脸;Category2中,每张图有2~3张人脸


可以看出Tiny Faces算法比其他算法表现得更好,尤其在人脸越多的图中,结果越好。


计算图中人数       

计算公共场合中的人数可能是一项艰巨的任务,我们试着把它实现自动化。因此,我们计划用Python构建一个模型,检测和统计视频中的人数。大致流程是:检测脸部、定位、排除重复的计数、统计。


场景的选择是一段音乐视频,我们从中截取了两个片段(每段大概5秒),并对其进行手动标注。为了每个人脸只计算一次,我们必须识别每张人脸,然后在下一帧匹配他们。为此,我们应用了Tiny Faces算法来寻找所有的人脸。在每一帧,我们都先对人脸的位置进行预测,然后再跨帧进行匹配。为了让匹配的过程更容易,我们创建了一个人脸嵌入(face embeddings):将每张图片包裹起来,使人脸始终朝向同一方向。


接着就是将预测人脸与检测到的人脸进行匹配。为了训练模型进行人脸预测,我们首先需要增强数据集。由于视频中的人的位置在两帧之间不会有太大的差别,我们可以使用预测的边界框坐标作为接下来两个框架中的一个人脸。然后,我们使用数据增强技术,例如使用imgaug Python库在每个RGB通道中添加高斯噪声和随机值。最后,我们每张脸部获得10个不同的图像,作为训练集的正面样本。


至于负面样本,我们随机选择了另外十张人脸图像。在每帧训练多个二元分类器(每张人脸一个)之后,我们在同一邻近区域(600px的正方形区域)预测了下一帧中与之最相似的人脸。最终,如下图所示,我们在另一帧中得到了最相像的面孔。



最后,就到了计算人数的步骤了。随着视频的播放,人脸的数量在不断增加。事实上,对于分析的每一帧,我们计算检测到的人数,同时(用人脸匹配)减去已经看到过的人数,所以有效人数就是每一帧新检测到的人数总和。结果如下表:



结语

通过深入分析Tiny Faces的原理,我们对其有了大致了解。不过,虽然其目的是检测小型物体,但现阶段只是应用于人脸识别上,而我们认为这一方法可以应用到其他领域,例如检测乳腺影像中的硬块,带来更多福利。最后是Tiny Faces生成的结果案例,真的是不放过每一个角落啊!




*推荐文章*

DeepSketch2Face:快速生成人脸模型

人脸检测与识别的趋势和分析



加入极市Email List (http://extremevision.mikecrm.com/pdKKGSx,获取极市最新项目需求,以及前沿视觉资讯等。

登录查看更多
10

相关内容

人脸检测(Face Detection)是一种在任意数字图像中找到人脸的位置和大小的计算机技术。它可以检测出面部特征,并忽略诸如建筑物、树木和身体等其他任何东西。有时候,人脸检测也负责找到面部的细微特征,如眼睛、鼻子、嘴巴等的精细位置。
【CVPR2020】跨模态哈希的无监督知识蒸馏
专知会员服务
59+阅读 · 2020年6月25日
【CVPR2020-Facebook AI】前置不变表示的自监督学习
专知会员服务
46+阅读 · 2020年4月19日
专知会员服务
109+阅读 · 2020年3月12日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
CVPR 2019 | CSP行人检测:无锚点框的检测新思路
机器之心
3+阅读 · 2019年4月13日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
从人脸检测到语义分割,OpenCV预训练模型库
极市平台
5+阅读 · 2018年10月26日
CVPR 2018 |“寻找”极小人脸
极市平台
14+阅读 · 2018年7月11日
一文综述人脸检测算法(附资源)
数据派THU
7+阅读 · 2018年5月8日
【CVPR2018】实时旋转鲁棒人脸检测算法
深度学习大讲堂
4+阅读 · 2018年4月19日
期待已久的—YOLO V3
计算机视觉战队
20+阅读 · 2018年4月13日
从传统方法到深度学习,人脸关键点检测方法综述
机器之心
14+阅读 · 2017年12月17日
Clustered Object Detection in Aerial Images
Arxiv
5+阅读 · 2019年8月27日
Arxiv
6+阅读 · 2018年3月19日
Arxiv
4+阅读 · 2018年1月19日
VIP会员
相关VIP内容
【CVPR2020】跨模态哈希的无监督知识蒸馏
专知会员服务
59+阅读 · 2020年6月25日
【CVPR2020-Facebook AI】前置不变表示的自监督学习
专知会员服务
46+阅读 · 2020年4月19日
专知会员服务
109+阅读 · 2020年3月12日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
相关资讯
CVPR 2019 | CSP行人检测:无锚点框的检测新思路
机器之心
3+阅读 · 2019年4月13日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
从人脸检测到语义分割,OpenCV预训练模型库
极市平台
5+阅读 · 2018年10月26日
CVPR 2018 |“寻找”极小人脸
极市平台
14+阅读 · 2018年7月11日
一文综述人脸检测算法(附资源)
数据派THU
7+阅读 · 2018年5月8日
【CVPR2018】实时旋转鲁棒人脸检测算法
深度学习大讲堂
4+阅读 · 2018年4月19日
期待已久的—YOLO V3
计算机视觉战队
20+阅读 · 2018年4月13日
从传统方法到深度学习,人脸关键点检测方法综述
机器之心
14+阅读 · 2017年12月17日
Top
微信扫码咨询专知VIP会员