基于MRE-PointNet+AE的绿萝叶片外形参数估测算法
2021-02-01王浩云肖海鸿马仕航王江波徐焕良
王浩云 肖海鸿 马仕航 陈 玲 王江波 徐焕良
(1.南京农业大学人工智能学院, 南京 210095; 2.中国移动通讯集团上海有限公司, 上海 200060;3.塔里木大学植物科学学院, 阿拉尔 843300)
0 引言
植物表型是指受基因和环境决定或影响的复杂植物性状,包括生长、发育、耐性、抗性、生理、结构和产量等[1]。植物叶片是植物外在形态的重要组成部分,同时也是植物进行生理功能运作的主要器官[2]。叶片几何参数不仅是植物生长发育、产量形成和品种特性的重要指标,也是对作物进行合理栽培管理以及病虫害发生检测的重要依据[3]。因此,准确测量叶片的长、宽、叶面积等几何参数,对了解作物生长状况和指导作物育种、栽培等具有重要意义。
传统的接触式手工测量方法存在操作繁琐、效率低、误差较大的缺点[4]。随着硬件技术的不断进步,非接触式测量方法研究,如基于图像的表型特征提取方法和基于点云的三维建模和测量方法等受到越来越多的关注。文献[5]采用非接触式的视觉图像处理技术对大枣的表型参数进行提取。文献[6]采用双目立体视觉技术,以图像方法重建玉米果穗三维造型,并进行可视化输出,对果穗三维形态进行测量比较,但人工进行相机标定比较复杂。文献[7]采用运动恢复结构(Structure from motion,SFM)和多视角立体视觉(Multiple view stereo,MVS)相结合,基于多角度图像序列对生长前期的植株进行三维重建,对植株叶片进行建模分析,并进行三维测量。该方法根据图像序列之间的约束关系建立物体点三维坐标、摄像机参数、图像匹配点之间的大型非线性系统,虽然能够进行相机的自动标定,但是进行迭代求解时计算量较大。文献[8]采用图像分割方法实现簸箕柳与背景的分割,结合运动恢复结构算法对分割的二维图像生成三维点云,并利用棋盘格进行坐标系间的距离转换,从而提取簸箕柳的株高、基径、叶面积、分枝数等表型参数。文献[9]采用三维重建的方法对甜菜根型进行表型数字化处理,并根据提取的表型参数采用支持向量机、决策树、随机森林等预测模型进行根系分类。
以上方法可以对植株的外部表型参数进行较为准确的估测,但是无论是相机标定还是迭代计算,亦或是多角度拍摄均耗时费力。文献[10]通过构建番茄果实表型性状对应的数学模型,开发了可以半自动精确测量番茄果实表型性状的分析系统。文献[11]提出了第1个直接作用于点云数据的深度学习框架PointNet,可以实现点云物体的分类、分割和语义分割,但是,深度学习对数据的数量要求更高。目前利用深度学习对植株表型参数估测的研究尚未见报道。
本文以长藤绿萝为研究对象,使用Kinect V2相机从单一角度拍摄,获取点云数据,采用直通滤波、分割、点云精简算法对数据进行预处理,采用参数方程构建绿萝叶片几何模型,并计算几何模型的叶长、叶宽、叶面积。将几何模型离散的点云数据输入多分辨率点云深度学习网络(MRE-PointNet),得到预训练模型,针对叶片遮挡和噪声问题,通过自编码器的预训练模型对输入点云数据进行二次处理,用测得的绿萝叶片外形参数标签对预训练模型(MRE-PointNet)进行参数微调,从而完成绿萝叶片外形参数的估测。
1 材料与方法
1.1 试验材料
绿萝是阴性植物,喜湿热环境,在温度高于10℃的环境下适宜生长。试验绿萝品种为长藤大叶绿萝,选取培育4个月且生长状况良好的10盆大叶绿萝作为试验对象。植株冠层直径为28~32 cm,冠层高度8~12 cm,冠层内叶片数量相近,均长势良好。为了减少冠层表面叶片对下层叶片的遮挡影响,根据冠层高度将其平均划分为3个区间层进行叶片数据采集,每层采集8~12片数据,共采集300片绿萝叶片数据。
1.2 数据采集
试验数据采集主要分为两部分:先对绿萝进行无损点云数据采集,然后再对叶片进行离体有损的外部表型参数真实值采集。Kinect V2相机是微软公司推出的二代Kinect相机,精度为2~4 mm,分辨率为512像素×424像素,使用Kinect V2相机对绿萝进行拍摄,将相机倒挂于装有横臂、水平仪的三脚架上,以垂直试验台姿态固定高度75 cm对绿萝冠层表面进行拍摄,获取点云数据,然后将冠层表面叶片离体进行外部表型参数真实值数据采集,并准备进行下一层绿萝叶片的数据采集。
使用Kinect for Windows SDK 2.0中的Kinect Fusion Explorer进行点云数据采集,保存为ply格式。使用Matlab工具箱中的calibration工具对数据进行标定,通过获取镜头畸变参数得到校正矩阵。
将从每一次冠层表面离体的叶片平铺于A4白纸上,借助游标卡尺测量叶长和叶宽,测量精度为0.01 mm,采用Kinect V2相机从75 cm高度获取叶片彩色图像并进行标定与校正,通过图像分割提取叶片区域与A4纸区域的二值图像进行像素点统计,按照比例求取绿萝叶片的叶面积。
1.3 点云数据预处理
通过Kinect V2相机获取绿萝叶片点云数据,如图1a所示,点云数据包含空间坐标X、Y、Z位置信息和与之对应的RGB颜色信息,点云数据的三维坐标系以Kinect深度相机为原点,精确度是0.001 m,获得的绿萝点云原始数据包括背景台等冗余信息,采用直通滤波法[12]去除背景数据,得到绿萝冠层的表面叶片数据,如图1b所示。并采用区域增长分割算法将绿萝冠层表面分割成单片叶片,结果如图1c所示。对分割的单片叶片点云采用包围盒算法[13]和迭代最远点采样算法(IFPS)[14]进行精简,如图1d所示。
1.4 叶片几何模型构建与外部表型参数测量
1.4.1基于曲面参数方程的叶片几何模型构建
绿萝叶片的造型只包含一个曲面,形状较规则,可以采用相应参数曲面方程变形来进行构造,用参数方程表示有较好的稳定性。绿萝叶片的外形呈上窄下宽的卵圆形,根据果实造型和植物叶片的造型研究[15-16],叶片外形由叶形、叶尖、叶基和叶缘的边界轮廓组成。由于叶片厚度较小,构建几何模型时可以忽略不计,采用参数曲面方程Q(u,v)构建一个长方形平面,然后添加合适的干扰函数将长方形平面变形为叶片外形造型,最终得到叶片外形的参数方程[17]为
(1)
其中
(2)
式中tx1——X方向上叶形干扰函数
ty1——Y方向上叶基正弦变形函数
ty2、ty3——Y方向上叶尖两侧线性变形函数
xQ——X方向上的参数方程
yQ——Y方向上的参数方程
zQ——Z方向上的参数方程
h——长度系数b——宽度系数
ax——叶形变形指数,主要是对叶宽造成影响
dy——比例造型指数,影响叶片最宽点位置
at——叶尖变形指数,控制叶尖部分长度变化
ab——叶基变形指数,控制叶基部分长度变化
ut——叶尖造型指数,控制叶尖部分宽高比
ub——叶基造型指数,控制叶基部分宽高比
xb——叶片沿X方向在Z轴的弯曲幅度
yb——叶片沿Y方向在Z轴的弯曲幅度
u、v——自变量参数
其中h、b、ax、dy、at、ab、ut、ub、xb、yb为参数方程10个内部模型参数。
根据该参数方程构建的叶片模型从不同的角度查看如图2所示。并通过控制参数方程的自变量参数取值得到包括12 743个模型数据的模型库。
1.4.2叶片几何模型的外部表型参数测量
通过固定10个模型参数值,改变u、v两个系统参数值,找到Y轴方向上的最高点L1与最低点L2,这两点在Y轴方向上的差值即为叶长L。以同样的方法,找到X轴方向上的最高点W1与最低点W2,这两点在X轴方向上的差值即为叶宽W。固定10个模型参数值,按0.05的步长改变u、v得到400个单位矩形顶点,三角网格化后,通过海伦公式计算每个小三角形的面积,累加得到叶面积S。
1.5 基于MRE-PointNet和自编码器模型的叶片外形参数估测算法
通过Kinect相机从单一角度获取的叶片点云数据存在残缺和噪声问题,通过预训练好的自编码器模型对预处理的点云数据进行二次降噪处理。通过多分辨率点云深度学习网络对输入的叶片点云数据进行特征捕捉,输出叶片外部表型参数。为了更准确地输出叶片外部表型参数,通过基于真实值的模型参数微调,提升网络对真实叶片外部表型参数估测的准确率。基于MRE-PointNet和自编码器模型算法的绿萝叶片外形参数估测流程如图3所示。
1.5.1基于几何模型点云数据训练的MRE-PointNet模型
多分辨率编码点云深度学习网络(MRE-PointNet)是基于PointNet特征最大池化结构并结合多分辨率采样特征提取融合的叶片外形指标估测回归网络,该网络的主要目的是通过数据训练得到可以直接用于几何模型叶片外形参数估测的预训练模型。在网络前面的特征提取模块,借鉴PointNet点云数据特征提取思想,将输入点云(N×3)输入可训练的空间转换网络(Transfer Net,T-Net)(3×3),经T-Net网络训练得到的空间转换矩阵进行坐标对齐,得到点云(N×3),目的是为了得到一个更好进行特征提取的角度,从而更利于最终外形参数估测的准确。然后再通过多层感知机(Multi-layer perceptron,MLP)[18]对点云升维至N×64,对升维后的数据N×64输入可训练的空间转换网络T-Net(64×64),升维数据经T-Net网络训练得到的空间转换矩阵进行特征对齐得到数据N×64,即在特征层面上对点云进行矩阵变换,目的是对升维特征进行对齐,更好地进行特征提取。然后再通过MLP升维至1 024维(N×1 024),做全局特征池化(1 024),从而解决了点云的空间无序性问题,但是特征的最大池化也忽略了点云的局部信息,为了更好地捕捉到点云数据的局部特征,提出了多分辨率特征提取网络编码器(Multi-resolution encoder,MRE),用IFPS采样64、128、256个点,分别进行点云数据特征编码。同时相比于原网络结构的单层MLP(N×1 024),本文提出了多层深度特征融合结构(Concat multi-layer perceptron,CMLP)(N×1 216),通过不同层次的深度特征进行融合,从而更好地进行叶片点云局部特征的捕捉。MRE-PointNet网络是基于叶片外部参数估测的回归网络,采用均方差(Mean square error,MSE)损失函数度量真实值和估测值的误差。最后通过将11 467条几何模型点云数据作为训练集,1 276条几何模型点云数据作为验证集,得到几何模型外部参数指标估测的预训练模型。
1.5.2基于几何模型点云数据训练的自编码器模型
基于点云数据训练的自编码器(Autoencoder,AE)网络是一种将点云数据进行低维编码并通过解码器解码成与输入点云相同维度的无监督神经网络。它主要由两部分构成,编码器主要将输入的点云(N×3)编码成128维的全局特征向量(Grobal feature vector,GFV),进行特征的有效提取。解码器主要将编码之后的GFV恢复为与原来输入维度相同的点云数据。自编码器不仅能够很好地对输入点云数据进行去噪,还能对一定程度的残缺点云数据进行有效的补全,具有一定的鲁棒性,在结果分析中,将结合自编码器模型进行数据残缺的鲁棒性结果分析。训练AE时,采用反向传播法减少输入和输出点云之间的距离,可以用地球移动距离(Earth movers distance, EMD)[19]或倒角距离(Chamfer distance, CD)[20-21]作为对输入点云和输出点云之间的误差衡量,本文采用更加有效的倒角距离作为自编码器网络训练的损失函数。倒角距离函数为
(3)
式中P1、P2——输入点云和解码器解码出来的点云中点的数目
a、b——点云P1、P2中的点
dCH能够衡量解码之后的点云形状与输入点云形状之间的差异,数值越小,表示两个点云之间的相似程度越高,其中dCH的单位为cm2。
最后将11 467条几何模型点云数据作为自编码器网络的训练集,1 276条几何模型点云数据作为验证集,得到自编码器的预训练模型。
1.5.3基于真实数据MRE-PointNet预训练模型的模型迁移参数微调
预训练模型能很好地对几何模型绿萝叶片外形参数进行估测,但是从单一角度得到的真实叶片点云数据存在遮挡情况。尽管可以通过自编码器模型对预处理的点云数据进行二次降噪和点云补全,从而减小一些异常点和被遮挡数据的影响,但是经过自编码器模型二次处理之后的真实点云数据还是会和几何模型离散的点云数据存在较小的差异性。因此通过模型迁移(Model transfer)[22]方法,对MRE-PointNet预训练模型的特征提取层参数进行固定,对最后3层多层感知机做参数微调,训练得到适用于真实叶片外形参数估测的模型。模型微调流程如图4所示。
试验将采集得到的300片绿萝叶片点云数据按照2∶1比例进行划分,其中200片数据作为对模型微调的训练集,100片数据作为测试集,评估模型对绿萝叶片外形参数估测的能力。
2 结果与分析
2.1 叶片外部表型参数实际测量结果统计
试验共采集了300片绿叶长藤绿萝点云数据,并测得对应叶片的叶长、叶宽、叶面积外形参数。其中200片叶片数据作为模型微调的训练集,100片数据作为测试集,评估模型对绿萝叶片外形参数的估测能力。以测试集的100片绿萝叶片点云数据作为试验结果分析对象。表1为测试集100片绿萝叶片外部表型参数实测结果统计,从表1可知,绿萝叶片的叶长、叶宽、叶面积分布范围分别为6.86~13.93 cm、4.03~10.1 cm、19.67~96.7 cm2,试验所用绿萝叶片外形参数分布范围较广,避免了样本数据分布的单一性,试验结果可靠。
表1 绿萝叶片实测参数统计结果Tab.1 Statistics result of measured parameters of Scirpus sibiricum leaves
2.2 基于MRE-PointNet和自编码器模型算法的叶片外形参数估测结果与分析
试验将测试集的100片绿萝叶片点云数据经过预处理之后作为输入,分别估测其对应的绿萝叶片外形参数指标(叶长L、叶宽W、叶面积S)。并将其估测值和实际测得值进行线性回归分析,如图5所示。图中真实值为人工测量的绿萝叶片外形参数值,估测值为基于MRE-PointNet和自编码器模型算法估测的叶片外形参数指标;R2表示回归直线对观测值的拟合程度,最大值为1,其值越接近1,表示拟合程度越好;均方根误差(RMSE)反映估测值与真实值之间的偏差。分析图5可知,通过该算法估测的绿萝叶片外形参数值和真实值具有较高的相关性,其线性回归拟合的R2均高于0.90,RMSE均在误差允许范围内,证明该算法在对从单一角度获取的点云数据进行外形参数估测时,具有较高的精确度,并具有一定的高效性和稳定性。
2.3 不同网络模型对叶片外形参数的估测结果对比
对比多分辨率特征编码网络(MRE-PointNet-CMLP)、单层特征编码网络(Single-PointNet-MLP)、多层特征融合的单层编码网络(Single-PointNet-CMLP)、边卷积(EdgeConv)操作的动态图卷积神经网络(Dynamic graph CNN,DGCNN)[23]对几何模型叶片外形参数的估测能力,以DGCNN作为参照。通过控制几何模型参数方程的自变量取值获得包含12 743个模型数据的模型库,并将其离散成点云数据,其中的11 467条数据作为训练集,1 276条数据作为验证集,并分析4种网络模型对叶片几何模型外形参数估测的结果。图6为训练集数据的决定系数R2及均方根误差RMSE变化曲线,其中学习率为0.01,批尺寸为30,迭代次数为101。分析图6可知,在设置相同的超参数训练情况下,4组对比网络模型都具有较快的收敛性,表明4组网络模型结构都能很好地提取到叶片点云特征。从模型训练过程中叶长、叶宽、叶面积的决定系数R2和RMSE的变化曲线来看,Single-PointNet-CMLP训练的RMSE略低于Single-PointNet-MLP,决定系数R2略高于Single-PointNet-MLP,MRE-PointNet-CMLP网络模型和DGCNN网络模型训练误差相比于另两种模型的曲线更加稳定,决定系数R2更高且上升趋势比较稳定,但是MRE-PointNet-CMLP网络的RMSE更低,R2明显更接近于1,所以性能更优。试验证明MRE-PointNet网络能更好地捕捉叶片点云特征从而更好地估测叶片外形参数。
2.4 基于MRE-PointNet和自编码器模型算法的鲁棒性分析
对比分析MRE-PointNet结合自编码器模型对几何模型点云数据不同残缺比例下的外形参数估测结果。试验以验证集的1 276条几何模型点云数据作为试验对象,分别按照残缺比例20%、30%、40%进行随机残缺,残缺效果可通过open3d[24-25]进行可视化,如图7所示。分别通过自动编码器去噪补全,之后输入多分辨率点云深度学习网络(MRE-PointNet)的预训练模型,得到补全之后的几何模型叶片外形指标估测值,并将其估测值和几何模型真实值进行回归分析,得到叶长、叶宽、叶面积的R2和RMSE,如表2所示。从整体结果来看,叶面积和叶宽的估测结果相比较于叶长的估测结果更好,原因主要是在拍摄过程中绿萝叶片存在一定的弯曲姿态,影响了叶长的估测结果。通过试验可知,数据在残缺20%的情况下,外形参数估测的性能和完整情况下估测的差距不大。而在残缺40%的情况下,外形参数估测的性能比较差,相较于残缺30%的情况,估测性能下降趋势更加明显。试验表明,即使在点云数据存在一定残缺的情况下,网络依然具有较好的估测结果,证明网络在叶片遮挡情况下具有一定的鲁棒性。
表2 叶片几何模型参数估测鲁棒性结果统计Tab.2 Robustness results statistics for blade geometry model parameter estimation
2.5 基于模型迁移前后叶片外形参数估测结果与分析
试验主要对比模型迁移前后的绿萝叶片外形参数估测效果。以实拍的200片绿萝叶片点云数据作为训练集对模型进行微调,其余100片绿萝叶片点云数据作为测试集,并记录测试数据输入模型微调前后的决定系数R2和RMSE,如表3所示。试验结果说明基于真实数据做模型迁移能有效提高估测精度,叶长、叶宽、叶面积线性回归估测R2均提高10%以上,其RMSE均有明显下降,证明了基于真实数据做模型迁移的必要性和有效性。
表3 模型迁移前后叶片参数估测效果对比Tab.3 Comparison of effect of blade parameter estimation before and after model transfer
3 结论
(1)采用提出的基于MRE-PointNet和自编码器模型算法,估测的100片绿萝叶片外形指数结果与真实值具有较高的相关性,其线性回归分析的R2均大于0.90,叶长RMSE为0.417 0 cm,叶宽RMSE为0.316 4 cm,叶面积RMSE为3.883 4 cm2。估测结果误差较小,均在允许的误差范围内,表明本文算法准确率较高,具有一定的实用性。
(2)通过曲面参数方程构建绿萝叶片几何模型库,并与多组网络模型进行对比,结果表明,MRE-PointNet网络具有更强的特征提取能力和更加准确的叶片外形参数估测能力。试验还进行了遮挡情况下的残缺模拟试验和网络鲁棒性分析,结果表明,基于MRE-PointNet和自编码器模型的网络结构对一定遮挡程度下叶片的外形参数估测具有较强的鲁棒性。