【引用格式】:Xu S, Gu J, Hua Y, et al. Dktnet: dual-key transformer network for small object detection[J]. Neurocomputing, 2023, 525: 29-41.
【网址】:https://cczuyiliu.github.io/pdf/DKTNet%20Dual-Key%20Transformer%20Network%20for%20small%20object%20detection.pdf
目录
一、研究背景及意义
二、解决方案
1 创新点
1.1 双键机制
1.2 通道注意力机制
1.3 卷积运算替代全连接层
2 网络架构
2.1 双键机制
2.2 卷积计算QKV
3 Loss损失
3.1 区域建议网络损失
3.2 RoI池化层损失
三、实验结果及结论
1 消融实验
2 结论
一、研究背景及意义
在计算机视觉领域,目标检测是一项核心任务,广泛应用于自动驾驶、智能监控、增强现实等实际场景。随着深度学习技术的快速发展,诸如Faster R-CNN、YOLO和SSD等目标检测方法取得了显著的进展。然而,小目标检测依然是一个极具挑战性的课题,特别是在复杂场景中,如遮挡、视角远近、背景相似等问题,导致传统的目标检测模型难以在低分辨率的小目标上取得良好的表现。
为了解决这些问题,文中提出了一种新的Transformer网络架构——DKTNet(双键Transformer网络),专门用于提升复杂场景下的小目标检测性能。通过双键策略和通道注意力机制,提高了模型对小目标的敏感程度,解决了传统检测方法中由于小目标分辨率低、特征模糊导致的漏检和错检问题;同时通过卷积操作取代传统Transformer中的全连接层,减低了模型的复杂度,使得模型高效运行,拥有更好的实用性和可拓展性,适合在资源有限的实际环境中部署。
二、解决方案
1 创新点
1.1 双键机制
提出了一种新的双键策略,通过同时沿着Query(Q)和Value(V)计算两个Keys(K1和K2),而不是传统的单键连接方法。这种双键整合方法提高了Q和V之间的关联性,使得特征提取更加精准。
1.2 通道注意力机制
采用通道注意力机制替代传统的空间注意力机制。该方法通过关注特征图中的重要通道,增强了对关键特征的关注,并抑制了不相关或混淆的特征。
1.3 卷积运算替代全连接层
引入了2D卷积和1D卷积运算,取代了传统Transformer中的全连接层,保持了局部上下文信息,同时降低了计算复杂度。
2 网络架构
文中提出了一种名为DKTNet(Dual-Key Transformer Network)的双键变压器网络,专为复杂背景中的小物体检测任务设计。该网络的核心思想是通过双键策略和通道注意力机制来增强特征提取的能力,从而提高小物体检测的精度和鲁棒性。
DKTNet以Faster R-CNN为基础,并结合了ResNet50和特征金字塔网络(FPN)作为主干网络来提取多尺度的特征图。然后,提出的双键变压器模块进一步对这些特征进行处理,以提升目标特征的辨识能力。具体地说,双键策略通过同时计算两条特征流的Key值,增强了Query(Q)和Value(V)之间的相关性。整个网络架构中还采用了卷积运算替代传统的全连接运算,以保持局部上下文信息,同时降低了计算复杂度。
2.1 双键机制
传统的Transformer通过计算一个Key来关联Query(Q)和Value(V),而DKTNet提出了双键机制,分别沿着Q和V流计算两个Keys(K1和K2),然后将这两个Keys进行整合,以提高Q和V之间的相关性。
双键机制通过结合不同的特征流,捕捉到更多维度的信息,增强特征表达能力,特别是针对小物体的特征细节,解决了复杂场景中小物体容易被背景干扰的问题。
不同于常见的空间注意力机制,DKTNet采用通道注意力机制来处理特征图。它通过识别并增强特征图中的重要通道,抑制那些混淆的通道。
在小物体检测中,重要特征通道的有效提取尤为重要,通道注意力机制帮助提高了对小物体特征的辨识度,使得网络能够更有效地关注到关键信息,忽略干扰。
2.2 卷积计算QKV
传统Transformer通常采用全连接层来处理Q、K和V,而DKTNet则使用了2D卷积来捕捉局部细节,随后使用1D卷积进一步简化计算。
2D卷积能够更好地保留图像特征的局部上下文信息,而1D卷积则大幅降低了网络的参数量和计算开销,同时保持较高的检测性能。该设计使得DKTNet在保证性能的前提下,提高了运算效率,适合资源受限的场景。
3 Loss损失
DKTNet网络的损失函数主要基于Faster R-CNN的设计,结合了区域建议网络(RPN)和ROI池化层(RoIAlign)的输出,最终使用了两种损失函数来优化网络的分类和回归任务。这两种损失分别是分类损失(Classification Loss)和边界框回归损失(Bounding Box Regression Loss)。总损失是区域建议网络损失、RoI池化层损失两个部分的加和,用于共同优化DKTNet的目标检测性能。
- LRPN是用于RPN(区域建议网络)的损失
- LRoI是用于目标检测和边界框调整的损失。
3.1 区域建议网络损失
RPN负责生成可能包含目标的候选区域,并初步调整目标的边界框。RPN损失包含两部分:
- 分类损失
用于衡量RPN生成的候选框是否属于目标区域,使用二元交叉熵损失(binary cross-entropy loss)来计算。公式如下:
- 是第i个候选框被预测为目标区域的概率
- 是真实标签
2.边界框回归损失
边界框损失Lreg用于回归预测的目标边界框与真实边界框之间的差异,使用平滑L1损失计算:
- 是RPN预测的边界框参数
- 是真实的边界框参数
最终,RPN损失定义为分类损失和回归损失的加权和:
3.2 RoI池化层损失
RoI池化层将来自RPN的候选区域进一步处理,用于分类和边界框回归。RoI损失同样包含分类损失(Classification Loss)和边界框回归损失(Bounding Box Regression Loss),公式如下:
- u:当前候选框对应的真实类别标签
- p:Softmax分类器输出属于类别u的概率
- :表示真实边界框位置
- v:表示预测的边界框位置
- λ:当[u ≥ 1]时,λ为1,否则为0
三、实验结果及结论
- 测试数据集:一般目标检测基准数据集PASCAL VOC 2007、安全帽佩戴数据集GDUT、SHW1和SHW2,均取自真实的建筑场景,并且大部分目标安全帽在图像中都占据较小区域。
- 硬件配置:Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz; NVIDIA TITAN-XP GPU(12GB显存)
- 训练配置:Batch Size为2,训练20轮;使用SGD优化器,动量值设置为0.9,用于加速梯度下降并抑制局部波动,权重衰减值为5 × 10^-4,用于防止过拟合并保持模型的鲁棒性;初始学习率设置为5 × 10^-3,每三轮衰减一次,衰减因子为0.33
- 评估指标:精确率、召回率、AP平均精度、大目标的mAP(大于96×96像素)、中等大小目标的mAP(32×32到96×96像素之间)和小目标的mAP(小于32×32像素)
与Faster-Rcnn相比,大型目标得到了4-14%的提升,中型目标得到了7-15%的提升,小型目标得到了14-25%的提升
文中提出的方法,基本都可以实现最优或者次优的精度
1 消融实验
STL是指Swin Transformer Layer,它是一种基于Swin Transformer的模块,能够通过滑动窗口的方式处理图像的局部信息,同时有效聚合全局上下文信息,更适合小目标检测。
目标检测基准数据集PASCAL VOC 2007实验
第二、三行对比,证明了双键结构提高了性能
第三、四行对比,第四行对特征图进行了转置,以计算通道维度而非空间维度的全局自我注意力,效果有了一定提升
Conv1D和Conv2D参数数和FLOPS分别为56.16M、45.39M和167.38G、285.18G
从第二列和第三列使用双键可以减少背景对检测目标的干扰,从而提高检测精度。
第三列和第四列可以看出,使用通道式注意力捕捉特征的效果明显优于空间式注意力。
第四、五和六列可以看出,卷积代替全连接可以使效果进一步提升
2 结论
文中提出的DKTNet(Dual-Key Transformer Network)的双键变压器网络,专门针对复杂背景中的小目标检测任务进行优化。通过引入双键机制、通道注意力机制,以及采用卷积替代全连接计算,DKTNet在多个数据集上展示了优越的检测性能,尤其在小目标检测中表现出色。
- 双键机制增强了特征流中Q和V的关联性,提高了特征提取能力,特别是在复杂背景下的小目标检测中表现出色。
- 通道注意力机制有效选择和增强了关键特征通道,抑制了干扰特征,使模型能够更精确地识别小物目标。
- 通过引入1D卷积,DKTNet降低了计算复杂度,在保持高精度的前提下提升了计算效率,适合在实际应用场景中部署。