当前位置: 首页 > news >正文

突破微小目标检测瓶颈:智能无人机在蓝莓产量估算中的解决方案

【导读】

本文提出了一种使用搭载计算机视觉的智能无人机估算蓝莓产量的方法。系统利用两个YOLO模型:一个检测灌木丛,另一个检测浆果。它们协同工作,智能控制无人机位置和角度,安全获取灌木近景图,实现精准的浆果计数和产量估算。实验展示了模型在裁剪图像上的良好效果,并讨论了部署时的采样策略、小目标(蓝莓)标注及模型评估的挑战。

目录

一、相关工作

二、处理流程

分层采样

单株灌木检测

灌木侧视图像采集

三、数据集

数据采集

浆果数据集

数据标注

四、YOLO目标检测

训练

验证

DeepSORT追踪

实验结果

浆果模型

灌木模型

灌木裁剪浆果模型

五、讨论

六、结论


人工智能与自主无人机相结合的精准农业技术,已被证明不仅能有效估算多种作物的产量,还能用于杂草和病害检测管理。蓝莓作为重要的经济作物,其生长季早期的产量预测对农户制定定价策略、安排充足采摘人员以及提前向分销商通报供应量具有关键意义。

图片1.png

论文标题:

Accurate Crop Yield Estimation of Blueberries using Deep Learning and Smart Drones

论文链接:

https://arxiv.org/pdf/2501.02344

本研究提出基于YOLO(You Only Look Once)深度学习架构的目标检测模型流程,通过编程控制智能无人机精准捕获蓝莓灌木图像并检测每株灌木的可采收浆果数量(图1展示典型蓝莓灌木示例),进而实现田间产量估算。创新点在于:不仅能检测整株灌木上所有可见浆果,还通过灌木检测确保无人机精准定位和图像采集。这种智能任务模式与传统自主任务的区别在于:后者需在任务前预设无人机飞行路径(如沿灌木行保持固定距离飞行),且摄像头以固定视角拍摄。但若因风力或GPS信号丢失导致位置偏移,无人机无法实时调整与灌木的距离或摄像头视角进行补偿。

图片2.png

而搭载灌木检测模型的无人机能执行更智能的任务:在保持安全距离前提下,实时调整飞行位置紧贴灌木丛飞行,获取浆果显示尺寸最大化的最优灌木视角。这使系统无需预先获取每株灌木的精确GPS坐标即可实施分层随机采样等策略——而这正是自主任务必需的前提条件。结合实时动态定位技术(RTK),流程还能实现蓝莓田的精准测绘:先通过灌木模型对每株灌木进行地理标记,飞行后再用浆果模型统计单株浆果数量。配合第三节描述的田间数据,该方案能获得比现有方法更精确的产量估算结果。


一、相关工作

涉及蓝莓的具体研究有:采用YOLOv3-v4模型检测手持设备拍摄蓝莓的成熟度(后者针对野生蓝莓);应用Mask R-CNN模型分割单颗蓝莓以评估成熟阶段;基于U-Net架构开发无人机图像的行间分割模型;提出仅标注蓝莓灌木主干的检测模型。与之对比,灌木检测模型要求识别完整灌木丛,这对产量精确估算至关重要。

现有研究中极少有通过人工采摘验证单株果实数量的工作。为构建验证数据集,人工采摘了15株蓝莓灌木的全部果实获取实际数量(称为"采摘真值")。这类研究稀缺的主要原因是农业产量通常按重量而非果实数量记录。相关验证工作主要针对苹果、芒果等大型果实,以及杏仁和葡萄,但均未如本文那样详细讨论单株可见果实与实际果实的比例关系——这对理解遮挡程度具有重要意义。


二、处理流程

设F为二维矩形蓝莓田,面积A(英亩),包含C株灌木。假设已知田块角点GPS坐标及行向D(所有行方向一致,见图2),Y表示单位面积产量(果实数/英亩)。产量估算流程可概括为:先通过分层采样控制智能无人机飞越随机点,利用灌木检测模型捕获图像;再应用浆果检测模型统计单株浆果数,最终通过公式1估算Y。具体步骤如下(根据采样方法调整):

  • 分层采样

将F划分为M×N非重叠方形网格{Cmn},提出两种网格内灌木采样策略:

  • 点采样:每个网格Cmn内选择距离随机点pmn最近的单株灌木

  • 行采样:在Cmn内沿垂直于D方向的边缘选取随机点pmn,采样整行灌木(见图3)

(a) 控制无人机飞抵各pmn点(预设高度h)

  • 单株灌木检测

(a)在pmn点俯拍视角内,使用灌木模型识别最近灌木bmn(即检测框中心点,见图3),并启动DeepSort目标追踪

3.png

(b) 控制无人机水平飞至bmn正上方(保持高度h)

  • 灌木侧视图像采集

(a)沿垂直于D方向随机选择一侧(考虑太阳角度等因素),水平飞离bmn点至距离d,同步调整摄像头角度维持追踪。可进一步协调无人机位置与摄像头角度确保完整灌木入镜(见图5)

4.png

(b) 点采样:拍摄bmn点灌木图像,记录灌木模型预测的检测框坐标cmn

(c) 行采样:沿D方向飞行,对视野中央灌木连续拍摄并记录各株检测框坐标cmn,直至穿越网格边界。通过目标追踪区分不同灌木并调整位置确保完整拍摄

浆果计数(任务后处理)

(a) 基于检测框坐标cmn统计单侧可见浆果数,提供两种方案(第四节讨论优劣):

i. 图像裁剪:截取检测框cmn区域图像,应用浆果模型统计单株可见浆果

ii. 检测框过滤:在全图上运行浆果模型,仅统计落入cmn框内的检测结果

(b) 计算所有采样灌木的平均浆果数B,乘以2获得整株平均浆果数


三、数据集

  • 数据采集

数据包含两种高丛蓝莓(Vaccinium corymbosum)品种"Duke"和"Draper"的灌木图像(静态照片与视频帧),采集自新泽西州南部多个露天蓝莓农场。为增强数据多样性,同时使用了手持设备(含手机)和无人机摄像头进行拍摄。尽管原始采集图像总数超过千幅,但由于标注工作耗时且资源有限(具体挑战将在下文讨论),实际用于模型训练的仅为其中部分样本。

  • 浆果数据集

浆果数据集共包含95张标注图像,来源分为两类:

航拍图像(无人机):35张

地面图像(手持设备):60张

这95张图像是当前已完成完整标注的全部样本,虽然数量有限,但包含超过10万枚浆果的标注。当前数据集规模已能支撑构建精度合理的模型,后续实验结果将验证这一点。

采用84/16的比例划分训练集与验证集:训练集含80张图像,验证集分为A/B/C三组各5张(见表1)。训练集进一步细分为两个子集(见表2):

5.png

6.png

  • 无人机子集:20张图像,由DJI Phantom 3和Autel Evo II Pro无人机拍摄

  • 手持设备子集:60张图像,来源包括iPhone、Android手机和佳能EOS Rebel单反

所有训练集图像均摄于2021与2022年夏季(示例见图6a、6b、7a、7b)。

7.png

8.png

验证集的构成差异如下:

验证集A:5张DJI Phantom 3无人机2022年夏季航拍图

验证集B:与A集相同灌木群的另一侧视角图像

验证集C:5张DJI Mini 3无人机2023年夏季航拍图

  • 灌木数据集

灌木数据集包含256张无人机拍摄的多角度图像(不同高度与视角,示例见图12、13),按90/10比例划分为训练集与验证集(见表3)。

9.png

10.png

11.png

  • 数据标注

浆果模型标注规范:

为每颗可见浆果绘制紧密包围的矩形检测框,按颜色分为两类:青果(Green)与成熟果(Blue)(示例见图8)

12.png

分类标准通过标注团队共识确定(参考图9、10),未采用客观量化指标

13.png

14.png

考虑过增加颜色分类,但为提升标注效率(总标注量超12万枚,目前该类型最大规模数据集)最终保留两类

各数据集标注数量(青果、成熟果、总量)见表1。青果标注量显著高于成熟果,验证集A的青蓝比最高(10.7),验证集C最低(1.85),这与集C拍摄时间更接近首轮采收日有关

浆果计数模型:

  • 将原图分割为640×640像素的图块(因YOLO模型更适应小尺寸方形输入)

  • 从左上角开始切割,无法完整分割的残余区域弃用(流程示意见图14)

  • 跨图块检测框按中心点归属原则分配

15.png


四、YOLO目标检测

基于以下原因,浆果与灌木模型均采用YOLOv5s(小型架构):

  • 使用更大模型(如YOLOv5m中型或YOLOv5l大型)对训练指标改善有限

  • 灌木模型需依赖无人机机载计算机实时推理,小型模型方能满足性能要求

  • 在Jetson Nano平台搭配Deepstream运行YOLOv5s时,灌木模型可实现6-9帧/秒的检测速度

  • 训练

灌木和浆果模型分别基于灌木和浆果数据集,使用YOLOv5s的超参数配置文件"hyp.scratch-low.yaml"中的默认设置进行训练。我们使用批量大小为32,灌木模型训练最多400个epoch,浆果模型训练最多300个epoch;当交叉验证损失与训练损失出现偏离时,使用默认的早停标准停止训练。训练指标通过Ultralytics YOLOv5的Python工具库中的'metric.py'脚本计算。我们发现改变其他默认参数对准确度影响很小,认为优化这些参数不会改变本文的结论;我们相信更重要的是增加数据集规模并添加更多高分辨率图像来显著改进我们的模型。

  • 验证

使用五折交叉验证中每折最佳模型(基于最高mAP:0.5)对表1和表3中的数据集进行验证。对于浆果模型,每张图像首先被分割为700×700的重叠图块,或尽可能接近这些尺寸,使它们在每个维度上重叠60像素;这样可以避免如果使用不重叠的图块可能导致浆果被重复计数的情况。然后将每个图块通过浆果模型,并使用后处理去除出现在两个重叠图块中的重复检测框。为了计算每个类别的精确率和召回率,应用0.1的置信度阈值生成检测结果,应用0.3的IOU阈值在与真实标注比较时计算真正例;如果有多个检测结果在IOU阈值和类别上都匹配一个真实标注,则选择置信度最高的检测结果。使用较低的IOU阈值(相比YOLOv5默认的0.6阈值)是为了避免消除与真实标注重叠不足的正确预测。这是因为蓝莓的检测框尺寸较小;因此,这些框的位置检测误差即使只有几个像素,也会显著影响它们的IOU。

  • DeepSORT追踪

为了测试我们的灌木模型在第3节流程中讨论的追踪灌木的准确性,我们使用DeepSORT计算多目标追踪准确率(MOTA)。DeepSORT是一种计算机视觉追踪算法,通过为每个检测到的对象分配ID来追踪视频流中的对象[23]。它是简单在线实时追踪(SORT)的扩展,因为它整合了基于深度外观描述符的外观信息。我们将DeepSORT应用于两个短视频片段:一个是无人机执行点采样的视频,另一个是执行行采样的视频。

  • 实验结果

在本节中,我们展示浆果模型和灌木模型的训练和验证结果,包括单独使用和组合使用进行灌木裁剪以获得仅前景中心灌木的总浆果计数的情况。我们还展示了使用DeepSORT算法的灌木模型的追踪结果(MOTA)。

  • 浆果模型

使用五折交叉验证训练了三种不同的浆果模型:无人机模型、手持模型和融合模型。无人机和手持浆果模型分别在20张无人机图像和60张手持图像上训练(见表2)。融合浆果模型(或简称浆果模型)在80张图像(无人机和手持)的合并数据集上训练;我们将这个合并数据集称为浆果训练集。

训练结果:三种浆果模型(无人机、手持、融合)的训练指标分别在表4-6中给出。手持模型在所有指标(精确率、召回率、mAP和F1)上都表现最佳,这在意料之中,因为手持图像中的灌木拍摄距离更近,浆果比无人机图像中的更大,因此检测更容易。无人机模型在精确率方面几乎与手持模型一样好,但召回率明显更差。当然,这两个模型的好坏取决于它们训练所用的数据,因此在下面展示验证结果时,我们会看到它们的性能反转,这支持了需要一个能适应多种不同类型图像的融合模型。

16.png

17.png

18.png

验证结果:表7、8和9分别展示了三种浆果模型(无人机、手持、融合)在验证集A、B和C上的精确率和召回率。对于集A和B(表7、8),无人机浆果模型在所有模型中具有最高的总体精确率;然而,融合模型具有显著更高的总体召回率和略好的蓝色浆果精确率。另一方面,手持浆果模型在所有类别中表现最差。特别是绿色浆果的召回率极低,表明该模型未能检测到许多绿色浆果,特别是在背景灌木上显得更小的那些,这使得模型更难检测它们。此外,蓝色浆果类别的精确率也相当低,这表明手持浆果模型在正确检测蓝色浆果方面表现不佳。至于验证集C(表9),性能发生反转,融合模型现在具有最高的总体精确率,而总体召回率仅比无人机和手持模型略差。观察到手持模型的总体召回率相比表7、8中的结果显著提高。然而,所有三个模型在总体召回率上都表现不佳。对假阴性的检查发现,它们是背景灌木上的浆果,虽然被标注但因尺寸太小或阴影太重而无法被任何模型检测或识别为浆果。总体精确率的结果证明,与单独使用无人机和手持图像训练相比,使用合并的无人机和手持图像训练有助于改进(融合)浆果模型,总体召回率仅略有下降(但绿色浆果召回率最佳)。

19.png

20.png

21.png

表10单独展示了融合浆果模型在三个验证集(A、B和C)上的精确率和召回率,以便更好地比较结果。集C的结果获得了最高的总体精确率,但不幸的是也获得了最低的总体召回率,我们之前将其归因于背景灌木上的浆果像素分辨率太低,模型无法检测。这一点在我们后续仅考虑检测前景中心灌木上的浆果时得到的结果中得到了支持。相反,集B的结果具有最低的总体精确率,但最高的总体召回率。

22.png

图15、16和17展示了集B中的样本图像(B2),但绘制了不同类型的检测框:真实标注(图15)、预测结果(图16)以及假阳性和假阴性(图17)。仔细检查假阳性可以发现,其中一些可能是浆果,但难以清晰辨别,这解释了为什么它们没有被标注。

23.png

24.png

25.png

  • 灌木模型

训练/验证结果:表11给出了在灌木训练集上训练的灌木模型的训练指标。表12给出了在灌木验证集上验证的灌木模型的验证指标。两个表都显示了约90%的高精确率,以及从训练的高70%到验证的低80%的良好召回率。对真阴性(未检测到的灌木)的检查表明,灌木模型难以检测图像边缘的那些灌木。幸运的是,这不是问题,因为灌木模型的目标是检测和追踪前景灌木。

26.png

27.png

图18和19分别展示了灌木模型在斜侧视角和鸟瞰视角下的样本预测结果,后者还包括一个假阳性和假阴性。灌木追踪:我们计算了两段视频的多目标追踪准确率(MOTA):灌木视频1和灌木视频2。灌木视频1(24秒)是由DJI无人机从上方飞向灌木并同时调整其位置和摄像头角度从鸟瞰到斜侧视角拍摄的。灌木视频2(5秒)是由DJI无人机沿蓝莓灌木行横向飞行拍摄的。表13给出了两段视频的MOTA结果。尽管MOTA低于我们的期望,但对检测结果的检查表明,灌木模型在追踪前景中心灌木方面做得非常好,这是模型的主要目标,而在图像边缘的灌木上表现较差,这一点我们之前提到过。

28.png

29.png

  • 灌木裁剪浆果模型

浆果和灌木模型可以组合成一个流程,仅检测出现在单个灌木上的浆果。我们称这个流程为灌木裁剪浆果模型。具体来说,我们首先将全尺寸图像通过灌木模型,获得检测到的灌木及其对应检测框的数组。从这些检测框中,我们选择一个称为中心检测框(对应前景中心灌木;见图21a和21b),其中心在径向距离上最接近图像中心,然后使用OpenCV2围绕中心检测框裁剪图像。裁剪后的图像随后通过浆果模型检测浆果。检测结果与中心检测框内的真实标注进行比较。

30.png

表14、15和16分别展示了使用灌木裁剪浆果模型(无人机、手持和融合)在验证集A、B和C上的验证结果。这次我们看到融合模型在所有验证集上的总体召回率都优于无人机和手持模型。手持浆果模型在集A和B(表14和15)的总体精确率和召回率上都表现最差,正如在全图像验证时观察到的那样(见表10),但在集B(表15)的绿色浆果精确率上出人意料地表现良好。对于集C,融合模型获得了最佳的总体精确率和召回率,手持模型的结果仅略差。这表明集C中的无人机图像几乎具有与手持图像相同的空间分辨率。我们相信,融合模型在未来无人机拍摄的图像上会表现最佳,这些无人机的摄像头分辨率只会继续提高。为了比较,表17单独展示了使用相同的灌木裁剪融合浆果模型验证集A、B和C的结果。这里的结果与在全图像上验证时的结果类似(见表10),但观察到集C的召回率显著提高,因为模型不再需要检测背景灌木上的微小浆果,这在全图像验证时是困难的。

31.png

32.png

33.png


五、讨论

我们的浆果模型结果突显了标注浆果和训练模型时的挑战。由于尺寸小而难以辨别的浆果,特别是背景灌木上的那些,可能导致主观标注,从而产生模糊的真实标注。许多假阳性检测可以被认为是浆果的真实检测,这取决于人的视力,但由于分辨率低而难以确定。此外,部分隐藏浆果的遮挡、绿叶对绿色浆果的伪装以及阴影浆果,使得训练一个准确的浆果模型相当具有挑战性。

灌木模型的结果清楚地表明,检测灌木不一定比检测浆果更容易。显然,灌木比浆果大得多;然而,灌木的复杂枝条结构,加上其枝条可能与邻近灌木重叠,给训练一个准确的灌木模型带来了挑战。

灌木裁剪浆果模型的结果表明,围绕前景中心灌木裁剪以消除背景浆果的有效性,从而提高了模型的精确率和召回率,进而提供了更准确的作物产量估计。基于灌木裁剪浆果模型的采摘-视觉比α估计表明,它可以显著变化,并取决于许多因素,如拍摄的灌木特定侧面和蓝莓品种,以及我们未考虑的其他因素:灌木大小、灌木叶密度、环境和土壤条件。


六、结论

在本文中,我们提出了一种基于深度学习的对象检测模型流程,用于检测蓝莓灌木及其上的单个浆果。这些模型使搭载它们的智能无人机能够执行智能任务,即精确定位灌木并捕捉其侧视图,从而获得更准确的作物产量估计。我们已经开始使用定制构建的可编程无人机来捕获数据以测试我们的流程,并希望在不久的将来报告我们的实验结果。我们希望我们的工作能激发其他人解决本文提出的挑战,并在我们的基准结果上改进。

http://www.xdnf.cn/news/1003933.html

相关文章:

  • Smart Form Adobe form
  • 华为云Flexus+DeepSeek征文|基于华为云一键部署的 Dify LLM 应用平台三种方案横评:单机、知识库增强、高可用容器化比较
  • DAY 52 神经网络调参指南
  • yolov5环境配置
  • linux共享内存解析
  • 完整 Bootloader 框架
  • 智能制造:解读41页中小工厂数字化新路径【附全文阅读】
  • CoSchedule Headline Analyzer:分析标题情感强度与可读性
  • 在 Flask 或 Tornado 中返回渲染后的页面内容
  • 爱普生SG5032EEN差分晶体振荡器的特点
  • Element UI 表格el-table宽度不能自适应的问题解决方法
  • 深度学习编译器
  • Docker搭建2FAuth服务
  • 数据结构 (树) 学习 2025年6月12日12:59:39
  • Vue 生命周期
  • 铸铁平台的制造工艺复杂而精细
  • 音视频之H.264/AVC编码器原理
  • 头歌之动手学人工智能-Pytorch 之torch.nn进阶
  • 算法导论第二章:递归与分治的数学艺术
  • 【MV】为什么需要DeepSeek 的分析: AI 替代编舞师
  • Docker 常用命令大全
  • 基于LangChain构建一个RAG多轮对话问答应用
  • LeetCode 868.二进制间距
  • 第三十八课:实战案例-飞鸟和飞机的识别
  • EtherCAT主站转Profinet网关与禾川伺服驱动器X4E快速通讯案例
  • 并行程序设计
  • Nuttx之mm_realloc
  • AtCoder-ABC-409 题解
  • java BIO/NIO/AIO
  • 工具+服务双驱动:创客匠人打造中医IP差异化竞争力