基于yolo v8微调模型的无人机电缆异物检测任务
邱若彤 张竣开 王佳楠 李昂 甄晨悦
天津工业大学 天津市 300387
0 引言
2009 年中国巡检无人机的开端,国家电网正式立项研制无人机巡检系统。国内外也对无人机检修作业关键性技术进行了广泛研究,但多数研究停留在非接触式检修,接触式检修作业技术研究与实际应用较少。目前,无人机检修装置功能相对单一,无法实现多功能、广维度的检修作业。针对这些挑战,我们通过科学选取无人机机型等结构提高稳定性,采用喷涂导电漆技术降低电场干扰,并通过搭载代码平台实现巡检、检修一体化,允许即时清理故障。我们通改进 C2f 模块,旨在解决现有技术短板,推动无人机在电力检修领域的广泛应用。
1 YOLO v8 目标检测算法
YOLO v8 是目标检测模型,改进了骨干网络,用 C2f 模块替换 YOLOv5 的 C3 模块。C2f 模块跳层连接更多,在保持精度时实现轻量化,梯度流更丰富。该模型由 Backbone、Neck 和 Head 三部分组成,Backbone 用于提取图像特征,Neck 进一步整合、增强特征表示,Head 是目标检测层,负责预测边界框和类别置信度,结构如图 1 所示。

2 改进的 YOLO v8 目标检测算法
2.1 检测头
无人机电网巡检中的小目标检测因目标尺寸小、背景复杂极具挑战,本研究针对性改进 YOLO v8模型,提出小目标检测模块,优化网络结构减少特征丢失,通过复杂卷积运算等操作增强特征提取与多尺度特征整合 ,还在检测序列设计中采用解耦结构,最终显著提升检测能力,为复杂环境下的实时检测提供可靠支持。
2.2 卷积神经网络
YOLO v8 的卷积网络是其核心组成部分,主要基于深度可分离卷积和残差连接构建。深度可分离卷积由深度卷积和逐点卷积组成,卷积结构如图 2 所示。深度卷积负责对输入特征图的每个通道进行独立的卷积操作,即逐通道卷积,大大减少了计算量;其计算公式为:

该函数智能引入额外边界框,加速高转换,与样本保持一致,有效提升训练效率和模型整体能力。实验显示,Inner - IoU 在小物体检测上表现出色。基于此,将其应用于现有 IoU 框架回归损耗函数体系,建立优化模型。Inner - IoU 函数通过设置特定比例特征创建不同大小的额外边框来计算损失,为高 IoU 样本设计少量额外边框以加快聚合率,创建时将缩放因子设为 0.7 - 0.8,使额外边界区域大于实际区域,计算 IoU 值时直接依据边框交集和并集。
3 实验
3.1 项目构想
我们的任务是把 YOLO v8 目标检测模型用于无人机,实现飞行实时检测。无人机摄像头传输视频信号,系统处理成帧图片,YOLO v8 快速识别每一帧并实时展示结果。实验分两部分:一是在本地计算机用自定义(手动标注)数据集训练 YOLO v8 模型,确保高质量,训练后先在本地摄像头测试性能;二是通过 SSH 连接本地计算机和搭载 Jetson Nano 开发板的无人机,无人机摄像头捕捉图像后经无线网络传到本地,YOLO v8 模型在本地处理预测,显示带检测框的结果,完成实时检测。整个过程实现了无人机视频实时处理与目标检测。以下是任务流程概览图:

3.2 实验过程
首先,我们下载了 YOLO v8 的预训练模型。这个预训练模型可以识别一些基本物体(例如人类)并绘制检测框。为了让模型能够识别我们关注的目标物体(如电线杆上的异物),我们对模型进行微调,制作了一个塑料袋(异物特例)数据集。该数据集在室内、室外等不同环境采集,涵盖多种颜色的塑料袋,且从不同角度拍摄,共收集 100 余张图片。我们按 4:1 的比例将这些图片划分为训练集和验证集,不设单独的测试集,测试数据将由无人机摄像头实时采集。
接下来,我们使用标注工具对每张图片中的塑料袋进行标注,标注类别统一命名为“plastic”。在基准代码中修改了类别名称,使其与我们自定义的数据集匹配。
我们将数据集用于 YOLO v8 的训练,设置训练的 epoch 为 50,batch_size 为 2,并在 NVIDIA 3060GPU 上进行训练,训练时间大约为 2 小时。训练完成后,我们得到了适用于我们任务的 YOLO v8 模型,命名为 YOLO v8-p。
随后,我们在本地计算机上对该模型进行测试。我们设置预测模式为“0”,代表预测本地计算机所接受到的实时图像流:
结果表明,YOLO v8-p 能够准确地识别视频中的塑料袋,并且置信度达到了 0.9 以上,说明模型的准确度较高,能够有效地完成目标检测任务。
3.3 远程连接与应用
在完成本地测试后,我们通过 SSH 远程连接到安装有 Jetson Nano 开发板的无人机上。Jetson Nano开发板已经配置了 Python 深度学习环境,并具备显卡支持,可以用于部署和运行深度学习模型。我们将本地计算机的代码环境部署到Jetson Nano 开发板上,并在其上运行训练好的 YOLO v8 模型进行实时预测。
通过 SSH 连接,预测结果图被按帧实时传输到本地计算机,形成了我们预期的实时预测效果。测试结果表明,YOLO v8-p 能够准确完成无人机高空异物检测任务,达到了我们的目标。
参考文献
[1]蔡志浩,陈文军,赵江,等.基于动态视觉传感器的无人机目标检测与避障 [J].北京航空航天大学学报,2024,50(1)144-153
[2]邵延华,张铎,楚红雨,等.基于深度学习的 YOLO 目标检测综述[J].电子与信息学报,2022,44(10):3697-3708
国家级大学生创新训练计划项目(202410058028)
然后经过
块残差块 Bottlenect 运算,残差块公式为:

经过
个残差块后的特征图为
,最后再通过两个卷积模块将其转化为高维特征图并与输入特征图融合得到
,计算公式为:

2.4 Inner-IoU 损失函数
传统的 IoU 损失函数通常使用在边界框回归期间,但它们的一般应用有限。为了克服这个瓶颈,本研究提出利用 Inner - IoU 损失函数。
该函数智能引入额外边界框,加速高转换,与样本保持一致,有效提升训练效率和模型整体能力。实验显示,Inner - IoU 在小物体检测上表现出色。基于此,将其应用于现有 IoU 框架回归损耗函数体系,建立优化模型。Inner - IoU 函数通过设置特定比例特征创建不同大小的额外边框来计算损失,为高 IoU 样本设计少量额外边框以加快聚合率,创建时将缩放因子设为 0.7 - 0.8,使额外边界区域大于实际区域,计算 IoU 值时直接依据边框交集和并集。
3 实验
3.1 项目构想
我们的任务是把 YOLO v8 目标检测模型用于无人机,实现飞行实时检测。无人机摄像头传输视频信号,系统处理成帧图片,YOLO v8 快速识别每一帧并实时展示结果。实验分两部分:一是在本地计算机用自定义(手动标注)数据集训练 YOLO v8 模型,确保高质量,训练后先在本地摄像头测试性能;二是通过 SSH 连接本地计算机和搭载 Jetson Nano 开发板的无人机,无人机摄像头捕捉图像后经无线网络传到本地,YOLO v8 模型在本地处理预测,显示带检测框的结果,完成实时检测。整个过程实现了无人机视频实时处理与目标检测。以下是任务流程概览图:

3.2 实验过程
首先,我们下载了 YOLO v8 的预训练模型。这个预训练模型可以识别一些基本物体(例如人类)并绘制检测框。为了让模型能够识别我们关注的目标物体(如电线杆上的异物),我们对模型进行微调,制作了一个塑料袋(异物特例)数据集。该数据集在室内、室外等不同环境采集,涵盖多种颜色的塑料袋,且从不同角度拍摄,共收集 100 余张图片。我们按 4:1 的比例将这些图片划分为训练集和验证集,不设单独的测试集,测试数据将由无人机摄像头实时采集。
接下来,我们使用标注工具对每张图片中的塑料袋进行标注,标注类别统一命名为“plastic”。在基准代码中修改了类别名称,使其与我们自定义的数据集匹配。
我们将数据集用于 YOLO v8 的训练,设置训练的 epoch 为 50,batch_size 为 2,并在 NVIDIA 3060GPU 上进行训练,训练时间大约为 2 小时。训练完成后,我们得到了适用于我们任务的 YOLO v8 模型,命名为 YOLO v8-p。
随后,我们在本地计算机上对该模型进行测试。我们设置预测模式为“0”,代表预测本地计算机所接受到的实时图像流:
结果表明,YOLO v8-p 能够准确地识别视频中的塑料袋,并且置信度达到了 0.9 以上,说明模型的准确度较高,能够有效地完成目标检测任务。
3.3 远程连接与应用
在完成本地测试后,我们通过 SSH 远程连接到安装有 Jetson Nano 开发板的无人机上。Jetson Nano开发板已经配置了 Python 深度学习环境,并具备显卡支持,可以用于部署和运行深度学习模型。我们将本地计算机的代码环境部署到Jetson Nano 开发板上,并在其上运行训练好的 YOLO v8 模型进行实时预测。
通过 SSH 连接,预测结果图被按帧实时传输到本地计算机,形成了我们预期的实时预测效果。测试结果表明,YOLO v8-p 能够准确完成无人机高空异物检测任务,达到了我们的目标。
参考文献
[1]蔡志浩,陈文军,赵江,等.基于动态视觉传感器的无人机目标检测与避障 [J].北京航空航天大学学报,2024,50(1)144-153
[2]邵延华,张铎,楚红雨,等.基于深度学习的 YOLO 目标检测综述[J].电子与信息学报,2022,44(10):3697-3708
国家级大学生创新训练计划项目(202410058028)