一种等高线断线连接方法转让专利

申请号 : CN201610339589.7

文献号 : CN106056671B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋建锋王攀峰苗启广权义宁戚玉涛田宽

申请人 : 西安电子科技大学

摘要 :

本发明涉及一种等高线断线连接方法。方法包括获取等高线断线的单像素细化图像、采用GPU算法识别断点和断线连接。本发明的等高线连接算法既考虑了等高线的数学属性,也考虑了等高线的地理属性。改进了基于距离最小与方向差异最小约束的局部连接方法,在搜索匹配断点的过程中,同时考虑断点之间的距离和方向,设置了更加鲁棒的匹配规则。该方法正确率较高,更加精确地将等高线复原。

权利要求 :

1.一种等高线断线连接方法,其特征在于,方法包括:(1)获取等高线断线的单像素细化图像,设单像素细化图像中任意像素点P0的坐标为(i,j),i取正整数,j取正整数,对于任一非P0像素点Pr,Pr的坐标为(x,y),x取正整数,y取正整数;

如果x

如果x=i且y

如果x>i且y

如果x>i且y=j,记Pr相对P0所在方向为方向3;

如果x>i且y>j,记Pr相对P0所在方向为方向4;

如果x=i且y>j,记Pr相对P0所在方向为方向5;

如果xj,则记Pr相对P0所在方向为方向6;

如果x

其中,方向0与方向4互为彼此的相反方向,方向2与方向6互为彼此的相反方向,方向0与方向2互为彼此的抛物线方向,方向2与方向4互为彼此的抛物线方向,方向4与方向6互为彼此的相反方向,方向6与方向0互为彼此的相反方向;

(2)采用GPU算法识别断点

利用CUDA线程模型将多个GPU线程与单像素细化图像上的像素点一对一映射,每个GPU线程执行以下步骤:(2.1)检测初始断点

对于当前线程映射的像素点,如果该像素点满足式(1)条件,则该像素点为初始断点:V0为当前线程对应的像素点的像素值,V1、V2、V3、V4、V5、V6、V7和V8分别为像素点V0的八邻域像素点的像素值;

(2.2)断点匹配

(a)以步骤(2.1)中检测到的初始断点P1为中心,在窗口大小W区域内搜索满足式(1)所示条件的断点,将搜索到的断点加入候选集S中,所述的窗口大小W满足:10>W>5,且W取正整数;

(b)删除点集S中的部分断点,得到点集S',点集S'中的各断点的方向与初始断点P1的方向互为相反方向或与初始断点P1的方向互为抛物线方向;

所述断点的方向定义为:对于候选集S中的任意断点,沿该任意断点所在等高线回溯多个像素点至某一回溯像素点,相对于该回溯像素点,该任意断点位于方向0、方向1、方向2、方向3、方向4、方向5、方向6或方向7,该任意断点相对于该回溯像素点所在方向为该任意断点的方向;

(c)删除点集S'中与初始断点P1的欧式距离Ds超过距离阈值δ1的断点,其中,10>δ1>8,删除点集S'中满足式(3)的断点Pa,Pa∈S',得到点集S”;

max{θ(Pa,La)-θ(Pa,P1)|,|θ(P1,L1)-θ(Pa,P1)|}<δ2    (3)式(3)中:

La为断点Pa所在等高线,

L1为初始断点P1所在等高线,

θ(Pa,P1)为断点Pa与初始断点P1两点所在直线相对于横坐标的倾斜角度,

20°>δ2>0°,

θ(P1,L1)为等高线L1相对于横坐标的倾斜角, m=2,

3,...,k1,初始断点P1沿等高线L1回溯m-1个像素点至像素点Pm,10>k1>5,k1取正整数;

θ(Pa,La)为等高线La相对于横坐标的倾斜角, n=2,

3,...,k2,断点Pa沿等高线La回溯n-1个像素点至像素点Pn,10>k2>5,k2为正整数;

(d)求取点集S”中每一候选断点与初始断点P1的度量函数,其中最小度量函数值对应的候选断点为初始断点P1的最优选择点;其中:断点P1,Pb的度量函数定义为:式(4)中:θ(P1,L1)为等高线L1相对于横坐标的倾斜角度,θ(Pb,Lb)为等高线Lb相对于横坐标的倾斜角度,θ(P1,Pb)为断点Pb与初始断点P1两点所在直线相对于横坐标的倾斜角度,φ1和φ2分别为角度权值和距离权值,φ1+φ2=1,φ1和φ2均为正实数,Ds(P1,Pb)为断点P1和Pb之间的欧式距离;

(3)断线连接

待所有线程执行完成后,逐个连接初始断点与其最优选择点,如某一初始断点与最优选择点之间的连线与已有等高线存在交叉点,则删除该最优选择点与初始断点。

2.如权利要求1所述的等高线断线连接方法,其特征在于,步骤(2.1)中对于当前线程映射的像素点,如果该像素点满足式(2)条件,则该像素点为交叉点:V0为当前线程对应的像素点的像素值,V1、V2、V3、V4、V5、V6、V7和V8分别为像素点V0的八邻域像素点的像素值。

3.如权利要求1所述的等高线断线连接方法,其特征在于,步骤(2.2)所述断点的方向定义为:对于候选集S中的任意断点,沿该任意断点所在等高线进行回溯至少十个像素点至某一回溯像素点,相对于该回溯像素点,该任意断点位于方向0、方向1、方向2、方向3、方向

4、方向5、方向6或方向7,该任意断点相对于该回溯像素点所在方向为该任意断点的方向。

说明书 :

一种等高线断线连接方法

技术领域

[0001] 本发明属于测绘地理信息提取技术领域,具体涉及一种等高线连接方法。

背景技术

[0002] 等高线是地形图上高程相等的相邻各点所连成的闭合曲线,一般而言,等高线之间互不相交。但在对彩色地形图颜色分割的预处理中,在去背景和颜色分割过程中,由于存在颜色混淆和线要素压盖等情形会造成等高线的断裂。具体原因有三种:
[0003] 第一,扫描的彩色地形图信息不完整,丢失了部分等高线像素,使得分割前的地形图存在断裂,进而影响等高线分割效果。这种断裂具有很大的随机性。这导致像素颜色分布不均匀,使得等高线上的某些像元颜色更接近区域特征的颜色,从而被误分割到背景层中,造成了等高线断裂,断裂缝隙有可能较大。
[0004] 第二,颜色分割主要利用的是像素的颜色信息,当等高线与其他地形标识符重合或者交叉时,等高线的颜色信息被覆盖,导致等高线被分割到不同的分版图层中,如黑色方里网的压盖会造成等高线垂直或水平方向的断裂。
[0005] 第三,地形图上还存在一些助曲线,即辅助等高线,在图上是以短虚线描绘的。
[0006] 当前大部分等高线断线连接算法无法解决实际地形图矢量化应用中的性能和正确率要求。
[0007] 罗以宁等人提出一种基于最小点对法的金相图像分析中的断点连接方法,在通常情况下,金相图象中的晶粒边界近似为封闭的折线,因此,对图象中的每一个断点,找出与其距离最近的断点并与之相连,该方法的优点是最后得到的边界不易变形,但缺点是容易误连断点。
[0008] J Du等人对稀疏等高线区域的断点采用常规最小点对法进行连接,其他区域通过选定一条与断点邻近的参考曲线,要求匹配的断点必须满足在该曲线同侧才可以连接。参考曲线的限制很好地提高了等高线断点连接的正确率,但是在等高线密集的区域该方法的误连率较高,且耗时较多。
[0009] Gul S在距离方向准则的基础上,设定一搜索窗口,计算窗口内所有断点的方向,并且沿着断点的方向延长曲线,如果延长线相交则将这两个断点作为匹配点对.这种方法可以减少断点的错连现象,但如果两个断点所在线几乎平行则可能无法相交,从而不能判定这种情况的断点对.尽管这些改进算法一定程度减少了断点的错连率,但是对于近似平行的等高线间容易错连,高线断裂过大处无法正确连接。
[0010] 李晓清等人结合了距离最小与方向差异最小约束的局部连接方法,在搜索匹配断点的过程中,同时考虑断点之间的距离和方向,如果断点之间的距离最小且方向差异最小则连接断点。该方法正确率较高,但计算复杂度较高。

发明内容

[0011] 针对现有技术的缺陷或不足,本发明的目的在于提供一种等高线连接方法。
[0012] 本发明提供的等高线断线连接方法包括:
[0013] (1)获取等高线断线的单像素细化图像,设单像素细化图像中任意像素点P0的坐标为(i,j),i取正整数,j取正整数,对于任一非P0像素点Pr,Pr的坐标为(x,y),x取正整数,y取正整数;
[0014] 如果x
[0015] 如果x=i且y
[0016] 如果x>i且y
[0017] 如果x>i且y=j,记Pr相对P0所在方向为方向3;
[0018] 如果x>i且y>j,记Pr相对P0所在方向为方向4;
[0019] 如果x=i且y>j,记Pr相对P0所在方向为方向5;
[0020] 如果xj,则记Pr相对P0所在方向为方向6;
[0021] 如果x
[0022] 其中,方向0与方向4互为彼此的相反方向,方向2与方向6互为彼此的相反方向,方向0与方向2互为彼此的抛物线方向,方向2与方向4互为彼此的抛物线方向,方向4与方向6互为彼此的相反方向,方向6与方向0互为彼此的相反方向;
[0023] (2)采用GPU算法识别断点
[0024] 利用CUDA线程模型将多个GPU线程与单像素细化图像上的像素点一对一映射,每个GPU线程执行以下步骤:
[0025] (2.1)检测初始断点
[0026] 对于当前线程映射的像素点,如果该像素点满足式(1)条件,则该像素点为初始断点:
[0027]
[0028] V0为当前线程对应的像素点的像素值,V1、V2、V3、V4、V5、V6、V7和V8分别为像素点V0的八领域像素点的像素值;
[0029] (2.2)断点匹配
[0030] (a)以步骤(2.1)中检测到的初始断点P1为中心,在窗口大小W区域内搜索满足式(1)所示条件的断点,将搜索到的断点加入候选集S中,所述的窗口大小W满足:10>W>5,且W取正整数;
[0031] (b)删除点集S中的部分断点,得到点集S',点集S'中的各断点的方向与初始断点P1的方向互为相反方向或与初始断点P1的方向互为抛物线方向;
[0032] 所述断点的方向定义为:对于候选集S中的任意断点,沿该任意断点所在等高线回溯多个像素点至某一回溯像素点,相对于该回溯像素点,该任意断点位于方向0、方向1、方向2、方向3、方向4、方向5、方向6或方向7,该任意断点相对于该回溯像素点所在方向为该任意断点的方向;
[0033] (c)删除点集S'中与初始断点P1的欧式距离Ds超过距离阈值δ1的断点,其中,10>δ1>8,删除点集S'中满足式(3)的断点Pa,Pa∈S',得到点集S”;
[0034] max{|θ(Pa,La)-θ(Pa,P1)|,|θ(P1,L1)-θ(Pa,P1)|}<δ2  (3)
[0035] 式(3)中:
[0036] La为断点Pa所在等高线,
[0037] L1为初始断点P1所在等高线,
[0038] θ(Pa,P1)为断点Pa与初始断点P1两点所在直线相对于横坐标的倾斜角度,[0039]
[0040] θ(P1,L1)为等高线L1相对于横坐标的倾斜角, m=2,3,...,k1,初始断点P1沿等高线L1回溯m-1个像素点至像素点Pm,10>k1>5,k1取正整数;
[0041] θ(Pa,La)为等高线La相对于横坐标的倾斜角, n=2,3,...,k2,断点Pa沿等高线La回溯n-1个像素点至像素点Pn,10>k2>5,k2为正整数;
[0042] (d)求取点集S”中每一候选断点与初始断点P1的度量函数,其中最小度量函数值对应的候选断点为初始断点P1的最优选择点;其中:断点P1,Pb的度量函数定义为:
[0043]
[0044] 式(4)中:θ(P1,L1)为等高线L1相对于横坐标的倾斜角度,θ(Pb,Lb)为等高线Lb相对于横坐标的倾斜角度,θ(P1,Pb)为断点Pb与初始断点P1两点所在直线相对于横坐标的倾斜角度,φ1+φ2=1,φ1和φ2均为正实数,Ds(P1,Pb)为断点P1和Pb之间的欧式距离;
[0045] (3)断线连接
[0046] 待所有线程执行完成后,逐个连接初始断点与其最优选择点,如某一初始断点与最优选择点之间的连线与已有等高线存在交叉点,则删除该最优选择点与初始断点。
[0047] 进一步,步骤(2.1)中对于当前线程映射的像素点,如果该像素点满足式(2)条件,则该像素点为交叉点:
[0048]
[0049] V0为当前线程对应的像素点的像素值,V1、V2、V3、V4、V5、V6、V7和V8分别为像素点V0的八领域像素点的像素值。
[0050] 进一步,步骤(2.2)所述断点的方向定义为:对于候选集S中的任意断点,沿该任意断点所在等高线进行回溯至少十个像素点至某一回溯像素点,相对于该回溯像素点,该任意断点位于方向0、方向1、方向2、方向3、方向4、方向5、方向6或方向7,该任意断点相对于该回溯像素点所在方向为该任意断点的方向。
[0051] 与现有技术相比,本发明具有以下优点:
[0052] 第一,本发明提出的等高线连接算法既考虑了等高线的数学属性,也考虑了等高线的地理属性。改进了基于距离最小与方向差异最小约束的局部连接方法,在搜索匹配断点的过程中,同时考虑断点之间的距离和方向,设置了更加鲁棒的匹配规则。该方法正确率较高,更加精确地将等高线复原。
[0053] 第二,本发明在进行等高线断裂复原时,利用GPU显卡,结合并行编程的方式将断线连接算法优化,使得算法在保持高准确率的同时,提升了算法的实时性。相比原始算法,算法加速一千倍以上,满足了彩色地形图矢量化应用的需要。
[0054] 第三,本发明应用于颜色分割后的棕版等高线层断裂重构处理,能够有效去除由颜色分割带来的等高线断裂以及方里网压盖导致等高线缺失现象,并能很好的复原出地形图中丢失的等高线信息。

附图说明

[0055] 图1为相对中心像素点的八个方向;
[0056] 图2为任意像素点的八邻域像素;
[0057] 图3为仿真实验结果。

具体实施方式

[0058] 等高线是地形图上高程相等的相邻各点所连成的闭合曲线,一般而言,等高线之间互不相交。但在对彩色地形图颜色分割的预处理中,在去背景和颜色分割过程中,由于存在颜色混淆和线要素压盖等情形会造成等高线的断裂。具体原因有三种:第一,扫描的彩色地形图信息不完整,丢失了部分等高线像素,使得分割前的地形图存在断裂,进而影响等高线分割效果。这种断裂具有很大的随机性。这导致像素颜色分布不均匀,使得等高线上的某些像元颜色更接近区域特征的颜色,从而被误分割到背景层中,造成了等高线断裂,断裂缝隙有可能较大。第二,颜色分割主要利用的是像素的颜色信息,当等高线与其他地形标识符重合或者交叉时,等高线的颜色信息被覆盖,导致等高线被分割到不同的分版图层中,如黑色方里网的压盖会造成等高线垂直或水平方向的断裂。第三,地形图上还存在一些助曲线,即辅助等高线,在图上是以短虚线描绘的。
[0059] 对去背景之后的彩色地形图进行颜色分割,得到棕版的等高线分层图。在等高线断裂连接之前,还需要对棕版等高线图像进行前期处理,主要包括滤波去噪、二值化、细化和去直角等操作,最终得到单像元宽的断裂的等高线细化图像,本发明的方法用以实现等高线断线的连接,下面结合附图对本发明的技术方案做进一步解释说明。
[0060] 步骤1,获取等高线断线的单像素细化图像
[0061] 参照图1,设单像素细化图像中任意初始像素点P0的坐标为(i,j),i取正整数,j取正整数,对于任一非P0像素点Pr,Pr的坐标为(x,y),x取正整数,y取正整数;
[0062] 如果x
[0063] 如果x=i且y
[0064] 如果x>i且y
[0065] 如果x>i且y=j,记Pr相对P0所在方向为方向3;
[0066] 如果x>i且y>j,记Pr相对P0所在方向为方向4;
[0067] 如果x=i且y>j,记Pr相对P0所在方向为方向5;
[0068] 如果xj,记Pr相对P0所在方向为方向6;
[0069] 如果x
[0070] 其中,方向0与方向4互为彼此的相反方向,方向2与方向6互为彼此的相反方向,方向0与方向2互为彼此的抛物线方向,方向2与方向4互为彼此的抛物线方向,方向4与方向6互为彼此的相反方向,方向6与方向0互为彼此的相反方向;
[0071] 步骤2,采用GPU算法检测并匹配断点
[0072] 利用CUDA线程模型将多个GPU线程与单像素细化图像上的像素点一对一映射,每个GPU线程执行以下步骤:
[0073] 2a)检测初始断点
[0074] 参照图2,对于当前线程对应的像素点,如果该像素点满足式(1)条件,则该像素点为初始断点,如果该像素点满足式(2)条件,则该像素点为交叉点:
[0075]
[0076]
[0077] V0为当前线程对应的像素点的像素值,V1、V2、V3、V4、V5、V6、V7和V8分别为像素点V0的8邻域像素点的像素值;
[0078] 2b)断点匹配
[0079] (1)以步骤2a)中检测到的初始断点P1为中心,在窗口大小W区域内搜索其他断点,每个断点均满足式(1)所示条件,将搜索到的断点加入候选集S中,所述的窗口大小W满足:10>W>5,且W取正整数,该实施例中W取8;
[0080] (2)删除点集S中的部分断点,得到点集S',点集S'中的各断点的方向与初始断点P1的方向互为相反方向或与初始断点P1的方向互为抛物线方向;
[0081] 对于候选集S中的任意断点,沿该任意断点所在等高线进行回溯至少十个像素点至某一回溯像素点,相对于该回溯像素点,任意断点位于方向0、方向1、方向2、方向3、方向4、方向5、方向6或方向7,该任意断点所在方向为该任意断点的方向;
[0082] (3)删除点集S'中与初始断点P1的欧式距离Ds超过距离阈值δ1的断点,其中,10>δ1>8,Pa∈S',20°>δ2>0°;删除点集S'中满足式(3)的断点Pa,得到点集S”;该实施例中δ1为8.5,δ2为18°。
[0083] max{|θ(Pa,La)-θ(Pa,P1)|,|θ(P1,L1)-θ(Pa,P1)|}<δ2  (3)
[0084] 式(3)中,La为断点Pa所在等高线,L1为初始断点P1所在等高线,θ(Pa,P1)为断点Pa与初始断点P1两点所在直线相对于横坐标的倾斜角度,
[0085]
[0086] θ(P1,L1)为等高线L1相对于横坐标的倾斜角, m=2,3,...,k1,初始断点P1沿等高线L1回溯m-1个像素点至像素点Pm,10>k1>5,k1取正整数;
[0087] θ(Pa,La)为等高线La相对于横坐标的倾斜角, n=2,3,...,k2,断点Pa沿等高线La回溯n-1个像素点至像素点Pn,10>k2>5,k2为正整数;
[0088] (4)求取点集S”中每一候选断点与初始断点P1的度量函数,其中最小度量函数值对应的候选断点为断点P1的最优选择点;任意两个断点P1,Pb的度量函数定义为:
[0089] φ(P1,Pb)=max{|θ(P1,L1)-θ(P1,Pb)|,|θ(Pb,Lb)-θ(P1,Pb)}×φ1+Ds(P1,Pb)×φ2[0090] 其中,θ(P1,L1)为等高线L1相对于横坐标的倾斜角度,θ(Pb,Lb)为等高线Lb相对于横坐标的倾斜角度,求取方法参考θ(P1,L1),θ(P1,Pb)为断点Pb与初始断点P1两点所在直线相对于横坐标的倾斜角度;φ1和φ2分别为角度权值和距离权值,且满足:φ1+φ2=1,φ1和φ2均为正实数,Ds(P1,Pb)为断点P1和Pb之间的欧式距离;该实施例中φ1为0.45,φ2为0.55。
[0091] 步骤3,断线连接
[0092] 待所有线程执行完成后,逐个连接初始断点与其最优选择点,如某一初始断点与最优选择点之间的连线与已有等高线存在交叉点,则删除该最优选择点
[0093] 与初始断点,最终保留的连线为等高线。
[0094] 按照上述实施例对样本进行仿真连接,仿真样本为6600x8000的地形等高线细化图像,在OpenCV 2.4.9以及CUDA C编程环境下实现的对不同型号的显卡的连接效果进行了对比。图3为等高线断线连接标记图,图中粗线条部分标记了等高线的连接区域。从仿真结果可以观察到,大多数的等高线断裂可以恢复,错误连接的情况较少。同时,由于GPU显卡的加速,算法的实时性得到了充分体现。不同显卡等高线连接效果对比如下表1所示。
[0095] 表1不同显卡等高线连接效果对比
[0096]
[0097] 从表中可以看到,采用常见的NVIDIA GEFORCE GTX 760显卡对6600x8000地形图进行等高线断线连接,用时约5秒,加速约816倍,采用主流的计算型显卡NVIDIA Tesla K40,基于GPU加速的等高线断线连接算法加速1360倍,同时算法保持了与CPU一致且稳定的连接率,连接率为已连接断点数与连接前的断点数之比。