程志强,方圣辉
(武汉大学遥感信息工程学院,湖北 武汉 430072)
水稻一直是我国重要的粮食作物之一,对维系我国粮食安全和社会稳定发挥着重要作用[1]。为了实现水稻作物的遗传改良和产量提升,当下许多研究关注于水稻作物表型[2-3]。水稻作物表型提取方法已经经历了人工测量、二维图像分析和专业数字化仪器测量等阶段[4]。其中,人工测量、专业数字化仪器测量的方法[5]劳动量大且具有一定的破坏性。相较于二维图像分析技术,三维重建技术可以提取二维图像不具备的空间信息,成为近年来研究的热点。
当前,植株三维重建方法主要分为两类。一类是利用传感器直接获得植物点云的主动视觉法[6]。其中,PAULUS等[7]使用三维激光扫描仪实现了大麦器官的自动扫描建模,TANG 等[8]使用时差法和可见光成像提取玉米苗期植株性状。然而,这类方法因受到设备昂贵、环境要求苛刻、重建效率低下等限制无法投入大规模应用。另一类是基于多视角图像的摄影测量方法,如运动恢复重建(Structure from motion,SFM)[9]、空间雕刻(Structure from space carving,SSC)[10]等。这类方法能够捕获植株高密度空间点云信息和色彩纹理信息,从而实现更优的三维重建效果。胡鹏程等[11]利用SFM 方法实现了盆栽黄瓜、茄子、青椒的三维重建,但该方法依赖于特征点匹配结果,难以完成水稻等纹理稀疏、叶片细窄植物的三维重建。SSC算法利用物体的多视角图像和二值轮廓,采用视角交集的方法计算植株的可视化外壳,最终保留体素构成的目标三维模型,可以高效稳定地完成叶片细窄植物的三维重建。基于该方法,吴丹等[12]通过旋转拍摄盆栽水稻图像,成功实现了对不同时期和品种的水稻样本进行三维重建。魏天翔等[4]在空间雕刻的基础上加入了深度学习背景分割技术,实现了对田间单株水稻的重建。
水稻体积(Volume of rice,VR)是一个与水稻生物量信息密切相关、指示水稻生长状况的重要参数指标,但在当下研究中却并未得到广泛关注。传统的体积测量方法往往会对水稻植株造成破环,而最近提出的基于植株三维模型的体积测量方法如点云包围盒方法[13]、凸包法[14],则由于水稻结构复杂、内部存在大量遮挡,难以获取准确的水稻体积。因此,在不破坏水稻植株的前提下,如何精确获取水稻的体积参数,仍是当下研究中亟待解决的问题。
Alpha-shape算法最初用于构建点集轮廓,目前已广泛应用于建筑物轮廓提取和三维重建[15]。该算法可以构建反映物体在空间中表面积、体积、疏密程度等特征的模型,但如何利用它提取水稻点云轮廓并进行三维曲面重建仍缺乏深入研究。鉴于此,利用Alpha-shape 算法生成水稻植株三维曲面模型,精确提取株高(Plant height,PH)、茎粗(Stem thickness,ST)、植被覆盖度(Vegetation coverage,VC)、体积等多类重要表型参数,并使用水稻体积估算水稻生物量(Biomass of rice,BR),为水稻表型研究提供一种无损可靠的参数测算方法。
图1展示了基于水稻三维模型提取表型参数和估测生物量的过程。首先,采集了水稻的多视角图像,利用张氏标定法确定相机内外参数[16]并通过色彩信息分离水稻与背景。接下来,通过空间雕刻方法生成水稻体素模型。随后,实现水稻表型参数的提取和生物量的估测。具体而言,基于水稻体素模型构建曲面模型,提取株高、茎粗、植被覆盖度和水稻体积等表型参数,并利用水稻体积来估测水稻生物量。最后,将获得的表型参数提取结果与人工测量值进行比对分析,以验证模型的精度。
图1 水稻三维重建流程图Fig.1 Diagram of the 3D reconstruction flow of rice
1.1.1 序列图像采集 图像采集地点位于武汉大学花山水稻试验基地,采集设备为Canon EOS 6D Mark Ⅱ单反相机,拍摄分辨率为1 600 像素×2 400像素,固定焦距f 为24 mm,保持拍摄光圈、ISO 和曝光时间等参数一致,以最大程度地还原水稻真实色彩。为了对水稻进行全面观察和研究,选用了1 穴2株种植的盆栽水稻作为试验对象。在合适的水稻观察点放置棋盘格标定板并进行多角度拍摄,拍摄距离保持在0.6~1.0 m,以保证完整地捕捉水稻在各个方位视角的表型信息。本研究共包含4 个时期(幼苗期、分蘖期、拔节期和抽穗期)的水稻样本,每株水稻采集了20 张照片,包含水稻俯视图、正反视图和左右视图。
1.1.2 水稻轮廓提取 水稻轮廓提取是水稻体素三维重建的必要步骤,旨在去除投影在水稻轮廓外的体素块,从而分离出精确的水稻体素模型。在可见光范围内,抽穗期以前的水稻呈现为绿色,而抽穗期至成熟期的水稻颜色则逐渐变黄。根据上述特性,基于色彩信息提取水稻轮廓。HSV 空间[17]能够直观地表达色彩的明暗、色调以及鲜艳程度,常用于分割指定颜色的物体。因此,采用HSV 分量阈值对水稻轮廓进行提取。HSV 分量阈值设置如表1所示,水稻原始图像和水稻轮廓提取结果如图2所示。
表1 HSV阈值设置Tab.1 HSV threshold settings
图2 水稻原始图像和水稻轮廓提取结果Fig.2 Original rice image and silhouette extraction result
1.1.3 相机标定 相机标定旨在建立包围盒中每个体素的三维空间坐标与对应的二维像素坐标之间的映射关系,该映射关系如公式(1)所示。
其中,[Xw,Yw,Zw,1]T表示世界坐标系下的坐标点,[u,v,1]T则表示该点在某视图图像中的像素点坐标。世界坐标系是以棋盘格固定内角点为原点,棋盘格所在平面为oxy 平面的坐标系。P是将空间坐标转换为像素坐标的投影矩阵,由相机内参数矩阵K和相机外参数矩阵[R t]相乘所得。R、t分别是相机的旋转矩阵和平移向量,它们通过张氏标定法获得,用于表示相机在世界坐标系中的位置,如图3所示。s为尺度因子。
图3 相机在世界坐标系中的位置Fig.3 Position of the camera in world coordinate system
1.1.4 空间雕刻 在水稻体素三维重建的过程中,需要获取相机标定得到的世界坐标范围,在范围内建立包围盒并进行体素化。然而,如果体素块过大,会导致水稻建模结果过于粗糙甚至出现错误;而过小则会极大地增加程序的时间复杂度和空间复杂度。为平衡三维重建精度和程序运行速度,首先采用边长为3 mm 的体素块初始化网格,然后以边长为1 mm 的体素块重新建立更加准确的包围盒,执行空间雕刻算法。
空间雕刻流程如图4所示,首先根据公式(1)计算包围盒中每个体素块角点在某一视图图像的像素坐标,去除坐标在水稻轮廓外的体素块。接下来,遍历所有视图图像,重复上述步骤进行水稻外壳的细化,最终生成水稻体素模型。随后,将水稻体素模型转换为点云模型。最后遍历点云,使用投影变换公式计算每个点云在不同视图的投影坐标,以点云在所有视图中的RGB 均值C(w)作为该点的色彩值,C(w)计算过程如公式(2)所示。
图4 空间雕刻流程Fig.4 Process of space carving
其中,n代表视图数量,Pi代表第i个视图对应的投影矩阵,w表示水稻三维点云中的任意点。
1.2.1 水稻曲面模型重构及表型参数提取Alpha-shape是一种边界点的提取算法,适用于无序点云的边界提取和将点云模型转换为曲面模型。该算法基于空间中的3 个点构建半径为α的球,以判定点云模型的边界。α参数直接决定了算法的精度和模型的重建效果,通过调整α值,利用该算法建立不同精度的水稻曲面模型。图5 展示了利用Alpha-shape算法重建分蘖期水稻曲面模型的效果。当α=100 时,水稻内部结构被高度包围,曲面模型接近于水稻外部点云构建的凸包,无法展现水稻的具体结构。随着α的减小,重建出的曲面模型更接近于水稻原始图像和点云的结果。当α=10 时,曲面模型的重建结果较好,水稻的几何结构表达效果较为精细,但存在部分叶片粘连的问题。当α减小到1时,水稻的曲面模型与点云模型基本一致,此时的模型接近于真实水稻。当α继续减小时,由于α小于水稻点云之间的距离,无法建立有效的曲面模型。
图5 不同α 参数下的水稻曲面模型Fig.5 Curved surface models of rice with different α parameters
通过调整α参数值,构建出不同精度的水稻曲面模型,反映出水稻在空间伸展时的不同形态和疏密特征。当α较大时,可以通过计算凸包体积获取水稻在生长过程中占据的实际空间,当α较小时,水稻模型更接近真实形态,此时可以利用Alpha-shape算法将曲面模型分割为多个三角体区域,计算各三角体区域的体积并相加得到整个曲面模型的体积,从而实现水稻体积的提取。
将水稻株高定义为植株最高点到盆沿所在平面的垂直距离。在本研究中,标定板水平放置在盆沿所在平面上,因此将标定板所在平面定义为世界坐标系中的Z=0 平面,水稻三维模型的高度即为水稻株高参数。水稻株高的提取方式如图6所示。
图6 水稻株高参数提取示意图Fig.6 Schematic diagram of extraction of rice plant height
在水稻进入分蘖期后,由于分蘖数量增加且根部遮挡较少,在此时期测量水稻茎粗可以获得更加准确的结果。本研究将水稻茎粗定义为整株水稻盆沿平面往上1 cm 根茎横截面的最长直径,在点云模型中表现为根茎横截面最大坐标值与最小坐标值的差值。在提取根茎横截面时,可能存在叶片遮挡引起的噪点,因此在计算坐标差值以前需要进行去噪处理。水稻茎粗提取的具体过程如图7所示。水稻植被覆盖度被定义为水稻植株在地面的垂直投影面积占最小外接矩形面积的百分比,人工测量值则为水稻拍摄俯视图植株部分与其最小外接矩形面积的百分比。为了提取该参数,需要将水稻曲面模型平面投影至Z=0 平面,然后计算在二维图像中的占比。植被覆盖度具体提取方式如图8所示。
图7 水稻茎粗参数提取示意图Fig.7 Schematic diagram of extraction of rice stem thickness
图8 水稻植被覆盖度参数提取示意图Fig.8 Schematic diagram of schematic diagram of extraction of rice vegetation coverage
1.2.2 水稻生物量估测 通常,植物生物量指单位面积内有机物质干质量的总量[18],然而水稻作为一种对水分极为敏感的粮食作物,其鲜质量仍然具有重要的研究意义。因此,将水稻生物量定义为水稻植株地上部分的鲜质量。在数据采集阶段,以单株水稻地上部分的鲜质量作为水稻生物量的人工测量值,以α=1 时水稻曲面模型的体积作为水稻体积计算值,建立两者的线性回归预测模型,并基于该模型估测水稻生物量。
采集不同时期的水稻多视角图像,使用VisualSFM[19]和Context Capture[20]软件生成了相应的点云模型。与此同时,使用空间雕刻方法实现了水稻三维重建,并与2 种软件的结果进行对比分析。表2 展示了各种重建方法生成的平均水稻点云数量。
表2 不同重建方法的平均水稻点云数量Tab.2 Average number of rice point clouds with different reconstruction method
通过对比结果可以发现,VisualSFM 重建点云数量极少,这是因为VisualSFM 没有重建出有效的水稻模型,而Context Capture 重建的水稻点云数量庞大,其中存在大量的背景冗余。由于VisualSFM无法重建水稻模型,不再对其进行讨论。图9 展示了使用Context Capture 软件和空间雕刻方法得到不同时期的水稻三维模型。重建结果显示,Context Capture 的重建结果存在严重的水稻叶片和茎秆扭曲失真,而相比之下,空间雕刻方法能够重建更完整的水稻模型,还原出水稻真实形态。
图9 Context Capture和空间雕刻重建结果Fig.9 Reconstruction results of Context Capture and SSC
2.2.1 水稻体积 由于水稻体积真值无法直接获取,将Alpha-shape 提取的水稻体积与凸包法提取的水稻体积进行对比,用于估算本研究水稻体积提取的准确性。具体而言,提取了不同α值下的水稻体积,并计算了它们与凸包法提取的体积之间的决定系数(R2)和平均绝对百分比误差(MAPE)。
由表3 可知,当α=1 000 时,2 种方法得到的水稻体积趋于相等,决定系数高达0.99,MAPE仅为3.97%。随着α的减小,水稻曲面模型逐渐变得复杂和真实,求得的水稻体积逐渐减少,与凸包法得到的体积差值变大,相关性也逐渐减小。当α=1时,2种方法的决定系数仅为0.42,而MAPE则高达97.14%,说明由于水稻的茎叶延展特性不同,相同的水稻外包模型内部结构差异明显,也进一步说明随着α的减小,Alpha-shape 算法构建的水稻模型能更加真实地反映水稻生长情况,本研究在α=1 的情况下求得的水稻体积最接近真实值。
表3 不同α对应体积参数计算结果与凸包法所计算水稻体积之间的决定系数及平均绝对百分比误差Tab.3 R2 and MAPE of rice volume calculated by Alpha-shape with different α and convex hull
2.2.2 水稻其他表型参数 利用Context Capture 和空间雕刻重建水稻模型,分别提取水稻俯视图的最小外接矩形和包围盒,并对三维模型进行点云分割和去噪处理,从而获得了水稻的株高、植被覆盖度和茎粗等参数,并计算了参数计算值与人工测量值之间的MAPE和均方根误差(RMSE)指标。
图10 为水稻表型参数计算值与人工测量值散点图,参数评估结果显示,空间雕刻方法提取的水稻表型参数的R2、RMSE和MAPE均优于专业三维建模软件Context Capture,验证了空间雕刻方法在水稻表型参数提取方面的有效性。
图10 水稻不同表型参数计算值与人工测量值散点图Fig.10 Scatter plot of measured and calculated rice phenotypic parameter values
图11 展示了人工测量的水稻生物量与水稻体积参数的散点图。结果显示,体积参数与水稻生物量信息的相关性较弱,R2仅为0.34。考虑到水稻孕穗以后,相同体积下稻穗质量明显更大,因此植株是否含穗会对水稻生物量信息产生影响,从而影响最终的提取结果。为了分析水稻是否含穗对水稻生物量测量的影响,将数据样本分为了含穗和不含穗2类,并将它们作为独立数据样本进行回归分析。
图11 水稻生物量测量值和体积计算值散点图Fig.11 Scatter plot of measured BR and calculated VR
图12 展示了分类后的水稻生物量人工测量值和体积参数提取结果的散点图,其中蓝色点代表不含穗的水稻植株样本,橙色点代表含穗的植株样本。与图11相比,图12中2类样本各自计算的回归结果更具相关性,其中含穗水稻样本R2达到了0.77,不含穗的水稻样本R2达到了0.83,相较于分类前有了明显的提高。此外,含穗水稻植株和不含穗水稻植株的分布态势也符合含穗水稻植株密度更大的现实规律。
图12 分类水稻生物量测量值和体积计算值散点图Fig.12 Scatter plot of categorical measured BR and calculated VR
图13 展示了将植株分为两类后水稻生物量的人工测量值与系统计算值的散点图及y=x参照。可以看到,分为2 类回归计算的水稻生物量和人工检测值之间存在较强的相关性,RMSE和MAPE均可控制在较小范围内,证明了本研究利用水稻体积参数估测水稻生物量的有效性及可靠性。
图13 水稻生物量测量值和计算值散点图Fig.13 Scatter plot of measured BR and calculated BR
2 类数据分别计算的结果显示,不含穗植株的RMSE和MAPE分别为53.38 g、17.52%,含穗植株的RMSE和MAPE分别为80.40 g、19.95%。可以看出,在不含穗情况下水稻植株体积与生物量的相关程度大于含穗情况,这是因为含穗水稻在不同时期稻穗生物量体积比例不同,从而影响最终的提取结果。
本研究结果表明,使用空间雕刻方法重建水稻三维模型比SFM 方法更为优越,在点云冗余、表型参数估测等方面均表现更好,其中水稻株高、茎粗、单株植被覆盖度的MAPE分别为7.15%、14.91%和12.59%,均低于使用Context Capture 软件重建提取的水稻表型误差结果。这是因为空间雕刻算法不需要进行特征匹配,所以其细化和分割体素的过程不会扭曲和冗余水稻模型,从而提取的相关表型更加准确[21]。尽管如此,SFM 方法仍然是目前多视角图像三维重建的主流方法,这是因为其操作简单、具有高自动化和鲁棒性的优点[22]。相比之下,虽然空间雕刻算法能取得更加精确的重建结果,但是它需要提前进行相机标定,实现过程更为复杂[23]。因此,在未来的研究中,可以考虑结合SFM 方法和空间雕刻方法,在不借助标定板的情况下实现水稻的三维重建。
此外,植物冠层的体积特征对于指示植株生物量信息和生长状况具有重要意义。针对植株体积参数计算的需求,李庆等[24]证明Alpha-shape算法可用于计算冠层结构参数,杨征鹤等[25]基于该算法成功实现了对番茄植株的体积计算,与凸包法相比平均误差降低了15.3%,越来越多的研究证明了该算法在植株三维模型体积计算方面的有效性。或许是因为水稻生长情况复杂,虽然吴丹等[12]成功重建了水稻三维模型,但是并未考虑基于水稻模型实现水稻体积和生物量的估测。本研究使用Alphashape 将体素模型进一步改进获得了曲面模型,从而提取了水稻模型的体积并用于估测水稻生物量,按照抽穗期将水稻分为2 类,讨论是否含穗对估测的影响。研究结果显示,针对抽穗期以前的水稻,预测的生物量较为准确,水稻体积与生物量人工测量值的R2达到了0.83。然而,对于抽穗期以后水稻,水稻体积与生物量人工测量值的R2为0.77,预测误差RMSE和MAPE也更高。如前所述,这是由于不同的水稻植株穗质量比例和生长情况各不相同导致。
本研究存在一些局限性:首先,由于计算机内存和处理器性能的限制,本研究在仅使用CPU 进行建模时耗时较长,难以投入大规模应用;其次,本研究在使用体积参数估测水稻生物量时,仅考虑了水稻是否含穗对结果的影响,而由于水稻生长情况的复杂性,植株之间存在较大差异,因此在综合考虑其他因素之后或许会得到更准确的估测值;最后,本研究仅提取了水稻株高、茎粗、植被覆盖度和体积等表型参数,而如叶倾角、展开度、植株骨架等更多的表型参数的研究还有待进一步开展。在后续研究中,将考虑采用GPU 加速和优化体素存储结构等方式来提高算法的效率,同时还将探索提取和研究更多水稻表型参数,以便更全面地了解水稻的生长形态和特性。
综上所述,本研究通过空间雕刻方法重建了水稻高精度的三维模型,并基于此提取出了更全面的水稻表型参数,通过体积参数成功预测了水稻生物量,从三维层面为水稻表型研究提供了参考。此外,本研究发现,空间雕刻算法对重建物体没有限制,理论上适用于任何对象的重建,具有广泛的应用价值,因此对如小麦、高粱等缺乏特征纹理信息的禾本科农作物重建均具有参考价值。