当前位置:首页 期刊杂志

基于三维点云的叶面积估算方法

时间:2024-05-24

苏宝峰 刘易雪 王 琮 米志文 王方圆

(1.西北农林科技大学机械与电子工程学院, 陕西杨凌 712100; 2.农业农村部农业物联网重点实验室, 陕西杨凌 712100;3.西安交通大学机械工程学院, 西安 710049)

0 引言

提高植物表型的获取效率是研究植物生理机制过程亟待解决的问题。植物表型数据的缺失限制了研究人员对数量性遗传性状分析的能力[1-2]。借助智能化设备鉴定植物表型是智慧农业的重要组成部分[3-4]。叶面积的测定是植物生理机制研究中一项基本测定,无损鉴定植物的叶面积可为研究植物的光合效率等生理机制提供数据支撑[5]。

目前较为流行的叶面积测定方法为使用手持设备、通过单一图像处理的方式测定叶片面积[6-7]。然而,从单一图像测定叶面积的方法不能满足表型数据高通量获取的要求,利用三维重建结构技术获取叶片形态成为研究无损估测叶面积的新方向[8-11]。

目前常见的三维点云获取设备主要有基于激光扫描原理的FastScan、Vivid9i,利用结构光获取对象深度信息原理的Microsoft Kinect、3D Scanner等仪器以及基于双目相机的立体视觉系统[12-22]。文献[16]通过三维扫描仪完成了对苹果叶片的三维重建。文献[17]使用FastScan对烟草植株进行扫描,得到烟草植株的三维结构。文献[18]把获取的深度信息和颜色信息进行配准后,获得了包含颜色和纹理信息的油菜三维重建模型。文献[19]改进了使用Kinect重建植株三维点云的配准方法。文献[20]使用消费级深度相机对玉米植株进行了三维重建,并提出了去噪方法。文献[21]使用Kinect重建了玉米的三维模型,并提出了有效去除离群点的方法。文献[22]提出了一种基于双目视觉的能量最低模型,以此估计植物的叶面积、高度及地上生物量。

然而,这些方法均存在成本较高、对应用环境要求苛刻等问题。使用激光扫描仪虽然可以获得精确的三维点云,但所需成本高,数据处理过程繁琐,适用性不强;基于结构光的深度图像系统对光照环境的配置要求高;双目立体视觉系统使用前需人工校正相机。运动恢复结构算法的提出降低了对点云获取设备和环境的要求,可基于消费级相机获取的多幅图像实现三维重建[23]。文献[24]使用运动恢复结构算法对株高大于50 cm大豆和向日葵进行三维重建,并对整株植株进行了分割。虽然详细地描述了点云获取过程,然而针对点云分割处理的问题,仅分割出植株上的叶片,未能分割出单一叶片。

针对上述问题,本文提出面向智能手机平台获取图像进行植物3D表型信息提取的方法。该方法通过运动恢复结构(Structure from motion,SfM)对智能手机获取的图像进行处理,获取点云数据,针对点云数据处理问题,采用颜色特征阈值分割算法实现点云去噪,采用聚类算法实现点云分割;针对离散点云的表面重建问题,采用滚球算法对点云进行表面重建,得到网格模型,以实现叶片面积的计算。

1 材料和方法

1.1 材料

以3株株高约为30 cm的盆栽赤霞珠葡萄植株为对象,编号1、2、3,1号植株叶片数量为5,叶片重叠率较低;2号植株的叶片数量为9,叶片重叠率适中;3号植株的叶片数量为10,叶片重叠率较高,如图1所示。

图1 实验用盆栽赤霞珠葡萄植株Fig.1 Potted Cabernet sauvignon grape

本文使用图像采集平台为iPhone xs Max。依赖其f/1.8光圈的1 200万像素主广角镜头采集图像。为保证图像采集平台的可替代性,拍摄模式采用默认的自动对焦方式,禁止闪光,禁止获取HDR图像。先经过预备实验,手持手机在距葡萄树苗0.5 m的范围内连续采集图像以获取更多的细节信息。采集的图像尺寸为3 024像素×4 032像素,图像的文件格式为JPG。1号植株采集了78幅图像,记为1号图像集;2号植株采集了65幅图像,记为2号图像集;3号植株采集了109幅图像,记为3号图像集。

1.2 基于运动恢复结构算法的点云获取

针对使用普通消费级相机重建目标三维模型的问题,运动恢复结构算法是一种常见的三维重建方法,是一种利用存在信号耦合的图像序列估测目标物体三维结构的摄像测量技术。

运动恢复结构算法使用SIFT算法完成图像特征点匹配。SIFT算法通过提取局部图像特征处理图像平移、旋转尺度变换的干扰问题,降低对图像拍摄的要求。提取特征点(基于高斯差分法的尺度空间极值点)后对提取到的特征点附加详细信息,再通过两幅图像间的特征点找出匹配对,建立物体间的对应关系[25-26]。检测两幅图像的所有特征点,计算第2幅图像特征点的特征向量集合与第1幅图像特征点特征向量集合的欧氏距离,然后对获得的所有欧氏距离进行比较,其中最小的欧氏距离对应特征向量的特征点就是两幅图像所匹配的特征点[27]。

使用光束平差算法优化后,对稀疏点云对应的特征点周围像素进行扩展,形成密集点云。

目前能实现运动恢复结构算法的软件有OpenVMS、Pix4D Mapper、Agisoft PhotoScan等。本文选择Agisoft PhotoScan软件进行点云获取。将3个图像集分别导入Agisoft PhotoScan对3株葡萄进行三维重建,重复验证本文所提方法。使用Agisoft PhotoScan中的长度测量工具测量标尺长度,与实际值换算得出点云数据的比例尺。

1.3 叶面积计算

处理点云数据实现叶面积的计算过程如下:①分割背景点云。②基于HSV颜色空间使用阈值分割法去除植株点云的噪点。③使用K-means聚类算法对点云的三维坐标矩阵进行分类,实现单片叶片点云的分割。④基于滚球算法重建了叶片的表面网格模型。⑤通过计算网格面积求得叶片面积。

1.3.1背景点云分割

针对密集点云数据繁杂背景分割的问题,使用MeshLab中的滤波器工具提取葡萄盆栽的点云,去除背景点云。

1.3.2植株点云去噪

噪点主要存在于叶片表面周围以及下侧,主要源自叶片表面反光导致的特征点匹配错误产生的错误点以及在叶片遮挡下枝干的特征点匹配错误产生的错误点。噪点的颜色特征区别于叶片点云特征,因此将颜色特征作为阈值区分出噪点。使用Matlab Color Threshold工具箱提取叶片的颜色阈值创建掩膜函数。选取HSV颜色空间作为特征,在Color Threshold可视化界面中,提取叶片颜色特征边界值,通道1的阈值范围为[50.623,83.666],通道2的阈值范围为[-41.963,-12.479],通道3的阈值范围为[-25.137,39.775],创建掩膜矩阵BW。以点云数据的颜色矩阵C为对象,生成新的颜色矩阵R。以掩模矩阵BW为索引,生成这些点新的坐标矩阵L。将矩阵R、L写为点云格式,得到去噪后的植株点云。

1.3.3单个叶片点云分割

根据叶片在植株上的分布情况,任意两片叶片间存在一定距离,采用无监督聚类算法完成单片叶片点云的分割工作。对经过去噪处理后的植株点云使用K-means算法对点云数据的三维坐标矩阵进行分类。K-means算法的目标是把n个样本点划分到k个不同类簇里,在样本中随机选取k个初始中心,然后对靠近它的点进行归类,通过迭代的方法,每次在每个聚类中重新计算中心值,然后再比较聚类中心间的距离,直到达到所设定的收敛条件后聚类结束。对应不同的植株,在分割时将k值设置为对应的叶片数量。

1.3.4叶片点云表面重建

为了还原不规则叶片表面形状,针对叶片表面卷曲不平整的问题,以单个叶片离散点云为对象,使用滚球算法(Ball pivoting)重建叶片的表面网格模型。滚球算法的原理是首先在点云中随机寻找到一个种子三角形,然后滚球算法会在这个种子三角形边界内滚动一个预先给定直径的小球,当这个小球碰到三角形边界外的另外一个点时就组成另外一个三角形。滚球算法的收敛条件是当所有的边界都被滚动到且没有多余的点再组成三角形[27]。根据点云的密集程度,设置收敛条件为小球半径为聚类半径的20%,最大阈值角度为90°,在MeshLab中实现这一算法。

1.3.5叶片面积计算

通过统计叶片表面的三角网格面积计算出叶片的表面积。使用Matlab处理点云表面模型,基于海伦凯勒公式计算得到单个网格三角形的面积以求得叶片面积。计算网格面积公式为

根据表4中数据可知,以FPS的大小评估算法的检测速度,可知Faster-RCNN不能满足无人车障碍物检测系统所需的实时性;以mAP值评估算法的检测精度,可知表4目标检测算法中DSSD算法检测精度最高,且在任一类别的目标检测上,DSSD算法均优于其它算法。当FPS满足20时即可保持画面的流畅[13],故DSSD算法可以保证无人车障碍物检测系统的检测准确率和实时性需要。

(1)

式中A——每个三角网格的面积,cm2

r——三角网格序号

S——植物叶片的总面积,cm2

n——三角网格总数

通过植物的三维模型比例尺的比例变换得出植物叶片面积的计算值。

2 实验结果分析

2.1 点云获取结果与处理

使用1.2节中的点云获取方法获取葡萄植株的三维点云数据与相机姿态如图2所示。

图2 三维重建结果Fig.2 Result of 3D reconstruction

对于1号植株,校对78幅图像后,生成34 508个特征点,得到了3 329 326个密集点云;对于2号植株,校对65幅图像后,生成了33 791个特征点,得到了3 566 248个密集点云;对于3号植株,校对109幅图像后,生成了79 567个特征点,得到了4 017 324个密集点云。由结果可以看出,使用运动恢复结构算法处理可见光图像可以恢复出目标的三维实景模型,重建效果好。这种三维重建的方法对原始图像采集平台以及采集方式的要求低,便于操作。

单个叶片分割结果如图5所示。从分割结果来看,本文所提分割方法适合离散分布的叶片点云的分割。

叶片表面重建结果如图6所示。重建结果表明,使用滚球算法可以满足还原叶片的形状的需求,得到接近实际的叶片表面模型。

图3 葡萄叶片提取结果Fig.3 Extraction results of plant point clouds

图4 植株点云去噪结果Fig.4 Denoising results of plant point cloud

图5 叶片点云分割结果Fig.5 Results of leaf point cloud segmentation

图6 叶片表面重建结果Fig.6 Result of leaf surface reconstruction

2.2 叶面积计算结果与分析

为了评估实验结果,本文对比了目前常见的叶面积测定方法。分别使用叶形纸称量法[30-31]、扫描叶片法[32]测定了3株葡萄的叶片面积并对比测定结果。

在使用叶形纸称量法进行测量时,选用标准A4纸,用分析天平准确称量后,得出A4纸的面积质量比。用铅笔在纸上准确勾勒出每片葡萄叶片的形状后剪出并称量,经过换算得到了叶片面积。

在使用扫描叶片法进行测量时,采摘叶片后将叶片平铺放置于打印机的扫描面板上,使用的打印机型号为Brother MFC-7860DN Printer,二值化处理扫描图像后,统计得出每株葡萄的叶片面积值。

将上述两种方法得到的结果与本文方法得出的结果进行比较,见表1。

表1 叶片面积计算结果Tab.1 Calculation results of leaf area cm2

通过对比计算结果可知,本文方法的计算结果贴近其他两种常见的叶面积测定方法。相比这两种通过直接收割叶片测定面积的方法,本文方法没有破坏性。1、2、3号植株的叶片重叠情况不等,但就处理结果来看,本文方法具有一定的稳健性。1、2、3号植株的叶片面积大小不一,面积最小的叶片仅有1 cm2左右,但结果表明,本文方法的计算结果与其他两种方法对比的误差仍然很小。使用其计算结果与使用扫描法测定的面积相比,1号植株的平均误差为1.67 cm2,误差占叶片面积的平均百分比为6.39%;2号植株的平均误差为1.16 cm2,误差占叶片面积的平均百分比为4.41%;3号植株的平均误差为0.79 cm2,误差占叶片面积的平均百分比为3.21%。3次重复实验结果平均误差为1.21 cm2(平均百分比4.67%);与叶形纸称量法测定值相比,1号植株的平均误差为1.58 cm2,误差占叶片面积的平均百分比为4.51%;2号植株的平均误差为1.66 cm2,误差占叶片面积的平均百分比为8.96%;3号植株的平均误差为1.00 cm2,误差占叶片面积的平均百分比为4.67%。3次重复实验结果平均误差为1.41 cm2(平均百分比6.05%)。误差分析如表2所示。

表2 叶片面积误差分析Tab.2 Error analysis cm2

目前在田间无损测定植物的叶面积主要采用手持设备获取单一图像并对图像处理的方法[31-33]。在本文中,使用图像处理法估测3株植株的叶面积以作对比。使用1.3节中同样的手机采集每株葡萄的图像,在采集过程中放置面积为25 cm2的黑色方格纸作为参照标志。首先使用Matlab中Image Labeler工具对黑色方格纸进行标记,并使用Canny算子提取出黑色方格纸的轮廓,腐蚀填充后统计像素数。使用阈值分割法对叶片进行分割,选取L*a*b颜色空间作为特征,设置通道1的阈值范围为[0.555,0.647],通道2的阈值范围为[0.431,0.497],通道3的阈值范围为[0.503,0.497 4],使用Canny算子提取叶片的轮廓,腐蚀填充后得到叶片的像素数,换算得出每株叶片的估测值。

使用单一图像法处理得到的植株整株叶面积之和估测值与本文方法及叶形纸称量法、扫描法的结果对比如表3所示。结果表明,在获取整株植株的叶片面积时,使用单一图像处理方法估测的叶面积结果与叶形纸称量法相比,3次重复实验的平均误差为53.05 cm2;与扫描法相比,3次重复实验的平均误差为80.10 cm2。使用三维重建法估测的结果与叶形纸称量法相比,3次重复实验的平均误差为37.93 cm2;与扫描法相比, 3次重复实验的平均误差为5.07 cm2。一方面来看,误差来源可能是在实际情况中大多数叶片是弯曲的、不平整的。基于图像处理的方法可能很难解决不在同一平面内的扭曲叶面的面积估测问题,然而这为基于三维点云的叶面积估测方法带来了机遇。从另一方面来看,在处理从单一视角获取的植株图像时,基于Canny算子提取叶片区域的方法无法很好地解决叶片间的重叠问题,在处理重叠的叶片时,会被误认为这是一个联通的区域,而非分离的区域,如图7所示。这也是偏差较大的原因之一。

表3 与图像法结果对比Tab.3 Comparison results between proposed methods and image processing cm2

结果表明,针对整个植株的单个叶片面积测定问题,本文无损精确测定叶片面积的方法是可靠的。相比处理单一图像来估测叶面积的方法,本文方法更能处理叶片重叠、叶片卷曲等现象导致计算有误的问题。相比其他方法重建植株的三维点云模型的方法,本文方法不需要搭载复杂的系统,也不需要对相机进行校正,操作更加简便且成本低廉。

图7 叶片区域提取过程Fig.7 Leaf area extraction based on image processing

3 结论

(1)使用运动恢复结构算法处理智能手机所获取的植物图像,对植物进行三维点云模型重建,提出了一种叶片点云分割、表面重建方法及叶片面积无损估测的方法。该方法适用于日常图像获取平台,成本低廉,操作简单,且获取的点云数据还原度较高。

(2)相比常规测定叶片面积的方法,本文方法的计算结果与扫描叶片法测定值相比平均误差为1.21 cm2,误差占叶片面积的平均百分比为4.67%;与叶形纸称量法测定值相比平均误差为1.41 cm2,误差占叶片面积的平均百分比为6.05%。表明该方法具有较高的可靠性。

免责声明

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