CN112651937B - 一种分层树冠识别方法 - Google Patents
一种分层树冠识别方法 Download PDFInfo
- Publication number
- CN112651937B CN112651937B CN202011543365.0A CN202011543365A CN112651937B CN 112651937 B CN112651937 B CN 112651937B CN 202011543365 A CN202011543365 A CN 202011543365A CN 112651937 B CN112651937 B CN 112651937B
- Authority
- CN
- China
- Prior art keywords
- point
- crown
- current point
- current
- seed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000002093 peripheral effect Effects 0.000 claims description 24
- 241001632422 Radiola linoides Species 0.000 claims 1
- 230000000694 effects Effects 0.000 description 4
- 241001632427 Radiola Species 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
- G06T2207/30188—Vegetation; Agriculture
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Physics (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Algebra (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种分层树冠识别方法,包括以下步骤:根据树冠高度栅格单元的个数,创建不相交集;依次遍历每个树冠顶点,从树冠高度栅格中提取树冠顶点的高度;将树冠划分为4个象限,分别为左上象限、右上象限、左下象限、右下象限,判别每个象限内树冠边界;提取树冠底部的高度;使用树冠顶点索引对树冠进行编码;依次遍历树冠顶点,对树冠外边界进行矢量化。本发明实施例提供的一种分层树冠识别方法,能够快速地识别分层树冠,同时还可用于识别普通树冠,增强了识别树冠的普适性,有效提高了树冠边界识别精度。
Description
技术领域
本发明涉及树冠识别技术领域,尤其涉及一种分层树冠识别方法。
背景技术
分层树冠是指复层林中不同林层的树冠,复层林一般有二个或更多个林层,每个林层由高度相近的树冠组成,不同林层的高度存在明显差异,不同林层的树冠在垂直方向上不相接,不同林层投影到水平面上具有一定的重叠度。
目前,可通过激光雷达发射激光脉冲和接收来自森林的回波信号,实现对森林三维空间结构的观测。通过激光雷达点云数据可以生成树冠高度栅格,现有树冠分割算法主要依据树冠顶点高于树冠边缘的外形特征(即树冠一般中心高,向周围呈辐射状逐渐降低),采用行优先判别规则,以树冠顶点为中心,逐行进行生长,越往树冠边缘生长,越容易误判树冠边界,未考虑分层树冠的空间结构特征,导致分层树冠存在过分割和欠分割现象,识别误差较大。
发明内容
本发明的实施例提供了一种分层树冠识别方法,以克服现有技术的缺陷。
为了实现上述目的,本发明采取了如下技术方案。
一种分层树冠识别方法,包括以下步骤:
S1、根据树冠高度栅格单元的个数,创建不相交集;
S2、依次遍历每个树冠顶点,从树冠高度栅格中提取树冠顶点的高度;
S3、将树冠划分为4个象限,分别为左上象限、右上象限、左下象限、右下象限,根据栅格遍历规则、行边界约束规则、生长距离约束规则、生长四邻域连通约束规则、射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则判别每个象限内树冠边界;
S4、提取树冠底部的高度;
S5、使用树冠顶点索引对树冠进行编码;
S6、依次遍历树冠顶点,对树冠外边界进行矢量化。
优选地,所述S1包括:
根据栅格的行数和列数,计算栅格单元个数,创建不相交集,不相交集的元素个数等于全部栅格单元的个数,不相交集元素的初始级别为0,初始个数为1。
优选地,所述S2包括:
依次遍历每个树冠顶点,根据每个种子点的位置,提取所有种子点的高度值;在不相交集中标记种子点元素的级别为1。
优选地,所述栅格遍历规则包括:
(1)左上象限内栅格遍历规则
当前点的起始位置为种子点,首先,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;然后,当前点沿所在行返回到种子点所在列,并向上移动一行,当前点的位置变为种子点的上方点,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;当前点沿所在行返回到种子点所在列,循环向上移动一行,直至到达上方树冠边界;
(2)右上象限内栅格遍历规则
当前点的起始位置为种子点的右方点,首先,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;然后,当前点沿所在行返回到种子点所在列的右一侧列,并向上移动一行,当前点的位置变为种子点的右上点,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;当前点沿所在行返回到种子点所在列的右一侧列,循环向上移动一行,直至到达上方树冠边界;
(3)左下象限内栅格遍历规则
当前点的起始位置为种子点的下方点,首先,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;然后,当前点沿所在行返回到种子点所在列,并向下移动一行,当前点的位置变为当前点起始位置的下方点,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;当前点沿所在行返回到种子点所在列,循环向下移动一行,直至到达下方树冠边界;
(4)右下象限内栅格遍历规则
当前点的起始位置为种子点的右下点,首先,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;然后,当前点沿所在行返回到种子点所在列的右方列,并向下移动一行,当前点的位置变为种子点的右下点的下方点,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;当前点沿所在行返回到种子点所在列的右方列,循环向下移动一行,直至到达下方树冠边界;
所述行边界约束规则:对于左上象限和右上象限,如果当前行的下方行没有树冠点,即当前行的下方行树冠栅格单元个数为0,表示到达上方树冠边界,则当前点停止向上移动;对于左下象限和右下象限,如果当前行的上方行没有树冠点,即当前行的上方行树冠栅格单元个数为0,表示到达下方树冠边界,则当前点停止向下移动;
所述生长距离约束规则:计算当前点与种子点之间的距离,如果距离小于等于搜索半径,则当前点继续移动;如果距离大于搜索半径,则当前点停止向左或向上或向右或向下移动;
所述生长四邻域连通约束规则:对于左上象限,当前点的下方点和右方点为连通点;对于右上象限,当前点的下方点和左方点为连通点;对于左下象限,当前点的上方点和右方点为连通点;对于右下象限,当前点的上方点和左方点为连通点;根据不相交集,判断当前点的两个连通点是否属于当前树冠,如果任一连通点属于当前树冠,则继续判断射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则;如果两个连通点均不属于当前树冠,则表示到达树冠边界,停止向左或向右移动;
所述射线方向判别规则:计算种子点指向当前点的方位角,按以下规则判断移动方向:如果方位角大于等于0°并小于22.5°,或者大于337.5°并小于等于360°,射线指向上方;如果方位角大于等于22.5°并小于67.5°,射线指向右上方;如果方位角大于等于67.5°并小于112.5°,射线指向右方;如果方位角大于等于112.5°并小于157.5°,射线指向右下方;如果方位角大于等于157.5°并小于202.5°,射线指向下方;如果方位角大于等于202.5°并小于247.5°,射线指向左下方;如果方位角大于等于247.5°并小于292.5°,射线指向左方;如果方位角大于等于292.5°并小于337.5°,射线指向左上方;
所述射线生长约束规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的前一点,当前点的前一点位于种子点和当前点之间,判断当前点的前一点是否属于当前树冠,具体规则为:如果射线方向指向左方、右方、上方或下方,直接判断当前点的前一连通点是否为树冠上的点;如果射线方向指向左上方、右上方、左下方或右下方,判断当前点的前一对角点是否为树冠上的点,并同时判断射线四邻域连通约束规则;如果当前点的前一对角点是树冠上的点,则继续判断射线四邻域连通约束规则,否则到达射线方向树冠边界;
所述射线四邻域连通约束规则:如果当前点的前一对角点是树冠上的点,继续判断当前点的前一列连通点或前一行连通点是否为树冠上的点,如果当前点的前一列连通点或前一行连通点是树冠上的点,则继续树冠判别规则;如果当前点的前一列连通点或前一行连通点均不是树冠上的点,则到达射线方向树冠边界;
所述树冠判别规则:
A.树冠一般判别规则:
如果当前点为相邻种子点,则停止树冠判别;
如果种子点高度小于当前点高度,则停止树冠判别;
如果当前点高度小于等于枝下高阈值,则停止树冠判别;
如果当前点坡度大于指定阈值,则停止树冠判别;
B.树冠分层判别规则:
将树冠区域划分为核心区、中间区和外围区,每一层采用不同的判别规则:
B.1树冠核心区判别规则:
如果当前点与种子点之间的高度差小于预设值R1,并且当前点与种子点之间的距离小于预设值R2,则当前点位于树冠核心区,否则继续判断当前点是否位于树冠中间区,R1、R2小于种子点高度;
B.2树冠中间区判别规则:
B.2.1如果当前点与种子点之间的高度差小于预设值R3,并且当前点与种子点之间的距离小于预设值R4,则当前点位于树冠中间区,否则继续判断当前点是否位于树冠外围区,R3、R4小于种子点高度,且R3>R1,R4>R2;
B.2.2如果当前点位于树冠中间区,则判别树冠局部反向角规则和全局冠倾角规则:
B.2.2.1树冠局部反向角规则:如果当前点的高度小于前一点的高度,即沿着种子点指向当前点的射线方向,当前点的前一点位于凹陷区,根据当前点的高度、当前点的前一点的高度和空间分辨率计算局部反向角,如果局部反向角大于指定阈值,则到达树冠边界;
B.2.2.2全局冠倾角规则:根据当前点的高度、种子点的高度和当前点与种子点之间的距离,计算全局冠倾角,如果全局冠倾角小于指定阈值,则到达树冠边界;
B.3树冠外围区判别规则:
如果当前点不在树冠核心区和中间区范围内,则位于树冠外围区,需要判别树冠高度规则和局部冠倾角规则:
树冠高度规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的后一点,按照以下规则判别树冠点:如果当前点的后一点高度大于当前点的前一点高度,则到达树冠边界,否则判别局部冠倾角规则;
局部冠倾角规则:计算局部冠倾角,如果当前点与后一点的局部冠倾角小于当前点与前一点的局部冠倾角,则到达树冠边缘;
所述树冠相接点判别规则:
根据公式(1)计算当前点属于每个树冠的概率p,公式(1)中x为当前点与种子点之间的距离除以种子点的高度值,σ缺省值为1,如果当前点属于当前种子点树冠的概率小于当前点属于另一种子点树冠的概率,则当前点属于另一种子点树冠,
优选地,所述S4包括:依次遍历每个树冠点,根据不相交集查找每个树冠点关联的树冠顶点,统计每个树冠上树冠点高度的最小值,作为树冠底部的高度。
优选地,所述S5包括:
依次遍历每个树冠点,根据不相交集查找每个树冠点关联的树冠顶点,将每个树冠点设为树冠顶点的索引值。
优选地,所述S6包括:依次遍历树冠顶点,将树冠顶点作为种子点,对树冠外边界进行矢量化。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例提供了一种分层树冠识别方法,将树冠划分为不同分区,每个区采用不同的空间约束规则,可以更为精确地识别树冠边界。本发明不仅能够快速地识别分层树冠,同时还可用于识别普通树冠,提供了识别树冠的普适性,有效提高了树冠边界识别精度。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分层树冠识别方法流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例提供了一种分层树冠识别方法,如图1所示,包括以下步骤:
S1、根据树冠高度栅格单元的个数,创建不相交集:
根据栅格的行数和列数,计算栅格单元的个数,创建不相交集,不相交集的元素个数等于全部栅格单元的个数,不相交集元素的初始级别为0,初始个数为1。其中,不相交集覆盖了全部区域,包括所有树冠、树冠之间的空地。不相交集中的每个树冠(包含多个栅格单元)具有唯一编码,不相交集中的每个空地点(即单个栅格单元)具有唯一编码。
S2、依次遍历每个树冠顶点,从树冠高度栅格中提取树冠顶点的高度:
依次遍历每个树冠顶点,根据每个种子点(种子点即树冠顶点)的位置,提取所有种子点的高度值;在不相交集中标记种子点元素的级别为1。
S3、将树冠划分为4个象限,分别为左上象限、右上象限、左下象限、右下象限,根据栅格遍历规则、行边界约束规则、生长距离约束规则、生长四邻域连通约束规则、射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则判别每个象限内树冠边界:
3.1左上象限树冠边界
(1)左上象限内栅格遍历规则
当前点的起始位置为种子点,首先,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;然后,当前点沿所在行返回到种子点所在列,并向上移动一行,当前点的位置变为种子点的上方点,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;当前点沿所在行返回到种子点所在列,循环向上移动一行,直至到达树冠边界。
(2)行边界约束规则
如果当前行的下方行没有树冠上点,即当前行的下方行树冠栅格单元的个数为0,表示到达上方树冠边界,当前点停止向上移动。
(3)生长距离约束规则
计算当前点与种子点之间的距离,如果距离小于等于搜索半径,则当前点继续移动;如果距离大于搜索半径,则当前点停止向左或向上移动。
(4)生长四邻域连通约束规则
根据不相交集,判断当前点的下方点和右方点(即连通点)是否属于当前树冠,如果任一连通点属于当前树冠,则继续判断射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则;如果两个连通点均不属于当前树冠,则表示到达树冠边界,当前点停止向左移动。
说明:为了处理上凹型树冠,需要生长四邻域连通约束规则。
(5)射线方向判别规则
种子点到当前点的射线方向划分为8个方向,分别对应当前点的8个邻域方向,当前点(即当前栅格单元)共有8个相邻点(相邻栅格单元),包括上方、右上、右方、右下、下方、左上、左下、左方点;当前点的移动方向共有8个,分别指向8个相邻点;如果采用方位进行描述,对应8个邻域方向,上方点为北方点,右上点为东北向点,右侧点为东方点,右下点为东南方点,下方点为南方点,左上为西北向点、左下点为西南向点,左方点为西方点。
计算种子点指向当前点的方位角,按以下规则判断移动方向:
如果方位角大于等于0°并小于22.5°,或者大于337.5°并小于等于360°,射线指向上方;
如果方位角大于等于22.5°并小于67.5°,射线指向右上方;
如果方位角大于等于67.5°并小于112.5°,射线指向右方;
如果方位角大于等于112.5°并小于157.5°,射线指向右下方;
如果方位角大于等于157.5°并小于202.5°,射线指向下方;
如果方位角大于等于202.5°并小于247.5°,射线指向左下方;
如果方位角大于等于247.5°并小于292.5°,射线指向左方;
如果方位角大于等于292.5°并小于337.5°,射线指向左上方。
在本发明实施例中,将方位角划分为16等份,使C++的if条件判断转换为switch判断。其中,第1和16份表示指向上方,第2和3份表示指向右上方,第4和5份表示指向右方,第6和7份表示指向右下方,第8和9份表示指向下方,第10和11份表示指向左下方,第12和13份表示指向左方,第14和15份表示指向左上方。
(6)射线生长约束规则
在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的前一点(前一点包括前一连通点和前一对角点),该点位于种子点和当前点之间,判断当前点的前一点是否属于当前树冠,具体规则为:
如果射线方向指向左方、右方、上方或下方,直接判断当前点的前一连通点(即右方点、左方点、下方点或上方点,称为前一连通点;其中右方点或左方点称为前一行连通点,下方点或上方点称为前一列连通点)是否为树冠上的点;
如果射线方向指向左上方、右上方、左下方或右下方,判断当前点的前一对角点(即右下点、左下点、右上点或左上点,称为前一对角点)是否为树冠上的点,并同时判断射线四邻域连通约束规则;如果当前点的前一对角点是树冠上的点,则继续判断射线四邻域连通约束规则,否则到达射线方向树冠边界。
(7)射线四邻域连通约束规则
如果当前点的前一对角点是树冠上的点,继续判断当前点的前一列连通点或前一行连通点是否为树冠上的点。如果当前点的前一列连通点或前一行连通点是树冠上的点,则继续树冠判别规则;如果当前点的前一列连通点或前一行连通点均不是树冠上的点,则到达射线方向树冠边界。
说明:为了处理左凹和上凹型树冠,需要射线四邻域连通约束规则。
(8)树冠判别规则
A.树冠一般判别规则:
如果当前点为相邻种子点,则停止树冠判别;
如果种子点高度小于当前点高度,则停止树冠判别;
如果当前点高度小于等于枝下高阈值,则停止树冠判别;
如果当前点坡度大于指定阈值,则停止树冠判别。
当前点坡度有多种计算方式,在本发明实施例中,采用当前点坡度是由种子点高度与当前点高度的差值除以种子点与当前点之间的距离,再反正切得到,即:
其中S表示当前点坡度,Δd表示种子点与当前点之间的距离,Δh表示种子点高度与当前点高度的差值。
B.树冠分层判别规则:
将树冠区域划分为核心区、中间区和外围区三层,每一层采用不同的判别规则。
B.1树冠核心区判别规则:
如果当前点与种子点之间的高度差小于预设值R1(R1默认为树高的1/4),并且当前点与种子点之间的距离小于预设值R2(R2默认为树高的1/6),则当前点位于树冠核心区,否则继续判断当前点是否位于树冠中间区。
B.2树冠中间区判别规则:
B.2.1如果当前点与种子点之间的高度差小于预设值R3(R3默认为树高的1/3),并且当前点与种子点之间的距离小于预设值R4(R4默认为树高的1/3),则当前点位于树冠中间区,否则继续判断当前点是否位于树冠外围区。
其中,预设值R1、R2、R3、R4应该小于种子点高度(即树高),R3>R1,R4>R2。根据经验,按照树高设置预设值的效果比较好。
B.2.2如果当前点位于树冠中间区,则判别树冠局部反向角规则和全局冠倾角规则。
B.2.2.1树冠局部反向角规则:如果当前点的高度小于前一点的高度,即沿着种子点指向当前点的射线方向,当前点的前一点位于凹陷区,根据当前点的高度、当前点的前一点的高度和空间分辨率计算局部反向角,如果局部反向角大于指定阈值,则到达树冠边界。
B.2.2.2全局冠倾角规则:根据当前点的高度、种子点的高度和当前点与种子点之间的距离,计算全局冠倾角,如果全局冠倾角小于指定阈值,则到达树冠边界。
B.3树冠外围区判别规则:
如果当前点不在树冠核心区和中间区范围内,则位于树冠外围区,需要判别树冠高度规则和局部冠倾角规则。
树冠高度规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的后一点,按照以下规则判别树冠点:如果当前点的后一点高度大于当前点的前一点高度,则到达树冠边界,否则判别局部冠倾角规则。
局部冠倾角规则:计算局部冠倾角,如果当前点与后一点的局部冠倾角小于当前点与前一点的局部冠倾角,则到达树冠边缘。
(9)树冠相接点判别规则
如果当前点同时属于两个树冠,则根据公式(1)计算当前点属于每个树冠的概率p,公式(1)中x为当前点与种子点之间的距离除以种子点的高度值,σ缺省值为1。如果当前点属于当前种子点树冠的概率小于当前点属于另一种子点树冠的概率,则当前点属于另一种子点树冠。
3.2右上象限树冠边界
(1)右上象限内栅格遍历规则
当前点的起始位置为种子点的右方点,首先,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;然后,当前点沿所在行返回到种子点的右方点所在列,并向上移动一行,当前点的位置变为种子点的右上点,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;当前点沿所在行返回到种子点的右方点所在列,循环向上移动一行,直至到达上方树冠边界。
(2)行边界约束规则
如果当前行的下方行没有树冠点,即当前行的下方行树冠栅格单元的个数为0,表示到达上方树冠边界,当前点停止向上移动。
(3)生长距离约束规则
计算当前点与种子点之间的距离,如果距离小于等于搜索半径,则当前点继续移动;如果距离大于搜索半径,则当前点停止向右或向上移动。
(4)生长四邻域连通约束规则
根据不相交集,判断当前点的下方点和左方点(即连通点)是否属于当前树冠,如果任一连通点属于当前树冠,则继续判断射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则;如果两个连通点均不属于当前树冠,则表示到达树冠边界,当前点停止向右移动。
说明:为了处理上凹型树冠,需要生长四邻域连通约束规则。
(5)射线方向判别规则
种子点到当前点的射线方向划分为8个方向,分别对应当前点的8个邻域方向,当前点(即当前栅格单元)共有8个相邻点(相邻栅格单元),包括上方、右上、右方、右下、下方、左上、左下、左方点;当前点的移动方向共有8个,分别指向8个相邻点;如果采用方位进行描述,对应8个邻域方向,上方点为北方点,右上点为东北向点,右方点为东方点,右下点为东南方点,下方点为南方点,左上为西北向点、左下点为西南向点,左方点为西方点。
计算种子点指向当前点的方位角,按以下规则判断移动方向:
如果方位角大于等于0°并小于22.5°,或者大于337.5°并小于等于360°,射线指向上方;
如果方位角大于等于22.5°并小于67.5°,射线指向右上方;
如果方位角大于等于67.5°并小于112.5°,射线指向右方;
如果方位角大于等于112.5°并小于157.5°,射线指向右下方;
如果方位角大于等于157.5°并小于202.5°,射线指向下方;
如果方位角大于等于202.5°并小于247.5°,射线指向左下方;
如果方位角大于等于247.5°并小于292.5°,射线指向左方;
如果方位角大于等于292.5°并小于337.5°,射线指向左上方。
在本发明实施例中,将方位角划分为16等份,使C++的if条件判断转换为switch判断。其中,第1和16份表示指向上方,第2和3份表示指向右上方,第4和5份表示指向右方,第6和7份表示指向右下方,第8和9份表示指向下方,第10和11份表示指向左下方,第12和13份表示指向左方,第14和15份表示指向左上方。
(6)射线生长约束规则
在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的前一点(前一点包括前一连通点和前一对角点),该点位于种子点和当前点之间,判断当前点的前一点是否属于当前树冠,具体规则为:
如果射线方向指向左方、右方、上方或下方,直接判断当前点的前一连通点(即右方点、左方点、下方点或上方点,称为前一连通点;其中右方点或左方点称为前一行连通点,下方点或上方点称为前一列连通点)是否为树冠上的点;
如果射线方向指向左上方、右上方、左下方或右下方,判断当前点的前一对角点(即右下点、左下点、右上点或左上点,称为前一对角点)是否为树冠上的点,并同时判断射线四邻域连通约束规则;如果当前点的前一对角点是树冠上的点,则继续判断射线四邻域连通约束规则,否则到达射线方向树冠边界。
(7)射线四邻域连通约束规则
如果当前点的前一对角点是树冠上的点,继续判断当前点的前一列连通点或前一行连通点是否为树冠上的点。如果当前点的前一列连通点或前一行连通点是树冠上的点,则继续树冠判别规则;如果当前点的前一列连通点或前一行连通点均不是树冠上的点,则到达射线方向树冠边界。
说明:为了处理右凹和上凹型树冠,需要射线四邻域连通约束规则。
(8)树冠判别规则
A.树冠一般判别规则:
如果当前点为相邻种子点,则停止树冠判别;
如果种子点高度小于当前点高度,则停止树冠判别;
如果当前点高度小于等于枝下高阈值,则停止树冠判别;
如果当前点坡度大于指定阈值,则停止树冠判别。
当前点坡度有多种计算方式,在本发明实施例中,采用当前点坡度是由种子点高度与当前点高度的差值除以种子点与当前点之间的距离,再反正切得到,即:
其中,S表示当前点坡度,Δd表示种子点与当前点之间的距离,Δh表示种子点高度与当前点高度的差值。
B.树冠分层判别规则:
将树冠区域划分为核心区、中间区和外围区三层,每一层采用不同的判别规则。
B.1树冠核心区判别规则:
如果当前点与种子点之间的高度差小于预设值R1(R1默认为树高的1/4),并且当前点与种子点之间的距离小于预设值R2(R2默认为树高的1/6),则当前点位于树冠核心区,否则继续判断当前点是否位于树冠中间区。
B.2树冠中间区判别规则:
B.2.1如果当前点与种子点之间的高度差小于预设值R3(R3默认为树高的1/3),并且当前点与种子点之间的距离小于预设值R4(R4默认为树高的1/3),则当前点位于树冠中间区,否则继续判断当前点是否位于树冠外围区。
其中,预设值R1、R2、R3、R4应该小于种子点高度(即树高),R3>R1,R4>R2。根据经验,按照树高设置预设值的效果比较好。
B.2.2如果当前点位于树冠中间区,则判别树冠局部反向角规则和全局冠倾角规则。
B.2.2.1树冠局部反向角规则:如果当前点的高度小于前一点的高度,即沿着种子点指向当前点的射线方向,当前点的前一点位于凹陷区,根据当前点的高度、当前点的前一点的高度和空间分辨率计算局部反向角,如果局部反向角大于指定阈值,则到达树冠边界。
B.2.2.2全局冠倾角规则:根据当前点的高度、种子点的高度和当前点与种子点之间的距离,计算全局冠倾角,如果全局冠倾角小于指定阈值,则到达树冠边界。
B.3树冠外围区判别规则:
如果当前点不在树冠核心区和中间区范围内,则位于树冠外围区,需要判别树冠高度规则和局部冠倾角规则。
树冠高度规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的后一点,按照以下规则判别树冠点:如果当前点的后一点高度大于当前点的前一点高度,则到达树冠边界,否则判别局部冠倾角规则。
局部冠倾角规则:计算局部冠倾角,如果当前点与后一点的局部冠倾角小于当前点与前一点的局部冠倾角,则到达树冠边缘。
(9)树冠相接点判别规则
如果当前点同时属于两个树冠,则根据公式(1)计算当前点属于每个树冠的概率,公式(1)中x为当前点与种子点之间的距离除以种子点的高度值,σ缺省值为1。如果当前点属于当前种子点树冠的概率小于当前点属于另一种子点树冠的概率,则当前点属于另一种子点树冠,
3.3左下象限树冠边界
(1)左下象限内栅格遍历规则
当前点的起始位置为种子点的下方点,首先,当前点沿所在行向左移动,如果当前点的左方点为树冠点则持续向左移动,如果到达树冠边界则停止向左移动;然后,当前点沿所在行返回到种子点所在列,并向下移动一行,当前点的位置变为当前点起始位置的下方点,当前点沿所在行向左移动,如果当前点的左方点为树冠点则持续向左移动,如果到达树冠边界则停止向左移动;当前点沿所在行返回到种子点所在列,循环向下移动一行,直至到达树冠边界。
(2)行边界约束规则
如果当前行的上方行没有树冠点,即当前点的上方行树冠栅格单元的个数为0,表示到达下方树冠边界,当前点停止向下移动。
(3)生长距离约束规则
计算当前点与种子点之间的距离,如果距离小于等于搜索半径,则当前点继续移动;如果距离大于搜索半径,则当前点停止向左或向下移动。
(4)生长四邻域连通约束规则
根据不相交集,判断当前点的上方点和右方点(即连通点)是否属于当前树冠,如果任一连通点属于当前树冠,则继续判断射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则;如果两个连通点均不属于当前树冠,则表示到达树冠边界,当前点停止向左移动。
说明:为了处理下凹型树冠,需要生长四邻域连通约束规则。
(5)射线方向判别规则
种子点到当前点的射线方向划分为8个方向,分别对应当前点的8个邻域方向,当前点(即当前栅格单元)共有8个相邻点(相邻栅格单元),包括上方、右上、右方、右下、下方、左上、左下、左方点;当前点的移动方向共有8个,分别指向8个相邻点;如果采用方位进行描述,对应8个邻域方向,上方点为北方点,右上点为东北向点,右方点为东方点,右下点为东南方点,下方点为南方点,左上为西北向点、左下点为西南向点,左方点为西方点。
计算种子点指向当前点的方位角,按以下规则判断移动方向:
如果方位角大于等于0°并小于22.5°,或者大于337.5°并小于等于360°,射线指向上方;
如果方位角大于等于22.5°并小于67.5°,射线指向右上方;
如果方位角大于等于67.5°并小于112.5°,射线指向右方;
如果方位角大于等于112.5°并小于157.5°,射线指向右下方;
如果方位角大于等于157.5°并小于202.5°,射线指向下方;
如果方位角大于等于202.5°并小于247.5°,射线指向左下方;
如果方位角大于等于247.5°并小于292.5°,射线指向左方;
如果方位角大于等于292.5°并小于337.5°,射线指向左上方。
在本发明实施例中,将方位角划分为16等份,使C++的if条件判断转换为switch判断。其中,第1和16份表示指向上方,第2和3份表示指向右上方,第4和5份表示指向右方,第6和7份表示指向右下方,第8和9份表示指向下方,第10和11份表示指向左下方,第12和13份表示指向左方,第14和15份表示指向左上方。
(6)射线生长约束规则
在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的前一点(前一点包括前一连通点和前一对角点),该点位于种子点和当前点之间,判断当前点的前一点是否属于当前树冠,具体规则为:
如果射线方向指向左方、右方、上方或下方,直接判断当前点的前一连通点(即右方点、左方点、下方点或上方点,称为前一连通点;其中右方点或左方点称为前一行连通点,下方点或上方点称为前一列连通点)是否为树冠上的点;
如果射线方向指向左上方、右上方、左下方或右下方,判断当前点的前一对角点(即右下点、左下点、右上点或左上点,称为前一对角点)是否为树冠上的点,并同时判断射线四邻域连通约束规则;如果当前点的前一对角点是树冠上的点,则继续判断射线四邻域连通约束规则,否则到达射线方向树冠边界。
(7)射线四邻域连通约束规则
如果当前点的前一对角点是树冠上的点,继续判断当前点的前一列连通点或前一行连通点是否为树冠上的点。如果当前点的前一列连通点或前一行连通点是树冠上的点,则继续树冠判别规则;如果当前点的前一列连通点或前一行连通点均不是树冠上的点,则到达射线方向树冠边界。
说明:为了处理左凹和下凹型树冠,需要射线四邻域连通约束规则。
(8)树冠判别规则
A.树冠一般判别规则:
如果当前点为相邻种子点,则停止树冠判别;
如果种子点高度小于当前点高度,则停止树冠判别;
如果当前点高度小于等于枝下高阈值,则停止树冠判别;
如果当前点坡度大于指定阈值,则停止树冠判别。
当前点坡度有多种计算方式,在本发明实施例中,采用当前点坡度是由种子点高度与当前点高度的差值除以种子点与当前点之间的距离,再反正切得到,即:
其中,S表示当前点坡度,Δd表示种子点与当前点之间的距离,Δh表示种子点高度与当前点高度的差值。
B.树冠分层判别规则:
将树冠区域划分为核心区、中间区和外围区三层,每一层采用不同的判别规则。
B.1树冠核心区判别规则:
如果当前点与种子点之间的高度差小于预设值R1(R1默认为树高的1/4),并且当前点与种子点之间的距离小于预设值R2(R2默认为树高的1/6),则当前点位于树冠核心区,否则继续判断当前点是否位于树冠中间区。
B.2树冠中间区判别规则:
B.2.1如果当前点与种子点之间的高度差小于预设值R3(R3默认为树高的1/3),并且当前点与种子点之间的距离小于预设值R4(R4默认为树高的1/3),则当前点位于树冠中间区,否则继续判断当前点是否位于树冠外围区。
其中,预设值R1、R2、R3、R4应该小于种子点高度(即树高),R3>R1,R4>R2。根据经验,按照树高设置预设值的效果比较好。
B.2.2如果当前点位于树冠中间区,则判别树冠局部反向角规则和全局冠倾角规则。
B.2.2.1树冠局部反向角规则:如果当前点的高度小于前一点的高度,即沿着种子点指向当前点的射线方向,当前点的前一点位于凹陷区,根据当前点的高度、当前点的前一点的高度和空间分辨率计算局部反向角,如果局部反向角大于指定阈值,则到达树冠边界。
B.2.2.2全局冠倾角规则:根据当前点的高度、种子点的高度和当前点与种子点之间的距离,计算全局冠倾角,如果全局冠倾角小于指定阈值,则到达树冠边界。
B.3树冠外围区判别规则:
如果当前点不在树冠核心区和中间区范围内,则位于树冠外围区,需要判别树冠高度规则和局部冠倾角规则。
树冠高度规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的后一点,按照以下规则判别树冠点:如果当前点的后一点高度大于当前点的前一点高度,则到达树冠边界,否则判别局部冠倾角规则。
局部冠倾角规则:计算局部冠倾角,如果当前点与后一点的局部冠倾角小于当前点与前一点的局部冠倾角,则到达树冠边缘。
(9)树冠相接点判别规则
如果当前点同时属于两个树冠,则根据公式(1)计算当前点属于每个树冠的概率,公式(1)中x为当前点与种子点之间的距离除以种子点的高度值,σ缺省值为1。如果当前点属于当前种子点树冠的概率小于当前点属于另一种子点树冠的概率,则当前点属于另一种子点树冠,
3.4右下象限树冠边界
(1)右下象限内栅格遍历规则
当前点的起始位置为种子点的右下点,首先,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;然后,当前点沿所在行返回到种子点的右方点所在列,并向下移动一行,当前点的位置变为种子点的右下点的下方点,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;当前点沿所在行返回到种子点的右方点所在列,循环向下移动一行,直至到达下方树冠边界。
(2)行边界约束规则
如果当前行的上方行没有树冠点,即当前行的上方行树冠栅格单元的个数为0,表示到达下方树冠边界,当前点停止向下移动。
(3)生长距离约束规则
计算当前点与种子点之间的距离,如果距离小于等于搜索半径,则当前点继续移动;如果距离大于搜索半径,则当前点停止向右或向下移动。
(4)生长四邻域连通约束规则
根据不相交集,判断当前点的上方点和左方点(即连通点)是否属于当前树冠,如果任一连通点属于当前树冠,则继续判断射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则;如果两个连通点均不属于当前树冠,则表示到达树冠边界,当前点停止向右移动。
说明:为了处理下凹型树冠,需要生长四邻域连通约束规则。
(5)射线方向判别规则
种子点到当前点的射线方向划分为8个方向,分别对应当前点的8个邻域方向,当前点(即当前栅格单元)共有8个相邻点(相邻栅格单元),包括上方、右上、右方、右下、下方、左上、左下、左方点;当前点的移动方向共有8个,分别指向8个相邻点;如果采用方位进行描述,对应8个邻域方向,上方点为北方点,右上点为东北向点,右方点为东方点,右下点为东南方点,下方点为南方点,左上为西北向点、左下点为西南向点,左方点为西方点。
计算种子点指向当前点的方位角,按以下规则判断移动方向:
如果方位角大于等于0°并小于22.5°,或者大于337.5°并小于等于360°,射线指向上方;
如果方位角大于等于22.5°并小于67.5°,射线指向右上方;
如果方位角大于等于67.5°并小于112.5°,射线指向右方;
如果方位角大于等于112.5°并小于157.5°,射线指向右下方;
如果方位角大于等于157.5°并小于202.5°,射线指向下方;
如果方位角大于等于202.5°并小于247.5°,射线指向左下方;
如果方位角大于等于247.5°并小于292.5°,射线指向左方;
如果方位角大于等于292.5°并小于337.5°,射线指向左上方。
在本发明实施例中,将方位角划分为16等份,使C++的if条件判断转换为switch判断。其中,第1和16份表示指向上方,第2和3份表示指向右上方,第4和5份表示指向右方,第6和7份表示指向右下方,第8和9份表示指向下方,第10和11份表示指向左下方,第12和13份表示指向左方,第14和15份表示指向左上方。
(6)射线生长约束规则
在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的前一点(前一点包括前一连通点和前一对角点),该点位于种子点和当前点之间,判断当前点的前一点是否属于当前树冠,具体规则为:
如果射线方向指向左方、右方、上方或下方,直接判断当前点的前一连通点(即右方点、左方点、下方点或上方点,称为前一连通点;其中右方点或左方点称为前一行连通点,下方点或上方点称为前一列连通点)是否为树冠上的点;
如果射线方向指向左上方、右上方、左下方或右下方,判断当前点的前一对角点是否为树冠上的点,并同时判断射线四邻域连通约束规则;如果当前点的前一对角点是树冠上的点,则继续判断射线四邻域连通约束规则,否则到达射线方向树冠边界。当前点的前一对角点是指右下点、左下点、右上点或左上点,即射线反方向上的点。
(7)射线四邻域连通约束规则
如果当前点的前一对角点是树冠上的点,继续判断当前点的前一列连通点或前一行连通点是否为树冠上的点。如果当前点的前一列连通点或前一行连通点是树冠上的点,则继续树冠判别规则;如果当前点的前一列连通点或前一行连通点均不是树冠上的点,则到达射线方向树冠边界。
说明:为了处理右凹和下凹型树冠,需要射线四邻域连通约束规则。
(8)树冠判别规则
A.树冠一般判别规则:
如果当前点为相邻种子点,则停止树冠判别;
如果种子点高度小于当前点高度,则停止树冠判别;
如果当前点高度小于等于枝下高阈值,则停止树冠判别;
如果当前点坡度大于指定阈值,则停止树冠判别。
当前点坡度有多种计算方式,在本发明实施例中,采用当前点坡度是由种子点高度与当前点高度的差值除以种子点与当前点之间的距离,再反正切得到,即:
其中,S表示当前点坡度,Δd表示种子点与当前点之间的距离,Δh表示种子点高度与当前点高度的差值。
B.树冠分层判别规则:
将树冠区域划分为核心区、中间区和外围区三层,每一层采用不同的判别规则。
B.1树冠核心区判别规则:
如果当前点与种子点之间的高度差小于预设值R1(R1默认为树高的1/4),并且当前点与种子点之间的距离小于预设值R2(R2默认为树高的1/6),则当前点位于树冠核心区,否则继续判断当前点是否位于树冠中间区。
B.2树冠中间区判别规则:
B.2.1如果当前点与种子点之间的高度差小于预设值R3(R3默认为树高的1/3),并且当前点与种子点之间的距离小于预设值R4(R4默认为树高的1/3),则当前点位于树冠中间区,否则继续判断当前点是否位于树冠外围区。
其中,预设值R1、R2、R3、R4应该小于种子点高度(即树高),R3>R1,R4>R2。根据经验,按照树高设置预设值的效果比较好。
B.2.2如果当前点位于树冠中间区,则判别树冠局部反向角规则和全局冠倾角规则。
B.2.2.1树冠局部反向角规则:如果当前点的高度小于前一点的高度,即沿着种子点指向当前点的射线方向,当前点的前一点位于凹陷区,根据当前点的高度、当前点的前一点的高度和空间分辨率计算局部反向角,如果局部反向角大于指定阈值,则到达树冠边界。
B.2.2.2全局冠倾角规则:根据当前点的高度、种子点的高度和当前点与种子点之间的距离,计算全局冠倾角,如果全局冠倾角小于指定阈值,则到达树冠边界。
B.3树冠外围区判别规则:
如果当前点不在树冠核心区和中间区范围内,则位于树冠外围区,需要判别树冠高度规则和局部冠倾角规则。
树冠高度规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的后一点,按照以下规则判别树冠点:如果当前点的后一点高度大于当前点的前一点高度,则到达树冠边界,否则判别局部冠倾角规则。
局部冠倾角规则:计算局部冠倾角,如果当前点与后一点的局部冠倾角小于当前点与前一点的局部冠倾角,则到达树冠边缘。
(9)树冠相接点判别规则
如果当前点同时属于两个树冠,则根据公式(1)计算当前点属于每个树冠的概率,公式(1)中x为当前点与种子点之间的距离除以种子点的高度值,σ缺省值为1。如果当前点属于当前种子点树冠的概率小于当前点属于另一种子点树冠的概率,则当前点属于另一种子点树冠,
S4、提取树冠底部的高度:
依次遍历每个树冠点,根据不相交集查找每个树冠点关联的树冠顶点,统计每个树冠上树冠点高度的最小值,作为树冠底部的高度。
S5、使用树冠顶点索引对树冠进行编码:
依次遍历每个树冠点,根据不相交集查找每个树冠点关联的树冠顶点,将每个树冠点设为树冠顶点的索引值。
S6、依次遍历树冠顶点,对树冠外边界进行矢量化:
依次遍历树冠顶点,将树冠顶点作为种子点,对树冠外边界进行矢量化。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种分层树冠识别方法,其特征在于,包括以下步骤:
S1、根据树冠高度栅格单元的个数,创建不相交集;
S2、依次遍历每个树冠顶点,从树冠高度栅格中提取树冠顶点的高度;
S3、将树冠划分为4个象限,分别为左上象限、右上象限、左下象限、右下象限,根据栅格遍历规则、行边界约束规则、生长距离约束规则、生长四邻域连通约束规则、射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则判别每个象限内树冠边界;
其中,所述栅格遍历规则包括:
(1)左上象限内栅格遍历规则:当前点的起始位置为种子点,首先,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;然后,当前点沿所在行返回到种子点所在列,并向上移动一行,当前点的位置变为种子点的上方点,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;当前点沿所在行返回到种子点所在列,循环向上移动一行,直至到达上方树冠边界;
(2)右上象限内栅格遍历规则:当前点的起始位置为种子点的右方点,首先,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;然后,当前点沿所在行返回到种子点所在列的右一侧列,并向上移动一行,当前点的位置变为种子点的右上点,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;当前点沿所在行返回到种子点所在列的右一侧列,循环向上移动一行,直至到达上方树冠边界;
(3)左下象限内栅格遍历规则:当前点的起始位置为种子点的下方点,首先,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;然后,当前点沿所在行返回到种子点所在列,并向下移动一行,当前点的位置变为当前点起始位置的下方点,当前点沿所在行向左移动,如果当前点的左方点为树冠点则当前点持续向左移动,如果到达树冠边界则停止向左移动;当前点沿所在行返回到种子点所在列,循环向下移动一行,直至到达下方树冠边界;
(4)右下象限内栅格遍历规则:当前点的起始位置为种子点的右下点,首先,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;然后,当前点沿所在行返回到种子点所在列的右方列,并向下移动一行,当前点的位置变为种子点的右下点的下方点,当前点沿所在行向右移动,如果当前点的右方点为树冠点则当前点持续向右移动,如果到达树冠边界则停止向右移动;当前点沿所在行返回到种子点所在列的右方列,循环向下移动一行,直至到达下方树冠边界;
所述行边界约束规则:对于左上象限和右上象限,如果当前行的下方行没有树冠点,即当前行的下方行树冠栅格单元个数为0,表示到达上方树冠边界,则当前点停止向上移动;对于左下象限和右下象限,如果当前行的上方行没有树冠点,即当前行的上方行树冠栅格单元个数为0,表示到达下方树冠边界,则当前点停止向下移动;
所述生长距离约束规则:计算当前点与种子点之间的距离,如果距离小于等于搜索半径,则当前点继续移动;如果距离大于搜索半径,则当前点停止向左或向上或向右或向下移动;
所述生长四邻域连通约束规则:对于左上象限,当前点的下方点和右方点为连通点;对于右上象限,当前点的下方点和左方点为连通点;对于左下象限,当前点的上方点和右方点为连通点;对于右下象限,当前点的上方点和左方点为连通点;根据不相交集,判断当前点的两个连通点是否属于当前树冠,如果任一连通点属于当前树冠,则继续判断射线方向判别规则、射线生长约束规则、射线四邻域连通约束规则、树冠判别规则和树冠相接点判别规则;如果两个连通点均不属于当前树冠,则表示到达树冠边界,停止向左或向右移动;
所述射线方向判别规则:计算种子点指向当前点的方位角,按以下规则判断移动方向:如果方位角大于等于0°并小于22.5°,或者大于337.5°并小于等于360°,射线指向上方;如果方位角大于等于22.5°并小于67.5°,射线指向右上方;如果方位角大于等于67.5°并小于112.5°,射线指向右方;如果方位角大于等于112.5°并小于157.5°,射线指向右下方;如果方位角大于等于157.5°并小于202.5°,射线指向下方;如果方位角大于等于202.5°并小于247.5°,射线指向左下方;如果方位角大于等于247.5°并小于292.5°,射线指向左方;如果方位角大于等于292.5°并小于337.5°,射线指向左上方;
所述射线生长约束规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的前一点,当前点的前一点位于种子点和当前点之间,判断当前点的前一点是否属于当前树冠,具体规则为:如果射线方向指向左方、右方、上方或下方,直接判断当前点的前一连通点是否为树冠上的点;如果射线方向指向左上方、右上方、左下方或右下方,判断当前点的前一对角点是否为树冠上的点,并同时判断射线四邻域连通约束规则;如果当前点的前一对角点是树冠上的点,则继续判断射线四邻域连通约束规则,否则到达射线方向树冠边界;
所述射线四邻域连通约束规则:如果当前点的前一对角点是树冠上的点,继续判断当前点的前一列连通点或前一行连通点是否为树冠上的点,如果当前点的前一列连通点或前一行连通点是树冠上的点,则继续树冠判别规则;如果当前点的前一列连通点或前一行连通点均不是树冠上的点,则到达射线方向树冠边界;
所述树冠判别规则:
A.树冠一般判别规则:
如果当前点为相邻种子点,则停止树冠判别;
如果种子点高度小于当前点高度,则停止树冠判别;
如果当前点高度小于等于枝下高阈值,则停止树冠判别;
如果当前点坡度大于指定阈值,则停止树冠判别;
B.树冠分层判别规则:
将树冠区域划分为核心区、中间区和外围区,每一层采用不同的判别规则:
B.1树冠核心区判别规则:
如果当前点与种子点之间的高度差小于预设值R1,并且当前点与种子点之间的距离小于预设值R2,则当前点位于树冠核心区,否则继续判断当前点是否位于树冠中间区,R1、R2小于种子点高度;
B.2树冠中间区判别规则:
B.2.1如果当前点与种子点之间的高度差小于预设值R3,并且当前点与种子点之间的距离小于预设值R4,则当前点位于树冠中间区,否则继续判断当前点是否位于树冠外围区,R3、R4小于种子点高度,且R3>R1,R4>R2;
B.2.2如果当前点位于树冠中间区,则判别树冠局部反向角规则和全局冠倾角规则:
B.2.2.1树冠局部反向角规则:如果当前点的高度小于前一点的高度,即沿着种子点指向当前点的射线方向,当前点的前一点位于凹陷区,根据当前点的高度、当前点的前一点的高度和空间分辨率计算局部反向角,如果局部反向角大于指定阈值,则到达树冠边界;
B.2.2.2全局冠倾角规则:根据当前点的高度、种子点的高度和当前点与种子点之间的距离,计算全局冠倾角,如果全局冠倾角小于指定阈值,则到达树冠边界;
B.3树冠外围区判别规则:
如果当前点不在树冠核心区和中间区范围内,则位于树冠外围区,需要判别树冠高度规则和局部冠倾角规则:
树冠高度规则:在种子点指向当前点的射线上,根据射线方向和当前点计算当前点的后一点,按照以下规则判别树冠点:如果当前点的后一点高度大于当前点的前一点高度,则到达树冠边界,否则判别局部冠倾角规则;
局部冠倾角规则:计算局部冠倾角,如果当前点与后一点的局部冠倾角小于当前点与前一点的局部冠倾角,则到达树冠边缘;
所述树冠相接点判别规则:
根据公式(1)计算当前点属于每个树冠的概率p,公式(1)中x为当前点与种子点之间的距离除以种子点的高度值,σ缺省值为1,如果当前点属于当前种子点树冠的概率小于当前点属于另一种子点树冠的概率,则当前点属于另一种子点树冠,
S4、提取树冠底部的高度;
S5、使用树冠顶点索引对树冠进行编码;
S6、依次遍历树冠顶点,对树冠外边界进行矢量化。
2.根据权利要求1所述的方法,其特征在于,所述S1包括:
根据栅格的行数和列数,计算栅格单元个数,创建不相交集,不相交集的元素个数等于全部栅格单元的个数,不相交集元素的初始级别为0,初始个数为1。
3.根据权利要求1所述的方法,其特征在于,所述S2包括:
依次遍历每个树冠顶点,根据每个种子点的位置,提取所有种子点的高度值;在不相交集中标记种子点元素的级别为1。
4.根据权利要求1所述的方法,其特征在于,所述S4包括:依次遍历每个树冠点,根据不相交集查找每个树冠点关联的树冠顶点,统计每个树冠上树冠点高度的最小值,作为树冠底部的高度。
5.根据权利要求1所述的方法,其特征在于,所述S5包括:
依次遍历每个树冠点,根据不相交集查找每个树冠点关联的树冠顶点,将每个树冠点设为树冠顶点的索引值。
6.根据权利要求1所述的方法,其特征在于,所述S6包括:依次遍历树冠顶点,将树冠顶点作为种子点,对树冠外边界进行矢量化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543365.0A CN112651937B (zh) | 2020-12-24 | 2020-12-24 | 一种分层树冠识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011543365.0A CN112651937B (zh) | 2020-12-24 | 2020-12-24 | 一种分层树冠识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112651937A CN112651937A (zh) | 2021-04-13 |
CN112651937B true CN112651937B (zh) | 2024-02-20 |
Family
ID=75360024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011543365.0A Active CN112651937B (zh) | 2020-12-24 | 2020-12-24 | 一种分层树冠识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112651937B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591149B1 (en) * | 1999-09-21 | 2003-07-08 | Siemens Aktiengesellschaft | Method for prescribing a ramp by a clock-pulse-controlled quantity |
DE102013021709A1 (de) * | 2013-03-15 | 2014-09-18 | Nvidia Corporation | Schablonieren-dann-abdecken- pfadbilderzeugung mit gemeinsamen kanten |
CN104821013A (zh) * | 2015-05-11 | 2015-08-05 | 武汉大学 | 基于大地坐标系数字高程模型的地表面积提取方法及系统 |
CN110675417A (zh) * | 2019-09-25 | 2020-01-10 | 自然资源部第六地形测量队(自然资源部地下管线勘测工程院、四川省第三测绘工程院) | 一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 |
-
2020
- 2020-12-24 CN CN202011543365.0A patent/CN112651937B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591149B1 (en) * | 1999-09-21 | 2003-07-08 | Siemens Aktiengesellschaft | Method for prescribing a ramp by a clock-pulse-controlled quantity |
DE102013021709A1 (de) * | 2013-03-15 | 2014-09-18 | Nvidia Corporation | Schablonieren-dann-abdecken- pfadbilderzeugung mit gemeinsamen kanten |
CN104821013A (zh) * | 2015-05-11 | 2015-08-05 | 武汉大学 | 基于大地坐标系数字高程模型的地表面积提取方法及系统 |
CN110675417A (zh) * | 2019-09-25 | 2020-01-10 | 自然资源部第六地形测量队(自然资源部地下管线勘测工程院、四川省第三测绘工程院) | 一种结合游程编码与边缘跟踪的栅格数据快速矢量化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112651937A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598823A (zh) | 多源移动测量点云数据空地一体化融合方法、存储介质 | |
CN105118090B (zh) | 一种自适应复杂地形结构的点云滤波方法 | |
CN104463164B (zh) | 一种基于伞骨法与冠高比的树木冠层结构信息提取方法 | |
CN109345619A (zh) | 基于类八叉树编码的海量点云空间管理方法 | |
CN106340061B (zh) | 一种山区点云滤波方法 | |
CN106022259A (zh) | 一种基于激光点云三维特征描述模型的山区道路提取方法 | |
CN103278115B (zh) | 一种基于dem计算淤地坝淤积量的方法及系统 | |
CN113255677B (zh) | 一种岩体结构面及产状信息快速提取方法、设备及介质 | |
CN109299739A (zh) | 基于法向量的曲面拟合对车载激光点云滤波的方法 | |
CN110322497A (zh) | 一种基于三维可视化的交互式点云对象提取方法 | |
CN111291776A (zh) | 基于众源轨迹数据的航道信息提取方法 | |
CN104318611A (zh) | 一种基于激光扫描点云的三维树木重建方法 | |
CN109146990B (zh) | 一种建筑轮廓的计算方法 | |
CN113379919A (zh) | 一种基于无人机rgb相机的植被冠层高度快速提取方法 | |
CN115205690A (zh) | 基于mls点云数据的行道树单体化提取方法及装置 | |
CN112651937B (zh) | 一种分层树冠识别方法 | |
CN105785919B (zh) | 点云五轴无全局干涉刀轴矢量可行域计算方法 | |
Wei et al. | A concentric loop convolutional neural network for manual delineation-level building boundary segmentation from remote-sensing images | |
CN109031235A (zh) | 快速获取雷达基本反射率三维等值线数据的方法 | |
CN114119902A (zh) | 一种基于无人机倾斜三维模型的建筑物提取方法 | |
CN113721254A (zh) | 一种基于道路指纹空间关联矩阵的车辆定位方法 | |
CN113643444A (zh) | 一种基于坡度补偿的渐进加密三角网点云滤波方法 | |
CN110990780B (zh) | 一种基于srtm数据的坡度提取方法 | |
CN112712466A (zh) | 三维点云拼接方法、装置及电子设备 | |
CN111435549B (zh) | 一种前视预测告警地形数据提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |