一种基于二维激光传感器实时测算果树冠层体积的方法与流程

文档序号:17686729发布日期:2019-05-17 20:41阅读:176来源:国知局
一种基于二维激光传感器实时测算果树冠层体积的方法与流程

本发明属于现代农业技术领域,尤其涉及一种基于二维激光传感器实时测算果树冠层体积的方法。



背景技术:

目前,业内常用的现有技术是这样的:农药的高效利用对果园病虫害防控、优质高产、环境保护等方面具有重要的意义,但是由于我国农业机械化起步较晚,大部分农村地区依然使用手动式、踏板式喷雾机,这种作业方式对靶标区的果树施药效果较差,不仅无法达到预期的防治效果,而且造成大量的农药浪费,污染土壤和水体。因此,自动对靶喷雾技术的发展对提升我国果园植保施药技术与装备水平具有重要指导意义。

自动对靶技术已经较为完善,靶标探测主要用到超声波传感器、红外线传感器、ccd图像传感器、激光传感器四种方式。其中激光传感器识别精度高,扫描速度快,可以检测到靶标的体积、轮廓等信息特征,为喷雾机提供精确的变量处方,受到了国内外学者的广泛关注。

基于变量喷雾的果园自动仿形喷雾机通常使用长方体分割法来构建冠层模型,将果树冠层离散为多个小长方体,所有长方形体积相加,近似为果树冠层体积。如图2所示为单个长方体体积测算的原理图,x轴方向为激光传感器前进方向,y轴方向为朝向植株方向,z轴方向为垂直于地面方向,当激光扫描仪行进至点p时,扫描到点a,ya为d点在y轴上的坐标,表示传感器到果树外缘a点的水平距离值,dp为传感器到果树中心线的水平距离值,果树外缘a点的冠层厚度w=dp-ya,纵向分割单元的高度h为上一个扫描点与a点z值之差,宽度为s=v·t,v为喷雾机的前进速度,t为传感器的扫描周期,可得单个分割单元的体积v=s·h·w,将所有分割单元的体积相加,近似为果树冠层的总体积。该分割方法误差较大,准确性较差。

综上所述,现有技术存在的问题是:现有的果树冠层体积测算方法存在误差较大,准确性较差。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于二维激光传感器实时测算果树冠层体积的方法。

本发明是这样实现的,一种基于二维激光传感器实时测算果树冠层体积的方法,所述基于二维激光传感器实时测算果树冠层体积的方法使用二维激光传感器获取树木的点云数据;将每两帧之间相邻的三个点按一定规律连接,生成不规则三角网;将表面的三角形投影到平行于激光传感器前进方向、经过树干中心线垂直于地面的截面上,获得以不规则三棱柱为基础的冠层分割模型,将所有三棱柱体积相加,近似为果树冠层体积。

进一步,所述基于二维激光传感器实时测算果树冠层体积的方法具体包括:

步骤一、设置激光传感器的工作参数,包括扫描角分辨率,扫描频率,角度范围等,然后设置传感器到果树树干的水平距离dp;

步骤二、开始扫描,接收并处理传感器返回的点云数据。

步骤三、判断扫描区域内是否存在靶标,若存在,执行步骤四;若不存在,执行步骤二;

步骤四、判断是否检测到树干,若是,计算扫描仪到树干的水平距离,保存为dp,执行步骤五;若否,执行步骤六;

步骤五、使用获取到的点云数据建立三角网格模型;

步骤六、使用步骤五获得的三角网格模型和dp计算果树体积,之后执行步骤二。

进一步,所述步骤二中,激光扫描仪返回的测量数据是以字符串的形式传输的,数据处理软件需要对传输回来的字符串数据进行解析、缓冲,进行相关的处理;返回的测量数据是极坐标数据,首先将扫描数据由极坐标系转换到直角坐标系:

xi=v·t;

yi=licosθ;

zi=lisinθ;

其中,坐标原点为扫描仪的初始位置,x轴方向为激光传感器前进方向,y轴方向为水平朝向植株方向,z轴方向为垂直于地面方向,xi、yi、zi为第i个扫描点在直角坐标系上的坐标值,li为扫描仪到第i个扫描点的直线距离,θ为第i个扫描点的扫描角度,v为激光传感器行进速度,t为行进时间。

进一步,所述步骤四中判断是否检测到树干及计算扫描仪到树干的水平距离的过程具体包括:

(1)检测树干需要对所有扫描点进行分析,集合其中n表示扫描帧数,nj表示第j帧是否为树干帧的标识,nj=0表示该帧没有树干,nj=1表示该帧有树干;根据初始设定的扫描角度范围β,角度分辨率α,计算,得单帧扫描点数为:

计算判断j为整数是否成立;若成立,则第i个扫描点是第j帧的第一个扫描点,设定nj=0;若不成立,继续下一个扫描点的判断;

(2)阈值s=20mm,求扫描点i和扫描点i-1在y轴方向上的差值:

n=|yi-yi-1|;

判断n<s是否成立,若成立,认定i点与i-1点连续,继续下一个扫描点的判断;否则,认定该点集结束,点i-1是该点集的结束点,建立新的点集,以i点为初始点,继续下一个扫描点的判断;

(3)阈值果树树干高度为ltree=200mm,对每个扫描点集的初始点和终止点进行如下计算:

|zstart-zend|>ltree;

若上述不等式成立,表明该扫描点集为树干扫描点集,求得更改nj=1,执行(4);反之,表明该扫描点集不是树干扫描点集,继续下一个扫描点的判断;

(4)判断该帧的上一帧nj-1=0是否成立,若成立,则该帧为树干的起始帧,取该树干点集的y轴平均值为dp,表示扫描仪到树干的水平距离,认定为检测到树干;反之,认定为未检测到树干。

进一步,所述步骤五中获取到的点云数据建立三角网格模型的过程具体包括:

(1)根据初始设定的扫描角度范围β,角度分辨率α,计算可得单帧扫描点数为:

(2)对于第i个扫描点,判断是否成立,若否,继续扫描;若是,执行(3);

(3)对于第i个扫描点,判断i%num≠0是否成立,若否,继续下一个扫描点的判断;若是,执行(4);

(4)阈值t=500mm,判断yi-1>t、yi-num>t、yi-num-1>t、yi-1-dp>0、yi-num-dp>0、yi-num-1-dp>0是否同时成立,若是,将i-1、i-num、i-num-1三点相连,组成三角形;若否,舍去该三角形;

(5)设定阈值t=500mm,判断yi>t、yi-1>t、yi-num>t、yi-dp>0、yi-1-dp>0、yi-num-dp>0是否同时成立,若是,将i、i-1、i-num三点相连,组成三角形,继续下一个扫描点的判断;若否,舍去该三角形,继续下一个扫描点的判断。

进一步,所述步骤六中将所有三角形投影到平行于激光传感器前进方向、经过树干中心线垂直于地面的截面上,获得以不规则三棱柱为基础的冠层分割模型;已知每个三角形顶点的三维坐标值,和激光传感器到该截面的水平距离,可以求得不规则三棱柱的棱长,进而求出每个三棱柱的体积,将所有三棱柱体积相加,近似为果树冠层体积。

综上所述,本发明的优点及积极效果为:本发明基于不规则三棱柱的冠层分割方法比之现有技术误差更小、准确性更高。现有果树仿形喷雾机大多使用初始设定的传感器到果树树干的水平距离来计算冠层体积;本发明通过动态识别果树树干的方法计算树冠厚度,计算出果树冠层体积,可以有效降低因果树栽种不齐、喷雾机行进不直所带来的误差。本发明提出的算法处理速度快,实时性好,可以实时为自动仿形喷雾(喷药、叶面肥喷施)的风量和喷雾量提供变量处方,也可用于果树产量估测和变量施肥。

附图说明

图1是本发明实施例提供的基于二维激光传感器实时测算果树冠层体积的方法流程图。

图2是本发明实施例提供的基于二维激光传感器实时测算果树冠层体积的方法实现流程图。

图3是本发明实施例提供的基于长方体模型的冠层分割方法原理示意图。

图4是本发明实施例提供的喷雾机扫描果树侧面示意图。

图5是本发明实施例提供的基于不规则三棱柱模型的冠层分割方法的平面示意图。

图6是本发明实施例提供的基于不规则三棱柱模型的冠层分割方法原理示意图。

图7是本发明实施例提供的一个实施例的果树二维点云图像。

图8是本发明实施例提供的一个实施例的果树深度图像。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理做详细描述。

如图1所示,本发明实施例提供的基于二维激光传感器实时测算果树冠层体积的方法包括以下步骤:

s101:使用二维激光传感器获取树木的点云数据;将每两帧之间每三个点按一定规律连接,生成不规则三角网;

s102:将表面的三角形投影到平行于激光传感器前进方向、经过树干中心线垂直于地面的截面上;

s103:获得以不规则三棱柱为基础的冠层分割模型,将所有三棱柱体积相加,近似为果树冠层体积。

下面结合附图对本发明的应用原理作进一步的描述。

如图2所示,本发明实施例提供的基于二维激光传感器实时测算果树冠层体积的方法;如图5所示,使用车载二维激光传感器获取树木的点云数据,然后将每两帧之间相邻的三个点按一定规律连接,生成不规则三角网,然后将表面的三角形投影到平行于激光传感器前进方向、经过树干中心线垂直于地面的截面上,获得以不规则三棱柱为基础的冠层分割模型,将所有三棱柱体积相加,近似为果树冠层体积。具体包括以下步骤:

步骤一、设置激光传感器的工作参数,包括扫描角分辨率,扫描频率,角度范围等,然后设置传感器到果树树干的水平距离dp,果树冠层体积v=0。

步骤二、开始扫描,接收并处理传感器返回的点云数据。处理点云数据的方法如下所示:

激光扫描仪返回的测量数据是以字符串的形式传输的,数据处理软件需要对传输回来的字符串数据进行解析、缓冲,进而进行相关的处理。返回的测量数据是极坐标数据,所以需要首先将扫描数据由极坐标系转移到直角坐标系:

xi=v·t;

yi=licosθ;

zi=lisinθ;

其中,坐标原点为扫描仪的初始位置,x轴方向为激光传感器前进方向,y轴方向为水平朝向植株方向,z轴方向为垂直于地面方向,xi、yi、zi为第i个扫描点在直角坐标系上的坐标值,li为扫描仪到第i个扫描点的直线距离,θ为第i个扫描点的扫描角度,v为激光传感器行进速度,t为行进时间。

步骤三、判断扫描区域内是否存在靶标,若存在,执行步骤四;若不存在,执行步骤二。

步骤四、判断是否检测到树干,若是,计算扫描仪到树干的水平距离,保存为dp,执行步骤五;若否,执行步骤六。本发明中,首先设定y坐标的变化阈值,通过设定检测单帧点云数据,判断是否存在一定长度连续点云的y坐标在设定阈值范围内变化,来判断是否存在树干,具体实施步骤如下:

(1)检测树干需要对所有扫描点进行分析,集合其中n表示扫描帧数,nj表示第j帧是否为树干帧的标识,nj=0表示该帧没有树干,nj=1表示该帧有树干;根据初始设定的扫描角度范围β,角度分辨率α,计算,得单帧扫描点数为:

计算判断j为整数是否成立;若成立,则第i个扫描点是第j帧的第一个扫描点,设定nj=0;若不成立,继续下一个扫描点的判断;

(2)阈值s=20mm,求扫描点i和扫描点i-1在y轴方向上的差值:

n=|yi-yi-1|;

判断n<s是否成立,若成立,认定i点与i-1点连续,继续下一个扫描点的判断;否则,认定该点集结束,点i-1是该点集的结束点,建立新的点集,以i点为初始点,继续下一个扫描点的判断;

(3)阈值果树树干高度为ltree=200mm,对每个扫描点集的初始点和终止点进行如下计算:

|zstart-zend|>ltree;

若上述不等式成立,表明该扫描点集为树干扫描点集,求得更改nj=1,执行(4);反之,表明该扫描点集不是树干扫描点集,继续下一个扫描点的判断;

(4)判断该帧的上一帧nj-1=0是否成立,若成立,则该帧为树干的起始帧,取该树干点集的y轴平均值为dp,表示扫描仪到树干的水平距离,认定为检测到树干;反之,认定为未检测到树干。

步骤五、如图5,表示使用获取到的点云数据建立的三角网格模型。具体实施步骤如下:

(1)根据初始设定的扫描角度范围β,角度分辨率α,计算可得单帧扫描点数为:

(2)对于第i个扫描点,判断是否成立,若否,继续扫描;若是,执行(3);

(3)对于第i个扫描点,判断i%num≠0是否成立,若否,继续下一个扫描点的判断;若是,执行(4);

(4)阈值t=500mm,判断yi-1>t、yi-num>t、yi-num-1>t、yi-1-dp>0、yi-num-dp>0、yi-num-1-dp>0是否同时成立,若是,将i-1、i-num、i-num-1三点相连,组成三角形;若否,舍去该三角形;

(5)设定阈值t=500mm,判断yi>t、yi-1>t、yi-num>t、yi-dp>0、yi-1-dp>0、yi-num-dp>0是否同时成立,若是,将i、i-1、i-num三点相连,组成三角形,继续下一个扫描点的判断;若否,舍去该三角形,继续下一个扫描点的判断。

步骤六、将步骤五所得三角形投影到平行于激光传感器前进方向、经过树干中心线垂直于地面的截面上,可以获得以不规则三棱柱。已知每个三角形顶点的三维坐标值,和激光传感器到该截面的水平距离dp,可以求得不规则三棱柱的棱长,进而求出不规则三棱柱的体积,将所得体积叠加至果树冠层体积v,执行步骤二。单个不规则三棱柱体积计算方法如图6所示,具体计算步骤为:

(1)已知a(xa,ya,za),b(xb,yb,zb),c(xc,yc,zc)三点坐标,激光传感器到δa′b′c′所在平面的水平距离dp,可求得a′、b′、c′三点坐标:a′(xa,dp,za),b′(xb,dp,zb),c′(xc,dp,zc)。过a点做平行于ab′的直线,与bb′边相较于b″点;过c点做平行于b′c′的的直线,与bb′边相较于b″点;过c点做平行于a′c′的直线,与aa′的延长线相交于a″点;连接a″b″,与ab相交于d点;连接c、d两点。

(2)计算a′b′,b′c′,a′c′三边长度,已经三角形δa′b′c′的面积:

p=(a′b′+b′c′+a′c′)/2;

根据海伦公式,三角形面积为:

(3)根据三角形相似准则,db″/ab″′=bb″/bb″′,可得:

a′b′=ab″′;

db″=(yb-yc)/(yb-ya)×ab″′;

(4)计算a′b′的方位角:

(5)计算d点坐标:

xd=xb+db″×sinθ;yd=yc;zd=zb+db″×cosθ;

(6)计算三角形cdb″的面积:

cb″=b′c′;

p′=(cd+cb″+db″)/2;

根据海伦公式,三角形cdb″面积为:

三角形a″cd的面积为:

sδa″cd=sδa′b′c′-sδcdb″;

(7)计算不规则三棱柱abc-a′b′c′的体积:

va″b″c-a′b′c′=(dp-ya)×sδa′b′c′;

vabc-a′b′c′=va″b″c-a′b′c′+vb-b″cd-va-a″cd。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1