【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法

文章目录

  • 一、引言
  • 二、树冠体积测量对比方法
    • 2.1冠层体积人工测量法
    • 2.2冠层体积拟合测量法
  • 三、基于深度相机与分割掩膜探测树冠体积方法
    • 3.1像素值与深度值的转换
    • 3.2树冠体积视觉探测法
    • 3.3实验分析
  • 总结


一、引言

果树靶标探测是实现农药精准喷施的关键环节,本章以果树冠层体积的计算结果作为实现变量喷药决策的数据依据。基于上一章实例分割模型对树冠图像分割成掩膜的基础上,提出一种基于深度相机的果树冠层体积探测方法,即视觉探测法。采用深度相机作为感知单元,通过扫描果树获得冠层深度图像,其深度值表示冠层与相机之间的实际距离,通过换算得出树冠掩膜的像素点代表的实际面积,进而估算出单棵树冠的真实体积,并与人工测量法进行比较,以分析视觉探测法的精度。

二、树冠体积测量对比方法

2.1冠层体积人工测量法

本节对人工测量树冠体积的方法进行探究,并将其结果作为比较基准。传统的人工测量方法简单地将果树冠层水平截面近似于椭圆,通过将冠层等高度分割为多份圆台,最后求和得出冠层体积。然而,树冠的轮廓形状一般不规则,因此难以确定椭圆截面的长、短半轴;再者,被分割的树冠部分并不一定只是圆台的形状。因此传统的人工测量结果并未能真实反映树冠体积,其测量精度较难保证。
为得出果树冠层较为精确的人工测量结果,本章在传统方法的基础上进行优化,测量步骤具体如下:

首先,将单棵果树的冠层从上到下看作由圆台、锥体或是其他近似的规则几何体组成;
接着,将其水平分割成多个独立的几何体,截面简化为圆形。
最后,根据各部分形状进行单独计算并相加得到整个冠层体积。

以纺锤形冠层的果树为例进行分析,绘制了人工测量冠层体积的示意图,如图4-1所示。图中的树冠近似锥形,但并不规则,其中上、下两层近似圆锥,而中间部分近似圆台。为便于计算,本方法使用皮尺直接测量出的截面周长替换半径,即r = l/2π,并代入基础式中。通过以下式推导出树冠体积的人工测量模型。
在这里插入图片描述

2.2冠层体积拟合测量法

由于柑橘树冠属于类球体型,本节根据单棵树冠的外轮廓形状拟合成一个相近的、有规则的立方体,进而实现对体积的估算,该方法简称为拟合测量法,下文均以此替代。以成熟期的柑橘树为例,其树冠拟合过程如图4-2所示。
在这里插入图片描述
具体处理步骤如下:
步骤1:图4-2(a)为原始图像,经过MSEU R-CNN实例分割模型处理后,得到图4-2(b)所示的实例分割效果图;
步骤2:通过剔除背景仅保留树冠掩膜部分,如图4-2(c)所示;
步骤3:之后采用图像二值化、开运算等图像处理操作,提取出树冠掩膜的轮廓(是否贴近于原始轮廓取决于图像分割精度),见图4-2(d);
步骤4:以掩膜轮廓下窄上宽的特征,适合拟合成图4-2(e)的梯形;
步骤5:最后通过梯形绕中轴线旋转360°,拟合成图4-2(f)所示的圆台。

三、基于深度相机与分割掩膜探测树冠体积方法

3.1像素值与深度值的转换

为探究二维图像与三维空间之间的转换关系,根据所用视觉传感器不同,其方法各异。若使用普通相机采集图像,一般采用标定法获取单位像素代表的实际面积(下文均以A表示该值)。例如:丁为民等将黑色硬纸板作为标定物,通过图像处理软件计算多个采样距离下标定板的A值,利用该值和对应的采样距离制成散点图,发现A与采样距离之间具有明显的幂函数关系。然而,每个普通相机内参可能有所不同,若要获得较为准确的A值,均要进行相对复杂的标定实验才能得到幂函数中合适的系数。本章以D435i深度相机为数据采集设备,该款相机配备了二次开发功能包,其中就有采用欧几里得度量法(指用于测量n维空间中两个点之间的真实距离D(x, y),或称为欧氏距离),其计算原理由如下式表示:
在这里插入图片描述
通过第3章的实例分割算法可获得树冠的掩膜,但掩膜以二维图像的像素量表示,并非树冠真实参数,不能作为精准喷施的决策依据。由于D435i深度相机可同时拍摄目标树冠的RGB图像和深度图像,采用欧几里得度量法可测量深度图像中的欧氏距离Hr;通过OpenCV图像处理库中的算法计算,可获得RGB图像中树冠的像素高度Hp,两者比值的平方即为A值。该值再乘以掩膜像素面积,从而计算出树冠垂直投影面的实际面积Sr。具体计算过程通过如下的式表示:
在这里插入图片描述

3.2树冠体积视觉探测法

本节基于实例分割模型的处理结果,并结合上节所述方法,对单株柑橘树冠层的几何特征进行探测,主要参数包括树冠面积、高度、宽度以及体积,其探测原理的示意图如图4-4所示。

在这里插入图片描述
针对以相机对果树冠层体积进行探测的问题,丁为民等提出“多点测量法”,通过构建树冠实际垂直投影面积Sr与树冠体积对数lnV间的模型,研究两者之间的相关性,即基于已知的冠层面积来推算体积。为得出不同果树Sr与lnV的相关性,丁为民的科研团队通过实验构建了梨树、桂花树等果树体积计算模型。实验结果表明,该模型的决定系数均在0.9以上,说明Sr与lnV之间存在明显的相关性;同时也表明在不同树种之间,树冠垂直投影面与树冠体积的线性关系规律是成立的。
基于上述学者的研究,本章对果园内的20棵柑橘树进行采样,并在树冠垂直投影面积Sr的基础上,结合人工测量法准确测得的树冠体积V,以最小二乘法构建柑橘树冠层的Sr与lnV间的关系模型,即“基于深度相机和分割掩膜的果树树冠体积探测方法”,简称为“视觉探测法”,其相关性结果如图4-5所示。
在这里插入图片描述

3.3实验分析

上一节采用三种测量模型并对所选8棵柑橘树进行了体积探测,得出了各个方法对应的树冠体积平均值。本节将三种树冠体积探测方法的测量结果汇总于表4-4中。并根据误差评估式计算出误差、样本标准差,作为误差评估指标。其中,误差1和误差2分别指拟合测量法、视觉探测法跟人工测量法之间的误差值。为更为直观地对比三种测量手段得到的体积值之间的差距,绘制了图4-9所示的体积平均值以及标准差条形图。

在这里插入图片描述
根据表4-4中树冠体积平均值以及标准差,绘制了图4-10所示的折线图,综合展示了三种方法测量得到的8棵橘树冠层体积。按照大小依次排序为:橘树3>橘树1>橘树6>橘树2>橘树8>橘树7>橘树5>橘树4。但是三种测量方法均存在一定的偏差,尤其是橘树3的冠层体积,最大标准差值为0.12。其次为橘树8,其体积测量的标准差值达到了0.102,而所有橘树冠层体积测量的标准差大于0.05,其中最小的标准差值为0.062,由测量1号、7号橘树时产生。

在这里插入图片描述
综合上述图表可知,人工测量相比真实的体积可能存在一定的误差,造成的原因可能是树冠形状在转化时,将原本不规则的形状抽象成规则形状后,丢失了部分空间的体积值,导致所测体积值相对偏小。但相比拟合测量法将树冠作为整体的计算方法,人工测量通过将冠层水平分割成几部分进行分块计算,降低了每个部分的误差,数值相对精确,故将其作为标准值具有较强的可靠性。

总结

针对目前主流传感器探测果树靶标存在的各种问题,本章提出一种基于深度相机和分割掩膜的果树冠层体积探测方法,并通过对比实验研究其探测精度。并且,为探究视觉探测冠层体积的精确度,提出一种人工测量和拟合测量冠层体积法,并以人工测量的体积为基准,与视觉探测法的结果进行误差分析。实验结果表明,视觉探测法与人工测量体积值的主要误差小于8%,最小误差仅为2.2%,因此视觉探测法测量得到的体积值更加接近于手工测量的结果。验证了基于深度相机的视觉探测树冠体积方法具有良好的测量精度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/28186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Syncfusion Essential Edit for WPF Crack

Syncfusion Essential Edit for WPF Crack 在任何WPF应用程序中启用语法高亮显示。 Syncfusion Essential Edit for WPF是一款具有所有基本功能的编辑器,如文本编辑、剪切、复制和粘贴。它允许用户从各种文件格式打开文件并将其保存为各种文件格式。Syncfusion Esse…

java.lang.IllegalStateException: 不允许修改锁定的参数映射

问题描述: 这个问题是在我写javaweb项目,做敏感词过滤时出现的 需求是:如果是由 getParameter(String s) 得到的数据,可以直接修改value值,将含有敏感词的部分替换为 *** request.getParameterMap() 方法返回一个包…

1749. 任意子数组和的绝对值的最大值

诸神缄默不语-个人CSDN博文目录 力扣刷题笔记 文章目录 1. 暴力搜索2. 动态规划3. 前缀和 1. 暴力搜索 直接用2个指针从索引0开始找到最后一个索引,时间复杂度大概是 O ( n 2 ) O(n^2) O(n2)吧,总之这么搞不行,以下是我用Python写的一些典型…

设计模式之六:命令模式(封装调用)

命令模式可以将请求的对象和执行请求的对象解耦(实际上是通过命令对象进行沟通,即解耦)。(个人感觉,这章讲的很一般) 按个人理解来讲: 假如需要一个遥控器,遥控器有一个插口可以插上…

【JAVA】有关时间的操作在编程中如何实现?

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言Date 类Date 类方法Data的缺陷实例获取当前日期时间日期比较java中设置date数据的显示格式 前言 在许多应用程序中,日期和时间的处理是必不可少的。Java提供了一…

【80天学习完《深入理解计算机系统》】第二天 2.2 整数的表示【有符号数,无符号数,符号数的扩展,有无符号数的转变】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

【Matlab】Elman神经网络遗传算法(Elman-GA)函数极值寻优——非线性函数求极值

往期博客👉 【Matlab】BP神经网络遗传算法(BP-GA)函数极值寻优——非线性函数求极值 【Matlab】GRNN神经网络遗传算法(GRNN-GA)函数极值寻优——非线性函数求极值 【Matlab】RBF神经网络遗传算法(RBF-GA)函数极值寻优——非线性函数求极值 本篇博客将主要介绍Elman神…

【数据结构】“单链表”的练习题

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

Unity之ShaderGraph 节点介绍 数学节点

数学 高级Absolute(绝对值)Exponential(幂)Length(长度)Log(对数)Modulo(余数)Negate(相反数)Normalize(标准化矢量&…

Django Rest_Framework(二)

文章目录 1. http请求响应1.1. 请求与响应1.1.1 Request1.1.1.1 常用属性1).data2).query_params3)request._request 基本使用 1.1.2 Response1.1.2.1 构造方式1.1.2.2 response对象的属性1).data2).status_code3&…

技术应用:Docker安全性的最佳实验|聊聊工程化Docker

🔥 技术相关:《技术应用》 ⛺️ I Love you, like a fire! 文章目录 首先,使用Docker Hub控制访问其次,保护密钥写在最后 不可否认,能生存在互联网上的软件都是相互关联的,当我们开发一款应用程序时&#x…

Prometheus技术文档--基本安装-docker安装并挂载数据卷-《十分钟搭建》

一、查看可安装的版本 docker search prom/prometheus 二、拉取镜像 docker pull prom/prometheus 三、查看镜像 docker images 四、书写配置文件-以及创建挂载目录 宿主机挂载目录位置: 以及准备对应的挂载目录: /usr/local/docker/promethues/se…

字节C++后端面试总结

字节的面经,技术栈是 C++ 后端。 计算机网络 UDP和TCP区别 先说了概念一个是面向连接的基于字节流的可靠连接,一个是不需要连接的基于数据报的不可靠传输 然后说了几个小点,比如首部长度、应用场景、服务对象什么的。 补充: 还有一个很重要的点:UDP 的实时性比 TCP 好…

Kotlin基础(十一):反射和注解

前言 本文主要讲解kotlin反射和注解。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 kotlin反射 1.1.1 kotlin反射概念和常见使用场景 在Kotlin中,反射是一种能够在运行时动态地获取、检查和操作类、属性、方法等结构的能力。Kotlin为反射提供了一…

【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)

【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现) 💥💥💞💞欢迎来到本博客❤️❤️…

uniapp 微信小程序 echarts地图 点击显示类目

效果如图: 在tooltip内axisPointer内添加 label:{show:true} 即可显示“请求离婚”的标题

护网专题简单介绍

护网专题简单介绍 一、护网红蓝队介绍1.1、网络安全大事件1.2、护网行动由来1.3、护网行动中的角色二、红队介绍2.1、红队所需技能2.2、红队攻击流程 三、蓝队介绍3.1、蓝队所需技能3.2、蓝队防守四阶段3.3、蓝队前期准备 四、常见安全厂商介绍4.1、常见安全厂商 五、常见安全产…

使用罗技鼠标后 弹出当前页面的脚本发生错误AppData/Local/Temp/LogiUI/Pak/js/jquery-1.3.2.min.js解决

使用的台式机,没有蓝牙驱动,在用logi无线鼠标时,把鼠标连接插入台式机后弹出的如上图所示这个提示,无论是点是/否,还是X掉上图提示,电脑右下角的图依然存在。不习惯这丫的存在。 我重启还是有,然…

Linux shell yes命令(不停输出换行的y)(不停输出换行的指定字符串)(脚本自动确认y)

文章目录 yes命令功能doc文档英文中文翻译完整文档 示例应用案例自动为脚本多次确认y yes命令功能 yes命令可以不断地输出换行的指定字符串,不加参数时,不断输出换行的“y”,有时我们需要执行一些需要用户键入“y”确认的脚本,但…

PoseiSwap 开启“Poseidon”池,治理体系或将全面开启

PoseiSwap曾在前不久分别以IDO、IEO的方式推出了POSE通证,但PoseiSwap DEX中并未向除Zepoch节点外的角色开放POSE资产的交易。而在前不久,PoseiSwap推出了全新的“Poseidon”池,该池将向所有用户开放,并允许用户自由的进行质押、交…