边界对于定位问题非常重要,BorderDet的核心思想BorderAlign奇妙又无效,将边界特色融入到指标定位预测中,而且可能简略地融入到各种指标检测算法中带来较大的性能晋升下。在开源实现中,对BorderAlign进行了高效CUDA实现,不会对耗时带来很大的影响,整个工作非常扎实
起源:晓飞的算法工程笔记 公众号
论文: BorderDet: Border Feature for Dense Object Detection
- 论文地址:https://arxiv.org/abs/2007.11056
- 论文代码:https://github.com/Megvii-BaseDetection/BorderDet
Introduction
目前大部分的point-based指标检测算法(SSD, RetinaNet, FCOS)应用特色图的single-point进行定位和分类,但single-point特色可能没有足够多的信息来表白残缺的实例以及实例的边界信息。很多钻研通过各种伎俩补充single-point的特色表达能力,这些办法尽管可能提取更多的特色,但可能带来不必要的计算以及会受背景的影响。最要害的,这些办法都没有间接利用边界特色,而边界对于定位是非常重要的。为此,论文提出新的特征提取操作BorderAlign,可间接利用边界特色优化本来的single-point特色,基于BorderAlign提出了SOTA指标检测算法BorderDet。
论文的次要奉献如下:
- 剖析dense object detector的特色表白,展现边界特色对补强single-point特色的重要性。
- 提出新的特征提取操作BorderAlign,通过边界特色来优化网络特色,并基于BorderAlign提出高性能指标检测算法BorderDet。
- 在COCO数据集上,将BAM模块集成到FCOS和FPN中别离晋升2.8AP和3.6AP,而集成到ResNext-101-DCN准确率为50.3AP,达到SOTA。
Our Approach
Motivation
论文以FCOS为baseline,退出第二阶段预测来比照多种特色加强办法的成果,最初发现仅用边界中心点的加强成果与region-based办法简直一样。从试验后果来看,能够得出以下论断:
- point-based特色表白不足残缺物体的显著特色,须要进行特色加强。
- 从残缺的boxes内提取特色是不必要的,且存在冗余。
- 高效的边界特色提取策略可能带来更好的性能。
Border Align
密集地从边界提取特色是很低效的,个别边界上的指标物体相干的点很少,大多为背景点。为此,论文提出BorderAlign特征提取操作,可能无效且自适应地榨取边界特色。
参考R-FCN的思维,BorderAlign提取$(4+1)C$维度的border-sensitive特色图作为输出,$4C$维度对应4条边,另外$C$维对应本来的single-point特色。假设特色图程序为(single point, left border, top border, right border和bottom border),计算输入特色图时,对点$(i, j)$对应的bbox的每条边平均取$N$个采样点,$N$默认设为10,采样点的值应用双线性插值计算,最初通过channel-wise max-pooling失去输入:
$(x_0, y_0, x_1, y_1)$为点$(i,j)$预测的bbox,这种办法可能自适应地从边界极点榨取边界特色。
论文对border-sensitive特色图中各channel的最大值进行了可视化,发现最大值散布根本合乎预设的作用。
Border Alignment Module
BAM模块封装了BorderAlign操作,先应用$1\times 1$卷积生成border-sensitive feature maps,而后联合初步bbox预测,通过BorderAlign输入Border加强后的特色图,再应用$1\times 1$卷积复原为模块输出维度。
BorderDet
BorderDet基于FCOS检测架构,次要在特色金字塔的预测head中退出BAM模块。首先预测初步bbox预测和初步分类预测,而后将初步bbox预测输出到BAM模块失去Border分类预测和Border bbox预测,预测跟原先一样应用$1\times 1$卷积,最初对立两种后果进行输入。
BorderRPN
BAM模块也能用于two-stage指标检测算法中,将本来第二阶段的region-based特征提取改为文中的BAM模块进行边界特色加强预测,另外将后面特征提取的卷积改为空洞卷积来晋升感触域。
Model Training and Inference
Target Assignment
BorderDet基于FCOS进行初步预测,在第二阶段将GT赋予每个IoU大于0.6的初步预测后果,回归指标定义为:
$\sigma$为方差,用于进步多任务学习的效率,默认为0.5。
Loss Function
BorderDet的损失函数定义为:
$\mathcal{L}^C_{cls}$和$\mathcal{L}^C_{reg}$为初步分类损失和初步定位损失,在实现时别离为focal loss和IoU loss,$\mathcal{L}^B_{cls}$和$\mathcal{L}^B_{reg}$则计算border预测后果与对应GT之间的分类损失和定位损失,仅解决正样本,在实现时别离为focal loss和$\mathcal{L}_1$ loss。
Inference
BorderDet在推理时对两种分类后果进行间接的相乘输入,而对于定位则应用border定位预测对初步定位的bbox进行公式2的反向转换,对所有的后果进行NMS输入,IoU阈值为0.6。
Experiments
对BAM模块以及BorderAlign参数进行比照试验。
比照其它特色加强办法,作者对BorderAlign进行高效的CUDA实现,速度很快。
间接将BorderDet联合到one-stage检测器和two-stage检测器中。
与支流的检测算法进行比照。
Conclustion
边界对于定位问题非常重要,BorderDet的核心思想BorderAlign奇妙又无效,将边界特色融入到指标定位预测中,而且可能简略地融入到各种指标检测算法中带来较大的性能晋升下。在开源实现中,对BorderAlign进行了高效CUDA实现,不会对耗时带来很大的影响,整个工作非常扎实。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】