一种叶片点云骨架提取方法及装置

文档序号:28681415发布日期:2022-01-29 06:11阅读:171来源:国知局
一种叶片点云骨架提取方法及装置
一种叶片点云骨架提取方法及装置
1.技术邻域
2.本发明涉及三维图像处理技术邻域,尤其涉及一种叶片点云骨架提取方法及装置。


背景技术:

3.叶片是植物的重要组成部分,其形状结构的差异直接影响植物的生长发育和最终产量。骨架是三维数据和模型的抽象表现形式,能够直观的表达物体的拓扑连接关系和几何结构。如何从无序的植物点云数据中提取出有语义信息的骨架,成为植物三维表型和三维重建研究的难点问题。
4.经典的三维点云骨架提取方法主要包括基于拉普拉斯矩阵和l1中值骨架提取算法。由于植物具有特定的形状结构特征,直接采用这些骨架提取方法提取骨架往往难以得到理想的结果,需结合植物形状结构特征在原方法基础上进行改进和完善。
5.由于植物本身器官间存在大量遮挡、植物叶片表面材质属性复杂,导致所采集的植物三维点云数据通常存在缺失。此外,受品种和环境等因素的影响,植物叶片通常具有特定的形状结构特征。因此,直接应用计算机图形学邻域一般化的骨架提取算法,难以得到准确的植物叶片点云骨架提取结果。


技术实现要素:

6.本发明提供一种叶片点云骨架提取方法及装置,用以解决现有技术难以得到理想的植物叶片点云骨架提取结果的缺陷,可实现缺失点云数据的玉米叶片骨架的鲁棒提取。
7.第一方面,本发明提供一种叶片点云骨架提取方法,包括:
8.获取叶片初始点云中每个点的法向信息,并基于所述法向信息对所述叶片初始点云进行聚类,获取多个点云子集;
9.建立每个所述点云子集的距离场,并按照预设步长确定多个垂直于叶片伸长方向的截面,以根据每个截面所在的距离场确定每个截面的相关点集;
10.利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,以构建骨架约束点集;
11.获取所述骨架约束点集的主曲线,作为叶片点云骨架。
12.根据本发明提供的一种叶片点云骨架提取方法,所述建立每个所述点云子集的距离场,包括:
13.确定每个所述点云子集的有向包围盒;
14.计算所述点云子集中的每个点与垂直于叶片伸长方向的正交面之间的距离并进行归一化,从而建立每个所述点云子集的距离场。
15.根据本发明提供的一种叶片点云骨架提取方法,所述确定每个所述点云子集的有向包围盒,包括:
16.基于主成份分析法,计算每个所述点云子集的三个特征向量;
17.对三个特征向量进行标准正交化,获取正交矩阵;
18.利用所述正交矩阵的标准正交基,构建笛卡尔坐标系,并在所述笛卡尔坐标系中,计算出从原点沿x、y、z三个方向上的最大位置和最小位置,以根据所有最大位置和最小位置构建出所述有向包围盒的6个平面。
19.根据本发明提供的一种叶片点云骨架提取方法,所述获取叶片初始点云中每个点的法向信息,并基于所述法向信息,对所述叶片初始点云进行聚类,获取多个点云子集,包括:
20.对所述叶片初始点云进行去噪和降采样处理,以去除噪声点,获取叶片点云;
21.基于k最近邻分类算法,确定所述叶片点云中每个点的邻域;
22.基于主成份分析法,根据每个点的邻域确定每个点的法向;
23.基于最小生成树算法,调整所述叶片点云中每个点的法向,并获取每个点的法向信息;
24.基于k-means聚类算法,根据每个点的法向信息,对所述叶片点云进行聚类,获取多个点云子集。
25.根据本发明提供的一种叶片点云骨架提取方法,所述自适应加权算子,包括空间距离权重、法向差异权重和点云完整性权重;
26.所述利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,包括:
27.根据每个截面的相关点集的空间分布特征,自适应计算每个截面的相关点集的中心点;
28.根据每个截面的相关点集中的点云数据的缺失状态,移动所述中心点,以获取每个所述相关点集的对应的骨架约束点。
29.根据本发明提供的一种叶片点云骨架提取方法,所述空间距离权重的表达式为:
[0030][0031]
所述法向差异权重的表达式为:
[0032][0033]
所述点云完整性权重的表达式为:
[0034][0035]
其中,pi为截面的相关点集sk中的第i个点;qj为pi点的k近邻集合n(pi)中的第j个点;α为空间距离上的影响参数;w

k,i
为空间距离权重;为第k个截面处的叶面朝向;n
pi
为截面的相关点集sk中点pi的法向;β为法向差异上的影响参数;w

k,i
为法向差异权重;lm表示凹壳所形成的多边形的第m条边的长度,所述凹壳是将截面的相关点集投影到垂直于叶片伸长方向的正交面后生成的;r为所述凹壳最长的边与总边长的比值;ε为判断点云数据缺失的阈值。
[0036]
根据本发明提供的一种叶片点云骨架提取方法,所述根据每个截面的相关点集中
的点云数据的缺失状态,移动所述中心点,以获取每个所述相关点集的对应的骨架约束点中的移动所述中心点,其确定公式为:
[0037][0038]
其中,ck为截面的相关点集sk所对应的骨架约束点;ek是根据所述相关点集中的点云完整性对中心点进行移动的方向。
[0039]
根据本发明提供的一种叶片点云骨架提取方法,所述获取所述骨架约束点集的主曲线,包括:
[0040]
步骤1,对骨架约束点集cm中的所有约束点进行k近邻距离计算,并利用预设距离阈值剔除离群点,并构建voronoi区域v1,

,vm;
[0041]
步骤2,基于主成份分析法,以第一主成分为方向,从质心开始向其正负方向分别取长度为t倍vm标准差长度的线段,作为第一主成分线段lm,并计算所述cm中的每个约束点至所述lm的投影距离;
[0042]
步骤3,获取所述cm中的偏远点vf,并将所述偏远点vf的邻近点加入至所述cm中,生成新的骨架约束点集c
m+1
;所述偏远点vf是距离主成分线段集合{l1,

,l
m+1
}最远的点;
[0043]
步骤4,在所述c
m+1
中计算新的第一主成分线段l
m+1
,并将所述l
m+1
加入至所述主成分线段集合{l1,

,l
m+1
}中,获取新的主成分线段集合{l1,

,l
m+1
};
[0044]
步骤5,令m+1,并迭代执行步骤1至步骤4,直至新的主成分线段集合中的线段数量达到预设数量阈值,或预设能量函数值最小;
[0045]
步骤6,基于贪心算法,利用由步骤5所获取到的新的主成分线段集合,构建哈密顿路径,并基于2-opt优化算法对所述哈密顿路径进行优化,获取所述主曲线。
[0046]
第二方面,本发明还提供一种叶片点云骨架提取装置,包括:
[0047]
叶片点云分组单元,用于获取叶片初始点云中每个点的法向信息,并基于所述法向信息,对所述叶片初始点云进行聚类,获取多个点云子集;
[0048]
截面点集划分单元,用于建立每个所述点云子集的距离场,并按照预设步长确定多个垂直于叶片伸长方向的截面,以根据每个截面所在的距离场确定每个截面的相关点集;
[0049]
约束点集生成单元,利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,以构建骨架约束点集;
[0050]
点云骨架生成单元,用于获取所述骨架约束点集的主曲线,作为叶片点云骨架。
[0051]
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述叶片点云骨架提取方法的步骤。
[0052]
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述叶片点云骨架提取方法的步骤。
[0053]
本发明提供的叶片点云骨架提取方法及装置,设计了一种自适应加权算子来计算叶片点云的骨架约束点集,并引入主曲线对骨架约束点集进行优化,能较好的反映叶片的三维形状结构,对缺失的点云数据具有较好的鲁棒性,且无需后期手动调整,能够为表型大
数据处理、自动化表型解析等提供技术支持。
附图说明
[0054]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本邻域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0055]
图1是本发明提供的叶片点云骨架提取方法的流程示意图之一;
[0056]
图2是对叶片初始点云进行聚类后生成点云子集的示意图;
[0057]
图3是理想情况下的骨架提取示意图;
[0058]
图4是本发明提供的多点云子集的距离场分布示意图;
[0059]
图5是本发明提供的叶片点云骨架提取方法的流程示意图之二;
[0060]
图6是本发明提供的一种叶片点云骨架提取装置的结构示意图;
[0061]
图7是本发明提供的电子设备的结构示意图。
具体实施方式
[0062]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本邻域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063]
需要说明的是,在本发明实施例的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本邻域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0064]
本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0065]
下面结合图1-图6描述本发明实施例所提供的叶片点云骨架提取方法和装置。
[0066]
图1是本发明提供的叶片点云骨架提取方法的流程示意图之一,如图1所示,包括但不限于以下步骤:
[0067]
步骤101:获取叶片初始点云中每个点的法向信息,并基于所述法向信息对所述叶片初始点云进行聚类,获取多个点云子集;
[0068]
步骤102:建立每个所述点云子集的距离场,并按照预设步长确定多个垂直于叶片伸长方向的截面,以根据每个截面所在的距离场确定每个截面的相关点集;
[0069]
步骤103:利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,以构建骨架约束点集;
[0070]
步骤104:获取所述骨架约束点集的主曲线,作为叶片点云骨架。
[0071]
作为一种可选实施例,本发明以采用作物单株高通量表型平台mvs-pheno平台获取吐丝期玉米植株点云数据处理为例进行说明。
[0072]
在获取到玉米植株点云数据之后,利用点云标注软件label3dmaize对玉米植株点云数据进行分割,得到叶片初始点云。
[0073]
由于mvs-pheno平台是利用多视角成像原理得到的玉米植株点云数据,受获取光环境和叶片遮挡等因素影响,所得到的玉米植株点云数据不可避免的存在少量缺失。
[0074]
采用现有的三维点云骨架提取方法,受点云精度要求的限制,不能获取理想的叶片点云骨架。为此,本发明提供了一种新的叶片点云骨架提取方法。
[0075]
在步骤101中,获取叶片初始点云中每个点的法向信息,并基于所述法向信息对所述叶片初始点云进行聚类,可以采用以下步骤:
[0076]
首先,基于k最近邻分类算法(k-nearest neighbor,knn),确定叶片初始点云中每个点的邻域;然后,基于主成份分析法(principal component analysis,pca),根据每个点的邻域确定每个点的法向;进而基于最小生成树算法,调整上述叶片初始点云中每个点的法向,并获取每个点的法向信息;最后,基于k-means聚类算法,根据每个点的法向信息,对所述叶片点云进行聚类,则可以获取到多个点云子集。
[0077]
图2是对叶片初始点云进行聚类后生成点云子集的示意图,如图2所示,针对第一叶片初始点云(或第二叶片初始点云),通过k-means聚类的方式,能够将其到划分为由三个点云子集构成的第一点云子集组合(或由三个点云子集构成的第二点云子集组合),一般来说将一个叶片初始点云划分为3-4个点云子集,即可使得每个点云子集所在的区域形状变化较为平缓。
[0078]
图3是理想情况下的骨架提取示意图,如图3所示,三维物体的骨架可通过计算垂直于骨架方向的截面与三维物体相交所得曲线的中心点来确定。但在欧式空间中,垂直于叶片伸长方向(骨架方向)的截面与三维物体的相交曲线不易显式计算。
[0079]
其中,截面是按照预设步长所确定的,每个截面均垂直于叶片伸长方向。
[0080]
为解决这一问题,在本发明提供的叶片点云骨架提取方法的步骤102中,通过获取垂直于叶片伸长方向的界面的相关点集,替代截面与三维物体相交所得曲线,以便于根据所确定出的相关点集进行骨架约束点的确定。
[0081]
作为一种可选的实施例,在步骤102中主要借助距离场方法,以实现截面对应的相关点集的计算。
[0082]
图4是本发明提供的多点云子集的距离场分布示意图,如图4所示,每个点云子集
对应生成一个距离场,通过距离场能够从叶片初始点云中抽提出每个截面所对应的相关点集,每个相关点集可以视作一个垂直于叶片伸长方向的正交面(也就是截面)的集合。
[0083]
需要说明的是,结合图4所示,由于整个叶片初始点云被分为若干个较为平缓的点云子集,故与叶片伸长方向垂直的正交面可以视作该正交面所在的有向包围盒垂直于叶片伸长方向的一端。
[0084]
进一步地,为了克服叶片初始点云的采样不均匀以及数据缺失等影响,本发明在步骤103中,通过设计一组自适应加权算子来计算每个截面的相关点集的骨架约束点。例如,可以根据叶片初始点云的空间分布特征,计算每个截面相关点集的中心;并根据点云数据的缺失情况对计算出来的中心点进行适当的移动,使得最终获取到的骨架约束点更接近于叶片中间的叶脉点。
[0085]
最后,在步骤104中,根据由所有骨架约束点所构建的骨架约束点集,计算出有叶片的骨架约束点集的主曲线,进而得到更加接近叶脉位置的骨架曲线,作为叶片点云骨架。
[0086]
本发明提供的叶片点云骨架提取方法,设计了一种自适应加权算子来计算叶片点云的骨架约束点集,并引入主曲线对骨架约束点集进行优化,能较好的反映叶片的三维形状结构,对缺失的点云数据具有较好的鲁棒性,且无需后期手动调整,能够为表型大数据处理、自动化表型解析等提供技术支持。
[0087]
图5是本发明提供的叶片点云骨架提取方法的流程示意图之二,作为一种可选实施例,如图5所示,所述建立每个所述点云子集的距离场,包括:
[0088]
确定每个所述点云子集的有向包围盒;
[0089]
计算所述点云子集中的每个点与垂直于叶片伸长方向的正交面之间的距离并进行归一化,从而建立每个所述点云子集的距离场。
[0090]
总体来说,本发明采用一种改进的距离场方法,以用于计算各截面所对应的相关点集。该距离场是通过计算各点云子集中的点与其有向包围盒的距离构建的,本发明采用这一方式确定各截面所对应的相关点集,与现有方法相比较,能够极大的降低计算的成本。
[0091]
结合图5所示,上述确定每个所述点云子集的有向包围盒的方法,可以包括但不限于以下步骤:
[0092]
基于pca算法,计算每个点云子集的三个特征向量;
[0093]
对三个特征向量进行标准正交化,获取正交矩阵;
[0094]
利用所述正交矩阵的标准正交基,构建笛卡尔坐标系,并在所述笛卡尔坐标系中,计算出从原点沿x、y、z三个方向上的最大位置和最小位置,以根据所有最大位置和最小位置构建出所述有向包围盒的6个平面。
[0095]
具体来说,对于通过k-means聚类得到的原始叶片相关的变化比较平缓的某个点云子集p={pi;i=1,2,

,n}之后,首先通过pca算法计算该点云子集中的点云数据所对应的三个特征向量ε1、ε2、ε3。
[0096]
其中,pca算法对点云数据的变换,就是把其中的各点转换到三个特征向量ε1、ε2、ε3所组成的新的x、y、z坐标系下,且新坐标系的原点和全局原点是相同的,即返回三个特征向量ε1、ε2、ε3,分别是平面自身坐标系的x轴,y轴和z轴在点云全局坐标系中的向量。
[0097]
进一步地,将三个特征向量ε1、ε2、ε3进行标准正交化构成正交矩阵q=[ε
′1,ε
′2,ε
′3]。
[0098]
然后,以标准正交基ε
′1、ε
′2、ε
′3构建新的笛卡尔坐标系,并在笛卡尔坐标系中根据在各个轴上所分别确定出的最大位置和最小位置,就可以确定出6个平面,将这6个平面相组合救可以获取到所要构建的有向包围盒。
[0099]
在确定出每个点云子集的有向包围盒之后,针对任一点云子集p,计算p中每个点pi到与叶片伸长方向垂直的正交面的距离并进行归一化,得到该部分点云数据的距离场di,其计算公式如公式1:
[0100][0101]
pi∈p;i=1,2,

,n;
[0102]
其中,di表示点pi在距离场中的归一化距离;σ表示与叶片伸长方向垂直的正交面;d(pi,σ)表示pi在到正交面σ的距离。
[0103]
进一步地,可以通过确定的距离场,从每个点云子集中抽提出每个截面对应的相关点集。
[0104]
基于上述实施例的内容,作为一种可选实施例,如图5所示,上述获取叶片初始点云中每个点的法向信息,并基于法向信息,对叶片初始点云进行聚类,获取多个点云子集,主要包括但不限于以下步骤:
[0105]
对所述叶片初始点云进行去噪和降采样处理,以去除噪声点,获取叶片点云;
[0106]
基于knn算法,确定所述叶片点云中每个点的邻域;
[0107]
基于pca算法,根据每个点的邻域确定每个点的法向;
[0108]
基于最小生成树算法,调整所述叶片点云中每个点的法向,并获取每个点的法向信息;
[0109]
基于k-means聚类算法,根据每个点的法向信息,对所述叶片点云进行聚类,获取多个点云子集。
[0110]
本发明所提供的叶片点云骨架提取方法,在对获取得到的叶片初始点云数据进行处理之前,首先通过去噪和降采样的方式去除所有点云数据中的噪声点,以实现在不降低点云数据质量的情况下减少点的数量,以期提高后续计算效率。
[0111]
然后,采用knn算法确定每个点的邻域,其中knn算法是指如果叶片初始点云数据中的一个点,与在特征空间中的k个最相似(即特征空间中最邻近)的点中的大多数属于某一个类别,则将该点也归属于这个类别。
[0112]
本发明采用这一算法,在定类决策上只依据最邻近的一个或者几个点的类别来决定待分点所属的类别,就能够确定出每个点所在的邻域。
[0113]
使用pca算法估计叶片初始点云中各点的法向。
[0114]
本发明采用pca算法进行每个点的法向估计,能够有效地降低点云的维数。
[0115]
最后,通过最小生成树算法来调整点云中每个点的法向,满足法向在方向上的一致性,最终得到点云数据中所有点的法向信息。
[0116]
对于预处理后的叶片点云数据,再通过k-means聚类的方式将单个叶片点云分为若干个点云子集部分(一般叶片分为3~4个部分即可),使每个点云子集所在的部分的形状变化较为平缓。
[0117]
本发明提供的叶片点云骨架提取方法,根据整个叶片初始点云中样本的法线信息,将其聚类划分为多个点云子集,然后针对每个点云子集分别进行截面的相关点集的计算,相较于现有技术来说,充分考虑了叶片的三维形状,能够大大的提升骨架提取的精度。
[0118]
基于上述实施例的内容,作为一种可选实施例,自适应加权算子,包括空间距离权重、法向差异权重和点云完整性权重。
[0119]
结合图5所示,上述利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,主要包括:
[0120]
根据每个截面的相关点集的空间分布特征,自适应计算每个截面的相关点集的中心点;
[0121]
根据每个截面的相关点集中的点云数据的缺失状态,移动所述中心点,以获取每个所述相关点集的对应的骨架约束点。
[0122]
其中,空间距离权重的表达式为:
[0123][0124]
所述法向差异权重的表达式为:
[0125][0126]
所述点云完整性权重的表达式为:
[0127][0128]
其中,pi为截面的相关点集sk中的第i个点;qj为pi点的k近邻集合n(pi)中的第j个点;α为空间距离上的影响参数;w

k,i
为空间距离权重;为第k个截面处的叶面朝向;n
pi
为截面的相关点集sk中点pi的法向;β为法向差异上的影响参数;w

k,i
为法向差异权重;lm表示凹壳所形成的多边形的第m条边的长度,所述凹壳是将截面的相关点集投影到垂直于叶片伸长方向的正交面后生成的;r为所述凹壳最长的边与总边长的比值;ε为判断点云数据缺失的阈值。
[0129]
其中,所述根据每个截面的相关点集中的点云数据的缺失状态,移动所述中心点,以获取每个所述相关点集的对应的骨架约束点中的移动所述中心点,其确定公式为:
[0130][0131]
其中,ck为截面的相关点集sk所对应的骨架约束点;ek是根据所述相关点集中的点云完整性对中心点进行移动的方向。
[0132]
在本发明提供的叶片点云骨架提取方法,所有距离场可将整个叶片初始点云划分为多个子集sk,每个子集sk其实就是一个截面的相关点集,可以近似为一个垂直于叶片伸长方向的截面点集合,具体形式如下:
[0133]
sk={pi|di∈[tk,t
k+1
],k=1,2,

num,
[0134]
i=1,2,

,n},
[0135][0136]
其中,num为设定的最大的截面数量(测试中可设置为100);tk表示第k个截面对应的距离。
[0137]
在此基础上,本发明提供了一种基于自适应加权算子的骨架约束点提取方法,以有效地克服叶片点云数据采样不均匀以及数据缺失等影响。
[0138]
本发明所提供的基于自适应加权算子,来计算每个截面的相关点集sk的骨架约束点ck的方法,其实质上是根据叶片初始点云的空间分布特征,自适应计算出每个截面相关点集sk的中心点;并根据点云数据的缺失情况对计算出来的中心点进行适当的移动,使得骨架约束点ck更接近于玉米叶片中间的叶脉点,其计算公式为:
[0139][0140]
其中,w

k,i
是空间距离权重;w

k,i
是法向差异权重;w
″′
k,i
是点云完整性权重;ek是根据点云的完整性对中心点进行移动的方向,可以采用点集sk的第三个主成分方向进行计算。
[0141]
1)空间距离权重w

k,i
,主要用于解决由于叶片初始点云数据的采样不均匀所导致的提取的骨架约束点偏移的不足,其计算公式为:
[0142][0143]
其中,pi为截面的相关点集sk中的第i个点;qj为pi点的k近邻集合n(pi)中的第j个点;α为空间距离上的影响参数,可以设置为整个叶片初始点云数据中所有点的平均距离。
[0144]
2)法向差异权重w

k,i
,主要是由当前点的法向与叶片朝向的差异计算获得,目的是为了使提取的骨架约束点位于叶片初始点云数据的内部,其计算公式为:
[0145][0146]
其中,为第k个截面处的叶面朝向,可以通过点集sk的第二个主成分进行估算;n
pi
为截面的相关点集sk中点pi的法向;β为法向差异上的影响参数,可以设置为1。
[0147]
3)点云完整性权重w
″′
k,i
,主要用于解决因叶片初始点云数据存在缺失,从而对提取的骨架约束点形成的干扰的问题。
[0148]
对于完整的初始叶片点云,可以将该权重w
″′
k,i
设置为0;随着缺失部分的增大,点云完整性权重也会相应的增加。
[0149]
对于缺失的叶片点云,仅利用空间距离权重和法向差异权重提取的骨架约束点在缺失部分产生较大偏差,因此,点云完整性权重作为一个补偿,可通过该权重让骨架约束点朝缺失方向移动来进行校准。
[0150]
可选地,本发明将截面相关点集投影到与叶片伸长方向垂直的正交面上,并求其凹壳。凹壳作为一个多边形,存在大量缺失部分对应的边长是较长的,可计算凹壳最长的边
与总边长的比值r来判断缺失情况,具体如下
[0151][0152]
其中,lm表示凹壳所形成的多边形的第m条边的长度,ε是用于判断初始点云数据缺失的阈值,如实验中设置可设置为0.1。
[0153]
本发明提供的叶片点云骨架提取方法,能提取完整叶片点云的骨架信息,尤其是点云完整性权重的引入可以提升点云缺失的叶片的骨架提取效果。
[0154]
基于上述实施例的内容,作为一种可选实施例,结合图5所示,上述获取所述骨架约束点集的主曲线,包括:
[0155]
步骤1,对骨架约束点集cm中的所有约束点进行k近邻距离计算,并利用预设距离阈值剔除离群点,并构建voronoi区域v1,

,vm;
[0156]
步骤2,基于主成份分析法,以第一主成分为方向,从质心开始向其正负方向分别取长度为t倍vm标准差长度的线段,作为第一主成分线段lm,并计算所述cm中的每个约束点至所述lm的投影距离;
[0157]
步骤3,获取所述cm中的偏远点vf,并将所述偏远点vf的邻近点加入至所述cm中,生成新的骨架约束点集c
m+1
;所述偏远点vf是距离主成分线段集合{l1,

,l
m+1
}最远的点;
[0158]
步骤4,在所述c
m+1
中计算新的第一主成分线段l
m+1
,并将所述l
m+1
加入至所述主成分线段集合{l1,

,l
m+1
}中,获取新的主成分线段集合{l1,

,l
m+1
};
[0159]
步骤5,令m+1,并迭代执行步骤1至步骤4,直至新的主成分线段集合中的线段数量达到预设数量阈值,或预设能量函数值最小;
[0160]
步骤6,基于贪心算法,利用由步骤5所获取到的新的主成分线段集合,构建哈密顿路径,并基于2-opt优化算法对所述哈密顿路径进行优化,获取所述主曲线。
[0161]
主曲线是线性主成分分析的非线性推广,主要通过寻找到一条曲线,使得数据集中的点到该曲线的距离和最小,实质上是寻找通过数据集中间位置的一条光滑曲线。
[0162]
由于所提取的骨架约束点集是通过对每个点云子集分别计算的,不同点云子集之间的约束点集可能会存在一些不连续的情况,因此可以通过计算上述所有点云子集的骨架约束点集的主曲线,得到更加接近叶脉位置的骨架曲线。
[0163]
作为一种可选实施例,本发明提供了一种迭代插入新线段的方式来计算骨架约束点集的主曲线,以优化调整玉米叶片骨架:
[0164]
首先,通过pca算法从样本集中提取主成分线段;然后,依据条件重新划分样本集;调整对应的voronoi区域得到新的主成分线段集合,直到满足指定线段数目为止;最后,通过贪心算法构建hamiltonian路径,得到最终的主曲线。
[0165]
具体包括但不限于以下步骤:
[0166]
(1)初始化
[0167]
将所有子叶片的骨架约束点集c作为样本集cm,,并用其构成初始voronoi区域vm(包含所有骨架约束点)。通过各区域vm进行主成分分析,以第一主成分为方向,并从质心开始向其正负方向分别取长度为1.5倍vm标准差长度的线段作为初始的主成分线段lm,并计算c中每个骨架约束点到主成分线段的投影距离。投影距离计算公式为:
[0168]
d(b,l(t))=inf‖b-l(t)‖
[0169]
其中,b表示c骨架约束点集c中的一个点;l(t),t∈r表示主成分线段所在直线的参数方程;inf表示向下取整;‖ ‖表示求范数。
[0170]
(2)插入新的主成分线段
[0171]
首先从骨架约束点集c中找到离主成分线段集合{l1,

,lm}最远的偏远点vf,同时该偏远点vf周围有三个或者三个以上点,用其构建新的样本集c
m+1
;然后,在新的样本集c
m+1
中计算其第一主成分线段l
m+1
加入到主成分线段集合中得到{l1,

,l
m+1
},并重新计算它们的新的voronoi区域{v1,

,v
m+1
},直到达到设定的最大线段数目n或者使如下的能量函数最小为止:
[0172][0173]
其中σ2为骨架约束点集c的方差,l是所有主成分线段的长度之和,m表示骨架约束点集c中点的数目,ck骨架约束点集,li对应的主成分线段。
[0174]
(3)生成主曲线
[0175]
由于上述通过计算骨架约束点集的主曲线生成的骨架,可能会在叶片基部和叶尖部产生收缩,故在得到骨架后可以通过后续处理,如:对骨架两端的位置进行校准,包括:
[0176]
将骨架约束点集首尾两点作为骨架的起始点和结束点,搜索骨架两端延长线方向到首尾骨架约束点,即可实现。
[0177]
本发明在首尾两端点校准后,可提高骨架提取精度,以及后续表型(如叶长)计算的精度。
[0178]
实验表明,本发明提供的叶片点云骨架提取方法,根据长窄形植物的叶片初始点云进行骨架的生成,可以提取得到高精度的骨架,适用于玉米、高粱、水稻和小麦叶片等,尤其是针对现有技术所不能有效解决的少量缺失的植物叶片点云进行高精度骨架建模的缺陷,所获取的提取结果与完整的叶片点云数据的提取结果差异不大。
[0179]
图6是本发明提供的一种叶片点云骨架提取装置的结构示意图,如图6所示,主要包括叶片点云分组单元61、截面点集划分单元62、约束点集生成单元63以及点云骨架生成单元64,其中:
[0180]
叶片点云分组单元61主要用于获取叶片初始点云中每个点的法向信息,并基于所述法向信息,对所述叶片初始点云进行聚类,获取多个点云子集;
[0181]
截面点集划分单元62主要用于建立每个所述点云子集的距离场,并按照预设步长确定多个垂直于叶片伸长方向的截面,以根据每个截面所在的距离场确定每个截面的相关点集;
[0182]
约束点集生成单元63主要利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,以构建骨架约束点集;
[0183]
点云骨架生成单元64主要用于获取所述骨架约束点集的主曲线,作为叶片点云骨架。
[0184]
具体来说,叶片点云分组单元61主要用于执行以下功能:基于knn算法确定叶片初始点云中每个点的邻域;然后,基于pca算法根据每个点的邻域确定每个点的法向;进而基于最小生成树算法,调整上述叶片初始点云中每个点的法向,并获取每个点的法向信息;最
后,基于k-means聚类算法,根据每个点的法向信息,对所述叶片点云进行聚类,则可以获取到多个点云子集。
[0185]
截面点集划分单元62主要是借助距离场方法,以实现截面对应的相关点集的计算,每个点云子集对应生成一个距离场,通过距离场能够从叶片初始点云中抽提出每个截面所对应的相关点集。
[0186]
约束点集生成单元63借助自适应加权算子来计算每个截面的相关点集的骨架约束点,例如:根据叶片初始点云的空间分布特征,计算每个截面相关点集的中心;并根据点云数据的缺失情况对计算出来的中心点进行适当的移动,使得最终获取到的骨架约束点更接近于叶片中间的叶脉点。
[0187]
点云骨架生成单元64主要用于执行根据骨架约束点集,计算出有叶片的骨架约束点集的主曲线,进而得到更加接近叶脉位置的骨架曲线,作为叶片点云骨架。
[0188]
本发明提供的叶片点云骨架提取装置,设计了一种自适应加权算子来计算叶片点云的骨架约束点集,并引入主曲线对骨架约束点集进行优化,能较好的反映叶片的三维形状结构,对缺失的点云数据具有较好的鲁棒性,且无需后期手动调整,能够为表型大数据处理、自动化表型解析等提供技术支持。
[0189]
需要说明的是,本发明实施例提供的叶片点云骨架提取方法,在具体运行时,可以执行上述任一实施例所述的叶片点云骨架提取方法,对此本实施例不作赘述。
[0190]
图7是本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行叶片点云骨架提取方法,该方法包括:获取叶片初始点云中每个点的法向信息,并基于所述法向信息对所述叶片初始点云进行聚类,获取多个点云子集;建立每个所述点云子集的距离场,并按照预设步长确定多个垂直于叶片伸长方向的截面,以根据每个截面所在的距离场确定每个截面的相关点集;利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,以构建骨架约束点集;获取所述骨架约束点集的主曲线,作为叶片点云骨架。
[0191]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0192]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的叶片点云骨架提取方法,该方法包括:获取叶片初始点云中每个点的法向信息,并基于所述法向信息对所述叶片初始点云进行聚类,获取多个点云子集;建立每个所述点云子集的距离场,并按照预设步长确定多
个垂直于叶片伸长方向的截面,以根据每个截面所在的距离场确定每个截面的相关点集;利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,以构建骨架约束点集;获取所述骨架约束点集的主曲线,作为叶片点云骨架。
[0193]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的叶片点云骨架提取方法,该方法包括:获取叶片初始点云中每个点的法向信息,并基于所述法向信息对所述叶片初始点云进行聚类,获取多个点云子集;建立每个所述点云子集的距离场,并按照预设步长确定多个垂直于叶片伸长方向的截面,以根据每个截面所在的距离场确定每个截面的相关点集;利用自适应加权算子,确定每个所述相关点集对应的骨架约束点,以构建骨架约束点集;获取所述骨架约束点集的主曲线,作为叶片点云骨架。
[0194]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本邻域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0195]
通过以上的实施方式的描述,本邻域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0196]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本邻域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1