SMCA:加快 DETR 收敛

技术讨论 hello_uncle ⋅ 于 4周前 ⋅ 114 阅读

作者丨Smarter
来源丨Smarter
编辑丨极市平台
先简单回顾一下之前加快DETR收敛的检测器是怎么做的,Deformable DETR、TSP,另外还有一篇比较特殊的Sparse R-CNN,后面会聊一下SMCA和Sparse R-CNN之间的联系。Deformable DETR通过采样的稀疏性来加快DETR的收敛速度,详细的可以看之前的文章,TSP通过去掉decoder,将FCOS/R-CNN和DETR组合,来加快DETR的收敛速度,而Sparse R-CNN虽然结构上跟DETR没有关系,但是思想上是通过将粗粒度的目标区域扣出来来加快收敛速度。SMCA提出通过动态预测一个类似于2D的空间高斯weight map,来跟co-attention feature maps相乘来达到加快收敛速度的目的。

SMCA

006C3FgEgy1gn3aq32qo7j31280nwtfhDETR的模型设计可以看之前的文章(计算机视觉"新"范式: Transformer),这里主要看一下Spatially Modulated Co-Attention(SMCA)部分。

Spatially Modulated Co-Attention

原来DETR的co-attention部分,将query和key计算相关性,然后和value相乘;而SMCA引入了空间先验,先预测目标的中心点和尺度,然后通过公式生成类高斯的weight map,然后将类高斯weight map和query/key的相关性map相乘得到modulated co-attention。具体的计算公式看paper。multi-head和multi-scale刷点用的,比较常规,这里主要看一下可视化。

可视化006C3FgEgy1gn3aqh2or3j311o0esn0c从可视化图片可以看出,DETR需要关注大量不太重要的区域,导致学出来的特征不够有代表性,学习难度增大,而SMCA引入了空间先验和多尺度后,不同尺度可以关注到不同尺度的特征,并且学出来的特征更加干净。

Sparse R-CNN

006C3FgEgy1gn3aqtaxesj30ww0jkdi9虽然Sparse R-CNN跳出了DETR的结构,但是思想上是一致的。通过Dynamic Conv(类似co-attention)的方式,从proposal features(和DETR中的object queries相似)中解码出目标。而Sparse R-CNN通过增加一个可学习的proposal boxes来获得粗粒度的目标位置,然后通过ROIAlign将粗粒度的目标扣出来,通过Dynamic Head逐级refine。

可视化006C3FgEgy1gn3ar3i4gcj311w0mwao8从refine的不同stage可以看出,Sparse R-CNN将扣出来的目标区域逐渐调整到了最合适的目标上。

SMCA跟Sparse R-CNN的联系

某种意义上来讲,SMCA和Sparse R-CNN的关系类似于CNN范式中FCOS和Faster-RCNN的关系,一个直接在global的feature上加先验,来达到快速收敛的目的,一个通过ROIAilgn的方式将目标feature扣出来来达到快速收敛的目的。本质上就是拿更好的目标位置先验,帮助定位目标,提取目标context的信息。现在又跟之前CNN时代一样,扣出来就是two-stage,不扣出来就是one-stage,历史是螺旋式上升的。

不管是CNN时代还是Transformer时代,对于目标检测这个task而言,我认为global信息是有用的,但是没有local信息性价比高,在local信息满足的情况下,global信息对于上限的提升也是有限的目标检测任务更趋近于object context的任务

Reference
[1] Fast Convergence of DETR with Spatially Modulated Co-Attention[2] Sparse R-CNN: End-to-End Object Detection with Learnable Proposals

大叔

成为第一个点赞的人吧 :bowtie:
回复数量: 0
暂无回复~
您需要登陆以后才能留下评论!