刘宇晶
摘 要: 基于Transformer的目标检测方法因其突出的性能引起了众多研究者的关注。文章从作为Neck的Transformer 和作为Backbone的Transformer两类框架在目标检测领域的研究状况、几种常见模型的基本原理以及在COCO 2017 ValSet上的对比实验三个方面做出了综述。
关键词: 目标检测; Transformer; 计算机视觉; 深度学习
中图分类号:TP391 文献标识码:A 文章编号:1006-8228(2023)05-06-05
Summary of research on target detection based on Transformer
Liu Yujing
(Information Science and Engineering, Shanxi Agricultural University, Taigu, Shanxi 030801, China)
Abstract: Transformer based target detection methods have attracted the attention of many researchers due to their outstanding performance. In this paper, the research status of Transformer as Neck and Transformer as Backbone in the field of target detection, the basic principles of several common models, and the comparative experiments on COCO 2017 ValSet are summarized.
Key words: target detection; Transformer; computer vision; deep learning
0 引言
在基于深度學习的目标检测研究中,主要有两种算法:单阶段检测算法和双阶段检测算法。随着研究者将Transformer结构从自然语言处理领域引入到计算机视觉领域,Transformer 结构打破了 CNN有限的感受野限制,凭借与Faster R-CNN相比没有proposal、与YOLO相比没有Anchor、与CenterNet相比没有center也没有NMS后处理步骤、能够直接预测检测框和类别的优点,引起了广泛的关注[1]。
基于Transformer的图像检测的总体框架如图1所示。输入的图像首先要经过CNN骨干网络完成特征提取工作,通过Transformer对其进行编码和解码,再通过前馈网络对图像中的对象进行预测并输出类别边界框。当前基于深度学习的目标检测算法多数主要由Backbone(主干网络)、Neck和Head三部分组成。Backbone作为特征提取网络,主要作用是为后面网络提取图像中的特征信息,常用的Backbone主要有:VGG(16,19)、ResNet(18,50,100)等。Neck部分的主要作用是将Backbone提取的特征信息融合和增强,然后提供给后续的Head进行检测,常用的Neck主要有:SPP、ASPP、RFB等。Head利用之前提取的特征来预测目标的位置和类别。最近,有大量学者将Transformer移植到目标检测工作中并取得了非常理想的研究结果。本文主要介绍几种常见的作为Neck的Transformer 和作为Backbone的Transformer二维目标检测方法。
1 作为Neck的Transformer目标检测方法
Neck作为Backbone和Head的中间部分,是由一系列混合和组合图像特征的网络层组成,可以从加速收敛或提高性能的角度更好的利用Backbone提取的特征解决检测问题。
1.1 DETR
DEtection Transformer(DETR)是一种基于Transformer的端到端进行目标检测的方法,也是最早将Transformer带入到目标检测领域并取得较好性能的目标检测框架[2]。它主要由CNN主干网、Transformer编解码结构和前馈网络(FFN)组成。首先,采用CNN主干网络提取输入图像的特征。然后,将提取的特征转换为一维特征映射,并发送给Transformer编码器。利用多头自注意机制和编码器-解码器注意机制,对尺寸均为d的N个嵌入块进行了转换。最后,前馈网络(FFN)完成检测目标类型和边界框的预测[3]。DETR的检测流程如图2所示。
在COCO数据集上,DETR在AP值上表现效果与Faster R-CNN几乎相当,但结构却得到了极大简化,DETR还可延伸到全景分割等领域,经实验验证都取得了良好的收益。但是,DETR在训练、优化以及小目标检测方面的性能还有待提高。针对这些问题,2020年10月Zhu等人在经过大量研究后提出一种新的方法:Deformable DETR,该方法能够改进DETR存在的问题[4]。
1.2 Deformable DETR
DETR的缺陷主要有:训练收敛较慢、计算复杂度高、训练时间较长以及小目标检测的性能较差。针对这些问题,研究者提出Deformable DETR这一新的模型,在Deformable DETR中,最明显的特点是使用(多尺度)可变形注意模块取代了原有Transformer的注意力模块。可变形注意模块通常只是关注特征图上一小部分关键的采样点。该模块无需FPN的帮助就可以自然地扩展到聚合多尺度特征。Deformable DETR比DETR(特别是在小物体上)可以获得更好的性能,训练epoch减少到十分之一,同时小目标检测AP值也提升3.9%,而与 Faster RCNN相比,大目标检测AP值提高4.6%[4]。尽管该模型在训练速度方面和小目标检测上得到了比较明显的改进,但在遮挡目标的检测上仍然需要进一步研究提高检测效果。
1.3 ATC/TSP
Zheng等人经研究提出了自适应聚类变换器ATC,该变换器的特点主要是:通过局部敏感哈希(LSH)方法聚类查询特征,使注意力输出广播到可选原型表示的查询和ATC作为取代预先训练的DETR模型的自我注意模块,不再需要任何再训练。所以能够显著降低预训练DETR的计算成本,同时还能保证一定的精度[5]。
Sun等人通过测试每个Transformer层中注意力图的稀疏性,发现交叉注意收敛速度慢是导致训练过程较长的主要原因,在此基础上提出仅采用编码器的TSP-FCOS和TSP-RCNN[6]。实验结果显示比原始DETR训练速度更快,准确性方面也优于DETR。
1.4 Conditional DETR
Conditional DETR将条件交叉注意机制用于快速DETR训练,可以缓解DETR收敛速度慢的情况[7]。它从解码器嵌入中学习条件空间查询,用于解码器的多头交叉注意。每个交叉注意头可以聚焦于包含不同区域的波段,有效缩小不同区域的空间范围,用于定位对象分类和帧回归,从而缓解对内容嵌入的依赖,简化训练。实验表明,在各种骨干网络(R50、R101、DC5-R50、DC5-R101)上的收敛速度约为DETR的6.7-10倍。
1.5 SMCA
为了加速DETR的收敛,SMCA将响应限制在初始估计边界框附近的较高位置,回归并感知DETR中的共同注意,是一种空间调制协同注意(SMCA)机制[8]。该机制通过用SMCA代替DETR中的共同注意机制来提高模型的收敛速度。算法在COCO数据集上经过实验证明能够实现45.6%的精确度。
1.6 UP-DETR
Dai等人提出一种针对DETR的无监督预训练转换器(UP-DETR),基本思想是在图像中随机选择query patch对Transformer进行预训练,用来检测和预测给定图像中query patch的边界框,该算法主要解决多任务学习和多查询定位两个问题,经该团队在COCO等数据集上实验验证,在收敛速度和精度上UP-DETR都有效提高了DETR的性能[9]。
1.7 YOLOS
YOLOS是一系列基于朴素ViT的应用比较广泛的目标检测模型,将ViT中的图像分类损失替换为bipartite matching loss,可以避免将ViT的输出序列重新解释为2D特征图,并防止在标签分配期间手动注入启发式和对象2D空间结构的先验知识[10]。YOLOS显著特点 是能够很快的适应不同的Transformer结构,进行任意尺寸的目标检测任务,而不要求精确的空间结构或几何结构。在COCO数据集上进行实验,发现在中等大小数据集ImageNet上进行预训练的YOLOS能够取得比较高的性能。
2 作为Backbone的Transformer目标检测方法
2.1 PVT
Wang等提出了Pyramid Vision Transformer(PVT),该模型是一种用于密集预测无CNN的简单Backbone结构[11]。与纯Transformer模型的ViT相比,PVT通过将特征金字塔结构引入Transformer结构完成如目标检测、目标分割等下游密集预测任务。总的来说,PVT的优势表现在通过对图像密集预测而获得高输出分辨率以及使用一个逐渐缩小的金字塔来达到减少计算量的效果。经过大量实验验证在COCO数据集上PVT作为通用的无卷积backbone比大部分的CNN backbone都有更好的效果[12]。
2.2 Swin transformer
Swin transformer是微软2021年3月月25日公布的一篇利用Transformer架構处理计算机视觉任务的论文,文章提出可以把Transformer作为计算机视觉任务的通用backbone。文章在图像分割、目标检测等各个领域都引起了关注。Swin transformer的总体结构如图3所示[13]。作者提出使用移动窗口的方式来减少序列长度,即hierarchical Transformer,将特征图划分成了多个不相交的区域(Window),并且Multi-Head Self-Attention只在每个窗口(Window)内进行。这使得计算效率更高(只在窗口内做注意力计算,而不是计算全局,计算复杂度随图片大小线性增长,而不是平方增长),同时这种窗口的移动也使得相邻的窗口之间有了交互,上下层之间就具有了cross-window connection,从而变相地达到了一种全局建模的能力[13]。
Swin Transformer迅速引起学者追捧的主要原因是使用了基于 Shifted Window的自注意力,它在有效减少计算量的同时,还能够保持良好的效果,因此对很多视觉的任务,尤其是对下游密集预测型的任务是非常有帮助的。但是如果Shifted Window操作不能用到NLP领域里,优势就会减弱,所以把Shifted Windows应用到 NLP里是该方向未来的研究工作。
3 对比实验
本文统计了一些Transformer在COCO 2017ValSet上的目标检测模型、骨干网络、参数、计算和性能,作为Neck的Transformer目标检测模型实验对比数据如表1所示。作为Backbone的Transformer目标检测模型实验对比数据如表2所示。这部分旨在为研究目标检测的研究人员提供参考。
4 结论
Transformer结构中的全局接收域解决了基于CNN方法的接收域有限的难题,所以目标检测中引入Transformer可以节省目标检测中NMS、区域建议等大量的人工操作过程。作为Neck的Transformer目标检测方法,DETR是开启了将Transformer应用于目标检测的研究工作。YOLOS是一系列尽可能少的修改和归纳偏差的基于ViT的目标检测模型。此外,DETR还有许多相关变体。针对DETR收敛速度慢的问题,研究人员提出了Deformable DETR以及TSP-FCOS和TSP-RCNN。Deformable DETR采用可变形卷积,有效地解决了稀疏空间定位中DETR收敛速度慢和小目标检测精度低的问题。ACT主要缓解DETR中注意图的冗余,以及随着编码器的深入,特征冗余的问题。作为Backbone的Transformer目标检测方法,PVT提出了一个用于密集预测任务的、无CNN的简单backbone;Swin Transformer使用了基于Shifted Window的自注意力,在保证预测效果的同时有效地减少了计算量。虽然有众多的研究者在进行Transformer Backbone工作,但针对密集预测任务研究仍然很少,这可能成为一个未来Transformer Backbone主要的研究趋势之一。
參考文献(References):
[1] 祝星馗,蒋球伟.基于CNN与Transformer的无人机图像目标检测研究[J].武汉理工大学学报:信息与管理工程版,2022(2):44
[2] N.Carion,F.Massa,G.Synnaeve,N.Usunier,A.Kirillov,andS.
Zagoruyko[C]//End-to-endobjectdetection with transformers.Glasgow: in European Conference on Computer Vision. Springer,2020:213-229(in UK)
[3] 尹航,范文婷.基于Transformer目标检测研究综述[J].现代信息科技,2021,5(7):14-17
[4] X.Zhu,W.Su,L.Lu, B.Li,X.Wang,and J. Dai.
Deformabledetr: Deformable transformers for end-to-end object detection[J].arXivpreprint arXiv:2010.04159,2020
[5] M. Zheng, P. Gao, R. Zhang, K. Li, X. Wang, H. Li, and H.
Dong.End-to-end object detection with adaptive clusteringtransformer[J].arXivpreprint arXiv:2011.09315,2020
[6] Z. Sun, S. Cao, Y. Yang, and K. M. Kitani[C]//Rethinking
transformerbased set prediction for object detection.Montreal:in Proceedings of theIEEE/CVF International Conference on Computer Vision, 2021:3611-3620(in Canada)
[7] D. Meng, X. Chen, Z. Fan, G. Zeng, H. Li, Y. Yuan, L.
Sun,and J. Wang[C]//Conditional detr for fast training convergence.Montreal:inProceedings of the IEEE/CVF International Conference on ComputerVision, 2021:3651-3660(in Canada)
[8] P. Gao, M. Zheng, X. Wang, J. Dai, and H. Li.Fast
convergence of detr with spatially modulated co-attention[J].arXiv preprintarXiv:2101.07448,2021
[9] Z. Dai, B. Cai, Y. Lin, and J. Chen[C]//Up-detr:
Unsupervised pretraining for object detection with transformers.Montreal:in Proceedings of theIEEE/CVF Conference on Computer Vision and Pattern Recognition,2021:1601-1610(in Canada)
[10] Y. Fang, B. Liao, X. Wang, J. Fang, J. Qi, R. Wu, J. Niu,
and W. Liu.You only look at one sequence: Rethinking transformer in visionthrough object detection[J].arXiv preprint arXiv:2106.00666, 2021
[11] W. Wang, E. Xie,X. Li, DP Fan, L. Shao.Pyramid Vision
Transformer: A Versatile Backbone for Dense Prediction without Convolutions[J].arXiv:2102.12122,2021
[12] K. He,X. Zhang, et al. Deep residual learning for image
recognition.Las Vegas: In CVPR,2016:770-778(in USA)
[13] Z. Liu et al. Swin transformer: Hierarchical vision
transformer usingshifted windows.Montreal: In ICCV,2021:10012-10022(in Canada)