
无人机巡检中的边缘AI识别应用研究
无人机巡检中的边缘 AI 识别应用研究
王燚,杨博文,唐双江
四川通信科研规划设计有限责任公司,四川成都 610041
摘要:随着无人机技术的快速发展,无人机在巡检领域的应用日益广泛,特别是在电力、建筑等行业。无人机巡检可以大幅提高巡检效率,减少人力成本,并能在复杂环境中进行高效作业。然而,传统的无人机巡检方法依赖于人工识别,存在效率低、易出错等问题。无人机技术结合深度学习目标识别的应用,可以显著提高巡检效率和准确性。本文旨在开发一种基于深度学习的无人机巡检边缘嵌入式目标识别模型,将其部署在无人机边缘设备上,实时地从航拍视频流中检测和识别目标,为巡检提供高效、精准的解决方案。
关键词:无人机巡检;边缘嵌入;目标检测
中图分类号:TN929.5
文献标志码:A
文章编号:1672-0164(2024)06-0113-05
1 引言
随着无人机技术的进步,结合图像处理技术,为应急通信 [1]、野外救援 [2]、巡检巡航 [3] 和遥感测绘 [4] 等领域的广泛应用带来新的机遇。然而,随着应用场景的扩展,无人机图像检测方法的重要性日益凸显。如何提升图像检测的精确度并降低对软硬件资源的需求,已成为当前无人机智能应用系统研究的关键方向。
2 相关工作
无人机智能巡检技术采用了多种方式提升检测效率,除视觉技术外,还包括雷达探测、声学探测和射频探测等,但由于技术成本及功耗体积等限制,对于中小型无人机,基于机器视觉的目标检测与跟踪技术仍是低空无人机智能巡检应用的主要发展方向 [5-6]。
MCUNet [7] 和 NanoDet [8] 主要设计用于生产低功耗微控制器,提高边缘 CPU 推理速度。YOLO 系列算法具有更好的精度和更快的推理速度,在国内广泛应用于工业领域。YOLOv1 [9] 是一种典型的单级目标探测器,在此基础上进行了一系列改进,得到了 YOLOv2 [10] 和 YOLOv3 [11],具有更快的检测速度和更高的检测精度。YOLOv4 [12] 重新设计主干、颈部和头部的三个独立结构,使它们在单一 GPU 上更好地训练。目前,YOLOv5 [13]、YOLOX [14]、PPYOLOE [15] 等在实时检测和部署方面具有极大的竞争力。
虽然这些流行的 YOLO 类检测模型运行效果较好,但复杂的网络结构增加了计算代价。因此,如何平衡兼顾视觉 AI 的功耗和性能,将模型计算载体前端化、轻量化,成为无人机巡检任务中一个亟待解决的问题。人们提出了不同的实时检测模型,适用于不同的边缘器件,主要集中在简单、高效的实时目标探测器结构设计上,以便在无人机巡检任务中可以实现实时检测效果 [16-17]。
Tijtgat 等人 [18] 设计了一个基于运行 YOLOv2 的 NVIDIA Jetson TX2 边缘计算设备的系统,以实现无人机的实时目标检测。Abdulghafoor 等人 [19] 提出了一种将边缘计算设备与深度流软件开发工具包(DS-SDK)4.0.2 [5] 相结合的方法,以实现一种可以处理高性能视频流的卷积网络模型。为了提高实时视频流检测系统的实用性,Haq 等人 [6] 在 NVIDIA Jetson 单板计算机上部署了深度流框架来运行深度学习算法,特别是 YOLO 算法。该研究还验证了深度流框架可以在虚拟机中运行得很好,这可以进一步提高模型的性能和部署的可移植性。
针对以上不足之处,本文开展了基于无人机载人工智能轻量化的研究、应用和验证。通过无人机机载轻量化 AI 技术将视频图像进行实时动态识别、目标检测,以供地面指挥所及时对突发情况做出应对。通过机载端运行的轻量化 AI 与后端神经网络处理器集中运行 AI 对航拍视频的处理结果对比,多方面体现了轻量化 AI 在部署灵活性和功耗比上的可行性和优势。
3 方法
3.1 轻量化 NPU 计算平台
NPU(Neural Processing Unit,神经处理器)与 CPU(Central Processes Unit,中央处理器)和 GPU(Graphics Processing Unit,图形处理器)等通用处理器设计思路不同,NPU 是一种专门针对神经网络中的运算逻辑进行设计的 SOC 解决方案,无需考虑神经网络并不需要的一些计算单元;同时,通过突触权重实现存储和计算一体化,能够运行多个并行线程,其大部分时间集中在低精度的算法。因此,NPU 的这种对 AI 计算的折中优化使得 NPU 相比 CPU 和 GPU 在算效上更加高效,在相比于 CPU 能获取更高处理帧率的同时,其功耗开销却不足 GPU 的 1%。这凸显了嵌入式 NPU 的小型化、低功耗和低成本优势,能充分满足无人机 AI 轻量化应用的硬件需求。
考虑到要实时进行目标识别的同时部署到无人机边缘设备,YOLOv8 在网络模型、训练策略、损失函数、模型大小、推理速度等方面相比于其他 YOLO 系列的方法,非常适合轻量化 AI 的部署。
3.2 改进的轻量化目标检测算法
准确、及时地跟踪和分析目标的位置、状态对于无人机巡检系统的决策和部署至关重要。以往的识别算法往往存在大量的计算量,需要较高的计算内存和设备的计算资源。针对资源有限的边缘设备,本项目提出了一种轻量的目标识别方法(如图 1 所示),可轻松实现机载边缘设备的部署。
选取的基线模型 YOLOv8 是主流的实时目标探测器,主要由主干、颈部和头部组成。改进思路如下:
首先,使用轻量级网络 Shufflenetv2 [20] 重建 YOLOv8 的主干;
其次,利用深度可分卷积来代替颈部层的标准卷积;
然后,利用 BiFormer 中的注意力(Bi-Level Routing Attention,BRA)[21],在骨干网络输出特征之前,提高模型的定位能力和特征提取能力。
BRA 注意力机制:BRA 是一种动态的、查询感知的稀疏注意机制,在粗粒度区域级别上过滤掉最不相关的键向量和值向量,这样就只保留一小部分路由生成细粒度区域。然后,在这些细粒度区域并集中的每个查询,通过其键值所指向的最相关的查询进行加权求合,完成注意力计算,该方法可以缓解多头自注意力的可伸缩性问题。具体步骤如下:
对 Q 和 K 应用每个区域平均推导出区域级查询向量和键向量,Q r ,K r ∈R s 2 ×C ;
通过Qr和转置的Kr之间的矩阵乘法,推导出区域到区域亲和图的邻接矩阵,A r ∈R s 2 ×s 2 : A r =Q r (K r ) T (1)
邻接矩阵Ar中的条目度量了两个区域在语义上的关联程度;通过为每个区域只保留 top-k 个连接来修剪亲和图,推导一个路由索引矩阵,Ir∈Ns2×k,使用行向 topk 算子:r=topkIndex(Ar)(2)
利用区域到区域的路由索引矩阵Ir,应用细粒度的标记注意。对于区域 i 中的每个查询标记,它将关注所有位于 k 个路由区域的并集中的键值对,它们以Ir(i,1),Ir(i,2),…,Ir(i,k)为索引。收集的键和值张量如下:Kg=gather(K,Ar),Vg=gather(V,Ir)(3)
5、将注意力应用到收集到的键值对上:
O=Attention(Q,Kg,Vg),Vg+LCE(V)(4)
其中,LCE 是一个局部上下文增强模块 [21],函数()通过深度卷积进行参数化,将核大小设置为 5。
3.3 无人机载 AI 模型部署
检测算法在 pytorch 框架下生成的 pt 模型权重文件与 NPU 的适配度较低,直接运行检测效率较低。在 Rockchip 的 NPU 开发套件 RKNN-Toolkit 的基础上,将权重 pt 转换为适配 NPU 的 RKNN 模型,实现了检测模型在 RK3399NPU 平台上的加载和推理计算。
3.3.1 模型算子转换
Pytorch、ONNX 和 RKNN 同为深度学习网络框架,其模型算子的分类与功能具有相似性。算子可以根据其功能和用途被分为不同的类别,在模型转换时,前向模型的算子函数会被解释转换为后向模型使用的对应算子结构,保证了两者网络框架在逻辑上的一致性。
3.3.2 PT 模型至 ONNX 模型
在转换 pt 模型时,一方面,PyTorch 会用跟踪法执行前向推理,把遇到的算子整合成计算图;另一方面,PyTorch 还会把遇到的每个算子翻译成 ONNX 中定义的算子。在这个翻译过程中,可能会碰到以下两种情况:
该算子可以一对一地翻译成一个 ONNX 算子;
该算子在 ONNX 中没有直接对应的算子,会翻译成一至多个 ONNX 算子。
使用netron (深度学习网络可视化工具) 导入pt模型网络结构和ONNX模型网络结构的局部直观展示图如图3与图4所示PyTorch 与 ONNX 算子对应关系如下图所示:
由于PyTorch算子是向ONNX对齐的,故主要算子转换。关系如表1所示:
整体来看,ONNX 模型在保留 pt 模型网络基本逻辑结构的基础上,将诸如Focus等集成化模块拆分成了对边缘计算处理器更加易读的形式,输入输出参数与原模型完全对齐,保证了模型的可靠性,但代价是网络结构更加冗杂,同时量化过程中会不可避免地裁剪掉一些参数,导致分割细节丢失。
3.3.3 ONNX 模型至 RKNN 模型
ONNX 作为一种通用的开放格式,充当过渡模型来存储网络结构,最终目的是转换得到适合在边缘 AI设备上部署的 RKNN 模型。RKNN 是由 Rockchip 提出的一种针对其硬件平台的模型部署框架,其核心思想是将传统神经网络中的全连接层替换为局部连接层,从而实现对数据的高效计算。在 RKNN 中,每个神经元只与输入数据的一个局部区域相连,这大大减少了模型的参数数量,提高了模型的泛化能力。
使用netron (深度学习网络可视化工具) 导入检测模型的RKNN网络结构的局部直观展示如图5所示:
与上一节中的 ONNX 网络结构对比,主要算子转换如表2所示:
整体来看,RKNN 与 ONNX 网络架构基本一致,主要是引入了 SWISH 非线性激活函数,其最大的优点是可以使用更少的参数让神经网络获得更低的偏差和更好的泛化能力,此外,其较低的计算开销也有助于边缘 AI设备更好的性能表现。
3.3.4 算法函数结构轻量化
检测算法中的一些函数结构对于边缘计算设备(特别是需要量化操作的 NPU 芯片)来说,在速度和精度上的影响显著。其中,卷积之后的激活操作采用的 SiLU 函数,在 NPU 上的效率不高,且会在转换时被 ONNX 拆分,对检测结果的稳定性和可靠性有较大影响。因此,在转换为 ONNX 模型时,主要针对图5的 sigmod + mul 组合,将 hardSwish 模块合并,提升在 NPU 上的运行效率。
4 AI 智能感知模型检测结果与分析
为验证边缘部署的 AI 智能检测模型的有效性,首先通过 VisDrone2019 数据集 [21] 对 YOLO 模型进行训练。其中用于训练、验证以及测试的数据一共包含 10209 张静态图像(6471 张用于训练,548 张用于验证,3190 张用于测试)。测试视频采用无人机传回的航拍影像,包含了行人、卡车、货车、小轿车等多类目标。
为了验证分析模型轻量化对推理性能的影响,分别采用轻量化目标检测算法的 PT 模型和轻量化 RKNN 模型对上述测试视频进行预测。实验时分别将 PT 模型和 RKNN 模型加载到同一台 PC 机的虚拟机上,保证推理 NPU 型号、核数量以及其余配置完全相同。检测如图6和图7所示,检测结果如图8和图9所示:
4.1 模型性能对比
不同模型的性能指标对比如下表所示:
4.2 混淆矩阵与综合性能
模型混淆矩阵等效一维表如下:
注:0 代表反例(不应该被分类器识别到的目标);1 代表正例(应该被分类器识别到的目标)。11(TP):实际为正例且被正确分类;01(FP):实际为负例但被错误分类为正例;10(FN):实际为正例但被错误分类为负例;00(TN):实际为负例且被正确分类。
模型综合性能参数对比如下:
4.3 结果分析
从算法评价指标看,轻量化 RKNN 模型相比传统 PT 模型在准确度、精确度和召回率上有一定程度的下降,但处于可接受范围;
检测速率上,得益于 NPU 对推理的加速,两者基本一致;
轻量化框架带来了显著的功耗降低,同一目标下 RKNN 模型推理功耗仅为 PT 模型的 5.2%。
总体来看,完成从 PT 模型到 RKNN 模型的轻量化改造以少量的检测精度为代价,显著降低了算法功耗,实现了对前端设备边缘 AI 的适配支持,降低了传输开销的约束,在无人机管道巡检行业中有广阔的前景。
5 结论
针对无人机巡检应用中的现状与问题进行分析,围绕边缘 AI 设备的特点,创新性地提出轻量化 AI 模型,在保证性能的同时降低功耗,通过集成前端无人机和后端 AI 边缘平台,解决无人机在巡检过程中检测结果实时性差的问题。最终通过实验结果对照验证了观点的可行性,并针对现有问题进一步提出了可优化的方向。
参考文献
[1] 林尚静,田锦,马冀,等。应急通信中异构无人机中继性能仿真评估 [J]. 计算机仿真,2023,40 (3):453-459.
[2] 王蓉,吕祖盛,孙嘉,等。基于人像分割的智能搜救无人机系统设计 [J]. 计算机技术与发展,2020,30 (8):147-151+156.
[3] 何杏宇,付冲,杨桂松,等。基于任务与巡航方向相关性分析的无人机任务分配 [J]. 计算机应用研究,2022,39 (10):2989-2995+3007.
[4] 荆文龙,周成虎,李勇,等。基于无人机智能基站的空地协同低空无人机遥感网构建及应用 [J]. 遥感学报,2023 (2):209-223.
[5] NVIDIA DeepStream SDK 4.0.2 Release [EB/OL].(2019-12-20)[2024-01-22]. https://docs.nvidia.com/metropolis/deepstream/4.0.2/dev-guide/index.html.
[6] Haq M A, Fahriani N. Improving YOLO Object Detection Performance on Single-Board Computer using Virtual Machine. Emerging Information Science and Technology, 2024, 5:36-45.
[7] 张呈宇,李红五,屈阳,等。面向工业互联网的 5G 边缘计算发展与应用 [J]. 电信科学,2021,37 (01):129-136.
[8] 张天魁,徐瑜,刘元玮,等。无人机辅助 MEC 系统:架构、关键技术与未来挑战 [J]. 电信科学,2022,38 (8):3-16.
[9] Lin J,Chen W M,Lin Y,et al. MCUNet: Tiny deep learning on IoT devices[J]. Adv. Neural Inf. Process. Syst. (NeurIPS) 2020, 33:11711–11722.
[10] Lyu, NanoDet R. 2021. [EB/OL].(2021-12-20). https://github.com/RangiLyu/nanodet.
[11] Redmon J,Divvala S,Girshick R,et al. You only look once: Unified, real-time object detection[C]. Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 2016:779–788.
[12] Redmon J,Farhadi A. Yolo9000: Better, faster, stronger[C]. IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, HI, USA,2017:7263–7271.
[13] YOLOv5. [EB/OL].(2022-11-22)[2024-01-22]. https://github.com/ultralytics/yolov5
[14] Ge Z,Liu S,Wang F,et al. Yolox: Exceeding yolo series in 2021[J]. arXiv:2107.08430.
[15] Xu S,Wang X,Lv X,et al. PP-YOLOE: An evolved version of yolo[J]. arXiv:2203.16250.
[16] Tijtgat N,Ranst W V,Volckaert B,et al. Embedded real-time object detection for a UAV warning system[C]. IEEE International Conference on Computer Vision Workshops, Venice, Italy, 2017: 2110–2118.
[17] Abdulghafoor N H,Abdullah H N. Real-time moving objects detection and tracking using deep-stream technology[J]. Journal of Engineering Science and Technology,2021, 16:194–208.
[18] Ma N,Zhang X,Zheng H T,et al. Shufflenet v2: Practical guidelines for efficient cnn architecture design[C]. European conference on computer vision (ECCV), 2018:116-131.
[19] Zhu L, Wang X, Ke Z, et al. Biformer. Vision transformer with bi-level routing attention[C].In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, 2023:10323-10333.
[20] Sucheng Ren, Daquan Zhou, Shengfeng He, et al. Shunted self attention via multi-scale token aggregation[C].arXiv:2111.15193, 2022:10853–10862.
作者简介
王燚(1975—),男,工学博士,高级工程师,主要研究方向为智慧城市中的泛在移动通信系统和智能网络技术研究。
杨博文(1999—),男,工学学士,咨询设计师,主要研究方向为人工神经网络和图像检测。
唐双江(1987—),男,工学学士,高级工程师,主要从事通信网络规划设计与业务咨询研究工作。