发明名称 一种基于DEM的月表撞击坑自动识别和边界提取方法
摘要 本发明公开了一种基于DEM的月表撞击坑自动识别和边界提取方法,包括以下步骤:步骤一:对月表DEM高程域进行流域分析,进行流域划分生成;步骤二:对DEM高程域进行空间变换,将处理后的月表高程域变为人工地形域,来识别不同尺度的凹陷区域;步骤三:使用邻域扩充算法对凹陷区域进行边缘扩展,得到完整的撞击坑区域;步骤四:使用傅里叶级数拟合撞击坑区域的边界,提取准确的撞击坑形态。解决了由于撞击坑重叠覆盖造成的复杂月表难以全部识别的问题,保证识别结果的完整性;并对撞击坑对象的边界使用傅里叶级数进行拟合,提取出撞击坑的真实形状参数,保证提取结果的准确性。
申请公布号 CN103927543B 申请公布日期 2015.12.09
申请号 CN201410167888.8 申请日期 2014.04.24
申请人 山东大学(威海) 发明人 李勃;凌宗成;张江;武中臣;倪宇恒;孙灵芝;陈剑
分类号 G06K9/54(2006.01)I 主分类号 G06K9/54(2006.01)I
代理机构 济南圣达知识产权代理有限公司 37221 代理人 张勇
主权项 一种基于DEM的月表撞击坑自动识别和边界提取方法,其特征是,包括以下步骤:步骤一:对月表高程域Z的数据进行处理,生成流域F;步骤二:对高程域Z进行空间变换,即使用空间变换理论将处理后的月表高程域Z变为空间尺度为λ的人工地形域L<sub>λ</sub>,依此来识别不同尺度的凹陷;步骤三:使用邻域扩充算法对凹陷进行边缘扩展,得到完整的撞击坑区域;步骤四:使用傅里叶级数拟合撞击坑区域的边界,提取准确的撞击坑形态;所述步骤一的具体过程为:(1‑1),使用高斯滤波对高程域Z进行误差去除,消除DEM噪音点,生成平滑的高程域G;(1‑2),遍历G中每一点p<sub>1</sub>的八邻域,计算其对应八个方向的梯度,最大梯度正方向为水流方向,如果该点是其邻域的最低点,那么水流方向为其本身;(1‑3),归属提取,遍历G中的每一点p<sub>1</sub>,根据其水流方向追踪其流向的下一点,循环追踪直到流向终点即最低点,获取其终点位置;(1‑4),划分流域,根据G中的每一点p<sub>1</sub>对应的终点位置,进行流域划分,具有相同终点的点划分为同一个流域,生成流域F;所述步骤二具体过程为:(2‑1)计算高程域G中每一点<img file="FDA0000780619090000011.GIF" wi="36" he="79" />的λ尺度邻域<img file="FDA0000780619090000012.GIF" wi="44" he="72" />的梯度卷积并赋值给当前点,并保存为空间尺度为λ的地形域图层<img file="FDA0000780619090000013.GIF" wi="145" he="93" />公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>L</mi><mi>&lambda;</mi></msub><mrow><mo>(</mo><mover><mi>X</mi><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><mo>=</mo><mo>&Integral;</mo><msub><mo>&Integral;</mo><mi>G</mi></msub><msup><mi>e</mi><mrow><mo>-</mo><mfrac><mrow><mo>|</mo><mover><mi>X</mi><mo>&RightArrow;</mo></mover><mo>-</mo><mover><msup><mi>X</mi><mo>&prime;</mo></msup><mo>&RightArrow;</mo></mover><msup><mo>|</mo><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>&lambda;</mi><mn>2</mn></msup></mrow></mfrac></mrow></msup><mo>&dtri;</mo><mi>G</mi><mrow><mo>(</mo><mover><msup><mi>X</mi><mo>&prime;</mo></msup><mo>&RightArrow;</mo></mover><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mrow><mover><msup><mi>X</mi><mo>&prime;</mo></msup><mo>&RightArrow;</mo></mover><mo>-</mo><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow><mrow><mo>|</mo><mover><msup><mi>X</mi><mo>&prime;</mo></msup><mo>&RightArrow;</mo></mover><mo>-</mo><mover><mi>X</mi><mo>&RightArrow;</mo></mover><mo>|</mo></mrow></mfrac><mi>d</mi><mover><msup><mi>X</mi><mo>&prime;</mo></msup><mo>&RightArrow;</mo></mover></mrow>]]></math><img file="FDA0000780619090000014.GIF" wi="823" he="173" /></maths>     式1其中λ尺度邻域是以计算点为中心的λ×λ矩形区域;(2‑2)凹陷提取;所述凹陷提取的具体过程为:a.四方向二次求导,对地形域图层<img file="FDA0000780619090000015.GIF" wi="122" he="88" />上的每一点计算其二次导数;b.二值化,遍历<img file="FDA0000780619090000016.GIF" wi="117" he="89" />每一点,如果该点四方向二次求导结果都大于0,则判断这一点为凹陷区域点,根据是否凹陷将G二值化,生成一张标示凹陷区和非凹陷区的图像;c.凹陷计数,使用八邻域种子填充算法,从每个凹陷点开始,查找其周围是否存在凹陷点,并将其归为同一个凹陷区,生成凹陷域D;d.凹陷裁剪;所述凹陷裁剪的具体过程为:将凹陷域D与流域F进行比较,对空间位置不在同一流域的凹陷进行裁剪删除;假设d为D中的一个凹陷,p<sub>2</sub>为d中的一点,其在流域F中属于流域f,f的最低点为p<sub>2</sub>',如果D(p<sub>2</sub>')不等于D(p<sub>2</sub>),则将该点从凹陷中剔除,生成裁剪后的凹陷域TD;所述四方向二次求导,对地形域图层<img file="FDA0000780619090000021.GIF" wi="124" he="92" />上的每一点计算其二次导数的具体过程为:假设地形域中每一点为单位正方形,对地形域图层的点L(i,j)的一次求导公式如下式2所示:<img file="FDA0000780619090000022.GIF" wi="1982" he="849" />式2根据以上公式再对四方向求导,即得到点L(i,j)的四方向二次导数:Dx(Dx(L)),Dy(Dy(L)),Dxy(Dxy(L))和Dyx(Dyx(L));所述步骤三中,包括一个邻域扩展凹陷区域边缘得到撞击坑区域的算法,边缘扩展的算法具体分为四步:Step1,从凹陷每一基点a开始,如果扩展能力a(s)&gt;Ts,其中Ts为设定的扩展能力阈值,则有能力扩展,继续下一步,否则,跳出;Step2,对于基点a八个方向即邻域上的点a<sub>i</sub>,判断a<sub>i</sub>全部满足条件,则a<sub>i</sub>可以作为扩展点a';Step3,找到a点后,对a'点进行扩展参数赋值;Step4,将新增的每个扩展点a'作为新的基点,重复Step 1‑3,直到没有扩展点产生;所述Step2中满足条件的条件包括以下内容:(2‑11)<img file="FDA0000780619090000024.GIF" wi="525" he="60" />(2‑22)扩展高度d(z)&gt;0,保证向高地势即向原凹陷上方扩展;(2‑33)点a<sub>i</sub>与点a连线的向量<img file="FDA0000780619090000023.GIF" wi="71" he="72" />的方向,与a<sub>i</sub>点的梯度方向基本相反,即满足公式:<img file="FDA0000780619090000031.GIF" wi="412" he="113" />两者之间的角度在[138.6,221.4]之间,这样保证a'大约延梯度最高的方向扩展;(2‑44)如果a<sub>i</sub>之前扩展过,即a<sub>i</sub>点可能满足多个凹陷的扩展条件,则保证离当前凹陷基点a的距离更近,即D<sub>is</sub>&gt;a<sub>i</sub>(d),其中D<sub>is</sub>为之前扩展时a<sub>i</sub>与其扩展基点之间的距离;(2‑55)将a<sub>i</sub>赋值给a',即a<sub>i</sub>点可以被选择为扩展点,a'=a<sub>i</sub>;扩展距离:a(d),描述点a和扩展点a'之间的距离,即a(d)=|a'‑a|,同理,a<sub>i</sub>(d)描述a点和其邻域点a<sub>i</sub>之间的距离;扩展高度:d(z),描述点a和a'的地形域高度差,即d(z)=L<sub>λ</sub>(a')‑L<sub>λ</sub>(a);所述Step3中具体过程为:(3‑11)首先对a'的扩展能力a'(s)进行计算,如果其扩展梯度a'(g)较小,即坡度较缓,则降低其扩展能力,如果其扩展梯度大,即沿着陡坡扩展的话,则增大;当a'(g)&lt;0.5*a(g),则a'(s)=a'(s)*a'(g)/a(g);当a'(g)&lt;0.3*Mg,则a'(s)=a'(s)*a'(g)/Mg;当a'(g)&gt;a(g),则a'(s)=1;(3‑22)赋值a'的扩展距离,即扩展点a'与a点之间的距离,D<sub>is</sub>=a(d);(3‑33)比较凹陷中原有最大梯度Mg与新加入的扩展点a'梯度的大小,并将其中的大值赋给Mg,即Mg=Max(Mg,a'(g));扩展梯度:a(g),描述a和a'之间的方向梯度,即a(g)=d(z)/a(d),同理,a<sub>i</sub>(g)描述a与其邻域点a<sub>i</sub>之间的方向梯度;a'(g)描述扩展点a'与a之间的方向梯度;所述Step4中,撞击坑的边界用以<img file="FDA0000780619090000032.GIF" wi="34" he="76" />为中心极点的极坐标形式表示,使用傅里叶级数根据撞击坑对象U范围内的所有点对其边界进行拟合并计算其形状参数,计算公式和参数如下所示:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mover><mi>C</mi><mo>&RightArrow;</mo></mover><mo>=</mo><mfrac><mrow><mo>&Integral;</mo><mrow><mrow><msub><mo>&Integral;</mo><mi>U</mi></msub><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow><mi>d</mi><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow></mrow><mrow><mo>&Integral;</mo><mrow><msub><mo>&Integral;</mo><mi>U</mi></msub><mi>d</mi><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000780619090000033.GIF" wi="261" he="146" /></maths>      式3<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>r</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>r</mi><mn>0</mn></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>A</mi><mi>i</mi></msub><mi>s</mi><mi>i</mi><mi>n</mi><mi>i</mi><mi>&theta;</mi><mo>+</mo><msub><mi>B</mi><mi>i</mi></msub><mi>cos</mi><mi>i</mi><mi>&theta;</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000780619090000034.GIF" wi="838" he="76" /></maths>      式4<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>&pi;r</mi><mn>0</mn><mn>2</mn></msubsup><mo>=</mo><mo>&Integral;</mo><msub><mo>&Integral;</mo><mi>X</mi></msub><mi>d</mi><mover><mi>x</mi><mo>&RightArrow;</mo></mover><mo>;</mo><msub><mi>A</mi><mi>n</mi></msub><mo>=</mo><mfrac><mrow><mo>&Integral;</mo><mrow><msub><mo>&Integral;</mo><mi>X</mi></msub><mi>sin</mi><mi>n</mi><mi>&theta;</mi><mi>d</mi><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow></mrow><mrow><mo>&Integral;</mo><mrow><msub><mo>&Integral;</mo><mi>X</mi></msub><mi>d</mi><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow></mrow></mfrac><mo>;</mo><msub><mi>B</mi><mi>n</mi></msub><mo>=</mo><mfrac><mrow><mo>&Integral;</mo><mrow><msub><mo>&Integral;</mo><mi>X</mi></msub><mi>cos</mi><mi>n</mi><mi>&theta;</mi><mi>d</mi><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow></mrow><mrow><mo>&Integral;</mo><mrow><msub><mo>&Integral;</mo><mi>X</mi></msub><mi>d</mi><mover><mi>X</mi><mo>&RightArrow;</mo></mover></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000780619090000035.GIF" wi="1027" he="147" /></maths>      式5其中,<img file="FDA0000780619090000036.GIF" wi="41" he="80" />为撞击坑中心点位置,<img file="FDA0000780619090000037.GIF" wi="106" he="89" />和<img file="FDA0000780619090000038.GIF" wi="102" he="91" />分别为其中心点的x和y坐标;n为撞击坑对象U中点的个数,U={P<sub>1</sub>P<sub>2</sub>...P<sub>n</sub>},P<sub>i</sub>(y)和P<sub>i</sub>(x)分别为P<sub>i</sub>点的y和x坐标;A<sub>i</sub>和B<sub>i</sub>为傅里叶级数的系数;r<sub>0</sub>为近似边界圆的半径;θ和r(θ)分别为极坐标中的极角和极半径;对于每个U来说,每个像素的默认为单位正方形,其面积即为U中点的个数sum,所以<img file="FDA0000780619090000041.GIF" wi="260" he="136" />每一点P<sub>i</sub>对应的极角<img file="FDA0000780619090000042.GIF" wi="419" he="110" />根据公式(5)可以求出A<sub>i</sub>和B<sub>i</sub>,直到A<sub>n</sub>和B<sub>n</sub>,然后根据公式(4)计算边界上的极径r(θ),对应的边界点坐标为:<img file="FDA0000780619090000043.GIF" wi="681" he="90" />
地址 254209 山东省威海市文化西路180号