人脸检测——UnitBox

本文转载自: https://blog.csdn.net/shuzfan/article/details/52625449

本次介绍一篇来自旷视科技的人脸检测文章:

《2016 ACM MM UnitBox: An Advanced Object Detection Network》.

代码应该是不会放出来了,但好在实现比较简单。(插播一句,论文里面说速度可以达到12fps,我有点慌,大家看看科学不)

—————————— 分割线 ——————————

Introduction

目标检测可以视作两个任务:目标定位 + 视觉识别。

基于深度学习的目标检测大致又可以分为三个部分:

(1)Region Proposal

这一步主要是为了寻找人脸候选区域,常见的方法有Selective Search、 EdgeBoxes 和stages of cascade detectors。这一步往往是算法的瓶颈所在,与性能和速度关联紧密。

(2)Recognition and Categorization

这一步就是为了对窗口进行分类,二分类(人脸非人脸),或者多分类(多目标检测)。

(3)Bounding Box Regression

进一步调整检测框,使之更加精准。(可以看做由粗到细的refine过程)

对比两种方法: 
Faster R-CNN: 使用region proposal network(RPN)来预测框,但是由于anchor box的尺寸和长宽比都是预先设定的,因此很难处理大的形状变化,特别是小的目标。

Densebox: 直接预测当前点与ground truth的四条边的距离,并且使用L2 Loss。但是为了检测不同尺度的目标,Densebox使用了图像金字塔,所以计算量很大。

上述两种方法都使用了L2_Loss,这也就意味着把四个坐标当成了独立变量,这显然是与实际不符的,这也是为什么框不准的原因。

因此

为了方便灵活灵活地处理各种角度的目标,作者提出了一种新的IOU_Loss,将四个回归值当做一个整体来处理,不仅提高了准确率而且加速了收敛。

—————————— 分割线 ——————————

IOU Loss Layer

这部分就进入正题了,首先说明一下,预测的四个值并不是人脸框的坐标,而是坐标差值,如下图:

IOU LOSS

从上图出发,我们来认识几点:

L2 Loss Layer

L2 Loss可以看做是欧氏距离,很明显这里面四个坐标是被当做独立变量来优化的。这可能导致下面的问题:

IOU LOSS

左边的人脸框明显比右边的要准一点,但是脸太大,则导致loss最终反而比右边的大,然后我们就去惩罚这个loss,结果最后检测器对小人脸效果就不好了。

IOU Loss Layer:Forward

IOU Loss的定义在第一张图里面其实已经给出来了,这里给出计算一整个人脸的Loss的流程图:

IOU Loss Forward

补充说明:

(1)UnitBox是一个端到端的网络,即输出和输入尺寸一致(后面会讲),因此上面是在循环计算每一个像素的loss;

(2)在输出四个坐标的前一层是一个ReLU层,以此来保证四个预测距离都是正值;

(3)IOU[0,1]IOU∈[0,1],因此可以直接忽略bounding box的尺度问题。因此UnitBox可以在多尺度上训练而直接在但尺度上测试。

IOU Loss Layer:Backward

这一部分正常求导即可,有兴趣可以自己导一下,或者参看原文。这里直接给出最后的导数定义:

IOU Loss Forward

由上式可以看出,IOU Loss的目的就是使重叠区域越大越好。

—————————— 分割线 ——————————

UnitBox Network

网络结构如下图:

IOU Loss Forward

使用VGG-16模型finetune,只不过去掉了全连接层,然后又搞成了带有两个分支的全卷积网络:一个分支是pixel级别的bounding box差值坐标,一个是分类得分。

显然输入应该有3个:原始图片,分类得分图(来描述一个像素是否落入ground truth),包围框误差坐标图(来描述与ground truth四条边的距离)

上图中的虚线表示线性插值和crop操作,以保证输出和输入大小一致。

分类得分使用的是sigmoid交叉熵loss,该loss既可以和IOU Loss分开训练也可以联合训练。

如何最终定位人脸: 
选定一定阈值,用一个椭圆在分类得分图上框出一个人脸,,然后选择中心坐标,找到其对应的bounding box。

—————————— 分割线 ——————————

Experiments

使用汤晓鸥的WiderFace数据集,这个数据集比较难。

结论:收敛更快,对尺度更鲁棒。

这里写图片描述


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值