ViT-YOLO

ViT-YOLO#

标题: ViT-YOLO: Transformer-Based YOLO for Object Detection

作者: Zixiao Zhang, Xiaoqiang Lu, Guojin Cao, Yuting Yang, Licheng Jiao, Fang Liu

机构: School of Artificial Intelligence, Xidian University, Xi’an, Shaanxi Province, China

摘要: 这篇论文提出了一种名为ViT-YOLO的目标检测方法,旨在解决无人机捕获图像中的目标检测问题。无人机图像具有显著的尺度变化、复杂的背景和灵活的视点,这些特点对基于传统卷积网络的通用目标检测器提出了巨大挑战。ViT-YOLO通过引入多头自注意力(MHSA)和双向特征金字塔网络(BiFPN)来增强全局上下文信息的捕获和多尺度特征的融合。此外,还采用了时间测试增强(TTA)和加权框融合(WBF)技术来提高准确性和鲁棒性。在VisDrone-DET 2021挑战赛中,ViT-YOLO取得了优异的成绩。

1. 工作内容与动机: 动机:提高无人机捕获图像的目标检测性能,解决尺度变化大、背景复杂和视点灵活带来的挑战。 工作:提出了ViT-YOLO,一个结合了Transformer和YOLO的混合检测器,通过MHSA-Darknet和BiFPN增强特征提取和多尺度特征融合。

2. 解决的问题: 无人机图像中的目标检测问题,特别是小目标的检测和类别混淆问题。

3. 新问题: 是的,这是一个新的问题解决方案,将Transformer架构应用于YOLO检测框架中,以处理无人机图像的特殊挑战。

4. 科学假设: ViT-YOLO能够通过其MHSA-Darknet和BiFPN组件,提高目标检测的准确性,尤其是在小目标和复杂场景中。

5. 相关研究:

  • 目标检测:YOLO系列、Faster R-CNN、RetinaNet等。

  • 视觉Transformer(ViT):首次将Transformer应用于图像识别。

  • 多尺度特征融合:特征金字塔网络(FPN)、PANet等。

  • 领域内值得关注的研究员包括YOLO系列的作者Joseph Redmon和Ali Farhadi,以及Transformer相关研究的作者Ashish Vaswani等。

6. 解决方案的关键:

  • MHSA-Darknet:将多头自注意力层嵌入到CSP-Darknet中,以捕获全局上下文信息。

  • BiFPN:一种有效的加权双向特征金字塔网络,用于跨尺度特征融合。

  • TTA和WBF:用于提高模型的准确性和鲁棒性。

7. 实验设计: 实验在VisDrone2019-Det基准数据集上进行,使用AP、AP50、AP75等指标进行评估。实验包括基线模型的性能评估、不同组件(MHSA-Darknet、BiFPN、TTA、WBF)对性能的影响分析。

8. 数据集与代码: 使用VisDrone2019-Det数据集进行定量评估。代码开源链接未在摘要中提及。

9. 实验结果: 实验结果支持ViT-YOLO在无人机图像目标检测中的有效性,特别是在小目标检测和类别混淆减少方面。ViT-YOLO在VisDrone-DET 2021挑战赛中取得了优异的成绩。

10. 论文贡献:

  • 提出了ViT-YOLO,一种新的无人机图像目标检测方法。

  • 引入了MHSA-Darknet和BiFPN,增强了特征提取和多尺度特征融合。

  • 在VisDrone-DET 2021挑战赛中取得了优异的成绩。

11. 下一步工作:

  • 进一步优化MHSA-Darknet和BiFPN,提高模型的检测性能和鲁棒性。

  • 探索ViT-YOLO在其他无人机图像相关任务中的应用,如实例分割、语义分割等。

  • 研究如何将ViT-YOLO扩展到实时目标检测系统中,以满足实际应用需求。


vit-yolo

这张图片展示了无人机视觉(UAV vision)面临的挑战,主要包括灵活的视角(flexible viewpoints)和尺度变化(scale variance)。图片分为两部分,每部分包含两张示例图片。

图片分析:

灵活的视角(flexible viewpoints)

  • 左上图:展示了一个从垂直俯视角度拍摄的篮球场景。无人机从上方直接拍摄,视角非常垂直。

  • 左下图:展示了一个从斜视角度拍摄的运动场景。无人机从一个较低的角度拍摄,视角更加平坦。

观察

  • 这两张图片展示了无人机可以从不同的角度拍摄同一场景,显示了无人机视角的灵活性。

  • 不同的视角会导致图像中物体的外观和比例发生变化,增加了图像处理和目标检测的难度。

尺度变化(scale variance)

  • 右上图:展示了一个从高空俯视角度拍摄的城市交通场景。车辆和行人看起来很小。

  • 右下图:展示了一个从较低角度拍摄的城市交通场景。车辆和行人看起来较大。

观察

  • 这两张图片展示了同一场景中物体的尺度变化,显示了无人机拍摄时的尺度变化问题。

  • 不同的高度和距离会导致图像中物体的大小发生显著变化,增加了目标检测和识别的复杂性。

结论:

  • 灵活的视角:无人机可以从不同的角度拍摄同一场景,导致图像中物体的外观和比例发生变化,增加了图像处理的难度。

  • 尺度变化:无人机拍摄时的高度和距离变化会导致图像中物体的大小发生显著变化,增加了目标检测和识别的复杂性。

备注:

  • 这张图片通过具体的示例展示了无人机视觉面临的两个主要挑战:灵活的视角和尺度变化。

  • 解决这些挑战对于提高无人机在复杂环境中的图像处理和目标检测能力至关重要。


vit-yolo-fig2

这张图展示了一个复杂的目标检测网络模型结构,分为三个主要部分:(a) MHSA-Darknet, (b) BiFPN, 和 (c) Detection head。以下是对每个部分的详细分析:

(a) MHSA-Darknet

  • 输入:128x128的输入图像。

  • 网络层次

    • Conv 32:初始卷积层,输出特征图大小为128x128,通道数为32。

    • CSPDark 64:CSPDarknet块,输出特征图大小为64x64,通道数为64。

    • CSPDark 128:CSPDarknet块,输出特征图大小为32x32,通道数为128。

    • CSPDark 256:CSPDarknet块,输出特征图大小为16x16,通道数为256。

    • CSPDark 512:CSPDarknet块,输出特征图大小为8x8,通道数为512。

    • MHSA-Dark 1024:多头自注意力(MHSA)和Darknet块,输出特征图大小为4x4,通道数为1024。

    • MHSA-Dark 1024:多头自注意力(MHSA)和Darknet块,输出特征图大小为2x2,通道数为1024。

    • MHSA-Dark 1024:多头自注意力(MHSA)和Darknet块,输出特征图大小为1x1,通道数为1024。

(b) BiFPN

  • 特征融合

    • CSPsp:CSP上采样块,用于特征图的上采样。

    • CSPp:CSP下采样块,用于特征图的下采样。

    • CSPup:CSP上采样块,用于特征图的上采样。

    • CSPdown:CSP下采样块,用于特征图的下采样。

  • 特征图传递

    • 从不同层次的特征图进行上采样和下采样,并通过加权融合(weight added)进行特征融合。

    • 最终输出五个不同尺度的特征图(P3, P4, P5, P6, P7)。

(c) Detection head

  • 检测头

    • Detection-P3:用于P3特征图的检测头。

    • Detection-P4:用于P4特征图的检测头。

    • Detection-P5:用于P5特征图的检测头。

    • Detection-P6:用于P6特征图的检测头。

    • Detection-P7:用于P7特征图的检测头。

  • YOLO检测头:每个检测头都使用YOLO检测头来预测不同尺度的边界框。

备注:

  • CSP:Cross Stage Partial Network,用于减少计算量和参数量,同时保持模型性能。

  • MHSA:Multi-Head Self-Attention,多头自注意力机制,用于捕捉全局特征。

  • BiFPN:Bidirectional Feature Pyramid Network,双向特征金字塔网络,用于特征融合和多尺度特征提取。

结论:

  • 该网络模型通过MHSA-Darknet提取多尺度特征,并通过BiFPN进行特征融合,最后通过YOLO检测头在不同尺度上进行目标检测。

  • 这种结构设计旨在提高目标检测的精度和效率,特别是在处理不同尺度和复杂背景的目标时。


vityolo-fig3

这个图表展示了两种网络块的结构:CSPDark Block和MHSA-Dark Block。以下是对每个块的详细分析:

CSPDark Block

  • 输入:1024维度的特征图(1024-d in)。

  • 结构

    1. 分支1

      • 1024维度的特征图通过一个1x1卷积层,输出512维度的特征图(1024, 1x1, 512)。

      • 512维度的特征图通过一个3x3卷积层,输出256维度的特征图(512, 3x3, 256)。

      • 256维度的特征图通过一个1x1卷积层,输出512维度的特征图(256, 1x1, 512)。

    2. 分支2

      • 1024维度的特征图通过一个1x1卷积层,输出512维度的特征图(1024, 1x1, 512)。

    3. 融合

      • 两个分支的输出特征图(两个512维度的特征图)进行拼接(Concat),得到1024维度的特征图(512, Concat, 1024)。

  • 输出:1024维度的特征图(1024-d out)。

MHSA-Dark Block

  • 输入:1024维度的特征图(1024-d in)。

  • 结构

    1. 分支1

      • 1024维度的特征图通过一个1x1卷积层,输出512维度的特征图(1024, 1x1, 512)。

      • 512维度的特征图通过一个多头自注意力层(MHSA),输出512维度的特征图(512, MHSA, 512)。

    2. 分支2

      • 1024维度的特征图通过一个1x1卷积层,输出512维度的特征图(1024, 1x1, 512)。

    3. 融合

      • 两个分支的输出特征图(两个512维度的特征图)进行拼接(Concat),得到1024维度的特征图(512, Concat, 1024)。

  • 输出:1024维度的特征图(1024-d out)。

主要区别

  • CSPDark Block:使用CSP(Cross Stage Partial)结构,通过卷积层进行特征提取和融合。

  • MHSA-Dark Block:在P7层使用多头自注意力(MHSA)替换CSP瓶颈层,通过自注意力机制进行特征提取和融合。

结论

  • CSPDark Block:通过卷积操作进行特征提取和融合,适用于一般的特征提取任务。

  • MHSA-Dark Block:通过多头自注意力机制进行特征提取和融合,适用于需要捕捉全局特征的任务。

  • 这两种结构的设计目的是在不同的任务和场景中提高特征提取的效率和效果。


vityolo-fig4

这个图表展示了多头自注意力(Multi-Head Self-Attention, MHSA)层的结构,该层用于MHSA-Dark块中。以下是对该结构的详细分析:

结构分析

输入

  • X:输入特征图,尺寸为 (H \times W \times d)。

位置编码(Position Encoding)

  • 位置编码:输入特征图 (X) 通过一个1x1卷积层((w_k: 1 \times 1)),生成位置编码特征图,尺寸为 (H \times W \times d)。

查询、键和值(Query, Key, Value)

  • 查询(q):输入特征图 (X) 通过一个1x1卷积层((w_q: 1 \times 1)),生成查询特征图 (q),尺寸为 (H \times W \times d)。

  • 键(k):输入特征图 (X) 通过一个1x1卷积层((w_k: 1 \times 1)),生成键特征图 (k),尺寸为 (H \times W \times d)。

  • 值(v):输入特征图 (X) 通过一个1x1卷积层((w_v: 1 \times 1)),生成值特征图 (v),尺寸为 (H \times W \times d)。

自注意力机制(Self-Attention Mechanism)

  • 注意力得分(Attention Scores):通过计算查询 (q) 和键 (k) 的点积((qk^T)),得到注意力得分矩阵,尺寸为 (H \times W \times H \times W)。

  • Softmax:对注意力得分矩阵进行Softmax操作,得到归一化的注意力权重矩阵。

  • 加权求和:将归一化的注意力权重矩阵与值特征图 (v) 进行矩阵乘法,得到加权求和值特征图,尺寸为 (H \times W \times d)。

输出

  • Z:加权求和值特征图与位置编码特征图进行逐元素相加((\oplus)),得到最终的输出特征图 (Z),尺寸为 (H \times W \times d)。

备注

  • 多头自注意力:图中仅展示了单头自注意力,为简化图示。实际使用中,通常会有多个头(例如4个头),每个头独立计算注意力,然后将结果拼接在一起。

  • 1x1卷积:用于线性变换,生成查询、键和值特征图。

  • 位置编码:通过线性层生成,用于保留位置信息。

结论

  • 多头自注意力机制:通过查询、键和值的点积计算注意力得分,并通过Softmax归一化后加权求和,捕捉全局特征。

  • 位置编码:保留输入特征图的位置信息,增强模型的空间感知能力。

  • 输出特征图:结合了全局特征和位置信息,增强了特征表达能力。

这种结构设计旨在提高模型对全局特征的捕捉能力,特别适用于需要捕捉长距离依赖关系的任务。


vityolo-fig5

这张图展示了两种特征网络设计:PANet和BiFPN。以下是对每个网络结构的详细分析及其输入输出:

(a) PANet 结构分析

  • 自顶向下路径(Top-Down Pathway)

    • 从高层特征图(P7)到低层特征图(P3),通过逐层下采样(红色箭头)。

    • 每一层的特征图都与上一层的特征图进行融合,形成新的特征图。

  • 自底向上路径(Bottom-Up Pathway)

    • 从低层特征图(P3)到高层特征图(P7),通过逐层上采样(蓝色箭头)。

    • 每一层的特征图都与下一层的特征图进行融合,形成新的特征图。

输入输出

  • 输入:多尺度特征图(P3, P4, P5, P6, P7),这些特征图通常来自主干网络(如ResNet或Darknet)。

  • 输出:融合后的多尺度特征图(P3, P4, P5, P6, P7),这些特征图包含了自顶向下和自底向上的信息。

(b) BiFPN 结构分析

  • 双向特征金字塔网络(Bidirectional Feature Pyramid Network, BiFPN)

    • 自顶向下路径(Top-Down Pathway)

      • 从高层特征图(P7)到低层特征图(P3),通过逐层下采样(红色箭头)。

      • 每一层的特征图都与上一层的特征图进行融合,形成新的特征图。

    • 自底向上路径(Bottom-Up Pathway)

      • 从低层特征图(P3)到高层特征图(P7),通过逐层上采样(蓝色箭头)。

      • 每一层的特征图都与下一层的特征图进行融合,形成新的特征图。

    • 跨尺度连接(Cross-Scale Connections)

      • 通过额外的连接(紫色箭头),在不同尺度的特征图之间进行信息传递和融合,进一步增强特征表达能力。

输入输出

  • 输入:多尺度特征图(P3, P4, P5, P6, P7),这些特征图通常来自主干网络(如ResNet或Darknet)。

  • 输出:融合后的多尺度特征图(P3, P4, P5, P6, P7),这些特征图包含了自顶向下、自底向上和跨尺度的信息。

主要区别

  • PANet:在FPN(Feature Pyramid Network)的基础上增加了自底向上的路径,增强了特征图的多尺度信息融合。

  • BiFPN:在PANet的基础上,进一步优化了跨尺度连接,通过额外的连接在不同尺度的特征图之间进行信息传递和融合,进一步增强特征表达能力。

结论

  • PANet:通过自顶向下和自底向上的路径,增强了特征图的多尺度信息融合,适用于需要捕捉多尺度特征的任务。

  • BiFPN:在PANet的基础上,通过额外的跨尺度连接,进一步增强了特征图的多尺度信息融合和表达能力,适用于需要更强特征表达能力的任务。

这两种结构设计旨在提高特征图的多尺度信息融合能力,从而提高目标检测和其他计算机视觉任务的性能。


vityolo-fig6

这张图片展示了YOLOv4-P7和YOLOv4-P7(MHSA)在Visdrone数据集上的检测结果对比。以下是对这两种模型检测结果的详细分析:

图像分析

YOLOv4-P7

  • 检测结果

    • 图像中标注了多个目标,包括车辆、行人等。

    • 在放大区域(圆圈内),可以看到模型对目标的检测和分类。

    • 目标检测框的数量和位置显示了模型对目标的识别能力。

YOLOv4-P7(MHSA)

  • 检测结果

    • 图像中同样标注了多个目标,包括车辆、行人等。

    • 在放大区域(圆圈内),可以看到模型对目标的检测和分类。

    • 目标检测框的数量和位置显示了模型对目标的识别能力。

    • 与YOLOv4-P7相比,YOLOv4-P7(MHSA)在一些细节上表现更好,例如更准确地识别了摩托车上的人,而不是将其错误分类为行人。

主要区别

  • 精确定位:YOLOv4-P7(MHSA)在目标的精确定位上表现更好,特别是在小目标和复杂场景中。

  • 分类准确性:YOLOv4-P7(MHSA)在目标分类上更准确,例如更好地识别了摩托车上的人,而不是将其错误分类为行人。

  • 细节处理:YOLOv4-P7(MHSA)在处理细节上表现更好,能够更好地检测和分类小目标。

结论

  • YOLOv4-P7:在目标检测和分类上表现良好,但在一些细节和小目标的处理上可能存在不足。

  • YOLOv4-P7(MHSA):通过引入多头自注意力机制(MHSA),在目标的精确定位和分类上表现更好,特别是在小目标和复杂场景中。

总结

  • 性能提升:YOLOv4-P7(MHSA)通过引入MHSA机制,提升了模型在目标检测和分类上的性能,特别是在处理小目标和复杂场景时表现更优。

  • 应用场景:这种改进使得YOLOv4-P7(MHSA)更适用于需要高精度目标检测和分类的应用场景,如自动驾驶、监控等。

这张图片通过对比展示了两种模型在实际应用中的性能差异,突出了YOLOv4-P7(MHSA)在精确定位和分类上的优势。