DenseBox

2020-02-23  本文已影响0人  小松qxs
titile DenseBox: Unifying Landmark Localization with End to End Object Detection
url https://arxiv.org/pdf/1509.04874.pdf
动机 应用end-to-end FCN网络实现目标检测,主要针对小目标且数量多的场景(在Faster rcnn前提出,一种anchor free的方法,同时应用了类似FPN的理念)
内容 R-CNN对于小目标,每个候选框分辨率低且缺少contexts,不易分类。

本文工作:
one-stage FCN应用于detector
不需要proposal,且可以end-to-end优化
可以检测小目标和 heavy occlusion
使用hard negative mining,整合landmark localization

DenseBox for Detection:
网络输出:multiple predicted bounding boxes and class confidence。
test输出:output a m/4 × n/4 feature map with 5 channels。 每一个像素代表一个bounding box+scores,最后会经过nms Ground Truth Generation
1、单一尺度图片进行训练,多尺度测试。
2、不采用全图训练,大量背景浪费计算资源,crop出有人脸和足够背景的patches。
3、输入图片:crop and resize 240*240,face在中间位置,且有50像素的高度。
4、输出的ground truth经过4倍下采样得到60x60x5的map,
第一个channel,positive labeld区域位于边界框的中心。半径位与bounding box中心,大小与box成比例(文中设置系数是box size的0.3),
剩余四个channel代表该位置与最近gt box左上角及右下角的距离。
5、patch有多个目标,将位于patch中心(0.8至1.25)区域的目标记为正样本,1channel像素值为1,其余为负样本,1channel像素值为0。 Model Design:
concat conv3-4(感受野48*48texture,与人脸尺度相似) and conv4-4(感受野更大context,concat时经过upsample) Multi-Task Training:
1、ImageNet pre-trained VGG 19初始化前12层(conv1-1 to conv4-4),其余层xavier initialization。
2、分类损失函数:L2损失。 3、回归损失函数:预测偏移与真实偏移间的L2损失。 Balance Sampling
为保证正负样本均衡,使用binary mask去决定每一个输出像素是否参与训练。
1、Ignoring Gray Zone
忽略区域损失权重为0。在输出坐标空间中,每一个非正像素,半径2像素内存在任意正像素,ignore flag为1。
2、Hard Negative Mining
forward阶段按分类损失降序排列,top1%的为hard-negative。在实验中,正负样本比例1:1,negative samples一半来自hard-negative,剩余的从非hard-negative中随机采样。
3、Loss with Mask 4、Other Implementation Details
将输入图片随机裁剪resize到相同大小,即"random patches","positive patch"与"random patch"比例为1:1,为了提升鲁棒性,每个patch进行jitter操作,left-right flip、translation shift(25个像素),尺寸变形([0.8,1.25]),batchsize=10,global learning rate开始为0.001,每100K迭代,学习率衰减10倍。momentum为0.9,权重衰减为0.0005。

Refine with Landmark Localization
增加了一个分支用于landmark定位,融合landmark heatmaps及目标score maps对检测结果进行refine。landmark分支有N个landmarks会输出N个maps,每个像素值代表该位置为landmark的score,损失函数为预测值与真实值的L2损失。使用negative mining及ignore region。
分类score map及landmark localization maps作为输入的refine分支,输出refine的检测结果。 Comparison:
1、overfeat:首次训练CNN同时进行分类和定位。测试时应用了FCN,是一种等效且有效的滑动窗口检测方法。但在训练过程中分类和定位disjoints,需要复杂的后处理。本文方法与OverFeat非常相似,但是是一个多任务联合学习的end-to-end检测网络。
2、Deep Dense Face Detector (DDFD):一种基于CNN的人脸检测系统。由于R-CNN中的proposals生成漏掉一些人脸region,因此它在人脸检测任务上性能优于R-CNN。但它分离了分类和回归两个阶段,不是一个end-to-end框架。本文方法可以直接优化检测,并且可以容易的通过合并landmark提升结果。
3、Faster R-CNN:使用region proposals。PRN与本文方法有许多相似。而PRN需要定义anchor,本文不需要。RPN在multi-scale objects上训练,本文在一个尺度上训练并增加 jitter-augmentation,因此本文方法需要在多个尺度上evaluate feature。
4、MultiBox:CNN生成proposals,不是selective search。DenseBox和MultiBox都是预测图中bounding box,但预测方式不同。MultiBox生成了800个non-translation-invariant anchors,DenseBox则输出translation-invariant bounding boxes(类似RPN),下采样因子为4时,DenseBox每四个像素生成一个bounding box。
5、YOLO:unified object detection pipeline。DenseBox和YOLO都可以end-to-end训练,但模型在输出层上设计不同。YOLO输入为448×448,输出7×7的grid cell,每幅图只有49个bounding boxes。DenseBox使用up-sampling来保持relative high-resolution输出,下采样比例因子为4。网络能检测非常小的object和高度overlapped object,这是YOLO无法处理的。
实验 MALF Detection Task(Multi-Attribute Labelled Faces):
1、Training and Testing: DenseBoxEnsemble is the result of ensembling 10 DenseBox with landmarks from different batch iterations.

KITTI Car Detection Task:
思考 The key problem of DenseBox is the speed. The original DenseBox presented in this paper needs several seconds to process one image
上一篇 下一篇

猜你喜欢

热点阅读