Abstract
首先论文在引言部分提出,传统的DETR在训练过程中,每一个参考点要和其它所有的参考点进行计算关系,这样训练导致模型训练很慢。而该文章核心的方式就是对于一个参考点,只计算其附近几个关键参考点的关系。这样的方式得到了缩短10倍训练速度的条件下还能有更好的性能,特别是对于小物体的识别。
Introduction
首先之前的目标检测工具都是用锚框,后期用NMS(非极大值抑制)方法进行处理,而DETR解决了这一点,它先用了一个CNN进行处理,再连接Transformer。
为啥用CNN呢?对此我的理解是:
比如说我们的输入数据是640*640,如果直接给Transformer来做数据量太大了,所以需要CNN先提取特征图,得到一个较小的输出,再给Transformer。
文章提出了DETR的两个缺点,这部分引言也提到了:
1.模型收敛慢,在COCO数据集上一般要500个epoch才能收敛。
2.模型检测小物体能力较低,目前对小物体检测一般需要高分辨率的输入图像,然而DETR是对每一个像素点计算它和其他所有像素点的关系,复杂度和输入像素点数目的平方有关。并且模型初始化的时候对所有像素点采用相同大小的注意力权重,这就导致需要很长的迭代时间。因此DETR不能接受高分辨率图像,因为需要内存和计算复杂度太大。
文章提出了一种可变形注意力模块,只关注一小部分采样点位置,处理多尺度特征的对齐问题中没有使用FPN而是设计了一种新的方式。
METHOD
- Deformable Attention Module
首先给出一个特征序列,(c为每一个点对应的特征维度)让q索引一个元素特征为zq的元素,还有一个2d的类似坐标的pq来找到对应位置。
M代表多头注意力机制的头,最外层,里面是k代表采样点的遍历,∆pmqk、Amqk分别为第m个注意头中第k个采样点的采样偏移量和注意权值。计算之后可能是小数,运用一个双线性插值。偏移量和注意力都是通过全连接层得到的
- Multi-scale Deformable Attention Module.
多尺度注意力机制下的可变形注意力模块。
在这里与上一点的区别就是在不同尺度下遍历(L从1到L)