前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >细小人脸检测的实践(Finding Tiny Faces论文代码复现)

细小人脸检测的实践(Finding Tiny Faces论文代码复现)

作者头像
sparkexpert
发布2018-01-09 14:26:16
1.8K0
发布2018-01-09 14:26:16
举报

https://www.cs.cmu.edu/~peiyunh/tiny/这个主页上介绍了CVPR中的一篇文章,关于细小人脸检测的。小物体检测一直还是CV界比较有挑战的一个问题。从作者的摘要可以看出,主要完成了以下三个工作:

We explore three aspects of the problem in the context of finding small faces: 

(1)the role of scale invariance,

(2)image resolution, 

(3)and contextual reasoning. 

具体而言,论文关键点包括以下三个方面:

Multi-task modeling of scales

目前常用的方法是使用尺度归一化分类器或者在 ROI 池化特征图上运行区域分类器。将区域尺寸归一化到一个标准尺寸,会面临一个简单的问题,因此直观的想法是:分别训练不同尺度的检测器。然而这种问题肯定会带来复杂性的增加。通过发现对卷积网络后端小尺寸特征图进行放大,这对检测小目标很重要。因此作者最后采用了尺度不变方式,来处理图像金字塔以捕获大规模变化,并采用特定尺度混合检测器

整个论文实现检测的流程如下:从输入图像开始,首先创建一个粗图像金字塔(包括2X插值)。然后,我们将缩放的输入图像输入到CNN中(论文中采用了resnet-101),以便在每个分辨率下预测模板响应(用于检测和回归)。最后,我们在原始分辨率图像上应用非最大抑制(NMS)来获得最终检测结果。

觉得工作挺有意义的,于是进行了代码的复现。

具体过程:

(1)安装matlab

(2)安装matconvnet,这个必须采用作者的fork版本,否则会出现split函数没有找到的问题。

(3)直接运行

代码语言:javascript
复制
tiny_face_detector.m这个文件进行测试。(利用这种运行的方式可以避免反复加载预训练模型,提高测试效率)

具体的执行过程可以看到如下的字眼,即可以看到实际过程中采用了多种分辨率。

find the pretrained model file ./trained_models/hr_res101.matLoading pretrained detector model... load modelProcessing data/3.jpg at scale 0.062500. Processing data/3.jpg at scale 0.125000. Processing data/3.jpg at scale 0.250000. Processing data/3.jpg at scale 0.500000. Processing data/3.jpg at scale 1.000000. Processing data/3.jpg at scale 1.414214. Processing data/3.jpg at scale 2.000000.

下面为一些测试结果:

这种不是正面拍摄的照片,检测结果居然还是相当好的。

挑了张阅兵的照片,由于原始的照片是:650*350的,检测结果就相对一般了,主要可能是作者采用的20*15的框,已经超过了后面那排的人脸的像素。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年09月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档