DenseBox检测算法的设计非常超前,现在很多Anchor-free办法有其影子,如果过后不是比Faster R-CNN晚了一点呈现,可能指标检测畛域很早就开始往Anchor-free的方向倒退了

起源:晓飞的算法工程笔记 公众号

论文: DenseBox: Unifying Landmark Localization withEnd to End Object Detection

  • 论文地址:https://arxiv.org/abs/1509.04874

Introduction


  DenseBox是晚期的Anchor-free指标检测算法,过后R-CNN系列在小物体的检测上有显著的瓶颈,所以作者提出DenseBox,在小物体的检测也有不错的体现。在DenseBox提出的早些工夫,驰名的Faster R-CNN呈现了,其弱小的性能主导了指标检测算法往anchor-based的方向倒退。直到FPN的呈现后,Anchor-free算法的性能才有了很大的晋升,更多的工作开始波及Anchor-free畛域。目前很多Anchor-free指标检测钻研都有DenseBox的影子,所以DenseBox的设计思路还是很超前的。

DenseBox for Detection


  DenseBox的整体设计如图1所示,单个卷积网络同时输入多个预测框及其类别置信度,输入的特色图大小为$5\times \frac{m}{4}\times \frac{n}{4}$。假如像素$i$位于$(x_i, y_i)$,其冀望的5维向量为$\hat{t}_i=\{\hat{s}, \hat{dx^t}=x_i - x_t, \hat{dy^t}=y_i - y_t, \hat{dx^b}=x_i - x_b, \hat{dy^b}=y_i - y_b \}$,第一个为分类置信度,后四个为像素地位到指标边界的间隔,最初,将所有像素的输入转化为预测框,通过NMS解决后进行最初的输入。

Ground Truth Generation

  DenseBox在训练时没有将残缺的图片作为输出,而是截取蕴含指标以及足够背景的较大区域进行训练。在训练时,将截取的图片resize大$240\times 240$,保障人脸位于截取区域的核心以及高度大概50像素,输入$5\times 60\times 60$的特色图。正样本区域是指标中心点半径为$r_c$内的圆,$r_c$与指标的大小相干,论文设置为0.3。如果截取的区域蕴含多个人脸,仅保留中心点在截取区域核心0.8到1.25范畴内的人脸,其它均认为是负样本。

Model Design

  DenseBox的网络结构如图3所示,蕴含16个卷积层,前12个卷积层由VGG19初始化,网络也增加了一些不同层之间的特色交融,能够综合不同感触域的特色。

Multi-Task Training

  网络同时进行分类和地位预测,网络由两个工作独特学习,分类工作的损失值间接通过L2损失计算:

  地位预测工作的损失值也通过L2损失计算:

  因为论文采纳了截取图片的形式进行训练,就会面临样本制作的问题,而DenseBox在正负样本制作以及学习下面做了一些工作:

  • Ignoring Gray Zone,灰色区域是处于正负点之间的过渡区域,不参加损失值的计算。对于一个非正样本点,如果其半径为2的范畴内存在正样本点,则纳入灰色区域。
  • Hard Negative Mining,在训练过程中,依据公式1将样本排序,取top 1%作为hard-negative,可能帮忙网络重点学习这些难样本。
  • Loss with Mask,依据像素点的类型定义特色图的掩膜$M(\hat{t}_i)$,并联合公式1、公式2以及掩膜输入最终的损失值:

  除了下面的几点,为了更好地开掘负样本的作用,论文也通过随机裁剪训练集以生成足够的随机负样本。在训练时,正样本图片和随机负样本图片以1:1比例输出网络。此外,为了加强网络的鲁棒性,进行了一些数据加强:

  • 随机抖动每个截取的图片
  • 左右翻转
  • 程度挪动25像素内
  • 随机缩放[0.8, 1.25]

Landmark Localization

  基于下面的设计,DenseBox也可用于标记点定位,仅须要在原有的根底上增加一些层用于预测标记即可。论文还发现,可通过交融标记点分支和分类分支进一步调整检测后果,具体做法如图4所示,调整输入的损失函数跟分类损失一样采纳L2函数。此时,残缺的网络损失变为:

Experiments


  人脸关键点上的性能比照。

  车辆关键点检测工作上的性能比照。

Conclusion


  DenseBox检测算法的设计非常超前,现在很多Anchor-free办法有其影子,如果过后不是比Faster R-CNN晚了一点呈现,可能指标检测畛域很早就开始往Anchor-free的方向倒退了。



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】