DETR基于标准的Transorfmer结构,性能能够媲美Faster RCNN,而论文整体思想十分简洁,希望能像Faster RCNN为后续的很多研究提供了大致的思路undefined
来源:晓飞的算法工程笔记 公众号
论文: End-to-End Object Detection with Transformers
之前也看过一些工作研究将self-attention应用到视觉任务中,比如Stand-Alone Self-Attention in Vision Models和On the Relationship between Self-Attention and Convolutional Layers,但这些方法大都只是得到与卷积类似的效果,还没有很出彩的表现,而DETR基于transformer颠覆了主流目标检测的做法,主要有三个亮点:
DETR的整体架构很简单,如图2所示,包含3个主要部分:CNN主干、encoder-decoder transformer和简单的前向网络(FFN)。
使用带ReLU激活的3层感知机以及线性映射层来解码得到最终的预测结果,感知机的隐藏层维度为$d$。FFN预测$N个$归一化的中心坐标、高度、宽度以及softmax后的类别得分,由于$N$一般大于目标个数,所以使用特殊的类别$\emptyset$来标记无预测目标,类似于背景类。需要注意,最后用于输出的FFN与encoder和decoder里的FFN是不一样的。
DETR输出固定的$N$个预测结果,最大的困难在于根据GT对预测结果进行评分,需要先找到预测结果和GT的对应关系。定义$y$为GT集合,大小为N,缺少的用$\emptyset$填充,$\hat{y}={ \hat{y}i}^N{i=1}$为预测结果,为了最好地匹配GT和预测结果,使用匈牙利算法(二部图匹配方法)找到能够最小化匹配损失的最优排列方法$\sigma$:
$\mathcal{L}{match} (y_i, \hat{y}{\sigma(i)})=-\Bbb{1}{{c_i \ne \emptyset}}\hat{p}{\sigma(i)}(ci)+1{{ci \ne \emptyset } } \mathcal{L{box}}(bi, \hat{b}{\sigma(i)})$为排序后GT-预测结果对的匹配损失,匹配损失考虑类别预测以及bbox的相似度。$yi=(c_i, b_i)$为GT,其中$c_i$为类别,$b_i\in 0, 1^4$为相对于图片大小的坐标向量(x, y, hetight, weight),$\hat{p}{\sigma(i)}(ci)$和$\hat{b}{\sigma(i)}$分别为预测的类别置信度和bbox。这里的匹配过程类似于目前检测算法中anchor和GT的匹配逻辑,而区别在于这里的预测结果和GT是一一对应的。
在找到最优排列方法$\hat{\sigma}$后,计算Hungarian loss:
在实现时,考虑分类不均衡,对$c_i=\emptyset$的分类项降权10倍。
与普通的目标检测方法预测bbox的差值不同,DETR直接预测bbox的坐标。虽然这个方法实现很简单,但计算损失时会受目标尺寸的影响,论文采用线性$\mathcal{l}1$损失和IoU损失来保证尺度不变,bbox损失$\mathcal{L}{box}(bi, \hat{b}{\sigma (i)})$为$\lambda{iou}\mathcal{L}{iou}(bi, \hat{b}{\sigma(i)})+\lambda{L1} || b_i - \hat{b}{\sigma(i)} ||_1$,bbox损失需要用正样本数进行归一化。
DETR性能超越了经典的Faster RCNN。
探究encoder层数对性能的影响
每层decoder输出进行预测的准确率,可以看到逐层递增。
位置embedding方式对性能的影响,这里的spatial pos对应图10的spatial positional encoding,而output pos则对应图10的Object queries。
损失函数对性能的影响。
DETR也可以在decoder的输出接一个mask head来进行全景分割任务,主要利用了DETR模型的特征提取能力。
与当前主流模型的全景分割性能对比。
DETR基于标准的Transorfmer结构,性能能够媲美Faster RCNN,而论文整体思想十分简洁,希望能像Faster RCNN为后续的很多研究提供了大致的思路。
如果本文对你有帮助,麻烦点个赞或在看呗~undefined更多内容请关注 微信公众号【晓飞的算法工程笔记】
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。