利用深度学习在热图像中实现无人机目标检测
论文题目: Object Detection in Thermal Images Using Deep Learning for Unmanned Aerial Vehicles
利用深度学习在热图像中实现无人机目标检测
摘要
这项研究提出了一种神经网络模型,能够识别无人驾驶飞行器采集的热图像中的微小物体。模型由三部分组成:骨干、颈部和预测头。骨干基于 YOLOv5 的结构开发,并在末端使用了一个transformer编码器。颈部包括一个 BI-FPN 块,结合使用滑动窗口和transformer,以增加输入预测头的信息量。预测头通过使用 Sigmoid 函数评估特征图来进行检测。带有注意力的transformers和滑动窗口的使用提高了识别准确率,同时将模型的参数数量和计算要求控制在嵌入式系统的合理范围内。在公共数据集 VEDAI 和收集的数据集上进行的实验表明,提出的模型比最先进的方法(如 ResNet、Faster RCNN、ComNet、ViT、YOLOv5、SMPNet 和 DPNetV3)具有更高的准确性。在嵌入式计算机 Jetson AGX 上进行的实验表明,提出的模型实现了实时计算速度和超过 90% 的稳定性。
关键词:深度学习、热图像、无人驾驶飞行器
1 引言
无人驾驶飞行器(Unmanned aerial vehicles, UAV)正被用于执行搜救、监视和军事行动等专门任务。为执行这些任务,无人飞行器配备了图像传感器和机载处理单元,用于收集数据并进行分析。分析通常需要对物体进行识别和分类,然后才能进行相关操作。在无人机的物体识别中,通常使用彩色图像作为输入数据。然而,在夜间或微光等许多环境条件下,由于物体与环境混为一体,使用彩色图像效果不佳。因此,使用热图像被认为是一种更切合实际的解决方案,其优点包括:只要物体散发的热量与环境温度不同,就能识别微小物体;还能在雾和弱光等恶劣条件下进行搜索。然而,主要的挑战在于如何处理低分辨率、不均匀的热背景以及热图像中的高噪声。为解决这些问题,已经提出了一些研究方案,具体如下。
1.1 小物体检测
探测小物体的方法已开发多年,最先进的方法有 Viola Jones检测器[1]、定向梯度直方图(Histogram of Oriented Gradients,HOG)检测器[2]、基于变形部件的模型(Deformable Part-based Model,DPM)[3]等。然而,机器学习技术,尤其是深度学习技术的发展,因其优于传统技术的效果和优势,使其成为一种趋势。在深度学习中,物体检测方法主要分为两类:单阶段检测法和两阶段检测法。单阶段方法无需使用预先生成的区域候选,即可对物体进行分类并生成边界框。因此,它的执行时间较快,代表方法有 Retical net、SSD [4]、Yolo [5]、CornerNet、FCOS [6]、FSAF [7]。两阶段法首先生成区域候选,然后对每个区域候选中的对象进行分类。因此,这种方法更准确,但速度较慢,其中的著名代表有 mask R-CNN [8]、Faster R-CNN [9]。深度学习的不断进步使得用于物体检测的 CNN 模型大受欢迎,并由此开发出了 VGG、Googlenet、DenseNet、Resnet、Efficientnet [10]、ViT [11]等新模型,它们具有更高质量的特征图,可以更准确地检测物体。
物体检测模型的进步还来自于改变计算深度大的单个层的计算方法[12]、模型集合策略[13]和基于区域的卷积神经网络[13]…改进还包括将识别层从全局特征图改为局部特征图[13]、使用新的检测核[12]以及组合特征图[14]。因此,模型的准确性逐渐提高。然而,使用这些模型有两个挑战:(1) 在嵌入式设备上部署这些模型相对复杂,(2) 模型的性能尚未真正稳定。
1.2 物体检测中的模型组合
深度学习是一种灵活且可扩展的方法,能够适应用于训练的数据量的不断增加。这种方法的一个缺点是,它取决于所使用的数据,当遇到全新的数据时,网络的权重会相应改变,导致方差增大。缓解这一问题的方法之一是训练多个模型,然后将它们的预测结果合并。
有三种常用的方法可以合并预测的边界框,包括非最大抑制(non-maximum suppression, NMS)[15]、Soft-NMS [16]和加权框融合(weighted boxes fusion, WBF)[17]。在 NMS 中,如果边界框重叠并超过一定的 “交集大于联合”(Intersection over Union,IoU)阈值,则认为它们属于一个对象。然后,NMS 只保留置信度最高的边界框,并删除其余的边界框。Soft-NMS通过使用一个函数改进NMS,根据 IoU 临界值降低相邻边界框的置信度。WBF 的操作方式与 NMS 不同,它是通过合并方框而不是移除方框来生成最终结果。对于无人机提供的彩色图像,WBF 能产生良好的结果。然而,对于热图像,当背景区域的热耗散与物体相似时,这种方法可能会将背景区域误检测为物体。因此,在作者的方法中,使用了 Soft-NMS 来组合预测的边界框。
1.3 热图像处理
与具有三个通道的彩色图像不同,热图像的信息仅相当于一幅灰度图像,表示捕捉区域对红外频率的响应。因此,大多数方法都使用两阶段方法来提取恶劣环境中的稀疏特征[18];学习最大化可见光和红外频率之间信息的特征[19];或检测无人机上的低分辨率物体[20]。然而,两阶段方法的使用限制了这些模型在计算能力有限的系统中的应用。
本文提出的 CNN 模型解决了从无人机拍摄的热图像中识别物体的两个问题。第一个问题是,在表示温度变化的物体(如船只或停放的车辆)时,热图像的信息有限。第二个问题是,当无人机拍摄物体时,相距很近的物体很可能会被识别为单个物体。为了解决这些问题,提出的方法主要是通过多维金字塔提取特征图,并使用注意力机制来丰富数据和扩展信息区域,如图 1 所示。使用注意力层而不是增加 CNN 的深度来降低计算成本。此外,使用 Bi-FPN 方法代替其他 FPN,以获得针对高价值区域的前馈计算过程。在最后一层,使用 Soft-NMS [16] 结合训练模型的预测边界框。
在这项工作中的贡献包括:
-
分析小物体检测问题的特点,研究从无人机拍摄的彩色图像和热图像中识别物体的方法,从而提出一种新的网络模型。该模型可通过使用滑动窗口去除与周围区域相关性低的区域,并输出高识别潜力区域,从而识别小物体。该模型利用 ViT 和 YOLOv5(在彩色图像上表现良好的网络架构),并在其中加入注意力区块,以更好地识别物体。
-
修改骨干架构,使其等效但参数更少,以便更好地用于无人机。此外,还将模型的权重压缩到 ONNX 和 TensorRT 中,以提高模型的执行速度。在训练过程中,还利用自我训练来强化物体分类能力,消除错误的识别特征。
-
模型在高噪声的热图像上表现良好。该模型被设计成一个模块,可以部署在无人机等嵌入式系统上。该模型在公共数据集和自己的数据集上都达到了很高的准确率。
2 提出的模型
在本节中,将介绍利用无人机热图像进行物体检测的方法。提出的模型建立在 YOLOv5 的架构上,包括以下 3 个结构:骨干、颈部和头部,如图 1 所示。在骨干和transformers之后的两层中使用注意力层来扩展输入矩阵的特征,以克服与热图像信息量低有关的限制,尤其是图像中的小物体、人和车辆。使用注意层的作用是扩大计算区域,使物体特征清晰,便于识别。由于红外图像的信息含量较低,对周围的像素进行计算,以检测物体的边界框。
2.1 预测头数量
对于 YOLOv5 模型[5],在通过骨干层和颈部层之后,会产生三个特征矩阵,输入预测头。不过,这三个预测头只适用于图像中的物体占据了图像很大一部分的情况。在实施环境中,涉及从无人机上捕获的图像,如 VEDAI [21] 数据集中的图像,图像中的物体只占图像的一小部分。为了识别这些物体,使用了 4 个预测头,而不是 3 个。从低层特征层提取的额外预测头有助于减少识别边界框时的差异,并提高检测新物体的能力,而这些新物体可能在更高的特征层中被忽略。增加一个预测头后,计算参数的数量会增加,但物体检测性能会显著提高。
2.2 骨干网络优化
由于需要在无人机上使用,因此需要一种能够快速提取特征图的识别模型。因此,通过使用 GhostConv 来作为特征提取方法,以减少需要计算的参数数量。为了解决热信息少的问题,使用颈部网络的计算层来提取额外的信息。对于输入
X
∈
R
c
×
h
×
w
X ∈ R^{c×h×w}
X∈Rc×h×w,其中 c 是输入维数,h 和 w 是输入矩阵的大小,特征层 n 的值计算公式为:
Y
=
X
∗
f
+
b
Y=X*f+b
Y=X∗f+b
其中,
Y
∈
R
h
′
×
w
′
×
n
Y∈R^{h^′×w^′×n}
Y∈Rh′×w′×n 是特征层 n 的结果,b 是偏置项,
f
∈
R
c
×
k
×
k
×
n
f∈R^{c×k×k×n}
f∈Rc×k×k×n 是卷积块的滤波器。GhostNet 方法通过对每个固有特征进行标准卷积和一系列线性运算产生结果。
在标准卷积中,根据公式
Y
′
=
X
∗
f
′
Y^′ = X ∗f^′
Y′=X∗f′,从输入
X
∈
R
c
×
h
×
w
X∈R^{c×h×w}
X∈Rc×h×w 和卷积块矩阵
f
′
∈
R
c
×
k
×
k
×
m
f^′∈R^{c×k×k×m}
f′∈Rc×k×k×m 得到
Y
∈
R
h
′
×
w
′
×
m
Y∈R^{h^′×w^′×m}
Y∈Rh′×w′×m(m < n)。一系列线性运算通过变换矩阵 g(x) 将张量 Y ′ 转换为矩阵 Y ′′,计算公式为
y
i
j
′
′
=
g
i
j
⋅
y
i
j
′
i
∈
1
,
…
,
m
;
j
∈
1
,
…
,
s
y''_{ij}=g_{ij}\cdot y'_{ij}\quad i\in1,\ldots,m;j\in1,\ldots,s
yij′′=gij⋅yij′i∈1,…,m;j∈1,…,s
y′ 的每个值都会产生一个 y′′ 的值,其中 m 和 s 分别是 y′ 和 y′′ 的大小。最后,y′和 y′′ 合并生成输出结果。与传统 CNN 网络相比,使用
g
i
j
g_{ij}
gij 的计算成本更低,参数更少。
2.3 Transformer encoder 模块
受视觉转换器(ViT)中应用的transformer方法的启发,在主干块末端应用了transformer块,以取代 YOLOv5 原始版本中的颈部网卷积层。该层的输入是前向卷积层的输出和通过 ASPP 模块分发的信息[22]。transformer块的输入表示为
I
I
R
∈
R
I
R
c
×
h
×
w
I_{IR}∈R^{c×h×w}_{IR}
IIR∈RIRc×h×w,由特征图
F
I
R
∈
R
I
R
c
×
h
×
w
F_{IR}∈R^{c×h×w}_{IR}
FIR∈RIRc×h×w 给出。
I
I
R
I_{IR}
IIR 进入注意力处理过程,其 3 个参数 Q、K、V 的计算公式为:
Q
=
I
I
R
⋅
W
Q
K
=
I
I
R
⋅
W
K
V
=
I
I
R
⋅
W
V
,
\begin{aligned}Q&=I_{IR}\cdot W_Q\\K&=I_{IR}\cdot W_K\\V&=I_{IR}\cdot W_V,\end{aligned}
QKV=IIR⋅WQ=IIR⋅WK=IIR⋅WV,
其中,
W
Q
W_Q
WQ、
W
K
W_K
WK 和
W
V
W_V
WV 是模型中训练过的矩阵。注意力模块的输出 Z 的计算公式为:
Z
=
A
t
t
e
n
t
i
o
n
(
Q
,
K
,
V
)
=
S
o
f
t
m
a
x
(
Q
K
T
d
k
)
⋅
V
,
Z=Attention(Q,K,V)=Softmax(\frac{QK^T}{\sqrt{d_k}})\cdot V,
Z=Attention(Q,K,V)=Softmax(dkQKT)⋅V,
其中,
d
k
d_k
dk 是保持 Softmax 结果收敛性的参数。从 Z 开始,激活层 GELU 用于计算输出。使用 GELU 代替 ReLU 可以对数据进行回归,而不是丢弃参数为负的数据,从而减少方差。
2.4 使用滑动窗口和注意力进行卷积
在提出的模型中,将滑动窗口的使用与注意力机制相结合,而不是使用通常的 Transformer 方法来实现快速的物体检测。该模块也非常简单,可以集成到 CNN 系统中,而不会导致计算系统超出 YOLOv5 架构的处理量。该模块有两个处理过程,包括用滑动窗口分割输入矩阵和对得到的窗口进行 Attention 处理。该模块的输入是 Bi-FPN 的输出特征图。通过滑动窗口机制将大小为(
h
×
w
×
c
)
h × w × c)
h×w×c)的特征图缩小为大小为
(
n
×
m
h
×
m
w
×
c
)
(n × mh × mw × c)
(n×mh×mw×c)的特征图,同时创建一个大小为
(
n
×
m
h
−
m
w
×
m
h
−
m
w
×
c
)
(n × mh - mw × mh - mw × c)
(n×mh−mw×mh−mw×c)的掩码矩阵。其中,h、w、c 分别为输入特征矩阵的宽度、高度和深度;
m
h
mh
mh、
m
w
mw
mw 分别为滑动窗口的长度和宽度。然后在滑动窗口及其周围计算自注意力,以提取这些窗口上的特征。在这里,使用
G
E
L
U
GELU
GELU 层来确保处理大量数据时的准确性。输出计算如下:
z
^
l
=
W
A
(
L
N
(
z
l
−
1
)
+
z
l
−
1
z
l
=
M
L
P
(
L
N
(
z
^
l
)
)
+
z
^
l
,
\begin{aligned}\hat{z}^l&=WA(LN(z^{l-1})+z^{l-1}\\z^l&=MLP(LN(\hat{z}^l))+\hat{z}^l,\end{aligned}
z^lzl=WA(LN(zl−1)+zl−1=MLP(LN(z^l))+z^l,
其中,
z
l
z^l
zl 和
z
^
l
\hat{z}^l
z^l 分别是模块
l
l
l 中窗口注意力(WA)和多层感知(MLP)模块的输出;WA 表示使用滑动窗口的多头自我注意力模块;LN 表示对 z 进行线性运算的线性模块。该模块的结果是由注意力层提取的特征信息增强的特征图。因此,该模块有助于确定模型在检测物体时应关注的区域。
2.5 训练和运行过程
对于大型模型而言,检测物体的过程可能会耗费大量时间。在训练过程中,调整输入图像的大小,尽量减少信息损失,输入图像的大小分别为原始图像的 0.67 和 0.85。还对图像进行旋转和翻转,以丰富训练数据。在实验中,使用原始图像大小 0.67 的输入尺寸,并保留热图像的灰度或彩色比例。使用层堆叠和扩大计算区域等技术来提高识别速度。还通过使用 ConvGhost 和 Bottleneck Ghost 与参数数量较少的模型相结合,以减少计算特征图的时间。
3 结果
为了评估所提出的模型,在名为 VEDAI 的公共数据集和从无人机上收集的数据集上进行了实验。还在两个平台(包括高性能服务器和嵌入式计算机)上与其他最先进的模型进行了比较。
3.1 数据集
自己采集的数据由名为 Mavic 2 Enterprise Advanced 的无人机收集,该无人机配备了如图 4 所示的摄像头。红外热像仪的分辨率为 640 × 512 px,速度为 30 fps,16 倍变焦,精度为 ±2 摄氏度。无人机还配备了一个分辨率为 4800 万像素的彩色摄像头。不过,这台相机仅用于参考目的。所收集的视频数据持续时间长达 11 小时,在不同的时间和地点进行记录。因此,它为作者提供了数百万张热图像,用于训练和测试。此外,还使用名为 VEDAI 的公共数据集,利用无人机在各种条件下(尤其是弱光条件下)采集的热图像。数据集中的图像都经过预处理和标记,以确保模型使用时的质量。在比较中,所有模型都使用相同的 800 × 800 图像尺寸。
3.2 评估指标和平台
在所有比较中,使用平均精度(mAP)指标来评估模型在两个 IoU 阈值(0.5 和 0.95)下的精度。用于训练模型的平台是配有 GPU A100 3.2G 40G 的服务器。使用的优化函数是学习率为 3.2 × 1 0 − 5 3.2 × 10^{-5} 3.2×10−5 的 Adam。使用 10 个初始epochs来稳定训练,并使用 150 个实际训练epochs,批量大小为 16。这个过程在自己的数据集和公共数据集上都进行了训练。
3.3 评估结果
将提出的模型与用于物体检测的常用模型进行了比较,包括 Faster R-CNN、ResNet、YOLO net、Vision Transformer (ViT)、E-net、ComNet [23]、SMPNet [24]、DPNetV3 [25]。结果见表一和表二。可以看出,提出的模型在 0.5 和 0.95 值时都比其他方法更准确。与使用等量参数的方法相比,提出的模型在两个数据集上都显示出更好的结果。具体来说,在 VEDAI 数据集上,提出的模型在 mAP50 上的表现比其他方法好 4.1% 到 7.01%,在自己的数据集上,提出的模型在 mAP95 上的表现比其他方法好 4.42% 到 9.83%。此外,提出的模型参数数量相对较少,这要归功于用注意力层和前馈线性层等计算效率高的层替换了多个 CNN 块。因此,与其他模型相比,提出的模型实现了更高的性能,并且能够部署在嵌入式系统上。
图 2 显示了 VEDAI 数据的一些结果,其中第一行代表热图像,第二行代表相应的彩色图像作为参考。可以看出,提出的模型在检测船只、飞机和汽车等常见物体时表现良好。这些图像也反映了从无人机数据中进行物体检测所面临的挑战,即当物体非常小的时候。图 3 显示了无人机在正常和具有挑战性的条件(如城市环境或弱光)下采集图像的结果。在这里,由于无人机配置的原因,热数据以红色比例表示,而不是灰度。还添加了第三行,以便近距离观察检测结果。可以看出,提出的模型可以识别物体,即使是那些体积小、热对比度低的物体。图 3d 显示了使用热图像比使用彩色图像的明显优势,在夜间也能检测到物体。
在另一项评估在无人机等嵌入式设备上部署模型的能力的实验中,通过保持模型质量的方法对模型进行了压缩。具体来说,使用迁移学习方法来缩小模型大小,同时保持其性能。实验使用的设备是一台名为 Jetson AGX 30W 的嵌入式计算机。将所有模型设置为在 Nvidia 设备的 GPU 线程上运行。表 III 显示了不同模型的实验结果,包括全模型、半模型、ONNX、TensorRT 和传输模型。可以看出,通过使用转移模型,提出的模型可以在嵌入式设备上部署,并且具有实时速度和高稳定性。因此,该模型可应用于无人机等实用系统。
4 结论
本文提出了一种新的神经网络模型,用于识别无人机采集的热图像上的物体。提出的模型采用了基于 YOLOv5 的改进骨干结构,并在颈部和预测头中使用了匹配分类器,从而提高了识别效率。特别是在预测头之前使用注意力块,大大提高了识别小物体的能力。在公共数据集和采集的数据集上的实验结果表明,提出的模型比最先进的方法表现更好。它的参数数量少,可以在嵌入式系统上实现实时计算。因此,该模型可部署在无人机等实际系统上,用于实际应用。