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 的方向倒退了。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】