基于Android平台的立木胸径测量系统
2021-10-08吴晓柯徐爱俊陶忠良
吴 铮, 吴晓柯, 徐爱俊, 陶忠良
(1.浙江农林大学信息工程学院,浙江 杭州 311300;2.浙江省农业农村大数据发展中心,浙江 杭州 310020)
在森林资源调查中,立木胸径是掌握森林生长趋势、评价立地条件的重要参数[1-2].立木胸径的调查研究对林业科学经营、林业可持续发展有重要意义[3].立木胸径测量工具多样,传统测量工具有卡尺、直径卷尺等.这些工具效率低,并且耗费人力物力.基于各类传感器设计的立木胸径测量工具[4-6]虽然具有数据自动存储、处理、上传的优点,但是仍需接触测量,且测量精度受操作方式的影响.
摄影测量技术在各领域的应用不断深入[7].当前基于摄影测量技术的测量设备可以分为双目、RGB-D相机、单目三类.文献[8-10]利用双目相机结合数字图像处理分析立木胸径、高度与冠幅.蔡健荣等[11]基于双目视觉对果树三维重建,通过各个模块相组合形成果树模型,从而获取三维信息.文献[12-13]利用双目摄影系统结合图像分割技术实现了果蔬的识别与定位.以上双目摄影测量方法测量精度高,但运算量大,需内业处理数据,无法实时测量.基于RGB-D相机的摄影测量方法与双目测量相比无需深度解算,因而运算速度快.文献[14-15]使用RGB-D相机与图像处理实现了几种植物株高、茎粗的测量.徐胜勇等[16]使用RGB-D相机构建油菜三维点云,利用欧氏聚类实现单个油菜角果定位.Digumarti et al[17]利用随机森林算法实现了阔叶树的结构分割.范永祥等[18]基于RGBD-SLAM手持式设备,开发了森林样地调查系统.以上基于RGB-D相机的测量方法虽然运算量小,但受光照影响大,成本高,不易携带.
基于单目相机的测量方法具有构造简单、成本低的特点,因此应用广泛[19].文献[20-22]基于单目视觉通过数字图像处理实现了果实的分割、定位与计数.Chen et al[23]基于单目视觉与支持向量机算法实现在不同光照下柑橘树的分割,这两类方法的定位和分割精度较高,但图像处理过程运算量大,移动端难以实现.徐伟恒等[24]使用单目相机、激光尺、倾角传感器等硬件结合图像处理技术设计了近景摄影测树仪,可实现立木胸径的自动化计算.周克瑜等[25]根据三角原理借助参照物比算,实现了立木树高的测量.李亚东等[26]以智能手机为平台开发了单株立木测高程序,相比于布鲁莱斯测高器,其精度显著提高.管昉立等[27]通过视觉显著性图分割立木图像,利用最小外接矩形计算立木胸径.高莉平等[28]采用阈值突变三点法获取立木图像感兴趣区域,利用三角原理获取立木高度.邱梓轩等[29]利用智能手机结合望远设备设计了望远测树仪,实现了立木因子的测量.以上研究虽然能实现非接触测量,但在测量立木时需要参照物或外部设备辅助测量,存在局限性.
本文基于色彩空间转换优化了滤波算法,缩短了图像处理时间;基于摄影测量原理构建立木胸径测量模型,设计了立木胸径测量系统,旨在有效提高林业资源调查的效率.
1 材料与方法
1.1 系统架构
系统主要包括基础资源、图像识别、测量模型、应用交互4个模块,具体架构如图1所示.基础资源为其他模块提供基本工具、算法以及数据库存储;图像识别模块对立木图像进行处理,将前景提取结果输入测量模型,进而计算立木胸径;应用交互模块控制用户数据输入并对测量结果进行反馈及存储,在保证应用交互的便捷性与数据处理的完整性的同时,实现立木胸径测量.该系统架构保持各模块高内聚、低耦合,从而提高了系统灵活性与可扩展性.
图1 立木胸径测量系统架构Fig.1 Basic structure of DBH measurement system
1.2 立木图像前景提取
立木图像前景提取包括图像畸变矫正、图像滤波降噪与图像分割.由于立木图像背景复杂,并需保留边缘信息,采用MeanShift算法[30]进行滤波;滤波后采用GrabCut算法[31-32]进行分割,进而得到立木前景,为构建测量模型提供数据.由于MeanShift滤波算法存在耗时长等问题,本文通过融合YCbCr色彩空间[33]对MeanShift算法进行了改进,改进的算法流程表示如下.
(1)将立木图像的色彩空间转换到YCbCr色彩空间,转换公式表示如下:
(1)
(2)分离立木图像Y通道.
(3)以Y通道为滤波通道初始化卷积核窗口,计算并更新窗口内小于指定阈值像素点的颜色与位置均值,以位置均值为中心继续计算更新,直到收敛.
(4)合并Y通道与Cb、Cr通道为YCbCr色彩空间.
(5)将立木图像转换到RGB色彩空间,转换公式表示如下:
(2)
1.3 立木胸径测量模型构建
1.3.1 深度提取模型 本文利用方向传感器、三角原理构建的深度提取模型如图2所示.测量深度时调整相机观测位置,确保与待测立木之间无异物遮挡,将相机对准树木根茎处,通过方向传感器可获得相机俯角,计算深度表示为:
(3)
[α2=90°、α1∈(0,90°)]
式中,Z为深度值(m);H为相机高度(m);α1为相机对准树底时的俯角(°);α2为直角.
图2 深度提取模型Fig.2 Depth extraction model
用该模型测量深度时无需参照物,只需调整相机位置就能得到深度值,从而实现了深度的快速解算.
1为像素平面;2为物理成像平面;3为相机;4为目标立木;P、Q、R为立木特征点;P′、Q′、R′为P、Q、R在像素平面上的投影; f为相机焦距.图3 立木胸径测量模型Fig.3 Measurement model of DBH of standing tree
1.3.2 立木胸径测量模型 根据深度提取模型得到的深度值,结合小孔成像原理、三角原理构建立木胸径测量模型(图3).
令R的坐标为[X,Y,Z]T,R在相机物理成像平面上成的像为R′,其坐标为[X′,Y′,Z]T.根据三角形的相似原理可知:
(4)
R′在像素平面上的坐标为[u,v]T.R′在物理成像平面与像素平面之间可以通过平移与缩放进行转换,其映射关系为:
(5)
式中,α、β为缩放系数,cx、cy为立木图像中心点横纵坐标.
将式(4)代入式(5),将αf合并为fx, 将βf合并为fy,得点R′的像素坐标[u,v]T与相机坐标系坐标点[X,Y]T的映射关系为:
(6)
式中,fx、fy、cx、cy为相机标定得到的相机内参,fx、fy为焦距,cx、cy为图像中心横纵坐标;X、Y为u、v映射到相机坐标系的横纵坐标;Z为深度.
通过查询立木图像中的各个像素,确定R′的纵坐标为v1,通过式(6)将v1映射到相机坐标系,可得R的纵坐标Y1为:
(7)
用Y1减去1.3 m,得到P、Q在相机坐标系的纵坐标Y2:
Y2=Y1-1.3
(8)
利用式(6)将计算得到的Y2重新映射到像素坐标系,即可得到P′、Q′的纵坐标(v2).
(9)
通过P′、Q′计算立木胸径的像素宽度为|ulert-uright|.基于三角相似性原理可得立木胸径(DBH)的计算公式:
(10)
式中,Z为深度,f为焦距.
2 结果与分析
2.1 立木图像的前景提取
本文利用图像处理耗时,对改进的MeanShift算法进行性能评价.随机抽取30张立木图像,分为3组进行试验.相比于MeanShift原算法,本文改进的MeanShift算法只需在YCbCr色彩空间上对单通道滤波,处理耗时较原算法降低了一个数量级.原算法与改进算法的每组平均滤波时间如表1所示.从表1可以看出,本文算法平均滤波时间为449.999 ms,低于原算法(4 859.156 ms),前景提取耗时减少不低于80%.因此本文改进的算法更适用于移动端立木图像处理.
表1 立木图像滤波时间Table 1 Filtering time of standing tree images
改进后的MeanShift算法利用了YCbCr色彩空间亮度信号与色度信号的分离特性,在保留图像边缘信息、降低背景噪声的同时大幅降低图像处理耗时,并减少了光照分布不均匀对图像分割的影响,克服了GrabCut算法存在的问题,结果如图4所示.
a.滤波处理结果;b.前景提取结果.图4 立木图像分割Fig.4 Tree image segmentation
2.2 立木胸径测量模型的精度
在校园内随机选取10株立木进行测量,并与文献[29]中的测量数据进行对比,结果如表2所示.从表2可以看出本文测量结果的相对误差为0.61%~5.14%,平均相对误差为2.35%.文献[29]相对误差为0.61%~14.78%,平均相对误差为4.54%,表明本系统具有更好的稳定性.
表2 立木胸径测量结果Table 2 Measurement results of DBH of standing trees
2.3 系统实现
系统开发硬件配置:AMD Ryzen 5 3500U CPU,2.10 GHz,Radeon Vega Mobile Gfx,20GBRAM.软件环境:Android Studio 3.2+JDK8(Java development kit)+OpenCV 3.6+NDK(Native development kit).Android适配版本为6.0及以上,系统实现如图5所示.
a.深度提取;b.立木胸径测量.图5 系统功能实现Fig.5 System function realization
3 小结
本文采用张正友标定法实现了智能手机相机自动标定功能,并利用标定结果完成了立木图像畸变的矫正,通过色彩空间转换对图像滤波算法进行了改进,依据立木图像前景提取结果与摄影测量原理构建了立木胸径测量模型和深度提取模型,设计并实现了基于Android平台的立木胸径测量系统.
本研究结果表明:(1)本文改进的MeanShift滤波算法较原算法耗时降低了一个数量级,实现了移动端对立木图像的快速滤波处理.
(2)基于小孔成像与三角原理构建了深度提取模型与立木胸径测量模型.在无参照物与外部设备辅助下实现了立木胸径非接触测量,降低了试验难度,且操作更加便捷.
(3)系统对胸径的测量误差不超过6%,平均误差为2.35%,可在一定程度上实现外业测量.