数字道路地图自动拼接方法 【技术领域】
本发明涉及一种数字道路地图自动拼接方法,用于交通设备的自动导航。属于先进制造与自动化领域。
背景技术
数字道路地图在智能交通、车载导航、车辆定位和城市规划等应用中有极其重要的位置。目前数字道路地图的制作有很大一部分是通过对纸面地图扫描,进而用计算机数字化处理以得到数字道路地图。然而,受扫描仪尺寸的限制,采用扫描纸面地图得到数字道路地图就不可避免地涉及到地图的拼接问题。数字道路地图的拼接方法有两种:一是手工拼接,该方法通过操作人员的判断来确定待拼接图的对应位置关系,其拼接质量完全由操作人员的经验控制掌握,人为因素很大,这是主要地误差来源。二是自动拼接,其优点是拼接精度和速度的大量提高。
数字道路地图自动拼接的最关键部分是两幅待拼接图上数字道路之间的拓扑连接关系。因此,两幅待拼接地图的配准和确定它们上面数字道路拓扑连接关系是方案设计的核心。传统的拼接方法是先扫描得到光栅图对光栅图进行拼接,然后再对拼接后的光栅图进行数字道路矢量化处理。这类拼接方法的不利之处在于:由于拼接后的光栅图很大,因此在数字道路矢量化的处理时间、处理速度以及所使用的计算机内存容量上受计算机硬件性能的约束很大,同时也会增加数字道路矢量化算法的空间复杂度和时间复杂度。(R.Kasturi,et.al,“A System for Interpretation of Line Drawings”,IEEE Trans.PAMI,Vol12,No.10,Oct.1990,pp978-992.)
【发明内容】
本发明的目的在于针对现有技术的不足,提出一种新的数字道路地图自动拼接方法,解决拼接精度、速度的问题和对计算机硬件性能的依赖。
为实现这样的目的,本发明的技术方案中,利用二维平面的三点定位技术,通过对数字道路地图中路口中心点的坐标计算得到两个待拼接数字道路地图的坐标变换关系,使用得到的坐标变化关系将待拼接的两幅地图配准到同一坐标系中并计算出它们的重合部分,找出地图中重合的路口矢量对、道路矢量对并确立路口矢量和道路矢量的拓扑关系,将重合的道路拼接为一个新的道路矢量,将重合的道路路口合并为一个新的道路路口矢量,并将新生成的道路矢量和新生成的道路路口矢量添加到新建的数字道路地图中,将非重合的道路矢量和非重合的道路路口矢量直接添加到新建的数字道路地图中,完成数字道路地图的自动拼接。
本发明主要包括以下几个具体步骤:
1.地图的配准。
本发明利用二维平面的三点定位技术,首先在两幅待拼接数字道路地图的重合区域中,选取三对不在同一条直线上的道路的路口,运用最小二乘法计算标准化的道路路口中心坐标,对三对道路路口中心坐标建立方程组,从而将地图的配准问题抽象成在已知平面上求坐标变换的几何模型。解该方程组得到两幅需要拼接的数字道路地图的坐标对应转换关系。根据该坐标转换关系和待拼接图的尺寸按高度将拼接图像分为三部分,自左到右逐行处理,分别读取待拼接地图内容并转换到新的坐标系中同时确定待拼接地图的重合区域。
2.确定需要连接的道路对及它们的拓扑关系。
根据两幅待拼接数字道路地图在同一坐标系统中的位置和它们的重合区域范围,采用广度优先算法沿数字道路网搜索查找出所有位于重合部位的道路路口矢量和道路矢量。根据道路路口矢量的坐标将重合的道路路口矢量配对成需要合并的道路路口矢量对。根据道路矢量的坐标以及该道路矢量的方向角将重合的道路矢量配对成需要拼接的道路对。根据路口矢量所连接的道路矢量确立道路路口矢量和道路矢量的拓扑关系。
3.道路对的拼接。
对于需要拼接的道路对,它的拼接存在以下三种情况:(1)当两条道路完全重合时,将其中的一条道路矢量作为新的道路矢量并将它连接到相应的两个道路路口矢量中,删除另外一条道路矢量;(2)当两条道路部分重合时,删除一条道路上重合的道路段,并将剩余道路段连接到另外一条道路矢量上作为一条新的道路矢量,最后将新生成的道路矢量连接到相应的两个道路路口矢量中;(3)当两条道路完全不重合时,将这两条道路矢量直接连接为一条新的道路矢量,再将连接后的新的道路矢量连接到相应的两个道路路口矢量中。依次对所有道路对做以上拼接直到所有道路对都已经拼接为止。
4.道路路口对的合并。
新建一个道路路口矢量作为合并后的道路路口。对道路路口对所连接的所有道路进行依次判断,如果属于已经合并的道路对则将该道路对对应的新生成的道路矢量添加到该新建的道路路口矢量中;如果不属于已经合并的道路对则将该道路直接添加到该新建的道路路口矢量中。为道路路口矢量中的参数依次赋值。对所有道路路口对做以上合并直到所有道路路口对都已经合并为止。最后将新生成的道路路口矢量和新生成的道路矢量添加到新建的数字道路地图中,完成数字道路地图的自动拼接。
利用本发明的拼接方法实现数字道路地图的拼接,可简化操作步骤,提高拼接精度和速度,降低对计算机硬件系统性能的依赖。
【附图说明】
图1为本发明实施例中待拼接的数字道路地图A。
图2为本发明实施例中待拼接的数字道路地图B。
图3为采用本发明方法拼接后的数字道路地图C。
图1、图2、图3中:a、b、c所标识的圆圈中的道路路口是用于拼接的标志点。
图4为本发明方法中采用的待拼接图像的8种图像相对关系。
其中:Dx表示两副图像x方向上的相对关系,Dy表示两副图像y方向上的相对关系。
图5为本发明实施例中待拼接的两幅图像相对关系。
其中:Wa表示图像A的宽度,Ha表示图像A的高度,Wb表示图像B的宽度,Hb表示图像B的高度,Dx表示两副图像x方向上的相对关系,Dy表示两副图像y方向上的相对关系。
图6为计算道路位置和方向角的示意图。
图6中,a是道路路口中心点,a1、a2、a3分别标识道路路口所连接的三条道路。
图7为道路合并示意图。
图7中,A和B分别表示两条需要合并的道路。a、b、b’、c、c’、d分别标识道路上的点,其中b、b’和c、c’是道路上同一个点分别在两条道路段上的位置。
【具体实施方式】
为了更好地理解本发明的技术方案,以下结合实施例和附图作进一步的详细描述。
1.地图的配准。
图1图2分别为本发明实施例中待拼接的两幅数字道路地图A和B。
本发明利用二维平面的三点定位技术,首先在两幅待拼接数字道路地图的重合区域中,选取三对不在同一条直线上的道路的路口(附图1、2中的a、b、c点),运用最小二乘法计算标准化的道路路口矢量的路口中心坐标,对三对道路路口中心坐标建立方程组,从而将地图的配准问题抽象成在已知平面上求坐标变换的几何模型。解该方程组得到两幅需要拼接的数字道路地图的坐标对应转换关系:
Dx=13Σi=13(x1i-x2i)]]>Dy=13Σi=13(y1i-y2i)]]>(公式1)
分析两幅图像的坐标关系,由两幅图像的大小、位置,其对应关系有8种情况,如附图4所示。根据Dx和Dy的正负号及待拼接图A和图B的尺寸关系,按高度将拼接图像分为仅有图A、既有图A又有图B和仅有图B的三部分,对这三个部分分别自左到右逐行处理(如图5)。设A图左上角为原点(0,0),分以下三步:如果仅有图A部分,即读取图A的部分将其转换到新的坐标系中;如果既有图A又有图B,即y∈(Dy,Ha),则以Dx为界先读取图A的部分将其转换到新的坐标系中,然后读取图B的部分将其转换到新的坐标系中,同时标记该区域为重合区域;如果仅有图B部分,即读取图B的部分并将其转换到新的坐标系中。
循环执行以上三步,直到将两幅待拼接地图全部转换到同一个坐标系中并标记出重合区域。其余七种图像对应关系,也是根据此法进行,只是其所分区间和内容有所变化而已。
2.确定需要连接的道路对及它们的拓扑关系。
根据两幅待拼接数字道路地图在同一坐标系统中的位置和它们的重合区域范围,调用广度优先算法(BFS)沿数字道路网搜索查找出所有位于重合部位的道路路口矢量和道路矢量。根据道路路口矢量的坐标找出附图1中道路路口(a,b,c)在附图2中对应的道路路口(a,b,c),将重合的道路路口矢量配对成需要合并的道路路口矢量对。根据道路矢量的坐标以及该道路矢量的方向角(公式2)找出附图1中道路路口a所连接的每条道路(如附图6中的a1、a2、a3)在附图2中对应的道路,将重合的道路矢量配对成需要合并的道路对。
cosα=V1·V2|V1||V2|]]>V1是a;V2是ai,i=1,2,3;(公式2)
根据路口和道路的连接关系确立道路路口矢量和道路矢量的拓扑关系。
3.道路对的拼接。
对于需要拼接的道路对,它的拼接存在以下三种情况(如附图7):(1)当两条道路完全重合时,即点a、b、b’重合、点c、c’、d重合,将其中的一条道路矢量(abcd)作为新的道路矢量并将它连接到相应的两个道路路口矢量中,删除另外一条道路矢量(b’c’d);(2)当两条道路部分重合时,即点b、b’重合、点c、c’重合,删除一条道路上重合的道路段(b’c’),并将剩余道路段(c’d)连接到另外一条道路矢量(abc)上作为一条新的道路矢量(abcc’d),最后将新生成的道路矢量连接到相应的两个道路路口矢量中;(3)当两条道路完全不重合时,即点a、b、b’、d、c、c’都不重合,将这两条道路矢量直接连接为一条新的道路矢量(a、b、b’、c、c’、d),再将连接后的新的道路矢量连接到相应的两个道路路口矢量中。其基本算法如下:
(1)对道路A,从端点a开始扫描并判断该点是否也在道路B上。
(2)标记第一个既属于道路A也属于道路B的点为b和b’。
(3)对道路B从b’的开始删除直到最后一个既属于道路A也属于道路B的点c’。
(4)连接道路点c和道路点c’。
(5)将拼接后的道路(abcd)添加的对应的道路路口中。
依次对所有道路对做以上拼接直到所有道路对都已经拼接为止。
4.道路路口对的合并。
在附图3中新建道路路口矢量(a,b,c)作为合并后的道路路口。对道路路口对所连接的所有道路(如附图6中的a1、a2、a3)进行依次判断,如果属于已经合并的道路对则将该道路对对应的新生成的道路矢量添加到该新建的道路路口矢量中;如果不属于已经合并的道路对则将该道路直接添加到该新建的道路路口矢量中。对所有道路路口对做以上合并直到所有道路路口对都已经合并为止。最后将新生成的道路路口矢量和新生成的道路矢量添加到新建的数字道路地图中,完成数字道路地图的自动拼接。