CN106407898A - 一种激光雷达单木分块识别方法 - Google Patents

一种激光雷达单木分块识别方法 Download PDF

Info

Publication number
CN106407898A
CN106407898A CN201610767266.8A CN201610767266A CN106407898A CN 106407898 A CN106407898 A CN 106407898A CN 201610767266 A CN201610767266 A CN 201610767266A CN 106407898 A CN106407898 A CN 106407898A
Authority
CN
China
Prior art keywords
tree crown
pixel
block
current
grid
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.)
Granted
Application number
CN201610767266.8A
Other languages
English (en)
Other versions
CN106407898B (zh
Inventor
刘清旺
李增元
陈尔学
庞勇
李世明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INSTITUTE OF SOURCE INFORMATION CHINESE ACADEMY OF FORESTRY
Original Assignee
INSTITUTE OF SOURCE INFORMATION CHINESE ACADEMY OF FORESTRY
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by INSTITUTE OF SOURCE INFORMATION CHINESE ACADEMY OF FORESTRY filed Critical INSTITUTE OF SOURCE INFORMATION CHINESE ACADEMY OF FORESTRY
Priority to CN201610767266.8A priority Critical patent/CN106407898B/zh
Publication of CN106407898A publication Critical patent/CN106407898A/zh
Application granted granted Critical
Publication of CN106407898B publication Critical patent/CN106407898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/188Vegetation

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种激光雷达单木分块识别方法,包括CHM分块、CHM低值凹陷区平滑、CHM树冠顶点识别和CHM树冠边界识别;该激光雷达单木分块识别方法能够对大数据量激光雷达CHM进行处理,高效识别单木树冠边界,用于单木因子提取和林分因子提取的优点。

Description

一种激光雷达单木分块识别方法
技术领域
本发明涉及一种激光雷达单木分块识别方法。
背景技术
激光雷达能够直接测量地物的三维空间结构,按照一定频率发射激光脉冲,记录来自地面和来自森林冠层的返回信号能量分布或离散点云(回波),发射能量和返回能量具有波形特征,通过波形分解可以得到离散点云。
通过分层分类处理,将离散点云被分为地面点和非地面点,非地面点再分为植被点和非植被点,离散地面点内插生成数字高程模型(DEM)栅格,离散植被点内插生成数字表面模型(DSM)栅格,由DSM减去DEM得到数字冠层模型(CHM)栅格,高空间分辨率的CHM能够精细反映森林冠层上表面的空间分布,用于提取单木特征因子。
通过CHM识别单木的方法分为两类,第一类方法是先通过局部最大值算法识别潜在树冠顶点作为种子点,然后通过多项式拟合树冠主方向边界或区域生长识别树冠边界,这类方法依赖于树冠约束规则;第二类方法是先通过图像分割算法将CHM分割为不同斑块,斑块边界作为树冠边界,然后提取斑块内最大值作为树冠顶点,这类方法容易将树冠之间的空隙分割为树冠的一部分。
单木树冠一般表现为中间高边缘低特征,由于树冠内枝叶分布的非均匀性,树冠上表面存在一些低值凹陷区,这些区域容易造成树冠边缘判别规则提前终止,造成误判树冠边界,需要对树冠边缘内的低值凹陷区进行平滑,常规平滑算法会对全部树冠点进行平滑,使得树冠上较高点的高度变小,树冠上较低点的高度变大,即树冠上表面点之间高度差异整体上变小。为了仅对低值凹陷区进行平滑处理,需要对平滑算法进行约束。
单木树冠顶点一般为局部最大值,由于存在测量误差,并非所有局部最大值均为树冠顶点,需要对局部最大值进行约束。
对于单个树冠,从树冠顶点到树冠边缘,树冠点高度应当连续变化,由于存在低值凹陷区,相邻树冠点高度容易出现急剧变化,导致误判树冠边界,需要对树冠边界判别规则进行约束。
对于成片生长的连续树冠,树冠之间的凹陷区可以看作是树冠边界,由于树冠形状的不规则性,树冠内部的凹陷区可能被误判为树冠边界,需要对树冠边界判别规则进行约束。
对于大区域CHM来说,由于计算机性能限制,需要对CHM进行分块处理,考虑到树冠可能位于不同的块内,需要对块进行缓冲处理,另外,CHM四角块和四边块的缓冲区不同于CHM内部块的缓冲区,需要针对CHM不同位置块进行特殊缓冲处理。
发明内容
本发明要解决的技术问题是克服现有技术中之不足,提供一种实现能够对大数据量激光雷达CHM进行处理,高效识别单木树冠边界,用于单木因子提取和林分因子提取的激光雷达单木分块识别方法。
为解决上述问题,本发明采用如下技术方案:
一种激光雷达单木分块识别方法,包括CHM分块、CHM低值凹陷区平滑、CHM树冠顶点识别和CHM树冠边界识别;
CHM分块:
按照一定的块尺寸和缓冲区尺寸将CHM分为若干个块,在块边界约束范围内识别树冠顶点,在块和缓冲区约束范围内识别树冠边界;
CHM分块约束条件:
a.块尺寸要大于单个树冠范围,分块识别算法内存消耗要小于计算机可用内存;
b.缓冲区要大于单个树冠范围,小于块尺寸;
CHM低值凹陷区平滑:
比较当前像元高度值与8邻域像元高度值,统计大于当前像元高度值的邻域像元个数N,如果N大于等于5,则表示当前像元位于低值凹陷区,需要进行平滑处理,否则不平滑;
CHM平滑约束条件:
a.CHM平滑仅使用树冠上点;
b.CHM树冠点高度高于指定阈值;
CHM树冠顶点识别:
CHM树冠顶点高度大于其它树冠点高度,通过局部最大值算法可以搜索潜在树冠顶点,搜索窗口尺寸采用固定值;
搜索窗口尺寸约束条件:
a.搜索窗口尺寸大于等于最小冠幅;
b.搜索窗口尺寸小于等于树高;
CHM树冠边界识别:
CHM树冠边界是树冠上最外围的点,树冠顶点与树冠边界之间还存在其它树冠点;
判断树冠边界的约束条件:
a.树冠半径小于树高;
b.树冠边界点高度大于指定阈值;
c.树冠边界点高度小于树冠顶点高度;
d.树冠边界点高度与树冠顶点高度之比大于指定阈值;
e.树冠边界点张角小于指定阈值。
进一步的,CHM分块:
若CHM栅格尺寸为XRastSize和YRastSize,块索引为XTileIndex和YTileIndex,块尺寸为XTileSize和YTileSize,缓冲区尺寸为BuffSize,将块和缓冲区合并在一起的区域称为扩展块,针对不同位置的块和扩展块,定义其在栅格中的偏移量和有效尺寸;
对于不同位置的块,其在栅格中的偏移量和有效尺寸定义如下:第一行块中左上角块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=0
XValidSize=XTileSize
YValidSize=YTileSize
第一行块中位于左上角块和右上角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=0
XValidSize=XTileSize
YValidSize=YTileSize
第一行块中右上角块在栅格中偏移量和尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=0
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YTileSize
第一列块中位于左上角块和左下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YTileSize
最后一列块中位于右上角块和右下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YTileSize
最后一行块中左下角块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YRastSize-(YTileIndex*YTileSize)
最后一行块中位于左下角块和右下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YRastSize-(YTileIndex*YTileSize)
最后一行块中右下角块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YRastSize-(YTileIndex*YTileSize)
中间块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YTileSize
对于不同位置的扩展块,其在栅格中的偏移量和有效尺寸定义如下:
第一行块中左上角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=0
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YTileSize+BuffSize
第一行块中位于左上角块和右上角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=0
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YTileSize+BuffSize
第一行块中右上角扩展块在栅格中偏移量和尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=0
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YTileSize+BuffSize
第一列块中位于左上角块和左下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YTileSize+2*BuffSize
最后一列块中位于右上角块和右下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YTileSize+2*BuffSize
最后一行块中左下角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
最后一行块中位于左下角块和右下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
最后一行块中右下角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
中间扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YTileSize+2*BuffSize。
进一步的,CHM树冠顶点识别:
若当前块在栅格中偏移量为XOffset和YOffset,有效尺寸为XValidSize和YValidSize,搜索窗口半径为SearchRadius,针对不同位置的块,定义树冠顶点搜索区域在栅格中的位置;
第一行块中左上角块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=SearchRadius
XSearchEnd=XValidSize
YSearchEnd=YValidSize
第一行块中位于左上角块和右上角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=SearchRadius
XSearchEnd=XValidSize
YSearchEnd=YValidSize
第一行块中右上角块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=SearchRadius
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize
第一列块中位于左上角块和左下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize
最后一列块中位于右上角块和右下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize
最后一行块中左下角块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize-SearchRadius
最后一行块中位于左下角块和右下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize-SearchRadius
最后一行块中右下角块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize-SearehRadius
YSearchEnd=YValidSize-SearchRadius
中间块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize
考虑到树冠尺寸与树高之间的关系,局部最大值算法的约束条件为:
树高应大于指定阈值。
如果当前像元的位置偏移量为i,j,当前像元值记为Vi,j,搜索窗口半径为r,搜索窗口内其它像元记为Vi+k,j+k,如果当前像元高度大于搜索窗口内其它像元高度,则当前像元为潜在树冠顶点。
进一步的,CHM树冠边界识别:
树冠边界点张角定义为树冠边界点相对于树冠边界点投影位置与树冠顶点投影位置之间的张角,若树冠边界点与树冠顶点之间的水平距离为D,树冠边界点高度为H,则树冠边界点张角为D与H之比的反正切角:
若相邻树冠有重叠,判断相邻树冠边界的约束条件为:
按照树高与树冠半径呈比例关系确定重叠树冠点所属树冠;
若树冠1的顶点高度为h1,树冠1的顶点位置为x1和y1,树冠2的顶点高度为h2,树冠2的顶点位置为x2和y2,重叠区树冠点位置为xc和yc,重叠区树冠点与树冠1顶点位置之间的距离为D1,重叠区树冠点与树冠2顶点位置之间的距离为D2,若D1与h1之比小于D2与h2之比,则重叠区树冠点属于树冠1,否则属于树冠2;若D1与h1之比等于D2与h2之比,且h1小于h2,则重叠区树冠点属于树冠1,否则属于树冠2;
根据扩展块创建不相交集森林集合,依次处理每个树冠顶点相关的树冠区域,更新不相交集森林集合;处理完所有树冠区域之后,根据不相交集森林集合对扩展块进行树冠区域编码,每个树冠区域采用唯一编码;依次遍历每个树冠顶点,对于每个树冠边界,按顺时针方向查找树冠边界点,从扩展块编码中矢量化树冠边界;
1)创建不相交集森林集合
不相交集森林集合的元素个数为:XValidSize*YValidSize
不相交集森林集合的每个元素索引等于像元索引,等级(Rank)初始化为0,尺寸(Size)初始化为1,父结点(Parent)初始化为像元索引;
2)识别单个树冠区域
从当前树冠顶点的位置开始向左移动,根据单个树冠约束规则判断左侧像元是否为树冠点,若不是树冠点则终止左侧像元判断,否则根据不相交集森林集合判断左侧像元是否已标记为其它树冠,若已标记为其它树冠,则根据连续树冠约束规则判断左侧像元是属于当前树冠还是其它树冠,若属于其它树冠则终止左侧像元判断,若不属于其它树冠,则在不相交集森林集合中将左侧像元的父结点标记为当前树冠;
若左侧像元属于当前树冠,则继续向左移动,按照单个树冠和连续树冠约束规则,判断下一个左侧像元是否属于当前树冠,若属于当前树冠,则更新不相交集森林集合,直到左侧像元不属于当前树冠,终止向左移动;
从当前树冠顶点的位置开始右侧移动,按照单个树冠和连续树冠约束规则,判别右侧像元是否属于当前树冠,若属于当前树冠,则更新不相交集森林集合,直到右侧像元不属于当前树冠,终止向右移动;
从当前树冠顶点的位置开始向上移动,按照单个树冠和连续树冠约束规则,判断上方像元是否属于当前树冠,若上方像元属于当前树冠,则更新不相交集森林集合;然后从上方像元连续向左侧移动,直至被判断像元不属于当前树冠;然后从上方像元连续向右移动,直至被判断像元不属于当前树冠;当判断完上方像元的左侧像元和右侧像元之后,继续向上移动,判断下一个上方像元,直至判断完上方像元,终止向上移动;
从当前树冠顶点的位置开始向下移动,按照单个树冠和连续树冠约束规则,判断下方像元是否属于当前树冠,若下方像元属于当前树冠,则更新不相交集森林集合;然后从下方像元连续向左侧移动,直至被判断像元不属于当前树冠;然后从下方像元连续向右移动,直至被判断像元不属于当前树冠;当判断完下方像元的左侧像元和右侧像元之后,继续向下移动,判断下一个下方像元,直至判断完下方像元,终止向下移动;
3)识别全部树冠区域
遍历树冠顶点,采用识别单个树冠区域的过程,识别全部树冠区域;
4)扩展块树冠编码
根据不相交集森林集合,查找每个元素的根结点,由根结点对扩展块的每个像元进行编码;
若干不相交集森林集合中元素的尺寸(Size)大于1,则扩展块的对应像元标记为根结点值,否则扩展块的对应像元标记为0;
5)矢量化单个树冠边界
从当前树冠顶点所在像元向上移动,找到最上面的树冠边界像元作为树冠边界矢量化的开始像元,将开始像元左上角坐标保存为树冠边界开始点;
按顺时针方向查找下一个边界点,分为4个方向迭代判别下一个边界点,首先迭代判别右侧像元边界点,自动迭代其它方向像元边界点;
迭代判别右侧像元边界点,将当前像元右上角坐标保存为下一个树冠边界点,如果右侧像元不属于当前树冠,则迭代判别下方像元边界点;如果右侧像元属于当前树冠,则继续判断右侧像元的上方像元是否属于当前树冠,如果右侧像元的上方像元属于当前树冠,则迭代判别右侧像元的上方像元边界点;如果右侧像元的上方像元不属于当前树冠,则迭代判别右侧像元的右侧像元边界点;
迭代判别下方像元边界点,将当前像元右下角坐标保存为下一个树冠边界点,如果下方像元不属于当前树冠,则迭代判别左侧像元边界点;如果下方像元属于当前树冠,则继续判断下方像元的右侧像元是否属于当前树冠,如果下方像元的右侧像元属于当前树冠,则迭代判别下方像元的右侧像元边界点;如果下方像元的右侧像元不属于当前树冠,则迭代判别下方像元的下方像元边界点;
迭代判别左侧像元边界点,将当前像元左下角坐标保存为下一个树冠边界点,如果左侧像元不属于当前树冠,则迭代判别上方像元边界点;如果左侧像元属于当前树冠,则继续判断左侧像元的下方像元是否属于当前树冠,如果左侧像元的下方像元属于当前树冠,则迭代判别左侧像元的下方像元边界点;如果左侧像元的下方像元不属于当前树冠,则迭代判别左侧像元的左侧像元边界点;
迭代判别上方像元边界点,将当前像元左上角坐标保存为下一个树冠边界点,如果上方像元不属于当前树冠,则迭代判别右侧像元边界点;如果上方像元属于当前树冠,则继续判断上方像元的左侧像元是否属于当前树冠,如果上方像元的左侧像元属于当前树冠,则迭代判别上方像元的左侧像元边界点;如果上方像元的左侧像元不属于当前树冠,则迭代判别上方像元的上方像元边界点;
如果当前像元的位置等于开始像元的位置,表示完成单个树冠边界矢量化;
6)矢量化全部树冠边界
遍历树冠顶点,采用矢量化单个树冠边界的过程,矢量化全部树冠边界。
本发明的有益效果为:由于设置有CHM分块、CHM低值凹陷区平滑、CHM树冠顶点识别和CHM树冠边界识别,能够对大数据量激光雷达CHM进行处理,高效识别单木树冠边界,用于单木因子提取和林分因子提取。
附图说明
图1为本发明一种激光雷达单木分块识别装置的结构框图。
具体实施方式
如图1所示,一种激光雷达单木分块识别方法,包括CHM分块、CHM低值凹陷区平滑、CHM树冠顶点识别和CHM树冠边界识别;
CHM分块:
按照一定的块尺寸和缓冲区尺寸将CHM分为若干个块,在块边界约束范围内识别树冠顶点,在块和缓冲区约束范围内识别树冠边界;
CHM分块约束条件:
a.块尺寸要大于单个树冠范围,分块识别算法内存消耗要小于计算机可用内存;
b.缓冲区要大于单个树冠范围,小于块尺寸;
CHM低值凹陷区平滑:
比较当前像元高度值与8邻域像元高度值,统计大于当前像元高度值的邻域像元个数N,如果N大于等于5,则表示当前像元位于低值凹陷区,需要进行平滑处理,否则不平滑:
CHM平滑约束条件:
a.CHM平滑仅使用树冠上点;
b.CHM树冠点高度高于指定阈值;
CHM树冠顶点识别:
CHM树冠顶点高度大于其它树冠点高度,通过局部最大值算法可以搜索潜在树冠顶点,搜索窗口尺寸采用固定值;
搜索窗口尺寸约束条件:
a.搜索窗口尺寸大于等于最小冠幅;
b.搜索窗口尺寸小于等于树高;
CHM树冠边界识别:
CHM树冠边界是树冠上最外围的点,树冠顶点与树冠边界之间还存在其它树冠点;
判断树冠边界的约束条件:
a.树冠半径小于树高;
b.树冠边界点高度大于指定阈值;
c.树冠边界点高度小于树冠顶点高度;
d.树冠边界点高度与树冠顶点高度之比大于指定阈值;
e.树冠边界点张角小于指定阈值。
进一步的,CHM分块:
若CHM栅格尺寸为XRastSize和YRastSize,块索引为XTileIndex和YTileIndex,块尺寸为XTileSize和YTileSize,缓冲区尺寸为BuffSize,将块和缓冲区合并在一起的区域称为扩展块,针对不同位置的块和扩展块,定义其在栅格中的偏移量和有效尺寸;
对于不同位置的块,其在栅格中的偏移量和有效尺寸定义如下:第一行块中左上角块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=0
XValidSize=XTileSize
YValidSize=YTileSize
第一行块中位于左上角块和右上角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=0
XValidSize=XTileSize
YValidSize=YTileSize
第一行块中右上角块在栅格中偏移量和尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=0
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YTileSize
第一列块中位于左上角块和左下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YTileSize
最后一列块中位于右上角块和右下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YTileSize
最后一行块中左下角块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YRastSize-(YTileIndex*YTileSize)
最后一行块中位于左下角块和右下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YRastSize-(YTileIndex*YTileSize)
最后一行块中右下角块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YRastSize-(YTileIndex*YTileSize)
中间块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YTileSize
对于不同位置的扩展块,其在栅格中的偏移量和有效尺寸定义如下:
第一行块中左上角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=0
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YTileSize+BuffSize
第一行块中位于左上角块和右上角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=0
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YTileSize+BuffSize
第一行块中右上角扩展块在栅格中偏移量和尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=0
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YTileSize+BuffSize
第一列块中位于左上角块和左下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YTileSize+2*BuffSize
最后一列块中位于右上角块和右下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YTileSize+2*BuffSize
最后一行块中左下角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
最后一行块中位于左下角块和右下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
最后一行块中右下角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
中间扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YTileSize+2*BuffSize。
进一步的,CHM树冠顶点识别:
若当前块在栅格中偏移量为XOffset和YOffset,有效尺寸为XValidSize和YValidSize,搜索窗口半径为SearchRadius,针对不同位置的块,定义树冠顶点搜索区域在栅格中的位置;
第一行块中左上角块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=SearchRadius
XSearchEnd=XValidSize
YSearchEnd=YValidSize
第一行块中位于左上角块和右上角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=SearchRadius
XSearchEnd=XValidSize
YSearchEnd=YValidSize
第一行块中右上角块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=SearchRadius
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize
第一列块中位于左上角块和左下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize
最后一列块中位于右上角块和右下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize
最后一行块中左下角块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize-SearchRadius
最后一行块中位于左下角块和右下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize-SearchRadius
最后一行块中右下角块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize-SearchRadius
中间块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize
考虑到树冠尺寸与树高之间的关系,局部最大值算法的约束条件为:
树高应大于指定阈值。
如果当前像元的位置偏移量为i,j,当前像元值记为Vi,j,搜索窗口半径为r,搜索窗口内其它像元记为Vi+k,j+k,如果当前像元高度大于搜索窗口内其它像元高度,则当前像元为潜在树冠顶点。
进一步的,CHM树冠边界识别:
树冠边界点张角定义为树冠边界点相对于树冠边界点投影位置与树冠顶点投影位置之间的张角,若树冠边界点与树冠顶点之间的水平距离为D,树冠边界点高度为H,则树冠边界点张角为D与H之比的反正切角:
若相邻树冠有重叠,判断相邻树冠边界的约束条件为:
按照树高与树冠半径呈比例关系确定重叠树冠点所属树冠;
若树冠1的顶点高度为h1,树冠1的顶点位置为x1和y1,树冠2的顶点高度为h2,树冠2的顶点位置为x2和y2,重叠区树冠点位置为xc和yc,重叠区树冠点与树冠1顶点位置之间的距离为D1,重叠区树冠点与树冠2顶点位置之间的距离为D2,若D1与h1之比小于D2与h2之比,则重叠区树冠点属于树冠1,否则属于树冠2;若D1与h1之比等于D2与h2之比,且h1小于h2,则重叠区树冠点属于树冠1,否则属于树冠2;
根据扩展块创建不相交集森林集合,依次处理每个树冠顶点相关的树冠区域,更新不相交集森林集合;处理完所有树冠区域之后,根据不相交集森林集合对扩展块进行树冠区域编码,每个树冠区域采用唯一编码;依次遍历每个树冠顶点,对于每个树冠边界,按顺时针方向查找树冠边界点,从扩展块编码中矢量化树冠边界;
1)创建不相交集森林集合
不相交集森林集合的元素个数为:XValidSize*YValidSize
不相交集森林集合的每个元素索引等于像元索引,等级(Rank)初始化为0,尺寸(Size)初始化为1,父结点(Parent)初始化为像元索引;
2)识别单个树冠区域
从当前树冠顶点的位置开始向左移动,根据单个树冠约束规则判断左侧像元是否为树冠点,若不是树冠点则终止左侧像元判断,否则根据不相交集森林集合判断左侧像元是否已标记为其它树冠,若已标记为其它树冠,则根据连续树冠约束规则判断左侧像元是属于当前树冠还是其它树冠,若属于其它树冠则终止左侧像元判断,若不属于其它树冠,则在不相交集森林集合中将左侧像元的父结点标记为当前树冠;
若左侧像元属于当前树冠,则继续向左移动,按照单个树冠和连续树冠约束规则,判断下一个左侧像元是否属于当前树冠,若属于当前树冠,则更新不相交集森林集合,直到左侧像元不属于当前树冠,终止向左移动;
从当前树冠顶点的位置开始右侧移动,按照单个树冠和连续树冠约束规则,判别右侧像元是否属于当前树冠,若属于当前树冠,则更新不相交集森林集合,直到右侧像元不属于当前树冠,终止向右移动;
从当前树冠顶点的位置开始向上移动,按照单个树冠和连续树冠约束规则,判断上方像元是否属于当前树冠,若上方像元属于当前树冠,则更新不相交集森林集合;然后从上方像元连续向左侧移动,直至被判断像元不属于当前树冠;然后从上方像元连续向右移动,直至被判断像元不属于当前树冠;当判断完上方像元的左侧像元和右侧像元之后,继续向上移动,判断下一个上方像元,直至判断完上方像元,终止向上移动;
从当前树冠顶点的位置开始向下移动,按照单个树冠和连续树冠约束规则,判断下方像元是否属于当前树冠,若下方像元属于当前树冠,则更新不相交集森林集合;然后从下方像元连续向左侧移动,直至被判断像元不属于当前树冠;然后从下方像元连续向右移动,直至被判断像元不属于当前树冠;当判断完下方像元的左侧像元和右侧像元之后,继续向下移动,判断下一个下方像元,直至判断完下方像元,终止向下移动;
3)识别全部树冠区域
遍历树冠顶点,采用识别单个树冠区域的过程,识别全部树冠区域;
4)扩展块树冠编码
根据不相交集森林集合,查找每个元素的根结点,由根结点对扩展块的每个像元进行编码;
若干不相交集森林集合中元素的尺寸(Size)大于1,则扩展块的对应像元标记为根结点值,否则扩展块的对应像元标记为0;
5)矢量化单个树冠边界
从当前树冠顶点所在像元向上移动,找到最上面的树冠边界像元作为树冠边界矢量化的开始像元,将开始像元左上角坐标保存为树冠边界开始点;
按顺时针方向查找下一个边界点,分为4个方向迭代判别下一个边界点,首先迭代判别右侧像元边界点,自动迭代其它方向像元边界点;
迭代判别右侧像元边界点,将当前像元右上角坐标保存为下一个树冠边界点,如果右侧像元不属于当前树冠,则迭代判别下方像元边界点;如果右侧像元属于当前树冠,则继续判断右侧像元的上方像元是否属于当前树冠,如果右侧像元的上方像元属于当前树冠,则迭代判别右侧像元的上方像元边界点;如果右侧像元的上方像元不属于当前树冠,则迭代判别右侧像元的右侧像元边界点;
迭代判别下方像元边界点,将当前像元右下角坐标保存为下一个树冠边界点,如果下方像元不属于当前树冠,则迭代判别左侧像元边界点;如果下方像元属于当前树冠,则继续判断下方像元的右侧像元是否属于当前树冠,如果下方像元的右侧像元属于当前树冠,则迭代判别下方像元的右侧像元边界点;如果下方像元的右侧像元不属于当前树冠,则迭代判别下方像元的下方像元边界点;
迭代判别左侧像元边界点,将当前像元左下角坐标保存为下一个树冠边界点,如果左侧像元不属于当前树冠,则迭代判别上方像元边界点;如果左侧像元属于当前树冠,则继续判断左侧像元的下方像元是否属于当前树冠,如果左侧像元的下方像元属于当前树冠,则迭代判别左侧像元的下方像元边界点;如果左侧像元的下方像元不属于当前树冠,则迭代判别左侧像元的左侧像元边界点;
迭代判别上方像元边界点,将当前像元左上角坐标保存为下一个树冠边界点,如果上方像元不属于当前树冠,则迭代判别右侧像元边界点;如果上方像元属于当前树冠,则继续判断上方像元的左侧像元是否属于当前树冠,如果上方像元的左侧像元属于当前树冠,则迭代判别上方像元的左侧像元边界点;如果上方像元的左侧像元不属于当前树冠,则迭代判别上方像元的上方像元边界点;
如果当前像元的位置等于开始像元的位置,表示完成单个树冠边界矢量化;
6)矢量化全部树冠边界
遍历树冠顶点,采用矢量化单个树冠边界的过程,矢量化全部树冠边界。
本发明的有益效果为:由于设置有CHM分块、CHM低值凹陷区平滑、CHM树冠顶点识别和CHM树冠边界识别,能够对大数据量激光雷达CHM进行处理,高效识别单木树冠边界,用于单木因子提取和林分因子提取。
本发明的有益效果为:本发明的有益效果为:由于设置有CHM分块、CHM低值凹陷区平滑、CHM树冠顶点识别和CHM树冠边界识别,能够对大数据量激光雷达CHM进行处理,高效识别单木树冠边界,用于单木因子提取和林分因子提取。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (4)

1.一种激光雷达单木分块识别方法,其特征在于:包括CHM分块、CHM低值凹陷区平滑、CHM树冠顶点识别和CHM树冠边界识别;
CHM分块:
按照一定的块尺寸和缓冲区尺寸将CHM分为若干个块,在块边界约束范围内识别树冠顶点,在块和缓冲区约束范围内识别树冠边界;
CHM分块约束条件:
a.块尺寸要大于单个树冠范围,分块识别算法内存消耗要小于计算机可用内存;
b.缓冲区要大于单个树冠范围,小于块尺寸;
CHM低值凹陷区平滑:
比较当前像元高度值与8邻域像元高度值,统计大于当前像元高度值的邻域像元个数N,如果N大于等于5,则表示当前像元位于低值凹陷区,需要进行平滑处理,否则不平滑;
CHM平滑约束条件:
a.CHM平滑仅使用树冠上点;
b.CHM树冠点高度高于指定阈值;
CHM树冠顶点识别:
CHM树冠顶点高度大于其它树冠点高度,通过局部最大值算法可以搜索潜在树冠顶点,搜索窗口尺寸采用固定值;
搜索窗口尺寸约束条件:
a.搜索窗口尺寸大于等于最小冠幅;
b.搜索窗口尺寸小于等于树高;
CHM树冠边界识别:
CHM树冠边界是树冠上最外围的点,树冠顶点与树冠边界之间还存在其它树冠点;
判断树冠边界的约束条件:
a.树冠半径小于树高;
b.树冠边界点高度大于指定阈值;
c.树冠边界点高度小于树冠顶点高度;
d.树冠边界点高度与树冠顶点高度之比大于指定阈值;
e.树冠边界点张角小于指定阈值。
2.根据权利要求1所述的激光雷达单木分块识别方法,其特征在于:
CHM分块:
若CHM栅格尺寸为XRastSize和YRastSize,块索引为XTileIndex和YTileIndex,块尺寸为XTileSize和YTileSize,缓冲区尺寸为BuffSize,将块和缓冲区合并在一起的区域称为扩展块,针对不同位置的块和扩展块,定义其在栅格中的偏移量和有效尺寸;
对于不同位置的块,其在栅格中的偏移量和有效尺寸定义如下:第一行块中左上角块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=0
XValidSize=XTileSize
YValidSize=YTileSize
第一行块中位于左上角块和右上角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=0
XValidSize=XTileSize
YValidSize=YTileSize
第一行块中右上角块在栅格中偏移量和尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=0
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YTileSize
第一列块中位于左上角块和左下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YTileSize
最后一列块中位于右上角块和右下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YTileSize
最后一行块中左下角块在栅格中偏移量和有效尺寸为:
XOffset=0
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YRastSize-(YTileIndex*YTileSize)
最后一行块中位于左下角块和右下角块之间的块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YRastSize-(YTileIndex*YTileSize)
最后一行块中右下角块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XRastSize-(XTileIndex*XTileSize)
YValidSize=YRastSize-(YTileIndex*YTileSize)
中间块在栅格中偏移量和有效尺寸为:
XOffset=XTileIndex*XTileSize
YOffset=YTileIndex*YTileSize
XValidSize=XTileSize
YValidSize=YTileSize
对于不同位置的扩展块,其在栅格中的偏移量和有效尺寸定义如下:
第一行块中左上角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=0
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YTileSize+BuffSize
第一行块中位于左上角块和右上角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=0
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YTileSize+BuffSize
第一行块中右上角扩展块在栅格中偏移量和尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=0
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YTileSize+BuffSize
第一列块中位于左上角块和左下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YTileSize+2*BuffSize
最后一列块中位于右上角块和右下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YTileSize+2*BuffSize
最后一行块中左下角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=0
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+BuffSize
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
最后一行块中位于左下角块和右下角块之间的扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
最后一行块中右下角扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XRastSize-(XTileIndex*XTileSize-BuffSize)
YValidSizeEx=YRastSize-(YTileIndex*YTileSize-BuffSize)
中间扩展块在栅格中偏移量和有效尺寸为:
XOffsetEx=XTileIndex*XTileSize-BuffSize
YOffsetEx=YTileIndex*YTileSize-BuffSize
XValidSizeEx=XTileSize+2*BuffSize
YValidSizeEx=YTileSize+2*BuffSize。
3.根据权利要求l所述的激光雷达单木分块识别方法,其特征在于:
CHM树冠顶点识别:
若当前块在栅格中偏移量为XOffset和YOffset,有效尺寸为XValidSize和YValidSize,搜索窗口半径为SearchRadius,针对不同位置的块,定义树冠顶点搜索区域在栅格中的位置;
第一行块中左上角块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=SearchRadius
XSearchEnd=XValidSize
YSearchEnd=YValidSize
第一行块中位于左上角块和右上角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=SearchRadius
XSearchEnd=XValidSize
YSearchEnd=YValidSize
第一行块中右上角块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=SearchRadius
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize
第一列块中位于左上角块和左下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize
最后一列块中位于右上角块和右下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=XOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize
最后一行块中左下角块搜索区域在栅格中的位置为:
XSearchBeg=SearchRadius
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize-SearchRadius
最后一行块中位于左下角块和右下角块之间的块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize-SearchRadius
最后一行块中右下角块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize-SearchRadius
YSearchEnd=YValidSize-SearchRadius
中间块搜索区域在栅格中的位置为:
XSearchBeg=YOffset
YSearchBeg=YOffset
XSearchEnd=XValidSize
YSearchEnd=YValidSize
考虑到树冠尺寸与树高之间的关系,局部最大值算法的约束条件为:
树高应大于指定阈值。
如果当前像元的位置偏移量为i,j,当前像元值记为Vi,j,搜索窗口半径为r,搜索窗口内其它像元记为Vi+k,j+k,如果当前像元高度大于搜索窗口内其它像元高度,则当前像元为潜在树冠顶点。
4.根据权利要求1所述的激光雷达单木分块识别方法,其特征在于:
CHM树冠边界识别:
树冠边界点张角定义为树冠边界点相对于树冠边界点投影位置与树冠顶点投影位置之间的张角,若树冠边界点与树冠顶点之间的水平距离为D,树冠边界点高度为H,则树冠边界点张角为D与H之比的反正切角;
若相邻树冠有重叠,判断相邻树冠边界的约束条件为:
按照树高与树冠半径呈比例关系确定重叠树冠点所属树冠;
若树冠1的顶点高度为h1,树冠1的顶点位置为x1和y1,树冠2的顶点高度为h2,树冠2的顶点位置为x2和y2,重叠区树冠点位置为xc和yc,重叠区树冠点与树冠1顶点位置之间的距离为D1,重叠区树冠点与树冠2顶点位置之间的距离为D2,若D1与h1之比小于D2与h2之比,则重叠区树冠点属于树冠1,否则属于树冠2;若D1与h1之比等于D2与h2之比,且h1小于h2,则重叠区树冠点属于树冠1,否则属于树冠2;
根据扩展块创建不相交集森林集合,依次处理每个树冠顶点相关的树冠区域,更新不相交集森林集合;处理完所有树冠区域之后,根据不相交集森林集合对扩展块进行树冠区域编码,每个树冠区域采用唯一编码;依次遍历每个树冠顶点,对于每个树冠边界,按顺时针方向查找树冠边界点,从扩展块编码中矢量化树冠边界;
1)创建不相交集森林集合
不相交集森林集合的元素个数为:XValidSize*YValidSize
不相交集森林集合的每个元素索引等于像元索引,等级(Rank)初始化为0,尺寸(Size)初始化为1,父结点(Parent)初始化为像元索引;
2)识别单个树冠区域
从当前树冠顶点的位置开始向左移动,根据单个树冠约束规则判断左侧像元是否为树冠点,若不是树冠点则终止左侧像元判断,否则根据不相交集森林集合判断左侧像元是否已标记为其它树冠,若已标记为其它树冠,则根据连续树冠约束规则判断左侧像元是属于当前树冠还是其它树冠,若属于其它树冠则终止左侧像元判断,若不属于其它树冠,则在不相交集森林集合中将左侧像元的父结点标记为当前树冠;
若左侧像元属于当前树冠,则继续向左移动,按照单个树冠和连续树冠约束规则,判断下一个左侧像元是否属于当前树冠,若属于当前树冠,则更新不相交集森林集合,直到左侧像元不属于当前树冠,终止向左移动;
从当前树冠顶点的位置开始右侧移动,按照单个树冠和连续树冠约束规则,判别右侧像元是否属于当前树冠,若属于当前树冠,则更新不相交集森林集合,直到右侧像元不属于当前树冠,终止向右移动;
从当前树冠顶点的位置开始向上移动,按照单个树冠和连续树冠约束规则,判断上方像元是否属于当前树冠,若上方像元属于当前树冠,则更新不相交集森林集合;然后从上方像元连续向左侧移动,直至被判断像元不属于当前树冠;然后从上方像元连续向右移动,直至被判断像元不属于当前树冠;当判断完上方像元的左侧像元和右侧像元之后,继续向上移动,判断下一个上方像元,直至判断完上方像元,终止向上移动;
从当前树冠顶点的位置开始向下移动,按照单个树冠和连续树冠约束规则,判断下方像元是否属于当前树冠,若下方像元属于当前树冠,则更新不相交集森林集合;然后从下方像元连续向左侧移动,直至被判断像元不属于当前树冠;然后从下方像元连续向右移动,直至被判断像元不属于当前树冠;当判断完下方像元的左侧像元和右侧像元之后,继续向下移动,判断下一个下方像元,直至判断完下方像元,终止向下移动;
3)识别全部树冠区域
遍历树冠顶点,采用识别单个树冠区域的过程,识别全部树冠区域;
4)扩展块树冠编码
根据不相交集森林集合,查找每个元素的根结点,由根结点对扩展块的每个像元进行编码;
若干不相交集森林集合中元素的尺寸(Size)大于1,则扩展块的对应像元标记为根结点值,否则扩展块的对应像元标记为0;
5)矢量化单个树冠边界
从当前树冠顶点所在像元向上移动,找到最上面的树冠边界像元作为树冠边界矢量化的开始像元,将开始像元左上角坐标保存为树冠边界开始点;
按顺时针方向查找下一个边界点,分为4个方向迭代判别下一个边界点,首先迭代判别右侧像元边界点,自动迭代其它方向像元边界点;
迭代判别右侧像元边界点,将当前像元右上角坐标保存为下一个树冠边界点,如果右侧像元不属于当前树冠,则迭代判别下方像元边界点;如果右侧像元属于当前树冠,则继续判断右侧像元的上方像元是否属于当前树冠,如果右侧像元的上方像元属于当前树冠,则迭代判别右侧像元的上方像元边界点;如果右侧像元的上方像元不属于当前树冠,则迭代判别右侧像元的右侧像元边界点;
迭代判别下方像元边界点,将当前像元右下角坐标保存为下一个树冠边界点,如果下方像元不属于当前树冠,则迭代判别左侧像元边界点;如果下方像元属于当前树冠,则继续判断下方像元的右侧像元是否属于当前树冠,如果下方像元的右侧像元属于当前树冠,则迭代判别下方像元的右侧像元边界点;如果下方像元的右侧像元不属于当前树冠,则迭代判别下方像元的下方像元边界点;
迭代判别左侧像元边界点,将当前像元左下角坐标保存为下一个树冠边界点,如果左侧像元不属于当前树冠,则迭代判别上方像元边界点;如果左侧像元属于当前树冠,则继续判断左侧像元的下方像元是否属于当前树冠,如果左侧像元的下方像元属于当前树冠,则迭代判别左侧像元的下方像元边界点;如果左侧像元的下方像元不属于当前树冠,则迭代判别左侧像元的左侧像元边界点;
迭代判别上方像元边界点,将当前像元左上角坐标保存为下一个树冠边界点,如果上方像元不属于当前树冠,则迭代判别右侧像元边界点;如果上方像元属于当前树冠,则继续判断上方像元的左侧像元是否属于当前树冠,如果上方像元的左侧像元属于当前树冠,则迭代判别上方像元的左侧像元边界点;如果上方像元的左侧像元不属于当前树冠,则迭代判别上方像元的上方像元边界点;
如果当前像元的位置等于开始像元的位置,表示完成单个树冠边界矢量化;
6)矢量化全部树冠边界
遍历树冠顶点,采用矢量化单个树冠边界的过程,矢量化全部树冠边界。
CN201610767266.8A 2016-08-29 2016-08-29 一种激光雷达单木分块识别方法 Active CN106407898B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610767266.8A CN106407898B (zh) 2016-08-29 2016-08-29 一种激光雷达单木分块识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610767266.8A CN106407898B (zh) 2016-08-29 2016-08-29 一种激光雷达单木分块识别方法

Publications (2)

Publication Number Publication Date
CN106407898A true CN106407898A (zh) 2017-02-15
CN106407898B CN106407898B (zh) 2019-04-16

Family

ID=58004002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610767266.8A Active CN106407898B (zh) 2016-08-29 2016-08-29 一种激光雷达单木分块识别方法

Country Status (1)

Country Link
CN (1) CN106407898B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902686A (zh) * 2019-01-22 2019-06-18 中国科学院植物研究所 一种森林单木参数提取方法
CN110427956A (zh) * 2019-04-18 2019-11-08 中国林业科学研究院资源信息研究所 一种基于谱聚类算法的LiDAR点云数据单木提取方法
CN114743008A (zh) * 2022-06-09 2022-07-12 西南交通大学 一种单株植被点云数据分割方法、装置及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110110562A1 (en) * 2002-05-03 2011-05-12 Image Tree Corp. Remote sensing and probabilistic sampling based forest inventory method
CN103116161A (zh) * 2013-01-25 2013-05-22 北京理工大学 一种基于起伏地形的sar森林二次散射有效路径计算方法
CN104778744A (zh) * 2014-10-25 2015-07-15 中国科学院植物研究所 基于Lidar数据的大规模三维森林可视化场景建立技术
CN105868717A (zh) * 2016-03-29 2016-08-17 南京信息工程大学 一种基于分类的高分辨率遥感图像单木树冠信息提取方法
CN105894501A (zh) * 2016-03-29 2016-08-24 南京信息工程大学 一种高分辨率遥感图像单木探测和树冠描绘方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110110562A1 (en) * 2002-05-03 2011-05-12 Image Tree Corp. Remote sensing and probabilistic sampling based forest inventory method
CN103116161A (zh) * 2013-01-25 2013-05-22 北京理工大学 一种基于起伏地形的sar森林二次散射有效路径计算方法
CN104778744A (zh) * 2014-10-25 2015-07-15 中国科学院植物研究所 基于Lidar数据的大规模三维森林可视化场景建立技术
CN105868717A (zh) * 2016-03-29 2016-08-17 南京信息工程大学 一种基于分类的高分辨率遥感图像单木树冠信息提取方法
CN105894501A (zh) * 2016-03-29 2016-08-24 南京信息工程大学 一种高分辨率遥感图像单木探测和树冠描绘方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902686A (zh) * 2019-01-22 2019-06-18 中国科学院植物研究所 一种森林单木参数提取方法
CN110427956A (zh) * 2019-04-18 2019-11-08 中国林业科学研究院资源信息研究所 一种基于谱聚类算法的LiDAR点云数据单木提取方法
CN114743008A (zh) * 2022-06-09 2022-07-12 西南交通大学 一种单株植被点云数据分割方法、装置及计算机设备
CN114743008B (zh) * 2022-06-09 2022-09-23 西南交通大学 一种单株植被点云数据分割方法、装置及计算机设备

Also Published As

Publication number Publication date
CN106407898B (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
Koch et al. Segmentation of forest to tree objects
CN106815847B (zh) 基于激光雷达点云的树木分割方法及单棵树提取方法
Lin et al. A multi-level morphological active contour algorithm for delineating tree crowns in mountainous forest
CN105469113B (zh) 一种二维视频流中的人体骨骼点追踪方法及系统
CN105335966B (zh) 基于局域同质性指标的多尺度遥感影像分割方法
WO2022067598A1 (en) Method of individual tree crown segmentation from airborne lidar data using novel gaussian filter and energy function minimization
CN112396128B (zh) 一种铁路外部环境风险源样本自动标注方法
CN104361589A (zh) 一种基于尺度间映射的高分辨率遥感影像分割方法
CN104504718B (zh) 高分辨率航空遥感数据自动道路提取方法
CN112241661B (zh) 一种结合机载LiDAR点云数据和航空影像的城市地物精细化分类方法
CN103186904A (zh) 图片轮廓提取方法及装置
CN109191432A (zh) 基于域变换滤波多尺度分解的遥感图像云检测方法
CN105868717B (zh) 一种基于分类的高分辨率遥感图像单木树冠信息提取方法
CN106407898A (zh) 一种激光雷达单木分块识别方法
CN106294705A (zh) 一种批量遥感影像预处理方法
EP3770799A1 (en) A method of identifying topographic features
Cai et al. Study on shadow detection method on high resolution remote sensing image based on HIS space transformation and NDVI index
CN116704333B (zh) 一种基于激光点云数据的单株林木检测方法
CN114283213A (zh) 联合LiDAR点云与光学图像的房屋自适应矢量化方法
CN107527343A (zh) 一种基于图像处理的双孢蘑菇分级方法
CN104318611A (zh) 一种基于激光扫描点云的三维树木重建方法
La et al. Extraction of individual tree crown using hyperspectral image and LiDAR data
CN107992856A (zh) 城市场景下的高分遥感建筑物阴影检测方法
CN107103603A (zh) 一种倾斜测量场景的地物提取方法
Oka et al. Vectorization of contour lines from scanned topographic maps

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
DD01 Delivery of document by public notice

Addressee: Li Zhixiao

Document name: Notice of Qualified Procedures

DD01 Delivery of document by public notice