赞
踩
及时获取最优质的CV内容
背景:
DeRPN: Taking a further step toward more general object detection是2019 AAAI的paper,作者来自于华南理工大学。
论文地址:
https://arxiv.org/pdf/1811.06700v1.pdfarxiv.org
代码地址:(之后会开源)
HCIILAB/DeRPNgithub.com
一、研究动机
目前主流的目标检测方法都会采用anchor,而anchor的设计会直接影响到检测结果的好坏。在两阶段方法中,RPN中的anchor都是以一组四维向量表示, ,并在此基础上去调整和学习region proposal。事实上,同时学习四维向量的目标框,相对而言比较困难,而且针对比较极端的情况或者数据集,很难进行匹配。该论文通过维度分解的方法,将四维向量的学习分解为两个独立的二维向量的学习,分别降低了各自学习的难度,最后再重新进行组合。同时论文在该机制上,还提出了新的损失函数以应对不平衡问题。
二、具体方法
整体框架如图一所示。
首先是对原有的RPN进行建模:
公式很好理解,x代表输入, 代表回归框的一支, 代表对框的分类(二分类,是否为目标框)的一支。
DeRPN则是将四维向量 分解成 和( )分别进行回归和分类,上述公式则转换为:
最后再进行合并计算总的回归框和置信度:
思想相对比较简单,不做赘述,重点是具体的几个实现问题:
1)anchor strings
实际上框的检测分解为了x方向线段和y方向线段的回归,假设线段的长度为l,则负责回归 长度范围内的线段,对于x和y方向分别设置{16,32,64,128,256,512,1024},则总共覆盖了 之间的长度,同时x方向和y方向各是7个anchor string,组合总共有49个anchor。
2)标签分配
在传统RPN方法中,可以直接通过IoU来判断,将真值框分配给anchor。在DeRPN,则需要通过线段的长度来分配:
注意公式是一个并集,所以有两种方式:
1)直接根据长度,最接近真值框长和宽对应的anchor长和宽会被分配会正例;
2)对于那些真值框正好处在两条anchor线段中间的情况,那么这两条anchor都会被作为正例。(例如真值框的长度为 附近,那么16和32都会被作为正例)。
除此以外,通过将将长宽进行组合,再通过IoU判断,如果IoU大于0.6,那么对应的长宽也会被作为正例。
3)分类和回归的子网络
具体结构就是3x3的卷积后分别接1x1的卷积进行分类和回归,见图一。
4)损失函数
由于不同长度的线段样本会极度不平衡(正常数据集中,极长和极短的线段会较少),所以会加入权重来处理不平衡机制。如公式中的 代表对应线段长度的数目,即为调整的权重。
5)组合机制
组合机制比较简单,两两组合,而置信度则采用两者的调和平均值:
(个人觉得这种做法会一个问题,对于两个目标重合的情况,例如长宽分别为(16,16)和(32,32)的两个目标,在组合的时候会出现四个高分框,(16,16),(16,32),(32,16)和(32,32)),可能需要通过后续的分类才能进行滤除。
三、实验结果:
从表1可以看到,从召回率看,DeRPN框的质量更高,在IoU为0.75的情况下,召回率提升了7个点以上。(这也可以理解,因为独立两个变量检测,回归可能更加容易。)
在COCO数据集上,提升了1个点左右,相对而言不是很大,同时25.5%的mAP也不是很高。(对比我们上一篇张凯:GA-RPN(Region Proposal by Guided Anchoring)论文阅读笔记 GA-RPN 39.8%的mAP)。
论文还做了其他数据集的实验。
四、总结分析
优点:
将维度分解的方法引入到目标检测中,并提出了一套切实可行的方法,简单而巧妙。
缺点:
1)方法上,如第三部分所述,对于目标重合的情况,会产生无关的高分框,影响后续的检测。
2)结果上,提升不少很大,在COCO数据集上也没有更加充分对比的实验;
欢迎关注Smarter,喜欢的可以双击点赞在看~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。