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 |