发明名称 一种基于自适应分形算法的树木形态模拟方法
摘要 一种基于自适应分形算法的树木形态模拟方法,步骤如下:获取树木形态图像tImage;建立树木形态模型tModel;计算一级分枝枝长Ln;构建IFS分形矩阵Wn;实现三维树木分形<img file="DDA0000451300950000011.GIF" wi="121" he="103" />本发明由于建立了IFS分形的树木形态反馈机制,并且树木形态模型涵盖了林业上经常使用的树木生长模型(包括树高生长模型、冠幅生长模型、冠高生长模型、冠长率模型),同时加入了冠形指数变化模型。因此可以通过这些模型实现对IFS分形矩阵参数的控制,使其分形生长完全适应于表示树木实际生长的模型曲线。以下是IFS分形方法在改进前后对树高、冠幅生长模拟的图形比较。对于各一级枝长的生长、冠长率生长、冠形指数的变化等也具有类似的差异。
申请公布号 CN103679773B 申请公布日期 2017.03.08
申请号 CN201310752559.5 申请日期 2013.12.31
申请人 中国林业科学研究院资源信息研究所 发明人 刘闽;张怀清;鞠洪波;陈永富;蒋娴
分类号 G06T11/00(2006.01)I 主分类号 G06T11/00(2006.01)I
代理机构 北京市商泰律师事务所 11255 代理人 毛燕生
主权项 一种基于自适应分形算法的树木形态模拟方法,其特征在于,所述方法的步骤如下:步骤(1)、获取树木形态图像tImage;步骤(2)、建立树木形态模型tModel;步骤(3)、计算一级分枝枝长Ln;步骤(4)、构建IFS分形矩阵W<sub>n</sub>;步骤(5)、实现三维树木分形<img file="FDA0001150980400000011.GIF" wi="115" he="55" />所述步骤(1)中,获取树木形态图像tImage,获取树木形态图像的目的是为了以树木形态图像为基础来匹配树木形态模型;获取树木形态图像的方法,采用地面三维激光扫描方法获得树木形态图像;所述三维激光扫描方法,即树木图像来自于FARO LS120地面激光扫描系统的点阵数据,由三维点阵处理平台Geomagic12以平行投影方式显示正视图像,通过树高位置坐标和树根位置坐标计算树高;然后进行拉框选择树木对象,并保存树木二维正视图tImage;所述步骤(2)中,建立树木形态模型tModel,即以公式(1)为树木形态模型,编制树木形态图像与树木形态模型曲线的匹配算法,将树木的外形用模型曲线来刻画,其树木的上下冠形分别对应于两个幂函数方程,模型曲线的匹配采用目视匹配的方法,即首先输入树高数值,然后由鼠标选择图像中的树高位置、树根位置、冠高位置、枝下高位置,最后通过调整上冠幅指数、下冠形指数两个参数,使模型曲线适合于树木图像的冠形,此时在模型表示栏得到两个幂函数方程,即描述树木上下冠幅形态的模型;<maths num="0001"><math><![CDATA[<mrow><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>=</mo><mi>H</mi><mo>-</mo><msub><mi>a</mi><mn>1</mn></msub><msup><mover><mi>x</mi><mo>&OverBar;</mo></mover><msub><mi>b</mi><mn>1</mn></msub></msup></mrow>]]></math><img file="FDA0001150980400000021.GIF" wi="672" he="95" /></maths><maths num="0002"><math><![CDATA[<mrow><mover><mi>y</mi><mo>&OverBar;</mo></mover><mo>=</mo><msub><mi>H</mi><mi>b</mi></msub><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><msup><mover><mi>x</mi><mo>&OverBar;</mo></mover><msub><mi>b</mi><mn>2</mn></msub></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0001150980400000022.GIF" wi="923" he="118" /></maths>其中:H为树高;H<sub>b</sub>为枝下高;b<sub>1</sub>为上冠形指数;b<sub>2</sub>为下冠形指数;a<sub>1</sub>,a<sub>2</sub>为与b<sub>1</sub>,b<sub>2</sub>相对应的参数;<img file="FDA0001150980400000023.GIF" wi="486" he="124" />其中H<sub>c</sub>为树冠的高度,C<sub>r</sub>为树木的冠幅;<maths num="0003"><math><![CDATA[<mrow><msub><mi>a</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>H</mi><mi>c</mi></msub><mo>-</mo><msub><mi>H</mi><mi>b</mi></msub></mrow><msup><mrow><mo>(</mo><mn>0.5</mn><msub><mi>C</mi><mi>r</mi></msub><mo>)</mo></mrow><msub><mi>b</mi><mn>2</mn></msub></msup></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0001150980400000024.GIF" wi="446" he="127" /></maths>所述步骤(3)中,所述计算一级分枝枝长Ln,即一级分枝着枝点位置到一级分枝直线与冠形曲线的交点的距离;树木一级分枝的长度Ln与其父枝即树木主干长度的比值是构成IFS分形参数的重要依据,每个一级分枝长度在不同的生长阶段都受到所在生长阶段冠形的限制,以下给出适应于一级分枝着枝点位置即枝下距和分枝仰角的分枝长度计算方法,单轴分枝的一级分枝方程用线性模型表示即认为是直枝,弯枝可用非线性曲线表示;直枝方程表示为y=ax+b,b为分枝的枝下距,坐标为(0,b),a=tg(r),r为分枝仰角,树木冠形曲线由上部冠形曲线<img file="FDA0001150980400000031.GIF" wi="286" he="70" />和下部冠形曲线<img file="FDA0001150980400000032.GIF" wi="318" he="70" />表示,求解一级分枝与冠形曲线的交点,方法是采用割线迭代法,其交点与着枝点位置的距离Ln即为一级分枝的枝长;所述步骤(4)中,构建IFS分形矩阵W<sub>n</sub>,IFS分形矩阵由(2)式表示,其中,s<sub>n</sub>为收缩因子,由于在三个坐标轴方向的收缩比例相同,收缩矩阵退化为收缩因子;其后为以X为轴,顺时针旋转r<sub>n</sub>角,r<sub>n</sub>为分枝仰角,和以Z为轴顺时针旋转a<sub>n</sub>角,产生分枝方位角的旋转矩阵;以及在平面坐标原点,初始树高为h<sub>0</sub>的初始矩阵和一级分枝着枝点位置b<sub>n</sub>矩阵,产生平移矩阵,取s<sub>n</sub>的数值分别为每个一级分枝长度与树高的比值,沿树高方向的生长为仰角r<sub>n</sub>=0的一级分枝的生长,只是着枝点位置为树高,式中n代表不同的一级分枝,二级以上的分枝仍然使用(2)式进行迭代,迭代次数等于该树木的分枝级数,<maths num="0004"><math><![CDATA[<mrow><msub><mi>W</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>E</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>s</mi><mi>n</mi></msub><mo>&times;</mo><mfenced open = "(" close = ")"><mtable><mtr><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>cos</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>sin</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>)</mo></mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&gamma;</mi><mi>n</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mfenced open = "(" close = ")"><mtable><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msub><mi>h</mi><mn>0</mn></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open = "(" close = ")"><mtable><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msub><mi>b</mi><mi>n</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0001150980400000033.GIF" wi="1581" he="199" /></maths>其中:公式(2)中Wn(E)的E为一个点对的集合,对应于每个分枝着枝点位置和枝梢位置的坐标;所述步骤(5)中,实现三维树木分形<img file="FDA0001150980400000034.GIF" wi="118" he="61" />对于静态树木,(2)式给出初始树高为h<sub>0</sub>,一级分枝个数为n,枝下距为b<sub>n</sub>,方位角为a<sub>n</sub>,仰角为r<sub>n</sub>的一次迭代,其中s<sub>n</sub>的数值来源于每个分枝长度与h<sub>0</sub>的比值,取树高方向的分枝仰角r<sub>n</sub>=0,即为第一次迭代<img file="FDA0001150980400000035.GIF" wi="69" he="62" />生成一级分枝,其冠形符合冠形图像tImage和冠形模型曲线,二级分枝由(2)式进行第二次迭代生成,记为<img file="FDA0001150980400000041.GIF" wi="78" he="61" />只是迭代对象为每个一级分枝,由此迭代m次,即树木的总分枝级数,记作<img file="FDA0001150980400000042.GIF" wi="99" he="55" />
地址 100091 北京市海淀区东小府2号