首页> 中国专利> 一种基于机器视觉的立木树高测量系统及方法

一种基于机器视觉的立木树高测量系统及方法

摘要

本发明公开了一种基于机器视觉的立木树高测量方法,包括以下步骤:第一步,采用具有非线性畸变的相机标定方法对安卓智能手机相机进行标定,并提取出相机非线性畸变参数和内外参数,同时对需要测量的立木图像进行基于点运算的透视畸变校正。本发明使用便携的智能手机获取树木图像信息,结合机器视觉知识,在树木图像处理部分采用尚未在树高测量方向有应用的Mask R‑CNN算法,以实现对树木图像的轮廓进行快速分割,具有较高的普遍性和适用性;结合智能相机标定技术,构建相机成像模型下的立木树高测量模型,实现一种便捷的、非接触式的立木树高测量方法,该方法通用性高、操作简单、成本低,可高效率得到实际的树木高度测量值。

著录项

  • 公开/公告号CN113837927A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 广西大学;

    申请/专利号CN202111084045.8

  • 发明设计人 华蓓;黄汝维;曾朝燕;

    申请日2021-09-14

  • 分类号G06T3/00(20060101);G06T5/00(20060101);G06T7/11(20170101);G06T7/80(20170101);G06T7/70(20170101);G06N3/08(20060101);G06N3/04(20060101);

  • 代理机构44646 深圳紫晴专利代理事务所(普通合伙);

  • 代理人陈映辉

  • 地址 530000 广西壮族自治区南宁市西乡塘区大学东路100号

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本发明涉及树高测量技术领域,尤其涉及一种基于机器视觉的立木树高测量系统及方法。

背景技术

在当前的林木资源调查过程中,特别是树高的测量,大部分人仍然使用较为传统的方法,即采用人工读取和手工记录数据的方法,耗费人力和时间。

随着科技的不断进步,电子全站仪,经纬仪,测树枪等精密仪器的出现,使得林业资源调查工作得到了较大的改善。但精密仪器的成本较高,部分仪器还需要专业的操作技术,而且容易受到使用环境的限制。对于非林业专业的人员而言,使用这些工具更加困难,在实际的测量操作中非常不便。

发明内容

本发明提供了一种基于机器视觉的立木树高测量系统及方法,以解决上述背景技术中提出的问题。

为了实现上述目的,本发明采用了如下技术方案:

一种基于机器视觉的立木树高测量方法,包括以下步骤:

第一步,采用具有非线性畸变的相机标定方法对安卓智能手机相机进行标定,并提取出相机非线性畸变参数和内外参数,同时对需要测量的立木图像进行基于点运算的透视畸变校正,从而为获取更加准确的树高特征点像素值、构建更好的树高测量模型提供有力的支持;

第二步,采用基于机器视觉的Mask R-CNN算法训练树木图像分割模型,并对矫正后的树木图像轮廓进行处理,从中提取与树高测量有关的特征点并获得树高差值的像素值,提高对树木图像轮廓提取的精度和普适性;

第三步,根据针孔相机模型的成像原理,利用获取的手机相机内外部参数、畸变参数、树高特征点像素值构建树高测量模型,计算并最终获得待测目标树的树高数据;

第四步,开发基于Android智能手机平台的单株立木树高测量原型APP,通过智能手机相机快速采集树木图像且及时输入需要的参数,最后在APP中及时获取树高测量结果。

作为本技术方案的进一步改进方案:第一步中,首先需要建立相机成像模型,相机成像模型包括相机成像涉及的坐标系之间转换,真实物点(X,Y,Z)与像素点(u,v)转换公式,M(X

作为本技术方案的进一步改进方案:第一步中,采用具有非线性畸变的相机标定方法对安卓智能手机相机进行标定时,标定板的尺寸选择标定板面积大于或等于可用像素面积的二分之一,标定板的类型选择棋盘格标定板。

作为本技术方案的进一步改进方案:第一步中,非线性畸变矫正模型公式为:

其中M

作为本技术方案的进一步改进方案:第一步中,提取出相机非线性畸变参数和内外参数步骤包括单应性关系和参数约束、非线性Levenberg-Marquardt算法和畸变优化。

作为本技术方案的进一步改进方案:第一步中,对需要测量的立木图像进行基于点运算的透视畸变校正采用公式

其中x和y代表理想状态下的景物成像面,即理想图像上的图像点坐标;x'和y'是真实场景下的景物成像面,即实际失真图像上的图像点坐标;f

作为本技术方案的进一步改进方案:第二步中,Mask R-CNN算法包括预测部分算法和训练部分算法。

作为本技术方案的进一步改进方案:第三步中,树的树高数据为

其中y’y”是图像中树木轮廓最高点到最低点的像素差值,fy由智能手机相机标定后,θ为手机方向传感器获取的手机倾斜角,PA

作为本技术方案的进一步改进方案:该方法应用于智能手机。

一种基于机器视觉的立木树高测量系统,包括拍摄单元,用于拍摄待测的树木,拍摄的树木图片需要包括整棵单株的树木;

水平距离输入单元,用于输入手机到待测树木的水平距离;

数据处理单元,用于计算测量的树高以及分割处理后树木图像。

与现有技术相比,本发明的有益效果是:

针对现有林业资源调查测量中时间、人力成本高,测量效率低,设备仪器不易携带,操作不便等问题,使用便携的智能手机获取树木图像信息,结合机器视觉知识,在树木图像处理部分采用尚未在树高测量方向有应用的Mask R-CNN算法,以实现对树木图像的轮廓进行快速分割,具有较高的普遍性和适用性;结合智能相机标定技术,构建相机成像模型下的立木树高测量模型,实现一种便捷的、非接触式的立木树高测量方法,该方法通用性高、操作简单、成本低,可高效率得到实际的树木高度测量值。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明提出的一种基于机器视觉的立木树高测量系统及方法中针孔模型中坐标系间关系图;

图2为本发明提出的一种基于机器视觉的立木树高测量系统及方法中实际的景物成像面和理想状态的景物成像面之间具有几何关系图;

图3为本发明提出的一种基于机器视觉的立木树高测量系统及方法中相机标定后三维建模图像;

图4为本发明提出的一种基于机器视觉的立木树高测量系统及方法中每张标定图像的平均像素误差图;

图5为本发明提出的一种基于机器视觉的立木树高测量系统及方法中建议框会截取公用特征层并resize图;

图6为本发明提出的一种基于机器视觉的立木树高测量系统及方法中树高测量模型示意图;

图7为本发明提出的一种基于机器视觉的立木树高测量系统及方法中APP主要开发任务图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。在下列段落中参照附图以举例方式更具体地描述本发明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

请参阅图1~7,本发明实施例中,一种基于机器视觉的立木树高测量方法,包括以下步骤:

第一步,采用具有非线性畸变的相机标定方法对安卓智能手机相机进行标定,并提取出相机非线性畸变参数和内外参数,同时对需要测量的立木图像进行基于点运算的透视畸变校正,从而为获取更加准确的树高特征点像素值、构建更好的树高测量模型提供有力的支持;

第二步,采用基于机器视觉的Mask R-CNN算法训练树木图像分割模型,并对矫正后的树木图像轮廓进行处理,从中提取与树高测量有关的特征点并获得树高差值的像素值,提高对树木图像轮廓提取的精度和普适性;

第三步,根据针孔相机模型的成像原理,利用获取的手机相机内外部参数、畸变参数、树高特征点像素值构建树高测量模型,计算并最终获得待测目标树的树高数据;

第四步,开发基于Android智能手机平台的单株立木树高测量原型APP,通过智能手机相机快速采集树木图像且及时输入需要的参数,最后在APP中及时获取树高测量结果。

具体的,第一步中,首先需要建立相机成像模型,相机成像模型包括相机成像涉及的坐标系之间转换,真实物点(X,Y,Z)与像素点(u,v)转换公式,M(X

(1)相机成像涉及的坐标系之间转换

相机的实际成像过程需要涉及四个坐标系之间的坐标转换,这四个坐标分别是:图像坐标系,用于描述拍摄成像平面的坐标;世界坐标系,用于描述真实世界中物体位置的坐标;像素坐标系,用于描述生成照片中像素点位置的坐标;相机坐标系,用于描述相机所处位置的坐标。相机成像的过程也符合相似三角形原理。已知真实物点M(XW,YW,ZW)在世界坐标系上。在理想成像过程中,真实物点M通过投影会成像在图像坐标系上,形成像素点m(xd,yd)。但是实际上相机镜头受制造工艺的影响会产生一定的畸变,因而在针孔相机模型与物点M对应的实际像素点位于m’(xu,yu),具体如图1所示;

(2)真实物点(X,Y,Z)与像素点(u,v)转换公式

在共面点成像特性的基础上,根据针孔模型,结合相似三角函数知识,可以推演出三维世界坐标系中的真实物点(X,Y,Z)与二维像素坐标系中的像素点(u,v)两者之间的转换公式。二维图像像素点坐标可转换为矩阵形式,即为m=[u v]

图像投影点m与三维物点M两者的关系,具体如公式(1)所示:

(3)M(X

在公式(1)中,s是比例因子;相机的内参和外参矩阵分表表示为K和[R T];dx是像素坐标系平面的像素点在x轴方向上对应的物理尺寸;dy是像素坐标系平面的像素点在y轴方向上对应的物理尺寸;两个坐标轴之间的倾斜角用参数c表示;主点坐标是(u

成像模型中四个坐标系之间的坐标转化关系,实现了二维像素坐标与三维世界坐标的一一对应,同时也为后续步骤中相机内外参数的推演计算提供了强有力的支撑。

具体的,第一步中,采用具有非线性畸变的相机标定方法对安卓智能手机相机进行标定时,标定板的尺寸选择标定板面积大于或等于可用像素面积的二分之一,标定板的类型选择棋盘格标定板,本发明实际标定工作中使用的棋盘格标定板由A3纸打印,棋盘规格为:9行9列,每个棋盘小格宽度为30mm。

具体的,第一步中,非线性畸变矫正模型公式为:

非线性畸变矫正模型可描述为公式(3):

公式中,非线性畸变值使用δx和δy表示,具体与图像点在图像中的位置有关;(x,y)是实际图像点坐标;(x

针对智能手机相机的特性,引入切向畸变和径向畸变:

公式(4)是切向畸变模型函数,其中忽略了高阶项:

公式(5)是径向畸变模型函数,其中忽略了高阶项:

结合公式(3)、(4)和(5)获得畸变矫正函数模型,其中有p1和p2是非线性切向畸变系数,k1和k2是非线性径向畸变系数,具体如下公式(6),

对于图像的物理坐标系来说,理想情况下,像平面和坐标光轴的交点应该就是在图像的中点,但在实际中会存在偏离,其原因是受了相机的制造工艺的影响。

如果图像物理坐标系(x,y)的原点O对应于像素坐标系(u,v)中的坐标为(u

图像的像素点在像素坐标系和图像物理坐标系中满足以下的转换关系,如公式(7)所示:

改写为齐次坐标与矩阵形式,具体如公式(8)所示,公式中M

具体的,第一步中,提取出相机非线性畸变参数和内外参数步骤包括单应性关系和参数约束、非线性Levenberg-Marquardt算法和畸变优化;

标定板平面和图像两者之间存在着一种的单应性关系,同时手机相机内、外参数存在一定的约束条件,成像平面的像素点坐标与棋盘格标定板的三维坐标有一定的对应关系,利用这种关系可推演求解出初始估计的相机内、外参数,之后使用非线性Levenberg-Marquardt算法,简称L-M算法迭代计算相机内、外参数,

(1)单应性关系和参数约束

要想使相机能精确地标定,其关键步骤就是要较好地计算相机的内、外参数。在世界坐标系中,Z坐标为0,则有:

参数计算的过程可描述为,首先计算得到了一个封闭解,然后利用这个封闭解去计算初始估计的相机参数矩阵,之后推导计算出相机外参数矩阵,此时获得了最大似然估计的非线性最优化解,再考虑径向畸变,最后得到了解值。

(2)L-M算法非线性优化

由分析可知,服从同一分布的像素点噪声,其对应的最大似然估计值可以从通过公式(10)得到。

其中m是每张标定板模板图片上的角点数,n代表标定板模板图片的数量。公式(10)中的最小值就是非线性优化,具体过程中需不断经过迭代来更新权重,进而计算出待估参数。在手机相机标定过程中,因标定板模板图片数量较多,会产生优化迭代效率和相机标定效果受影响等问题,这些问题可用L-M算法解决。

(3)畸变优化

在L-M算法引入畸变并修改能明显地提高标定结果的精度。根据公式(3)到(7)确定的畸变模型和获得的相机参数,可以把畸变模型的优化过程转变成一个最小二乘过程。

结合棋盘格标定板角点的三维世界坐标和对应的二维图像坐标推导计算出畸变参数。将得到的相机参数视为初始估值,采用非线性L-M算法求解目标函数F的极小值,最后计算出更精确的相机参数。拍摄的棋盘格标定板图片一共有n张,每张图片有n×m个角点数,使用残差最小化优化标定参数,此时建立的目标函数F具体如公式(11)所示:

在(11)公式中,Mj代表世界坐标系中的模型点;Ri和Ti是第i张标定模板图片的内、外参数;m是第i张标定模板图片得到的控制点数;

具体的,实际拍摄树木时,真实的成像面要经过一定的角度变化才能得到理想的成像面,所以拍摄的树木图像会带有透视几何畸变,畸变情况下和理想情况的图像成像集合坐标可以相互转换,但是需要以透视几何畸变的矫正工作为基础,实际中使用手机相机来拍摄景物时,实际的景物成像面和理想状态的景物成像面之间具有几何关系,具体如图2所示,在同一个光学过程中,x和y代表理想状态下的景物成像面,即理想图像上的图像点坐标,x'和y'是真实场景下的景物成像面,即实际失真图像上的图像点坐标。智能手机相机镜头的光轴,在理想成像条件下应该一直垂直于成像面。但是实际拍摄场景中,因受到角度等因素的影响,真实生成的图像会带有畸变且光轴也不再垂直于实际景物成像面,也就是角度β不等于90°。根据图2分析其中的几何关系可得到以下公式(12)、(13)、(14):

在以上公式中,实际物体成像面和光轴有交点,l可以代表这个交点到实际物点A’的长度;理想物体成像面到手机相机镜头的长度时L1;机相机镜头在纵坐标轴方向上的焦距是fy;实际物体成像面到光轴的夹角是β;实际物点A’到光轴的长度是h;根据公式(12)、(13)、(14),实际畸变坐标点是y,理想坐标点是y’,y和y’有一定的关系,具体如公式(15)所示:

因为x坐标轴一直与光轴垂直,找到过实际物点A’且垂直于光轴的平面,此平面到透镜的距离为L,L决定了理想物体成像面上的像素坐标x与实际物体成像面上的畸变点像素坐标x’的比值,即为公式(16)所示:

根据以上公式中的(13)、(14)、(16),推导得出理想图像坐标系x与实际图像坐标系x’两者之间的转换关系,具体如公式(17)所示:

结合公式(16)和(17)推导可以得到理想图像的物点和实际图像的物点两者之间的坐标转换关系,具体如公式(18)和公式(19)所示:

采用Python结合OpenCV库的图像处理函数对畸变图像进行校正,恢复树木图像的部分信息,由实际景物成像面和理想景物成像面间的几何关系图2分析可知,理想状态的图像物点像素坐标是(x',y'),结合推导公式(18)和(19)推演计算,获得实际图像中带有有畸变校正的像素坐标(x,y)。但此时得到像素坐标x’和y’不是整数像素值;

为提高图像校正精确度,需要用插值运算法去处理畸变图像坐标(x,y),处理的结果是得到像素灰度值,但这个值不是整数。用插值运算法完所有的目标像素处理后,得到了像素灰度等级,这个等级值实际上属于所有选定区域的理想像素,之后在进行赋值处理,结合点运算透视畸变校正模型,去矫正拍摄的树木图像。

进行相机标定实验时,标定板图片应该是手机在不同角度、不同位置拍摄标定板所得到的图像。为了保证实验结果的有效性,处理的标定板图片要至少要有3张才能求得一个确定的解,一般每组标定以10~20张最佳。依据相机标定精度评估方法,本发明中每组标定选择20张棋盘格标定板图像,

在标定过程中,使用的棋盘格标定板是9×9的棋格阵列,且每个棋格的尺寸大小是30mm×30mm。使用Lenovo L38041手机拍摄在不同角度和位置下的棋盘格标定板图片,之后进行角点检测处理,此时可以提取到角点的坐标;

棋盘格相机标定板图像在畸变矫正处理前后,图像经过畸变的拉伸处理后消除了一定的图像畸变;

根据标定后的棋盘格标定板图像,构建标定板与手机相机的三维空间相对关系,具体如图3所示:

计算各个角点的像素误差,得到手机相机标定的平均像素误差统计的结果,如图4所示,图像中所有角点的平均像素误差为0.31像素,

准备4组每组20张的标定板图像进行实验,在棋盘格标定板图像经过角点提取之后,通过手机相机标定以及畸变矫正优化得到的结果具体如表1所示,由此可知,该方法能够在安卓智能手机上实现投影误差较小的相机标定。

表1为相机标定结果

具体的,第二步中,Mask R-CNN算法包括预测部分算法和训练部分算法,本发明采用Mask R-CNN算法实现树木图像分割,该方法能较快地获得树木轮廓。树木图像分割模型一经训练出后,就可以普遍适用于一般的单株树木图像轮廓提取,并且自动输出树高特征点的像素差值。

预测部分算法:

(1)特征提取

Mask R-CNN算法的主干特征提取网络是Resnet101(深度残差网络101)和FPN(特征金字塔)的结合网络。

使用官方的coco数据集1024x1024的shape作为输入,取出shape的长宽,依次进行两次、三次、四次、五次的压缩,再把压缩得到的结果用来构造特征金字塔结构,进而为下步处理提供支持。

把主干特征提取网络中压缩的特征层按照压缩次数分别命名为C2、C3、C4、C5。与C2、C3、C4和C5对应的Classifier和Mask网络有效特征层是P2、P3、P4和P5。P5进一步处理,得到P6。在后续的操作中,可以利用RPN建议框网络模型对P2、P3、P4、P5和P6进行下一步操作,之后再对建议框进行解码,最后可以获得最终的预测框。同时,为了获得每个预测框内部的图像语义分割信息,需要使用Mask语义分割网络对获得的有效特征层进行处理。

(2)获得建议框并解码

在建议框获取的时候,需要使用P2、P3、P4、P5、P6有效特征层,这5个特征层使用一个相同的RPN建议框网络。然后根据得到的先验框去调整参数,确定先验框内部是否存在物体。RPN建议框网络模型在Mask R-CNN算法中的描述与在Faster RCNN算法中的描述是相似的。建议框获取的过程包括:

第一步,是进行一次通道数为3乘3的512卷积处理。

第二步,是分别进行一次anchors_per_location乘4和乘2的卷积处理。

anchors_per_location乘4的卷积可以预测每一个先验框的变化情况,这个先验框在每一个用于预测公用特征层的网格点上。

anchors_per_location乘2的卷积可以判断预测框内部是否包含了物体,这个预测框属于公用特征层的每个网格点。

假设输入图片shape的尺寸是1024x1024x3,公用特征层的shape从大到小分别有256x256x256、128x128x256、64x64x256、32x32x256和16x16x256个尺寸。其思想就是把输入的图像进行分割并获取大小不同的网格,在这些网格中默认设置三个先验框,图像上先验框展示的效果是密密麻麻的。此时先验框的合计数量是196608+49152+12288+3072+768=261,888。当输入图像的shape不同时,先验框的数量也会发生改变。

先验框能代表某些框的位置信息和大小信息,但这种表现能力是有限的,不能表示任意情况的框信息,所以需要做出调整。

anchors_per_location乘4的卷积结果会对图像中的这些先验框调整,其处理效果是获得新的框。

anchors_per_location乘2的卷积会对以上得到的新框是否包含物体进行判断。

同时,anchors_per_location乘4的anchors_per_location拥有对应网格点包含的先验框数目,其中的4是框中心和宽长的调整表示。

(3)对建议框加以利用——RoI Align

如图5所示:首先获得多个公用的特征层,这些特征层上的每个点都是对应待处理图片上某个区域内的所有特征浓缩。之后,建议框可以截取这些公用特征层,截取的内容需要进行resize。

截取后的内容在classifier模型中会被重新设置尺寸为7x7x256的大小。截取后的内容在mask模型中会被重新设置尺寸为14x14x256的大小。

根据建议框的大小,可以判断建议框是属于那个特征层的。

在classifier模型的处理过程中,通过ROIAlign可以获得7x7x256尺寸大小的区域,这个区域要求使用通道数为1024的7x7卷积和通道数为1024的1x1卷积进行卷积处理。两次1024的全连接模拟,就是依靠这两次1024个通道数的卷积,接着再分别全连接到num_classes和num_classes*4。num_classes代表了建议框内的物体,num_classes*4代表了建议框的参数调整。

在mask模型的处理过程中,用四次3x3的256通道卷积去处理resize后的局部特征层,完成一次反卷积处理,之后再完成通道数为num_classes的卷积处理,处理的结果体现了每个像素点的分类。最终的shape代表了每个像素点的类别,它的尺寸大小是28x28xnum_classes。

(4)预测框的解码与mask语义分割信息的获取

预测框的实际解码过程设计如下三个步骤:

①取出不属于背景且得分大于config.DETECTION_MIN_CONFIDENCE的建议框。

②把classifier模型的预测结果和建议框提取到预测框的最终位置。

③为了防止重复检测,根据模型的具体得分、预测框的最终位置进行非极大抑制处理。

至此已经获得了比之前建议框更加准确的最终预测框,这个预测框就是mask模型的区域截取部分。mask模型在截取后区域之后,会分类像素点并且获得图像语义分割结果。

训练部分算法

要想在公用特征层获取建议框的预测结果,就需要在完成一次3x3的卷积后,再实现一个anchors_per_location x 1通道数的卷积以及anchors_per_locatio x 4通道数的卷积。

在Mask R-CNN算法中,先验框anchors_per_location的数量默认值是3,待预测的是有效特征层每个网格点上的各个先验框,对这两个卷积进行分析:

①anchors_per_location x 4的卷积的预测结果是先验框的变化情况。

②anchors_per_location x 1的卷积的预测结果是建议框内部物体是否被包含。

在Mask R-CNN算法训练模型的时候,需要计算一个针对于建议框网络预测结果的函数,即loss函数。把待处理图片输入当前的Mask R-CNN建议框网络系统,输出需要进行编码的建议框结果。

此处的编码功能是:将建议框的真实位置信息格式,转化成Mask R-CNN算法建议框预测结果信息格式。换句话说,需要找到与每一个真实框对应的先验框预测结果和建议框预测结果。解码过程是从建议框预测结果出发得到的真实框,编码过程是从获得的真实框出发得到建议框预测结果。

(1)Classiffier模型的训练

在Mask R-CNN的算法中,要想获得最终的预测框就要求对建议框进行调整,classiffier模型的建议框就是先验框。

计算所有真实框和建议框的重合程度值,并且根据重合程度值筛选建议框样本,重合程度值大于0.5的建议框是正样本,重合程度值小于0.5的建议框是负样本。对建议框进行调整过程,也就是对真实框的编码,当然此时的编码需要与建议框对应。

(2)mask模型的训练

在训练时,要利用建议框网络去截取公用特征层,这个公用特征层位于mask模型。由于对特征层的截取情况与对真实框的截取情况差别较大,所以需要计算出截取框和真实框的相对位置,进而成功获得正确的图像语义分割信息。

(3)训练数据集的制作

使用LabelMe制作数据集。首先用智能手机在校园拍摄了250多张树木图像,使用LabelMe工具对采集的树木图像一一标注,标注过程中,需要准确地把图片得树木的轮廓勾勒出来;

使用LabelMe标注的图像还需要经过从labelme到数据集的转换代码处理,即json_to_dataset.py文件,进而生成我们最终需要的训练数据集。

具体的,第三步中,根据针孔相机模型的成像原理,详细介绍单株立木树高模型的构建。建立树高测量模型如图6所示。FG是手机设备;α是视场角;OA1为视线;设备OP为设备离开地面的距离;手机到待测目标树的距离是L,也就是PA1,用卷尺测量得到;直线OM为相机拍摄的光轴线;实际树高是A1A3;理想情况是树木和手机设备相互平行,同时要同垂直于光轴;理想情况下的立木高度是AA2;fy由智能手机相机标定后;y’y”是图像中树木轮廓最高点到最低点的像素差值;θ为手机方向传感器获取的手机倾斜角;平行关系有AA2//FG//y’y”;垂直关系有:FG与OM垂直,OP与OH垂直,OM垂直FG、AA2和y’y”;fy是手机纵坐标方向上的焦距;所以,∠MOA1=0.5α,因为∠POG+∠GPN=90°,∠NOM+∠GPN=90°,所以∠POG=∠NOM=θ。

在手机相机经过畸变校正后,树木图像从实际图像A1A3转变图像AA2,所以AA2=A1A3。树木图像AA2在相机成像面上的成像是y’y”,又因为Oy

ON=PA

OM=ON*cosθ (22)

OM=PA

因为A1A3是要求的真实树木高度H,即有公式(24)

H=A

由公式(20)到(24)可得最终的立木高度计算公式(25)

以上公式(25)中,长度单位是米/m,角度单位是度/°,y’y”和fy的单位是像素/pixel。计算过程中公式的像素单位最后被约分消除,所以最终得到的树高是H,单位为米/m。

一种基于机器视觉的立木树高测量系统,包括拍摄单元,用于拍摄待测的树木,拍摄的树木图片需要包括整棵单株的树木;

水平距离输入单元,用于输入手机到待测树木的水平距离;

数据处理单元,用于计算测量的树高以及分割处理后树木图像。

本发明提出的单株立木树高测量方法基于智能手机,在Android平台上开发测量树高的原型APP,其中,在智能手机相机标定、立木图像畸变矫正、Mask R-CNN图像处理算法以及树高测量模型建立和计算部分涉及到的主要开发语言是Python语言;在测量APP界面设计及相关API调用部分涉及到的主要是Java语言。系统使用Android原生的应用开发模式,结合使用安卓的系统组件,如活动Activity、服务Service、广播接收器BroadcastReceiver和内容提供器Content Provider等,可以实现立木树高测量工作所要求的功能。

树高测量APP的安卓前端使用轻量级框架OkHttp;后端使用轻量级的Web应用框架Flask[37],Flask与其他同类型框架相比,更为轻便、灵活、安全。

安卓前端开发的需要完成的主要任务是树高测量界面的设计,对手机相机和系统相册的调用,以及在OkHttp框架下编写树木图像和参数上传到服务器的功能和接受显示树木高度测量结果的功能;Python后端开发的主要任务是在Flask框架下设计并实现与前端对应的特殊路由接口,同时需要完成Mask R-CNN算法的树木图像分割处理和树高计算,并且将树高计算结果返回给前端展示,如图7所示。

树高测量过程:

打开树高测量APP,测量人员需要与待测树木在同一水平地面,点击拍照按钮,系统调用手机相机对待测的树木拍摄,拍摄的树木图片需要包括整棵单株的树木,且尽可能要求拍摄是的背景不复杂;同时系统会自动获取手机拍摄时方向传感器输出的手机倾斜角度;

点击选择图片按钮确认并显示待测量的树木图像,在输入框中输入手机到待测树木的水平距离;

点击上传图片及参数按钮,系统上传待测树木图像、手机拍摄时的倾斜角和手机到待测树木的水平距离到服务器以待后续处理;同时,界面中会给出等待图片上传,正在上传,上传成功的提示;

上传成功后,点击测量按钮并等待后端进行算法处理4-4秒,界面中提示测量成功并且显示出测量的树高以及分割处理后树木图像

对树高测量结果验证与分析:

(1)树高测量误差分析

随机选取20棵样本树木测量,对本发明算法进行实验验证。

表2为树高实验测量数据

选用瑞典Vertex lV(60°)超声波树木测高仪对20棵立木进行树高测量。每一棵样本树用超声波树木测高仪进行3次测量,求取平均值作为真实树高。然后利用校正的LenovoL38041手机对这20棵立木进行测量,用卷尺测得手机到目标树的距离L,然后用手机目标树进行拍摄测量。

测量时,要注意保持目标树和测量人员在同一水平面上。树高测量的结果对比如表2所示。由表可知,树高测量的相对误差均小于6.5%。综上所述,利用本文的立木树高测量方法满足精准林业和数字林业的资源调查要求。

(2)树高测量稳定性分析:

随机在广西大学校园选取一棵待测目标树分别用瑞典Vertex lV(60°)超声波树木测高仪和本发明中APP测量的方法进行10次重复性测量,再10次测量的标准差Isd作为评价指标衡量树高测量精度,利用公式(26)可进行计算标准差:

在公式中,观测树木的次数是n,这里n是10;x是树高的数值,

树高的测量结果记录在表3中,使用超声波树木测高仪测量树高计算出的标准差是0.553,而使用本APP测量树高的的标准差是0.0031,即可表明本文研究的树高测量方法稳定性较高。

表3为树高测量稳定性分析

以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号