摘 要: 通过全球卫星定位系统采集到的车辆定位信息,运用数据采集和图像细化处理的方法,从中提取通向某一位置的比较准确的道路曲线,为数字地图的校准工作提供依据。
关键词: 全球卫星定位系统(GPS) 地理信息系统(GIS) 数字地图
地理信息系统(GIS)所使用的数字地图一般都是通过对原始地图的数字化获得的。通常,原始地图不可能完全精确,而且在对原始地图数字化的过程中也会造成一些误差。因此获得的数字地图往往是不精确的,甚至会产生很大的偏差。而对数字地图的精度校验需要有一个比较精确的地图,本文介绍了通过对GPS车辆监控系统所记录的车辆定位数据的采集和提取,从而生成比较精确的数字地图的方法。车辆的定位数据反映了车辆在不同时刻的精确位置,它是通过对车辆定位信息中经纬度数据的提取得到的[1]。数据记录了一辆或多辆车子在一段时间内的位置信息,通过对数据的处理和转换可以得到一幅比较精确的数字交通地图,为以后数字地图的识别和校正提供了准确的依据。
1 轨迹的数据采集
首先简单介绍GPS车辆监控系统的结构。本实验室研制的GPS车辆监控系统包括一个监控中心站与多个车载台。监控中心站与车载台之间通过无线信道通信[2]。
车载台装配在车辆上,包括GPS接收部分、无线数传控制卡、无线通信设备和报警装置四部分。GPS接收部分包括一块接收卡和一个专用天线。无线数传控制卡通过GPS接收部分收集GPS定位信息,进行压缩、打包、调制后由电台发回监控中心站。无线通信设备包括一个数传电台、天线和通信电源等。
监控中心站面向监控操作人员,包括智能监控平台、无线数传控制卡、无线通信设备三大部分。前二者以串口RS232通信,后者通过电子线路相连。智能监控平台接收无线数传控制卡传来的实时定位信息,进行信息分析、处理、加工,将跟踪目标的行驶轨迹显示在矢量地图上;同时可以接收操作人员的命令,将控制指令传给无线数传控制卡发送出去。无线数传控制卡是一块集成电路板,集成了一片FX469调制解调芯片、一块80C51CPU、RS232串口及若干外围芯片、器件。此卡主要用来接收各车载台发来的信息,以及分发中心站的控制指令。
车辆行驶轨迹的采集是通过提取车载台发回的定位信息将车辆在道路上行驶时的经纬度信息保存下来,生成一个轨迹文件。它以文本的方式保存了经纬度信息,实际上也就记录了车辆行驶的轨迹。
2 地理参数的获得
已知:地图上某一点p(x,y)的地理坐标g(Lon,Lat);地理坐标到地图坐标轴的放大倍数(Lx,Ly);地图显示的正北方位角θ,即地理坐标系相对地图坐标系之间的夹角(逆时针方向为正)θ;地图上的某点p(x0,y0)对应的实际地理经纬度g(Lon0,Lat0)。如图1所示。
实际上当地图的范围较大(例如省内交通公路)时,常取地图正北方位角θ=0°。用以上公式将轨迹文件中地理坐标g(Lon,Lat)转化成地图坐标p(x,y),并以矢量的形式显示在屏幕上,由此可以看到如图2所示的车辆行驶的轨迹图。轨迹既反映了车辆所行驶的路线,又对道路位置进行了精确描绘。
3 区域骨架细化算法对道路曲线的提取
通过对轨迹图的放大显示,可以看到在某些道路上存在二条或多条轨迹曲线。这是因为车辆可能不止一次地行驶在这条路上。由于道路本身具有一定的宽度,因此当车辆行驶在左行线和右行线上时会记录下二条或多条并行的轨迹。
在这样多条并行的轨迹曲线中,无疑曲线的中心线才是道路的精确位置。提取这样的曲线作为轨迹才能保证以后识别和校正的准确性。
笔者采用了区域骨架算法提取轨迹曲线取得了良好效果。具体做法是首先将实际得到的轨迹曲线加粗显示,直到多条曲线合为一条粗线。图3(a)表示的是轨迹曲线的一个局部放大图,转换成位图格式并粗化后得到如图3(b) 的粗线条轨迹。然后采用区域骨架算法对轨迹进行细化,细化后得到的曲线就是所需要的道路曲线。
本文采用了保留轮廓上多重象素的轮廓跟踪法对道路进行细化,基于对轮廓上多重象素特性的分析,发展了利用轮廓跟踪方法寻找骨架的方法。这里采用下述约定:区域中的象素用数值“1”标记,寻找到的轮廓上的象素用数值“2”标记,判别出的轮廓上的多重象素用数值“3”标记。迭代轮廓跟踪算法时,检查轮廓上的象素是否是多重的。如果是,则保留它们作为区域的骨架象素;否则,把标记为“2”的象素删除并标记为“0”,直到区域中再没有标记为“1”的象素为止。下面介绍这一算法的完整判别条件。
作为一个区域的骨架象素,下面条件之一必为真[3]:
(1)它是一个多重象素。
(2)在它前面进行的轮廓跟踪时,它的8-邻域中已经存在有被确定为骨架的象素。
(3)它的二个8-邻域象素能形成一个90°的角度(此条件为可选择性条件)。
此处条件(1)是前面叙述过的;条件(2)是为了满足骨架的连接性而附加的;条件(3)是用于保留区域的拐点信息。
用S代表骨架;Q表示即将被细化的区域的象素集合;B(Q)代表集合Q的轮廓。L(Q)表示B(Q)中的非多重象素; M(Q)代表B(Q)中的多重象素;K(Q)是B(Q)中所有象素的集合,但集合中的每个象素的8-邻域中至少有一个象素存在于S中,或者满足上述可选择条件(3)。细化处理过程如下:
(1)置S=Φ空集合;
(2)寻找B(Q),采用轮廓跟踪算法;
(3)寻找L(Q)和M(Q),采用轮廓跟踪算法;
(4)寻找K(Q);
(5)置S=S+M(Q)+K(Q);
(6)置Q=Q-B(Q);
(7)重复步骤(2)~(6),直到Q为空集。
利用上述思想,对图3(a)所示的车辆轨迹进行处理,并将提取的道路曲线与原始轨迹重叠显示在图3(a)中。图中以小圆点连接的曲线表示提取前的轨迹,中间的曲线是提取后的道路曲线。从图3(a)中可以看出:提取的道路曲线基本上位于多条轨迹曲线的中间位置,比较精确地记录了道路的实际位置。
4 结果与分析
通过对车辆所行驶过的道路轨迹的提取得到了一组比较精确的道路曲线(粗黑色线条),将它以同样的比例显示于数字地图之上即可得到图4。通过对比可以看到:所提取的道路和地图实际道路之间在某些地方存在一定的偏差。
为了在数字交通地图上准确地显示车辆的实际位置,有必要对数字地图的精度进行校正。校正后的数字交通地图见图5。车辆行驶轨迹曲线为数字地图的精度校正工作提供了依据,利用车辆行驶轨迹对矢量地图的线性校正方法参见文献[4]。
参考文献
1 谢晓娟.GPS数据采集系统.微机发展,1997;(2)
2 鲍远律,夏冰,鲍远慧.GPS车辆监控系统开发的关键技术.中国公路交通信息产业,2001;(3)
3 张远鹏,董海,周文灵.计算机图像处理技术基础.北京:北京大学出版社,1996
4 郭杰华,姚振旺,鲍远律等.矢量地图的一种自动校正算法.中国图像图形学报,1995;4(5)