当前位置:首页 期刊杂志

基于三维点云的番茄植株茎叶分割与表型特征提取

时间:2024-05-24

彭 程,李 帅,苗艳龙,张振乾,张 漫,李 寒※

(1.中国农业大学智慧农业系统集成研究教育部重点实验室,北京 100083; 2.中国农业大学农业农村部农业信息获取技术重点实验室,北京 100083)

0 引 言

目前,作物表型检测技术远远落后于基因型技术,已经成为育种技术发展上的瓶颈。传统的表型性状一般采用手工测量,效率低下、主观性强,并且往往对作物有破坏性。因此开发自动化、高效率、无创伤的表型性状测量方法,提高番茄表型测量效率,对促进番茄育种科学发展至关重要。

作物表型参数可分为内在生理参数与外在形态参数,其中形态参数的获取一般通过三维重建实现。近年来基于三维点云的植物三维重建与表型参数测量方法广泛应用于作物表型研究。Hosoi等使用便携式高分辨率激光雷达从番茄冠层周围3个位置采集点云数据并行配准,准确测量了番茄叶面积,平均误差为4.6%。从单个视角采集的作物图像或点云由于植株自身遮挡,难以得到完整的点云数据,通过在植株周边多角度安装传感器或使植株进行旋转可以采集到不同视角的植株数据,对不同视角获取的点云进行配准可得到完整的作物点云信息。娄路等将植物放置于转盘上匀速转动,相机采用自动快门连续拍摄模式,从而得到360°全方位视角的植物图像序列。上述研究虽然能够获取高精度作物点云信息,但依赖大量手动操作,为了提升作物表型测量的效率与自动化程度,近年来诞生了将表型采集传感器搭载在机器人上实现高效自动化表型测量的研究。Bao等将表型测量传感器安装在机器人的机械臂末端,通过机器人在植物工厂中的自动导航,实现了自动化的表型测量。通过对上述研究进行分析,将深度传感器安装在机械臂末端,通过机械臂运动获取多角度点云,并对作物进行点云配准和三维重建,用于高效率、自动化的作物表型参数测量。

上述研究主要集中于获取完整植物点云数据,然而为了获得更详细的器官水平或基于植物部位的信息,需要将植物模型分割成单个器官。Miao等通过点云骨架提取、基于骨架的粗分割和基于茎叶分类的细分割实现了玉米植株的茎叶分割,分割算法的平均准确率达到了0.944。Jin等提出了一种中位归一化向量生长算法,通过茎生长叶生长,实现了玉米茎叶分割。番茄相比玉米拓扑结构更加复杂,器官形态差异大,通过骨架提取难以一步实现番茄茎叶分割。通过点云骨架化进行主径与叶柄分割,叶柄与叶片通过改进的区域生长方法再次分割,最终得到单个叶片点云,计算叶片面积。

基于以上分析,通过机器人和机械臂获取番茄多角度点云并进行三维重建是可以快速并自动化获取番茄表型参数的有效方法。茎秆与叶片的分割是作物表型测量的关键步骤,本文将基于机器人获取的单株完整番茄点云,通过骨架化、区域生长方法实现番茄的茎叶分离,并提取番茄株高、茎粗、叶倾角和叶面积参数,为番茄的高通量表型检测、三维几何重建等研究和应用提供技术手段。

1 材料与方法

1.1 数据获取

本文试验于2022年在北京市小汤山国家精准农业研究示范基地温室大棚进行。试验番茄品种为京番309,番茄种植行间距130 cm,株间距40 cm。番茄幼苗于2月27日移栽至温室,在移栽后的第7日、15日、25日进行了点云采集试验,本文的点云采集和表型参数提取方法主要针对苗期番茄。

为了高效的获取番茄表型数据,采用安装机械臂的自主导航机器人搭载深度传感器在温室中采集番茄点云。机器人由导航和表型采集系统构成,导航系统由四轮差速驱动底盘、单线激光雷达、轮式里程计和工控机组成,可实现温室内的即时定位与建图(Simultaneous Localization and Mapping,SLAM),路径规划以及自主导航;表型采集系统由遨博AUBO-i5六自由度机械臂、Kinect V2深度相机和数据处理终端组成,机械臂可对单个植株进行多角度点云采集,进而通过配准得到完整植株点云。机器人导航和点云采集均由机器人操作系统(Robot Operating System, ROS)控制和驱动,不同功能之间分布式运行和通信,保证了系统整体的鲁棒性,表型测量机器人如图1a所示。机器人长宽为85 cm×60 cm,机械臂最高采集高度为170 cm,机器人运行速度0~0.8 m/s。

图1 点云数据获取 Fig.1 Point cloud data acquisition

Kinect V2相机最大帧率30帧/s,水平和竖直方向视场角分别为70°和60°,点云精度1~3 mm,基于飞行时间方法获取点云,可以保证在光照强度环境变化复杂的温室内获取高质量的番茄点云。本文研究主要针对苗期番茄植株,每个植株采集两幅侧面视角以及一幅俯视视角点云,经试验验证3个不同视角的点云能够配准得到完整的植株点云,点云采集视角如图1c所示,番茄点云的采集的角度由作物位置和预先设置的采集位姿决定,机械臂控制使用aubo_i5_moveit_planning_execution开源功能包实现。每株采集时间约1~2 min。

1.2 点云数据预处理与配准

点云数据处理在MATLAB下离线进行。深度相机直接采集到的植株点云含有大量的环境点云和因外界光线、振动等产生散乱离群噪声点,通过直通滤波和统计滤波进行滤除。统计滤波原理为将点云中与其邻域内个点的平均距离d大于阈值T的点视为离群点,阈值计算公式为T=+,和分别为全局点云的邻域平均距离均值和标准差。通过设置多组和参数组合测试滤波效果,结果为分别取6.0和0.1时能够在保留植株点云完整性的情况下滤除离群噪声点。

深度相机单次采集的点云因植株自身遮挡存在部分缺失,为了获得完整的番茄植株点云,对机械臂从不同视角采集的同一棵番茄点云进行配准,配准分粗配准和精配准两步进行。粗配准的坐标变换矩阵通过机械臂记录的末端关节位姿计算获得,机械臂与相机坐标系如图2所示,相机与机械臂末端固定,不影响坐标变换,直接使用末端关节位姿代表点云位姿。机械臂记录的末端关节位姿为其在机械臂基座坐标系下的三维坐标与旋转矩阵。若用A表示第一次采集时机械臂末端位姿坐标系,B表示机械臂基座base_link位姿坐标系,C表示第二次采集时机械臂末端位姿坐标系,通过C→B→A两次变换可求得两次采集的点云之间的位姿变换。

图2 机械臂与相机坐标系 Fig.2 Robot arm and camera coordinate system

C至B转换计算公式为

式中和代表点云,表示点云位于B坐标系下,为C坐标系至B坐标系的旋转矩阵,为C坐标系至B坐标系的平移向量。

机械臂在A记录的末端位姿代表了A至B的转换,由A至B计算B至A的逆变换的公式为

通过两次旋转与平移,将两次不同角度采集的番茄点云变换至同一坐标系下,完成点云粗配准。

对粗配准后的两帧点云采用迭代最近点算法(Iterative Closest Point, ICP)进行精配准,缩小点云之间的空间位置,ICP算法两帧点云间的距离阈值参数设置为1 mm,最大迭代次数100。点云配准效果如图3所示,番茄幼苗在种植7~25d内经滤波和配准后的单株有效点云个数约1~2万。

图3 配准点云 Fig.3 Point cloud data registration

1.3 骨架提取与茎秆分割

番茄的三维形态结构较为复杂,且不同植株间差异较大,难以通过固定的方法直接实现茎秆与叶柄的分割,参考玉米茎叶分割方法,首先对植株点云进行骨架化,通过骨架连接点实现主茎与叶柄的分割。

采用基于拉普拉斯收缩的方法提取番茄植株骨架。首先通过拉普拉斯收缩将原始点云收缩为一个体积零的点集,如图4a所示。然后通过最远点采样得到骨架顶点,最后通过拓扑连接与细化得到曲线骨架。拉普拉斯骨架提取算法中的最近邻参数为关键参数,会影响骨架提取效果,经实验验证取12时,得到的番茄植株点云最利于其分割。骨架提取的同时还为骨架顶点保存了其对应的点云。拉普拉斯骨架提取算法生成的番茄株骨架如图4b所示,整个骨架由边和骨架顶点构成。根据骨架顶点相邻边的数量可将骨架顶点分为根顶点、连接顶点和分支顶点。根顶点指只有一条边与之相连的顶点,如茎底或叶缘顶点;连接顶点指有且只有两条边与之相连的顶点,承担骨架的延伸;分支顶点指有两条以上边与之相连的顶点,如茎秆叶柄连接处的顶点,是基于骨架分割的关键顶点。

番茄茎秆为单一分支结构,若骨架从茎秆向叶柄及叶片单向延伸,生成的骨架为无向图,但由于叶片下垂导致属于不同叶柄的叶片互相接触或距离过近,出现不同叶柄的叶片骨架相连,形成骨架闭环错误,如图4b标记位置所示,骨架出现闭环的具体原因是两个骨架分支的附近点近似共面且在生长方向上趋同。闭环骨架中的错误连接边通常最靠近或会穿过叶片边缘轮廓,如图4c所示,通过提取叶片边界点云并连接得到叶片边界轮廓线,计算闭环骨架中各边顶点与其最近的叶片边界轮廓线的距离W判断错误连接边。

式中,dd分别为各骨架边的两个顶点距叶片轮廓线的距离。将W取值小的骨架边视为错误连接边,将该边从骨架中删除,得到无向图点云骨架,如图4d所示。

图4 番茄骨架提取 Fig.4 Tomato skeleton extraction

根据番茄植株结构可将骨架分解为茎秆子骨架和叶柄子骨架,将茎秆子骨架上的分支顶点断开可实现主茎和叶柄的分割。通过点云采集记录的植株位姿可将骨架变换至与其生长姿态相同的世界坐标系下,从而通过最低点识别得到茎秆骨架的根顶点。自茎秆骨架最低点向前延伸,存在分支节点时计算向前延伸的2个骨架边向量和与轴正方向的夹角,取夹角大的边作为叶柄子骨架,夹角小的边作为茎秆子骨架,如图5a所示。

图5 基于骨架的点云分割 Fig.5 Point cloud segmentation based on skeleton

将茎秆子骨架中骨架顶点对应的点云合并得到茎秆点云,如图5b所示,茎秆会延伸至最顶端的叶片。由于顶端叶片尚未展开,难以提取其叶片面积,对其暂不做处理。提取茎秆后的叶片点云如图5c所示,每个子骨架对应个叶柄及其多个叶片。对于趋近曲面的植物叶片,骨架难以很好的表征其形态,后续采用聚类分割算法对叶片进行分割。

1.4 基于区域生长和聚类的叶片分割

经骨架分割得到的番茄叶片由叶柄(叶轴)和奇数个羽状复叶构成,每一小叶各自具有小叶柄,通过区域生长和聚类的方法进行分割。

区域生长算法思想为通过判断点云法线之间的就夹角和曲率是否满足阈值决定近邻点与当前点是否为一类,若法线夹角和曲率均小于阈值则作为种子点继续循环迭代,若仅满足法线夹角阈值则只归类,邻域内不再有种子点时,分类完成,从原始点云中去除,重新选择初始种子点开始归类。区域生长算法对叶片与叶柄的分离有较好的效果,但存在两种情况区域生长方法会出现错误分割:

1)叶轴同侧的两叶片互有粘连重叠部分且趋于共面,将相邻叶片分割为一类,如图6a所示;

2)叶轴顶端单叶存在深裂,裂口两侧部分不共面且出现较大夹角,将单叶分割为两类,如图6b所示。

图6 叶片点云分割效果 Fig.6 Segmentation of leaf point cloud

MeanShift聚类算法即均值漂移算法,是通过点云密度梯度上升追踪样本点附近密度中心,从而根据密度中心进行归类的算法。单个叶片的密度中心位于其质心。两个相互有重叠区域的叶片由于重叠区域占单个叶片面积的极小一部分,一般不超过10%,故若以单个叶片大小的搜索框利用MeanShift算法搜索密度中心,可以分别搜索出两个叶片的质心位置,从而实现粘连叶片的分割。

将以上两种算法结合,首先通过MeanShift算法寻找叶片质心,而后以质心为初始点进行区域生长,分割得到单个叶片点云。分割过程中MeanShift算法的漂移窗口半径与区域生长的曲率阈值为关键参数。漂移窗口半径越接近叶片外接球半径,MeanShift算法收敛中心越接近叶片质心,番茄叶片一般情况下并非平面,宜选择相对宽松的曲率阈值进行区域生长,经试验验证,本文区域生长法线阈值取30°,曲率阈值取0.12。本研究为不同生长部位的番茄叶柄选择了不同的MeanShift漂移窗口半径,靠近顶端的半径为35 mm,顶端以下的半径选择55 mm。基于区域生长的MeanShift的叶片分割效果如图6所示。

1.5 表型参数提取

利用配准得到的完整番茄点云、植株骨架以及分割后的叶片点云提取番茄株高、茎粗、叶倾角与叶面积表型参数。

株高参数通过植株点云在轴方向坐标最大值与最小值之差计算。番茄在营养生长期茎秆粗细不均匀,需要选择固定的生理位置作为其茎粗测量部位,本文选择植株根部第一叶柄上方作为茎粗测量位置。在第一叶柄上方提取高度2 cm的茎秆片段计算茎粗,若对截取的茎秆直接计算其横向距离作为茎粗,倾斜的植株则会产生较大的测量误差,如图7a所示,水平测量的茎粗与实际茎粗夹角等于茎秆骨架与坐标轴的夹角,实际茎粗通过式(5)计算。

图7 株高茎粗叶倾角参数测量示意图 Fig.7 Schematic diagram of measuring plant height and stem diameter parameters

叶倾角是指叶柄与主茎的角度,是株型的主要构成要素,会影响植物的光合效率、种植密度等,是番茄品种选育、栽培研究和生产实践中被广泛关注的重要性状。叶倾角通过植株骨架计算,如图7b所示,计算主茎子骨架上分支节点处分量为正的两骨架边的对应向量、夹角作为叶倾角参数。骨架在迭代收缩时分支点位置受到分支影响位置会产生偏移,若仅选取分支节点近邻的一个骨架边作为叶倾角的计算向量会产生较大误差。将分支节点后的两个骨架边进行向量求和,如图7b所示,得到更准确的茎秆和叶柄方向向量,减小叶倾角计算误差。

经分割后的番茄叶片采用贪婪投影三角算法进行三角面片化,面片化后的叶片模型由若干个空间三角面片组成,如图8所示。 通过海伦公式计算每个三角面片的面积并求和作为叶面积参数,计算公式为

图8 叶片点云贪婪投影三角化结果 Fig.8 Result of leaf point cloud greedy projection triangulation

式中p表示面片化三角形周长的一半;a、b、c表示面片化三角形各边边长;为总三角面片数;S为单个空间三角形面片的面积;S表示叶片面积。

表型参数的真实值是检验以上方法的标准,株高、茎粗和叶倾角参数通过直接手动测量获得。叶面积真实值通过拍摄带有已知面积标志物的单个叶片图像,如图9所示,对图像进行二值化后,基于图像计算单个像素面积与叶片像素数量求得,叶片面积=(叶片像素数×标志物面积)/标志物像素数。

图9 叶面积真值计算 Fig.9 Leaf area truth value calculation

1.6 评价指标

基于点云骨架的茎秆分割主要目的在于分离番茄叶柄与茎秆,以分割出的叶柄数量评价其分割效果。正确分割出的叶柄数量用TP表示,叶柄未成功分割或与其他叶柄分为一类的数量用FN表示,非叶柄分割为叶柄的数量用FP表示,基于以上统计计算叶柄分割的召回率(recall,)、精确度(precision,)、1分数(1 Score,1)和平均总体准确率(Overall Accuracy, OA),计算方法见式(7)~(10)。

基于区域生长的MeanShift聚类分割算法通过统计分割正确与错误的点云数量评价其分割精度。对于某次分割,若某个叶柄点云共有个点,属于叶片的点云被正确分割至叶片的点数量用TP表示,属于叶片的点云被错误分割至其他部位的点数量用FN表示,不属于叶片的点云被错误分割至叶片的点数量用FP表示,同样通过式(7)~(10)计算其平均召回、平均率精确度平均1分数和平均总体准确率量化其分割效果。

各表型参数测量结果采用线性回归分析方法评价其测量结果,通过计算本文研究方法提取值与人工实测值之间的均方根误差(Root Mean Square Error,RMSE)和决定系数指标量化各参数的误差与精度。

2 结果与分析

2.1 分割结果

对移栽温室后7、15、30 d三个生长期的各10棵番茄使用基于拉普拉斯骨架的茎秆叶柄分离,结果如表1所示。

表1 不同生长期番茄茎叶分割结果 Table 1 Stem-leaf segmentation results of tomato at different growing stages

在温室生长7 d的番茄植株平均有叶柄4~5个,15 d的5~6个,25 d的6~7个。叶柄分割的精确率、召回率、1分数和平均总体准确率分别为0.84、0.91、0.87和0.92,结果分析可得分割召回率普遍高于精确率,说明许多非叶柄被分割为叶柄,原因是在番茄顶端叶柄和叶片结构密集,在骨架顶端出现一个顶点分出多个短边的情况,将部分小叶片分割为了叶柄,造成过分割。分割精确率有随植株生长升高的趋势,原因是幼苗叶柄分布密集,长大后叶柄之间距离扩大,更加利于分割。

番茄植株顶端新生叶片结构紧凑,没有完全舒展,区域生长方法对于非曲面结构存在限制,无法使用本文开发的方法进行分割,本研究从第二个叶柄开始进行叶片分割。对30株番茄上的共139个叶柄进行基于区域生长的MeanShift方法分割,并与单独的区域生长与单独MeanShift方法分割效果进行对比,结果如表2所示。

表2 不同方法番茄叶片分割结果 Table 2 Comparison of leaf segmentation accuracy of three methods

基于区域生长的MeanShift方法精确率、召回率、1分数和平均总体准确率分别为0.92、091、0.91和0.93,各项指标均高于单独区域生长、单独MeanShift分割方法分割。结果说明基于区域生长的MeanShift方法更加适合对番茄叶柄进行叶片分割。

2.2 表型参数提取结果

各表型参数提取值与人工测量值的对比如图10所示,株高、茎粗参数共30棵样本,叶倾角数据139个,叶面积统计单位为单株整体叶面积,共30棵。对比结果表明,株高、叶倾角与叶面积提取值和实测值之间具有较强的相关性,株高参数的决定系数和均方根误差RMSE分别为0.97和1.40 cm;叶倾角的和RMSE分别为0.90和5.14°;叶面积的和RMSE分别为0.87和37.56 cm;茎粗参数测量误差较大,和RMSE分别为0.53和1.52 mm,主要原因为苗期番茄茎秆较细,受传感器自身精度影响。

图10 番茄表型自动提取与人工测量真值对比 Fig.10 Comparisons between automatically extracted values and manually measured values of tomato plants phenotypic parameters

3 结 论

本研究开发了基于点云配准、骨架分割与叶片分割的温室番茄表型测量方法。首先通过机械臂多角度采集番茄点云,对多视角番茄点云进行配准得到完整植株点云,通过拉普拉斯收缩提取植株点云骨架,基于骨架进行了茎秆叶柄分割,并对叶柄实施了基于区域生长的MeanShift分割。利用配准得到的植株点云测量了株高、茎粗参数,利用骨架测量了叶倾角参数,最后对分割得到的叶片进行面元拟合测量了叶面积参数。通过对试验结果分析可得出以下结论:

1)通过骨架提取实现苗期番茄茎秆叶柄精确分割,精确率、召回率、1分数和总体准确率分别为0.84、0.91、0.87和0.92。

2)通过基于区域生长的MeanShift方法对番茄叶柄的叶片进行了分割,精确率、召回率、1分数和总体准确率分别为0.92、0.91、0.91和0.93,分割效果优于单独使用区域生长或MeanShift算法。

3)提取了番茄株高、茎粗、叶倾角与叶面积4个参数,与真实值相比决定系数分别为0.97、0.53、0.90和0.87,均方根误差RMSE分别为1.40 cm、1.52 mm、5.14°和37.56 cm。

本研究为同一生长期的番茄植株点云采集设置了同样的拍摄角度和距离,忽略了植株之间的差异,点云采集角度和距离对于点云质量有相当程度的影响,若能对番茄植株进行精确定位与包围盒尺寸测量,根据植株生长状态精确设定点云采集方向和角度,可获得更高质量的番茄点云。同时,识别植株茎秆精确位置,在机械臂末端安装自动测量游标卡尺,可大幅度提升番茄茎粗测量的精度。

基于骨架的茎秆分割对大多数叶柄取得了良好的效果,但植株顶端叶片密集的区域产生了较大的误差,针对番茄顶端部位的骨架,通过设置角度、点云数量、生长方向等阈值,进行更精确的判别与分割,可提升其分割精度。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!