rubbish.world

你的研究,在这里熠熠生辉

Acceptable negativity, rigorously formatted

Journal home 刊首  ·  Articles 论文  ·  Home 首页  ·  Editorial office 编务

无人机视角下的实时目标识别

随着科技的飞速发展,无人机凭借其卓越的操控性、独特的视角优势以及出色的机动性能,已成为各行业完成高难度任务的重要工具。尽管当前主流目标检测算法已取得显著进展,但在无人机视角下实现快速准确的目标检测仍面临巨大挑战。本文基于YOLOv8(You Only Look Once)算法,提出了一种针对无人机航拍图像的高效目标检测方法,该方法能够实现对目标的实时精准检测与定位。YOLOv8算法具有以下突出优势:首先,其检测速度和准确率显著提升,特别适合对实时性要求严苛的无人机应用场景;其次,该算法支持PyTorch、ONNX、TensorRT等多种格式的模型导出,便于直接部署于无人机嵌入式平台;此外,YOLOv8采用先进的训练技术,通过数据增强提升样本多样性,显著增强了小目标检测能力。本文研究通过对VisDrone2019数据集的优化,并且使用YOLOv8进行训练,实验证明该方法能有效识别无人机视角下的各类目标。文中还与其他目标检测算法进行了对比分析,并在树莓派5平台上实现了算法部署与优化,为无人机实时目标检测提供了实用解决方案。

关键词:目标识别 无人机视角 树莓派 YOLOv8


Abstract

With the rapid advancement of technology, unmanned aerial vehicles (UAVs) have become indispensable tools across industries for executing high-difficulty tasks, thanks to their exceptional maneuverability, unique vantage points, and outstanding mobility. Although current mainstream object detection algorithms have made remarkable progress, achieving rapid and accurate target detection from UAV perspectives remains a significant challenge.This paper presents an efficient object detection method tailored for aerial imagery based on the YOLOv8 (You Only Look Once) algorithm, enabling real-time and precise target identification and localization. The YOLOv8 algorithm offers the following salient advantages: First, its detection speed and accuracy are significantly enhanced, making it particularly suitable for UAV applications with stringent real-time requirements. Second, the algorithm supports model export in multiple formats, including PyTorch, ONNX, and TensorRT, facilitating seamless deployment on UAV-embedded platforms. Furthermore, YOLOv8 employs advanced training techniques, such as data augmentation to improve sample diversity, thereby markedly strengthening small object detection capabilities.In this study, optimization was performed on the VisDrone2019 dataset, and training was conducted using YOLOv8. Experimental results demonstrate that the proposed method effectively identifies various targets in UAV-captured imagery. A comparative analysis with other object detection algorithms is also provided, along with implementation and optimization on a Raspberry Pi 5 platform, delivering a practical solution for real-time UAV-based object detection.

Keywords:Object Detection;  UAV Perspective;  Raspberry Pi;YOLOv8


目录

1 绪论…………………………………………………………………………1

  1.1 研究背景与意义…………………………………………………………1

  1.2 国内外研究现状…………………………………………………………1

  1.3 研究目标与内容…………………………………………………………1

2 无人机目标识别相关技术与理论…………………………………………1

  2.1 无人机视觉系统概述……………………………………………………1

  2.2 目标识别算法介绍………………………………………………………1

2.2.1 YOLO系列算法原理………………………………………………………1

2.2.2 Faster R-CNN 算法原理………………………………………………1

  2.3 嵌入式部署技术…………………………………………………………1

3 VisDrone2019数据集优化与分析…………………………………………………1

  3.1 VisDrone2019 数据集介绍…………………………………………………1

  3.2 原数据集存在的问题及优化策略……………………………………………1

  3.3 优化后的数据集与原数据集的数据对比……………………………………1

4 基于YOLOv8的无人机视角目标识别…………………………………………1

  4.1 YOLOv8的无人机地面目标检测的原理与结构……………………………1

  4.2 基于YOLOv8的无人机目标检测优缺点…………………………………1

  4.3 实验环境配置…………………………………………………………1

  4.4 模型评价相关指标……………………………………………………1

  4.5 训练结果分析…………………………………………………………1

    4.5.1 训练参数的优化……………………………………………………1

    4.5.2 训练结果的性能分析………………………………………………1

5 树莓派的部署与实现…………………………………………………………1

  5.1 树莓派的硬件选择与环境搭建………………………………………………1

  5.2 模型轻量化与移植优化………………………………………………………1

6.总结与展望………………………………………………………………………1

7.参考文献 …………………………………………………………………………1

  1. 绪论

1.1研究背景与意义

随着无人机技术的快速发展[1],其在农业植保、物流配送、交通监控、安防巡逻和环境监测等领域的应用日益广泛。无人机以其高机动性、独特视角和远程操作能力,成为完成复杂任务的理想工具。而目标检测作为无人机执行自动化任务的重要基础,例如在农业中检测病害或牲畜分布,在安防中识别可疑人员或车辆,以及在灾害救援中发现幸存者或危险区域,直接关系到任务的成功与效率。

目前目标识别技术已经取得了很好的成果[2],然而,在无人机视角下的目标检测有着实时性和复杂环境的困难。由于无人机运行具有快速,灵活的特点,因此其对实时性的要求非常高,而由于这样灵活的移动,在图片采集时会经常会伴有高度的变化,光照的变化,背景的复杂,运动的模糊以及遮挡情况,这对检测的高效性有着很高的要求。

在学术方面,深度学习尤其是卷积神经网络(CNN)技术的进步,使得Faster R-CNN[3],YOLO等算法在目标检测领域得到显著发展。R-CNN系列(R-CNN、Fast R-CNN、Faster R-CNN)在检测准确性上有着更出色的表现,尤其是对复杂场景的检测,但是这种两阶段的算法的计算量往往较大,检测速度也很慢,不适用于无人机视角下的实时检测,而YOLO系列[4]采用单阶段的检测方式,大大提高了检测的速度,因此我们选择YOLOv8最为研究的算法,其在精度和速度上有着很好的平衡。在应用方面,对无人机视角下的目标识别的研究能够解决无人机的无人驾驶,在农业中的智能避障,在各种工业、军事中的自主规划路线等诸多问题[14]

1.2 国内外研究现状

  在对无人机视角下的实时目标识别的研究上[5],国内外的学者探索着多种算法,主要分为两个方向,一个方面是现在基于深度学习的目标检测算法,如YOLOv8、R-CNN系列等,相关研究人员对其进行针对性的改进,增强其对小目标的识别能力,另一方面在于对传统的目标检测算法如HOG + SVM研究,在一些对于实时性要求较低的特定环境中使用。另外,算法的轻量化,多尺度的检测以及对实时性的优化也是研究的重要部分。在算法的轻量上,目前常用的做法是对模型进行压缩,就是对已经训练好的模型进行简化,减少模型的参数量,可以提高算法的检测速度,如靳丽蕾[6]等人对YOLOv3的改进,其通过对模型权重和对于卷积核的混合枝剪,减少了大量的计算,提高了检测的速度。这样的轻量化能够使得在无人机这样的算计较低的设备上的部署成为可能,但是也存在着枝剪后的模型在训练结果上有较差的稳定性,同时具有很大的枝剪难度。在多尺度的检测上,P Dollar[7]等人提出特征金字塔网络(如图1-1),结合单一特征映射、金字塔特征层、以及综合特征的优点,融合相邻层之间的特征来达到特征增强,优化了采用早期图像金字塔(如图1-2)的对计算机算力要求巨大的缺点。

图 1-1

图1-2

  在无人机视角下的目标识别研究领域,数据集的建设仍处于发展阶段,面临着规模不足、类别失衡和质量参差不齐等多重挑战。当前公开可用的无人机专用数据集在数量和多样性方面尚无法满足深度学习模型的训练需求,这直接制约了算法性能的进一步提升。首先,在数据规模和类别分布方面存在显著的不平衡问题。以目前广泛使用的VisDrone2019数据集为例[8],各类别样本数量差异悬殊:car类目标标注数量高达14万之多,而bus和tricycle等类别仅有4000左右的标注样本,相差近35倍。这种严重的类别失衡会导致训练出的模型对少数类别的识别能力明显不足。更值得注意的是,现有数据集的目标类别覆盖范围较为局限,主要集中在交通领域(如行人、车辆等),对于其他应用场景(如农业监测、野生动物保护、基础设施巡检等)的目标类别则严重匮乏。其次,在目标尺度分布方面存在明显缺陷。统计分析表明,现有数据集中约65%的目标集中在32×32像素的小目标范围内,而对于16×16像素以下的极小目标,不仅样本数量不足,还存在严重的标注缺失问题。据估算,在典型无人机航拍图像中,约有15%-20%的极小目标未被标注或标注不完整。这种尺度分布的不均衡直接导致现有模型对极小目标的检测召回率普遍偏低,在实际应用中经常出现漏检现象。此外,数据标注的一致性问题也不容忽视。由于无人机数据集的标注工作通常由多人协作完成,不同标注者之间难免存在主观判断差异。具体表现在:类别定义模糊,如person和pedestrian两类经常混用;目标边界划分不一致,特别是对于truck和van等相似车型的区分标准不统一;遮挡目标的标注规范执行不严格,部分遮挡超过50%的目标时而被标注时而被忽略。这些标注不一致问题会引入噪声,降低模型的学习效果。更值得关注的是,现有数据集在场景多样性方面也存在不足。大多数数据采集集中在理想天气条件下的城市环境,缺乏雨雪、雾霾、低光照等复杂气象条件下的样本,以及山地、水域、丛林等特殊地形的数据。这种场景单一性限制了模型的泛化能力,导致其在真实复杂环境中的表现明显下降。

1.3研究目标与内容

  本文主要分为个部分:

(1)绪论:在这部分,主要讲述了目前对于研究无人机视角下的目标识别的背景和意义,介绍了现状主流的目标识别相关研究的方向及目前所遇到的问题。

(2)对于无人机目标识别的相关理论介绍,包含对无人机世界系统的概述以及使用比较多的YOLO算法和Faster R-CNN算法的介绍。最后介绍了对于目标识别的嵌入式部署的技术。

(3)介绍了在本文中使用的数据集VisDrone2019,讲述了该数据集存在的问题以及对其进行的优化方式和优化后的结果,最后对优化前后的数据集在数据上进行对比。

(4)详细介绍了使用YOLOv8进行无人机视角下的实时目标检测的原理结构以及选择YOLOv8存在的优缺点。说明了在训练中具体使用的软硬件配置以及实验的结果,然后对结果进行分析,最后将YOLOv8的模型和Faster R-CNN进行性能的对比。

(5)介绍该模型在树莓派上部署的实现过程,包括树莓派的硬件选择与在树莓派上进行的环境搭建,在移植是能进行的相关优化来提高树莓派对目标检测的速度和精度[15]

  • 无人机目标识别相关技术理论

2.1 无人机视觉系统概论

    无人机视觉系统作为无人机感知环境的核心组成部分[20],通过集成先进的图像传感器与智能目标识别算法,实现了环境感知、自主定位、路径规划等关键功能,为完成各类复杂飞行任务提供了重要技术支撑。该系统主要由图像采集模块和图像处理模块构成,形成了一套完整的视觉感知解决方案。

在硬件配置方面,现代无人机可根据任务需求灵活搭载多种类型的图像传感器,包括但不限于高分辨率可见光摄像头、紫外线传感器、热成像相机以及多光谱成像设备等。这些传感器采集的原始图像数据将被实时传输至机载图像处理模块,经过专业的图像预处理(如降噪滤波)、目标检测与识别、特征提取等一系列智能化处理流程。通过对图像特征的深度解析,无人机能够做出精准的决策判断,实现自主飞行控制。

为进一步提升处理能力,部分高端无人机系统还配备了图像传输模块,通过无线数字信号(如5G/WiFi6)或有线连接方式,将采集数据实时传输至地面控制站。这种”端-边-云”协同的计算架构,充分利用地面站的高性能计算资源进行图像分析和目标检测,既保证了处理精度,又通过反馈控制指令实现了对无人机的精准操控。

当前,无人机视觉技术已在军事和民用领域展现出广泛的应用价值。在军事应用方面,该技术支撑着战场侦察、目标监视及自主打击等关键任务,显著提升了作战效能。民用领域则涵盖了精准农业植保、智能物流配送、紧急搜救等多个场景,通过高精度定位、智能避障和自主飞行等功能,大幅提升了作业效率和安全性。

然而,无人机视觉系统在实际应用中仍面临诸多技术挑战:环境因素方面,复杂光照条件、恶劣天气影响以及目标遮挡等问题严重影响识别效果;硬件限制方面,机载设备的有限计算资源与实时处理需求之间的矛盾日益突出。解决这些问题的关键在于突破计算机视觉与深度学习算法的性能瓶颈,通过算法优化和硬件加速的协同创新,实现更高效、更鲁棒的目标识别能力。这不仅是当前研究的重点方向,也是推动无人机智能化发展的核心技术挑战。

2.2 目标识别算法介绍

2.2.1 YOLO系列算法原理

  YOLO(You Only Look Once)是Joseph Redmon和Ali Farhadi等人在2015年首次提出的目标检测算法[18],它的核心思想是将对目标的检测看作一个回归问题,通过一个网络结构便可实现直接对输入的图片进行目标检测的算法。简单来说,YOLO算法采用了一个单独的CNN模型实现end-to-end的目标检测,如图2-1,它先将图片resize成一个448×448的图片,然后将图片输入给CNN网络,最后输出处理过后的检测框和置信度。由于使用的是单一网络,在算法整体上更加统一,因此有着更快的检测速度。YOLO的整体框架由三部分组成:骨干网络(Backbone)颈部网络(Neck)和检测头(Head),由骨干网络完成对输入图像的特征提取,再由颈部网络对骨干网络提取的特征进行处理和融合,以此来检测全局的目标信息和细节,有利于小目标的检测,最后由检测头根据融合后的特征图进行目标的分类,计算一个目标的检测边框和置信度。

在之后的发展中,YOLO不断的更新迭代,使得YOLO对目标检测的精度和速度不断的提升,例如在YOLOv2中加入了多尺度训练,提升了模型对不同尺度的图像的适应能力,在YOLOv5中[19],采用了更加轻量化的模型结构,使得检测速度进一步提升,并且提供了不同规模的模型版本以适应不同的检测设备和应用场景,在YOLOv8中,在骨干网络中加入了CSP(Cross – Stage Partial)结构,该结构可以将特征图分为两部分,一部分进行卷积操作,另一部分直接跨层进行连接后拼接,通过这样的方式减少计算量,在颈部网络加入了PAN结构,能够融合各层之间的特征,充分利用各层的特征信息,提高对目标的检测精度。

图2-1[18]

2.2.2 Faster R-CNN 算法原理

Faster R-CNN[3] 是两阶段目标识别的算法,分为区域提议和检测两个阶段,它先使用RPN生成候选的目标框,然后对每一个目标框进行分类和边界框的回归。

详细的工作过程可以分为以下(图)四个过程:1.对输入的图像使用卷积神经网络进行特征的提取,2.在特征图上使用滑动窗口,在滑动窗口内生成多个长宽比不同的锚框,RPN会对每一个锚框进行二分类判断,判断其是否包含目标,并且通过回归来计算出候选框的位置,3.将这些不同大小的候选框映射到固定大小的特征网络,4.对固定尺寸的特征进行分类,进一步调整候选框的位置,并且预测出具体的类别。

两阶段的检测方式使得Faster R-CNN算法有着很高的检测精度,对于复杂的图像也能展现出良好的检测性能,虽然在后续的版本的R-CNN检测算法中,研究者不断尝试去平衡在计算过程中的精度和素的,但是由于这种双层的算法结构,使得Faster R-CNN的检测速度无法达到YOLO的实时性,在小目标的检测上也更加依赖锚点的设计,对部署的平台的计算资源也有着计算资源的要求,因此不适合用来做无人机视角下的实时目标检测。

2.3 嵌入式部署技术

  由于在无人机的计算资源有限,并且在无人机上由于能源的宝贵,因此对功耗也有着很高的要求,在此同时我们还要保证能有着良好测图像检测能力,这对于模型的部署是一项不小的挑战。因此我们要对模型进行优化以保证其能够在低算力的设备上进行高帧率的检测:在参数存储方面,采用INT8量化技术将32位浮点权重转换为8位整数,不仅使模型体积缩小4倍,还能充分利用嵌入式处理器的SIMD指令集加速计算。实验表明,经过量化的YOLOv8s模型在保持95%以上精度的情况下,推理速度可提升2-3倍。硬件适配与推理优化:对于Intel Movidius系列VPU,将PyTorch模型转换为OpenVINO中间表示(IR)格式[9],利用硬件级优化指令集实现加速。动态分辨率调整策略:建立基于场景复杂度评估的自适应分辨率机制,在目标稀疏场景将输入分辨率降至416×416,在复杂场景保持640×640的标准输入。配合双线性插值上采样和特征金字塔融合技术,可在降低30%计算量的同时,将小目标检测的召回率损失控制在5%以内。此外,引入动态帧率调节算法,根据电池剩余电量和任务优先级实时调整检测频率,进一步优化能耗表现。

  • VisDrone2019数据集的优化与分析

3.1 VisDrone2019 数据集介绍

  VisDrone2019[8]是天津大学机器学习与数据挖掘实验室发布的业界领先的无人机航拍视觉数据集,该数据集在目标检测领域具有里程碑意义。作为目前规模最大、标注最完善的无人机专用数据集之一,其包含10,629张高质量图像,其中训练集6,471张、验证集548张、测试集1,610张,均采用严格的采集和标注标准。数据集精细划分了10个具有现实意义的物体类别,包括’pedestrian’(行人)、’people’(人群)、’bicycle’(自行车)、’car’(轿车)、’van’(厢式货车)、’truck’(卡车)、’tricycle’(三轮车)、’awning-tricycle’(带篷三轮车)、’bus’(公交车)和’motor’(摩托车),全面覆盖了城市空中监控的主要目标类型。在场景多样性方面,VisDrone2019展现了突出的优势。数据集采集场景囊括了高密度城市街区、郊区道路、乡村田野、城市公园、国道以及高速公路等多种典型环境。特别值得一提的是,数据集还系统性地包含了不同天气条件(晴天、阴天、雨天、雾天)和光照变化(晨间、正午、黄昏、夜间)下的样本数据,这种全方位的场景覆盖极大地增强了数据集的代表性和实用性。在标注质量上,VisDrone2019设定了新的行业标准。所有图像都经过专业标注团队的严格标注和交叉验证,标注信息不仅包含常规的边界框,还提供了丰富的属性标注。尤为突出的是,该数据集特别关注小目标检测这一技术难点,其中小于32×32像素的小目标占比高达80%,包括大量10×10像素以下的极小目标。为提升标注精度,标注团队采用了多级放大标注策略,并引入动态标注质量控制机制,确保每个小目标都能被准确标注。统计显示,数据集的平均每图标注数量达到54.6个,远高于同类数据集,这为训练具有强大小目标检测能力的模型提供了坚实基础。

3.2 原数据集存在的问题及优化策略

  VisDrone2019虽然在目前的相关研究种被广泛的使用,但是该数据集仍旧存在一些显著的问题,对训练的模型产生负面的影响。

  • 数据分布的极度不平衡:一方面,该数据集在常见的如people和car等样本有着巨大的数据量,而对于bicycle,tricyc等样本又极度稀少,二者的数量相差能达到30倍。另一方面,该数据集在尺寸多样性上也存在问题,该数据集中小于32×32像素的小目标占到了80%,而小于10×10像素的微小目标则很缺乏。
  • 标注的质量问题:在该数据集中,对于person和pedestrian的判断方式不够严格,出现了同一个目标在一个场景中被标注为person,在另一个场景中被标注为pedestrian的情况,并且存在严重的漏标情况,对于一些小目标和密集场景中的许多目标未进行标注;对于truck和van的区分不够严格;对于一些非矩形的目标的标注没有紧密贴合。
  • 照片质量问题:存在一部分图片的拍摄质量不高,存在目标模糊的情况,影响特征的提取,目标被遮挡的数量非常多,使得很多目标被误判于背景。

对于该数据集的改进方面:

  • 数据质量筛选与清洗:采用多维度评估标准对原始数据集进行全面筛查:首先基于图像清晰度指标(使用Laplacian梯度方差检测),去除严重模糊的图像;其次通过目标可见度分析,移除了遮挡率超过80%的无效样本。经过严格筛选后,最终保留的训练集图像质量显著提升。
  • 对于数量极少的样本如bus、tricycle,bicycle等进行了数据增强,包括加入一些重新标注的新照片,对数据集中已经存在的照片进行轻微的旋转,在对比度,曝光度方面做吃修改,提高少数样本的数量,增加了246个tricycle样本,增加3987个bicycle样本,增加306个awning-tricycle样本等。对于数量极多的样本实行欠采样,减小其对少数样本的影响,对于错标,漏标的小目标进行重新标注。

3.3 优化后的数据集与原数据集的数据对比

  (1)在数据质量方面,通过调用CV2库对数据集进行检测,利用cv2.Laplacian(gray, cv2.CV_64F)方法对图片中的边缘细节进行检测,在清晰的图片中,拉普拉斯算子的响应值较大;而在模糊的图像中,边缘和细节较少,拉普拉斯算子的响应值较小。通过设定阈值,移除了在原数据集中存在82张非常模糊的图,去除率为1.27%有效提升数据的纯净度。(如图3-1)

图3-1

  (2)在数据多样性方面:由于原数据集不同种类的数据相差太大,(如图3-2),在原数据集中,car的数量达到144867,tricycle,awning-tricycle等只有几千,因此通过重新标注一些数据加入训练集的方式,增加了1082张主要包含少数样本bicycle,tricycle,awning-tricycle的数据,各个标签增加的数量如表3-1,增加后的各个样本总数如图3-2。通过增加样本数量,提升了少量标签的数量,使得类别之间更加平衡,降低了个别类别数据的过度集中。

图3-2

图3-3

表3-1

标签名称BuspedestrianAwning-tricycletricyclebicyclemotortruckvanpeoplecar
增加数量608191228761440577069791136405663605894

  (3)使用python脚本对原数据集中的部分图像进行稍微的处理,其中包括对饱和度和亮度的调整,对图片进行轻微的旋转和轻度的透视变换。并且对变换过的图像进行重新的标注。通过这些方法来模拟强光,弱光的环境以及飞行中视角的变化,使得样本覆盖率进一步提高。

  •   基于YOLOv8的无人机视角目标检测

4.1 YOLOv8的无人机地面目标检测的原理与结构

  YOLOv8[10]是Ultralytics公司在YOLO系列的基础上进行优化后,在2023年1月发布的一款目标检测算法,它将对图片的检测任务转化为对网格的单次预测,直接输出边界框的,因此有着很快的检测速度和很高的检测精度。YOLOv8的整体结构可以分为Input,Backbone,Neck,Head四个模块,Input负责将图像缩放到统一的尺寸,并进行图像增强等处理,Backbone基于改进的CSPDarknet,并且引入了C2f模块,对输入图像的特征进行提取,Neck层采用双向融合深度语义和浅层细节,提高了对小目标的检测能力,Head层负责对目标位置,概概率的计算,YOLOv8的Head层将Anchor-Based换成了Anchor-Free,不用再设置预选框进行训练,减少了计算量。

  YOLOv8的主要结构如图4-1[10],在Backbone部分中,包含5个CBS模块,4个C2F_1模块以及1个SPPF模块,其中CBS(如图4-2)是YOLOv8的基础特征提取单元,由卷积层(Conv)、批归一化层(BatchNorm)和SiLU激活函数串联组成,通过卷积的方式压缩特征图的尺寸;C2F_1(如图4-3)是跨阶段融合单元,它通过双分支的结构保留更多的浅层特征,对于无人机视角下的目标检测来说,它增强了对小目标的特征提取能力;最后是SPPF即多尺度特征融合器(如图4-4),它通过串行的池化设计,提高了计算的效率,对于无人机适配上可以增加对远距离小目标以及遮挡目标的全局的感知。在Neck部主要由多个Concat模块,C2F_2模块及CBS模块组成,将提取完成的细节和语义进行平衡,对不同层提取的特征进行融合,有利于增强模型对不同尺寸目标的判断能力。在Head部分中,负责将Neck层提取的多尺度的特征通过计算生成边界框的坐标,类别概率和置信度,在YOLOv8的Head中,使用了Anchor-Free的设计,直接来计算目标的中心点偏移量和宽高,简化了计算的流程,并且使用解耦分类与回归头,提升无人机视角下对密集目标的检测精度。

图4-1

图4-2

图4-3

图4-4

  在这个基础上,对于无人机视角下的图像,还会进行预处理和后处理。在预处理中,可以对无人机拍摄的图像进行几何校正,尽量去减小镜头的畸变和运动飞行造成的图像扭曲,通过图像增强如亮度和对比度来应对一些阴影的变化。在后处理上可以采用非极大值抑制来保留最优的结果,通过修改水平框IoU为支持旋转框SkewIoU,使得无人机拍摄的倾斜物体的检测准确率提升8%左右。

4.2 基于YOLOv8的无人机目标检测优缺点

  YOLOv8由于其优秀的特性在无人机目标检测中已经在无人机目标检测的场景中展现出很强的优势。由于YOLOv8采取先进的网络架构和优化过的算法,在具有极快的推理速度的同时还能保持很高的准确率,这对于无人机来说非常重要,随着无人机的发展[11],现在的无人机往往有着很高的飞行高度,同时为了采集地面详细的信息,无人机会搭载分辨率很高的摄像头,并且由于无人机往往要执行一些实时性很强的任务,这便要求无人机在短时间内能够处理大量的信息;其次在众多的使用案例中,YOLOv8展现出了很高的检测精度,在训练时,若采用质量较高的训练集进行训练和优化,YOLOv8对各种复杂场景以及小目标的检测也能展现出很好的效果,由于无人机特殊的视角,拍摄的画面视野很广,YOLOv8能对各个尺度的目标进行很准确的检测;最后,YOLOv8在模型上提供个多个规模的模型(如表4-1),其最小的YOLOv8n模型的参数量低至320万,在无人机上这种运算资源不是很丰富并且珍贵的平台上,我们可以选择规模较小的模型,可以很大程度上节省计算资源和提高运算速度。

表4-1

  但是无人机的拍摄画面是一个复杂的场景,YOLOv8在无人机视角下的目标检测中也有着很多的局限性。由于地形或者任务的影响,有时无人机需要很高的飞行高度,此时一些目标则会变得非常小,在图片中占很小的像素点,导致特征不明显,很容易造成漏检;且在无人机视角下,地面目标很容易被大树、建筑物等遮挡,严重影响对目标的判断,恶劣的天气也会降低图像的质量,大雪容易对地面目标造成覆盖遮挡,大雾和雨会使得图像变得模糊,这些都干扰着YOLOv8的判断;另外,YOLOv8的性能很大程度上取决于训练集的质量,要求一个训练集能包括各种不同的应用场景,要求有大量的、针对性的数据来训练模型,但是标注一个这样的训练集是一个巨大的工程,不同的人对一些样本之间的界限也不一样,如对行人和站立的人,对卡车和厢式货车的分辨,往往不同的人对一些模糊的样本会标注为不同的结果,对于一些微小的目标也很容易造成漏标;最后,由于YOLOv8是一个基于深度学习的模型,它在决策时是一个复杂的过程,往往很难解释清楚它是如何对一个物体做出检测的,如果将不够成熟的模型部署在一些安全要求很高的场景中,如军事、航空等领域,是一件极其危险的事情[15]。

4.3 实验环境配置

  实验使用的软硬件环境如表4-2.

表4-2 实验环境配置
项目参数
操作系统windows10
显卡RTX3090
显存24GB
pytorch版本pytorch2.0.1
python版本python3.10

4.4 模型评价相关指标

  在无人机对目标识别的任务中,为了能够全面,准确的对训练出的模型进行性能的评估,我们可以分别从精度、召回率、平均精度均值和损失函数指标方面来评价一个模型[12]。在接下来的描述中,如表4-3,TP模型预测为正类,且真实情况也是正类的样本数量,FP模型预测为正类,但真实情况是负类的样本数量,FN模型预测为负类,但真实情况是正类的样本数量,TN模型预测为负类,且真实情况也是负类的样本数量。

表4-3

(1)精度(Precision):精度用来描述模型对目标识别正确的概率,用来评估模型对一个目标识别的准确性,其计算公式如公式(4-1),如一个模型对100个目标进行识别,若是识别正确了80个,则其精度为80%,这能很直观的描述模型在进行识别时的可信度。

(2)召回率(Recall):召回率用来描述在一个被预测的目标中,被正确预测出来的比例,其计算公式如公式(4-2)如对地面的100个车进行识别,最后识别出80个,则其召回率为80%,召回率能够很好的描述对目标的检测中不漏检的能力。

(3)交并比(IoU):交并比用来衡量预测框和真实框的重叠程度,用来描述预测结果的准确性。

(3)平均精度均值(mAP):mAP(公式4-4,其中C表述类的总数量)用来描述一个模型对多个类别检测的好坏,是对每一个类在不同召回率下的平均精确度的平均,它考虑了模型在不同召回率下的表现,以后面要用的mAP为例,是计算在交并比阈值为0.5时的平均精度的均值,它能够很好的描述模型对各类目标检测的好坏。

(4)损失函数指标:损失函数指标包括box_loss(边界框损失)cls_loss(分类损失)和dfl_loss(分布聚焦损失),box_loss(边界框损失)描述了检测框和真实框之间的距离,描述模型对识别目标的定位能力;cls_loss(分类损失)描述模型对不同类别的识别能力,降低该函数可以提高对不同类别的识别能力;dfl_loss(分布聚焦损失):通过降低该损失函数可以提高对模糊目标的检测精度。

(5)每秒帧数(FPS):用来描述模型对图像的识别速度,即每秒钟识别图片的数量。越高的FPS处理图像的实时性越强。

4.5 训练与结果分析

4.5.1 训练参数的优化

由于无人机视角的特殊性,其拍摄的画面含有大量的小目标和遮挡目标,因此我们需要对参数进行更适合应用场景的优化[13]

在目标增强上,具体参数如表4-4:

表4-4

参数设置参数作用
mosaic: 1.0mosaic增强,它会将四张不同的图像随即裁剪拼接成一张新的图像,增加图像的多样性,能让模型学习到更多尺度的样本。
mixup: 0.1使用mixup增强将两张图片进行按比例混合,设置为0.1即有10%的概率使用到mixup,防止图片变得过于模糊,影响对小目标的检测。
copy_paste: 0.2使用copy_paste增强,在训练中有20%的概率会使用到复制粘贴增强,该功能可将图像中的小目标复制粘贴到其他位置,达到怎加数量的效果,增强模型对小目标特征的学习。
hsv_h: 0.01hsv_h:0.01即对图片的色调进行微小的调整,以模仿不同光照,不同天气下的色调的变化。
hsv_s: 0.5hsv_s: 0.5即对图片的饱和度进行微小的调整,可以让模型学习到不同饱和度下的目标特征。
hsv_v: 0.4hsv_v: 0.4即对图片的亮度进行微小的调整,模拟在不同的光照条件下的目标的变化。
fliplr: 0.5fliplr: 0.5,50%的概率会对图片进行水平的翻转,提高模型在水平方向上对目标对称特征的学习。

在损失函数权重上,参数如表4-5:

表4-5

参数设置参数作用
box: 0.15提高边界框回归的权重,模型会在训练的过程中对边界框预测的精准度更加关注,对目标的定位更加准确。
cls: 0.3适当对分类损失的权重减少,由于无人机视角下存在大量的小目标,需要更加准确的对小目标的定位,通过降低cls权重可让模型更加关注别的方面,提升模型的整体性能。
obj: 0.7在无人机视角下的目标检测中,很容易出现漏检的情况,通过增加对目标的权重,可以增加模型对目标的关注度,减小漏检情况
nwd: 0.8nwd通常用来衡量两个分布之间的距离,在小目标检测中可以用来衡量预测框和真实框之间的误差,比使用传统的IoU来衡量的更加精确,提升对小目标的检测能力。

4.5.2训练结果的性能分析

  训练使用yolov8m.pt作为预训练权重,该模型大约有两千五百万参数。

表4-6 改进前后的模型性能对比

 P/%R/%PmAP50/%PmAP50-95/%
优化前0.4720.3430.330.193
优化后0.5430.4250.4370.267

由表4-6可知,优化过后训练出的模型在精度、召回率、平均精度均值等指标上均有一定的提升,更高的精度说明优化后的模型将会在预测时更加准确,减少误判的情况;召回率的提高说明优化后的模型在检测时能够检测出更多的实际存在的目标,减少了漏检测情况;在交并比阈值为0.5时的平均精度均值的显著提升说明优化后对目标检测的能力有了全面提高,在复杂场景中对小目标的检测的表现将更好。

表4-7 优化前后模型对模型中各类的平均精度均值对比

表4-7

 pedestrianpeoplebicyclecarvantruck
优化前0.4410.3380.1420.80.4580.389
优化后0.4770.3820.1850.8130.4680.413
 tricycleawning-tricyclebusmotor  
优化前0.3010.170.5920.448  
优化后0.3260.1860.6350.487  

由表4-7可知,在经过对训练集和参数的优化后,模型对所有类别的检测性能都得到提升,验证了改进的可行性,对于原数据集中的少数样本如bicycle,tricycle等均有了大幅度的提升,提高了对pedestrians、people这样的小目标的检测能力;对于car、bus这样的相对来说较大的目标检测的mAP50能达到0.813和0.635,能够进行很好的检测。

图4-5

如图4-5。优化前的 mAP50 曲线上升缓慢,前期提升困难,30 轮后虽有所加快,但幅度仍较小。这是因为原始数据集存在标注不准确、类别分布不均衡、数据多样性差等问题。标注错误会使模型学习到错误信息,不均衡的类别分布让模型对少样本类别学习不足,数据多样性低则限制模型对不同场景和目标变化的适应能力,最终影响 mAP50 值提升。优化后的曲线上升趋势更显著,相同轮次下 mAP50 值更高。前期提升快,说明对数据集的优化让模型能更快捕捉有效特征,加快收敛速度。后期仍保持上升且幅度较大,体现出优化后的数据集助力模型学习,增强了泛化能力,在更多轮次训练中持续提升性能。

优化效果对比:对比两条曲线,数据集优化效果显著。优化后模型的 mAP50 值明显更优,在相同轮次下精度更高。这表明数据清洗去除错误标注、数据增强增加样本多样性、类别平衡处理等优化手段,使模型能更好地学习目标特征,提升了目标识别准确率。

图4-6 训练时各损失指标-epoch

  从图4-6中可以看出,优化前和优化后的模型训练损失总体都呈现下降趋势,这表明随着训练的进行,模型在不断学习和拟合数据。但是优化后的模型在训练时的损失下讲降速度更快,并且三个损失最终到达的损失值更低,对于box_loss,说明检测框和实际框更加接近,对目标的定位更加准确;对于cls loss,说明模型对目标类别识别更加准确。优化后的图像相比于优化前,更加平稳,说明训练出的模型有着更好的检测能力。

图4-7

  最后,将对同一张图片检测的结果进行对比(如图4-7),从这三张图片可以直观看到,原图是未经处理的原始街景画面,优化前和优化后图片则是利用目标检测模型对原图中目标进行识别标注后的结果。对比优化前和优化后的图像,能明显发现优化后的模型对一些非常小的目标的检测更加准确,漏检的情况也大大降低,如优化前对行人的检测存在大量的漏检,对于远处的汽车也存在大量的漏检情况,而优化后对目标的捕捉能力明显加强。在置信度上,优化前模型对目标检测的置信度普遍偏低,而优化后的置信度普遍更高,说明模型对检测的结果更加有信心,检测的结果更加可靠。

  • 树莓派的部署与实现

5.1 树莓派的硬件选择与环境搭建

树莓派在硬件上选择树莓派5b,搭载了Arm Cortex-A76 @2.4GHz处理器,每核心具有512kb二级缓存和2mb三级缓存,摄像头采用Ugreen的USB摄像头。在软件上方面:使用操作系统系统为 Debian GNU/Linux 12,Python 3.8.20 pytorch2.4.1。

5.2 模型轻量化与移植优化

  如果直接在树莓派5B上面运行pytorch格式的yolov8的模型,因为巨大的计算量回导致计算速度很慢(如图5-1),其检测速度不到1FPS,平均检测时间达到了1500ms左右,在实际应用中效果很差。

图5-1

  由于树莓派5B对OpenVINO ARM CPU 插件的支持,可以将pytorch格式的模型转换为openvino型,openvino型的模型有着更小的体量,比pytorch格式的小了约4倍,占用更小的内存空间,并且通过INT8量化后,能提高检测速度,(如图5-2)其检测的平均时间缩小到850ms左右,检测速度能够提高到1FPS,虽然在检测速度上有了大幅度的提升,但是1FPS的检测速度仍旧效果不好。

图5-2

  由于检测的输入图像的大小在很大程度上影响着检测的速度,因此可以将输入图片的大小从640×640减小为320×320,虽然这样的减小会失去一些极小的目标,但是在检测速度上会有极大的提升。(如图5-3),通过将输入图像的尺寸修改为320×320,虽然对于远处的一些极小的目标出现了漏检的现象,但是检测速度提高到了5.5FPS,平均检测时间也降低到150ms左右,已经具有了很好的实时性,在实际使用中已有不错的效果。

图5-3

  在减小输入图像尺寸的基础上,对于树莓派还可以通过使用CPU加速的方式进一步加快检测的速度,(如图5-4)通过使用CPU加速,可以使得检测速度达到7FPS,平均检测时间降低到135ms左右,实时性进一步提高。

图5-4

  • 总结与展望

6.1 工作总结

  本文使用了YOLOv8算法对VisDrone2019数据集进行了训练,介绍了在无人机视角下对目标进行识别的算法原理和在嵌入式上对模型的部署以及优化,主要工作有:

  • 对VisDrone2019数据集进行优化,对一些数量较少的样本进行了补充。
  • 在训练时对参数进行优化,使用更适合无人机视角下的参数进行训练,通过对数据增强和修改损失函数权重的方式提高对小目标的检测能力。
  • 对优化后的训练结果进行分析,分别从优化后的检测效果,训练结果的性能,以及优化后训练集对算法的适配上进行分析,验证了优化的可行性。
  • 在树莓派上对基于YOLOv8的实时检测进行了部署,并通过不断的优化提高在树莓派这样的运算资源较少的设备上的检测速度。

6.2 展望

  尽管本研究取得了一定的成果,但仍旧发现一些不足之处,对未来的研究提供了改进方向。

  • 对于小目标的检测仍旧需要不断的改进,在检测的过程中,对于很小目标的检测往往需要更多的计算时间,因此需要在对小目标的检测精度和实时性上找到一个较好的平衡,对于不同的应用场景需要有更多针对性的修改,使其能满足更多的实际需求。
  • 对于复杂环境的适应性需要加强,该数据集缺乏在雪天雨天的场景,在后续的研究中应该收集更多的相关数据去丰富数据集,使模型能够适用于更多的复杂环境。
  • 多模态数据的融合:本研究采用的数据集为完全在可见光下的图像,而现在的无人机可以同时搭载多种图像传感器对目标进行采集,在未来的研究中可以融合多种如红外摄像头,激光雷达等传感器的数据进行多维度的检测,进一步提高检测效果。

在嵌入式上的部署,由于是在无人机视角下的实时目标检测,可以考虑是否可以在无人机上搭载更高算力的处理器或者为目标识别单独加入相关计算模块,在软件方面,进一步通过枝剪和量化的方法提高在设备上的检测速度,提高检测的效率。

参考文献

  • 冷佳旭,莫梦竟成,周应华,叶永明,高陈强,高新波. 2023. 无人机视角下的目标检测研究进展. 中国图象图形学报, 28(09):2563-2586
  • 徐鹏.基于多旋翼无人机的航拍小目标智能识别跟踪技术研究[D]. 南京航空航天大学, 2022. DOI:10.27239/d.cnki.gnhhu.2022.002182.
  • Ren S , He K , Girshick R ,et al.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137-1149.DOI:10.1109/TPAMI.2016.2577031.
  • Evaluation and Evolution of Object Detection Techniques YOLO and R-CNN [J]. International Journal of Recent Technology and Engineering, 2019, 8 (2S3): 824-829
  • 郭庆梅,刘宁波,王中训,等. 基于深度学习的目标检测算法综述 [J]. 探测与控制学报, 2023, 45 (06): 10-20+26.
  • 靳丽蕾,杨文柱,王思乐,等.一种用于卷积神经网络压缩的混合剪枝方法[J].小型微型计算机系统, 2018, 39(12):6.DOI:10.3969/j.issn.1000-1220.2018.12.007.
  • Lin T Y , Dollar P , Girshick R ,et al.Feature Pyramid Networks for Object Detection[J].IEEE Computer Society, 2017.DOI:10.1109/CVPR.2017.106.
  • Du D , Zhu P , Wen L ,et al.VisDrone-DET2019: The Vision Meets Drone Object Detection in Image Challenge Results[C]//ICCV visdro workshop.2019.DOI:10.1109/ICCVW.2019.00030.
  • 陈学仕. 基于树莓派的道路病害检测识别算法研究与应用[D]. 江汉大学, 2022. DOI:10.27800/d.cnki.gjhdx.2022.000180.
  • R. Varghese and S. M., “YOLOv8: A Novel Object Detection Algorithm with Enhanced Performance and Robustness,” 2024 International Conference on Advances in Data Engineering and Intelligent Computing Systems (ADICS), Chennai, India, 2024, pp. 1-6, doi: 10.1109/ADICS58448.2024.10533619.
  • 丁逍,蒋鸿宇,郭有为,等. 面向空对空场景的无人机识别与跟踪系统 [J]. 工业控制计算机, 2024, 37 (12): 6-8.
  • 王梦珂,王卓,陈增照. 深度学习评价:理论模型、相关技术与实践案例 [J]. 广西师范大学学报(哲学社会科学版), 2023, 59 (06): 66-75. DOI:10.16088/j.issn.1001-6597.2023.06.007.
  • 李志雄,黎国进,李倩男. YOLOv8模型架构与可训练参数分析 [J]. 电脑知识与技术, 2025, 21 (09): 25-28. DOI:10.14004/j.cnki.ckt.2025.0417.
  • 李艺良,宋海鹰,黄彦嶂,等. 基于YOLOv5的微小飞行器自主识别及云-边-端视觉跟踪监控系统 [J]. 机电工程技术, 2024, 53 (11): 143-147.
  • 郑尚坡,陈德富,邱宝象,等. 基于树莓派与YOLOv5-Lite模型的行人检测系统设计 [J]. 计算机时代, 2023, (09): 116-119. DOI:10.16644/j.cnki.cn33-1094/tp.2023.09.024.
  • 周磊,牟怿,陈为真. 复杂背景下的小目标无人机检测方法 [J]. 电光与控制, 2025, 32 (04): 89-95+110.
  • 雷帮军,余翱,吴正平,等. 改进YOLOv8n的无人机航拍小目标检测算法 [J]. 现代电子技术, 2025, 48 (03): 26-34. DOI:10.16652/j.issn.1004-373x.2025.03.005.
  • Redmon J , Divvala S , Girshick R ,et al.You Only Look Once: Unified, Real-Time Object Detection[C]//Computer Vision & Pattern Recognition.IEEE, 2016.DOI:10.1109/CVPR.2016.91.
  • Zhu X , Lyu S , Wang X ,et al.TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios[J].  2021.DOI:10.48550/arXiv.2108.11539. 
  • 陈汗青,万艳玲,王国刚. 数字图像处理技术研究进展 [J]. 工业控制计算机, 2013, 26 (01): 72-74.