卷积神经网络GPS坐标转换方法
2019-04-03赵庶旭
崔 方,赵庶旭
(兰州交通大学电子与信息工程学院,甘肃 兰州 730070)
随着GPS技术的发展和应用,越来越多的工程需要利用GPS来进行测量。GPS测量通常采用WGS-84空间直角坐标系统,然而我国的测绘生产普遍采用1954北京坐标系和1980西安坐标系[1],因此,在利用GPS作我国控制测量或工程测量时,为了适应测量的需求,就必须将GPS测量获得的WGS-84坐标转换到地方坐标系中去[2]。在GPS坐标转换问题上,目前的研究成果有多种转换模式,传统的方法是采用坐标投影和七参数相似变换等,然而这些方法计算量大,过于复杂,会有一定的投影误差,精度难以保证[3]。
为了更好地研究GPS坐标转换问题,文献[4]基于人工神经网络所具有的高度非线性的信息处理能力,提出了一种新的坐标转换方法,即设计出一种BP神经网络进行GPS坐标转换;文献[5]提出了一种基于改进BP算法神经网络的GPS坐标转换方法。神经网络方法在GPS高程转换方面有较多研究,并取得了较好的结果[6]。这些研究成果虽然提高了转换精度,但由于其使用的BP神经网络属于浅层模型,在面对巨大且复杂的GPS数据处理时,泛化能力受到限制,不能轻易地进行坐标转换。
深度学习是近年来被提出的一种新的基于无监督特征学习的具有多个特征层次结构的机器学习方法。其主要思想是堆叠多个层,即该层的输出作为下一层的输入。通过采用自下而上地无监督逐层训练来学习特征,再应用由上而下地有监督训练来微调整个网络参数[7]。面对巨大的GPS数据,深度学习架构可以有效地进行特征学习,进而实现其坐标的转换。
本文利用深度学习对非结构化数据处理的优势,提出一种新的基于卷积神经网络(convolutional neural network,CNN)的坐标转换方法,即利用卷积神经网络能够自动提取数据中的特征,根据最小化数据预处理要求的特点来进行GPS坐标转换。试验结果表明,该转换方法与BP神经网络相比取得了更加有效的精度。
1 卷积神经网络模型理论
卷积神经网络模型最初是一种用于识别二维形状的多层感知器,是常用的深度学习模型之一。CNN模型属于层次模型,其典型结构主要包含输入层、卷积层、池化层(又称下采样层)、全连接层及输出层,通过这些层就构建出一个多层次的网络模型[8]。
卷积神经网络又是一种特殊的多层感知器模型,它对几何变换、形变具有一定程度的不变性。它的结构特殊性主要体现在3个方面:①不同层中的各个神经元节点之间的稀疏连接;②同一层中的局部神经元节点之间的权值共享;③池采样,对得到的特征信息进行降维。卷积神经网络通过结合稀疏连接、权值共享、空间或时间上的池采样能够最小化对数据本身包含的局部特征的预处理要求,无监督地从数据中提取出有效特征,有良好的自学习能力和泛化能力[9-10]。
1.1 稀疏连接
在标准BP神经网络的结构中,层与层之间的各个神经元的节点都是相互全连接的。然而在卷积神经网络的结构中,为了有效挖掘出图像中兴趣目标的局部空间关联信息,使得网络各层之间的神经元节点变成稀疏连接的形式[11],CNN利用神经网络中相邻层节点之间的局部空间相关性来表示网络的连接模式,即局部连接(局部感知),连接方式如图1所示。
由图1可以看出,第k层的神经元节点在第k-1层中仅仅与它最为相近的几个神经元节点连接。根据局部特征联系较紧密,而距离较远特征联系较弱的原则,只需对局部信息进行感知,利用更高层将这些局部信息组合起来就可以得到全部信息,这就有效降低了神经网络结构的参数规模[12]。
1.2 权值共享
在CNN模型中,卷积层的每一个卷积滤波器在整个感受野中是重复叠加的,这些重复单元形成了一种特征图(feature map),每一个特征图都可以共享相同的参数,包括相同的权值矩阵和偏置向量,权值共享如图2所示。
由图2可以看出,第k层的特征数据包含了3个神经元节点,第k-1层的神经元节点与第k层神经元节点不同连接线之间的权值参数是共享的。使用改进之后的梯度下降法学习共享的权值参数,即所要学习的共享权值的梯度是所有共享连接参数的梯度之和[13]。权值共享的特点是无需考虑重复单元在感受野外的位置也可以检测到局部特征并进行特征提取,且权值共享可以大大减少CNN模型需要训练的参数数目。
1.3 池采样
目前在卷积神经网络的研究中常用的池化方法是最大池采样(max-pooling)、最小池采样(min-pooling)及平均池采样(average-pooling)方法。本文使用的池化方法是最大池采样方法。池采样是一种非线性的降采样方法,能够使得特征量减少,同时保持特征的局部不变性。
在获取数据的卷积特征后,确定池化区域的大小,通过最大池采样方法计算图像区域的最大特征来获取池化后的卷积特征[14],这样不仅减少了卷积层输出的特征向量,而且避免了过拟合现象。
2 GPS数据的卷积神经网络转换方法
利用卷积神经网络对GPS数据进行建模时,直接将原始GPS数据输入模型中容易造成CNN算法的发散,不能有效找出原始GPS数据中的特征规律。由于CNN应用较成功的是在图像中,因此先将原始GPS数据转化为非结构化图片数据可提升CNN模型的精确度。
GPS数据的卷积神经网络转换方法的基本思想包括3步:首先,建立CNN模型结构;然后,建立CNN学习规则,利用原始样本数据(即大地坐标系统的经度和纬度值)转换的非结构化图片数据作为网络的输入值,对网络进行训练;最后,通过训练好的网络得到输出值(地方坐标系统的平面投影坐标值)。图3给出了使用卷积神经网络进行GPS数据转换的基本结构图。本文方法采用了4层相互交替的卷积层和最大池采样层来进行逐层特征的提取工作,得到的矢量信息特征通过一个全连接的输出层进行识别。在图3所显示的CNN基本结构中,C1i(i=1,2,…,m1)、C1j(j=1,2,…,m2)、…、C1k(k=1,2,…,m(n-1))分别表示卷积层L1,L3,…,Ln-1的卷积核;Input表示输入的GPS坐标数据;Pool表示结构中每个池采样层的采样池;Map表示结构中逐层提取的特征子图;Y表示最终的全连接输出。
本文应用于GPS数据坐标转换的卷积神经网络的训练算法主要包括4个步骤,可以分为两个阶段:
(1) 前向传播阶段分为:
a. 从非结构化图片样本数据集中取出一个样本(X,Yp),将X值作为网络的输入。
b. 计算相对应的实际输出Op,在此过程中,特征信息将从输入层经过之后各层从低到高逐一变换来传送到全连接层,即输出层,该阶段网络中使用的计算表达式为
Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))
(1)
(2) 反向传播阶段分为:
a. 计算经过第一阶段得出的输出值Yp与样本数据集中的实际输出值Op的差。
b. 利用该差值,通过采用随机梯度下降使误差平方和函数值极小化,以此调整权值矩阵。
为了能够更加清晰地阐述本文方法所采用的CNN的训练过程,假设网络的输入层、中间各层和输出层的单元数分别为N、L和M[15]。X=(x0,x1,…,xN)为加到网络的输入矢量,H=(h0,h1,…,hL)为中间层输出矢量,Y=(y0,y1,…,yM)为网络的实际输出矢量,并且用D=(d0,d1,…,dM)表示训练数据集合中各模式的目标输出矢量。输出单元i到隐藏单元j的权值为Vij,而隐藏单元j到输出单元k的权值为Wjk。另外用θk和φj分别表示输出单元和隐藏单元的阈值。中间层各单元的输出为
(2)
输出层各单元的输出为
(3)
其中,f(*)为激励函数,采用S型函数,即
(4)
在以上设置的条件下,本文方法的卷积神经网络的训练过程具体如下:
(1) 选定训练集。从非结构化图片样本数据集中随机选取2000个图片样本作为训练集。
(2) 将以上提到的网络中的各个权值Vij、Wjk和阈值θk、φj设置为相对于0来说较小的随机值,以及初始化精度控制参数ε和学习率α。
(3) 从步骤(1)的训练集中取出X作为网络的输入值,并给定它的目标输出矢量值为D。
(4) 利用式(2)计算中间各层的输出矢量值H,接着利用式(3)计算出该网络学习到的实际输出矢量值Y。
(5) 将步骤(4)中得到的输出矢量值Y中的元素yk与步骤(3)中给定的对应目标矢量值D中的元素dk进行比较,计算得出M个输出误差项
δk=(dk-yk)yk(1-yk)
(5)
对中间各层的隐藏单元也计算得出L个误差项
(6)
(6) 依次计算出网络中各个权值参数的调整量
ΔWjk(n)=(α/(1+L))·(ΔWjk(n-1)+1)·δk·hj
(7)
ΔVij(n)=(α/(1+N))·(ΔVij(n-1)+1)·δk·hj
(8)
阈值参数的调整量为
Δθk(n)=(α/(1+L))·(Δθk(n-1)+1)·δk
(9)
Δφj(n)=(α/(1+L))·(Δφj(n-1)+1)·δj
(10)
(7) 根据各误差项来调整权值参数
Wjk(n+1)=Wjk(n)+ΔWjk(n)
(11)
Vij(n+1)=Vij(n)+ΔVij(n)
(12)
调整阈值参数
θk(n+1)=θk(n)+Δθk(n)
(13)
φj(n+1)=φj(n)+Δφj(n)
(14)
(8) 当下标值k每次经历从1~M后,就会自动判断精度控制参数值是否满足精度的要求:E≤ε,其中E是总误差函数
(15)
如果不满足此要求,就会返回到步骤(3),继续进行迭代过程;如果满足此要求就会进入下一步骤。
(9) 整个网络的训练过程结束,就可认为各个权值已经基本达到稳定状态。在此还可将训练好的各个权值和阈值保存在本地文件中,下一次进行网络训练时,可以直接从本地文件中导出各个权值和阈值进行训练,无需再进行参数的初始化。
根据以上步骤,对应的简单CNN训练过程如图4所示。
3 试验结果与分析
本文利用所研究的卷积神经网络转换方法对山东省淄博市张店区与临淄区域内的GPS坐标数据进行仿真试验,以验证本文方法在研究GPS坐标转换问题上的有效性。
本文选取淄博市内以张店区与临淄区域为中心、经度范围为113.52°E—118.28°E、纬度范围为32.25°N—36.833°N区域内的2000个GPS点作为网络训练样本集,1000个GPS点作为网络测试样本集。网络的部分训练样本见表1。在开始训练网络之前,需要对训练样本集进行预处理,即将样本集的输入和输出数据归一化到[-1,1]。
本试验构造了一个输入为28×28像素的非结构化图片、输出为2个神经元的7层卷积神经网络。网络的输入是将原始GPS点大地坐标系统的经纬度值转化为28×28像素的非结构化数据集,输出是1954北京坐标系的平面坐标。表2给出了CNN的结构参数,包括网络中每一层的特征数、神经元数、卷积核尺寸和池采样尺寸等。
表1 网络的部分训练样本
表2 7层卷积神经网络的结构参数
采用经过预处理方法选取的非结构化图片样本数据集对建立的7层CNN模型进行训练和测试,完成GPS点的坐标转换过程。图5为坐标转换的训练总误差E曲线。从图5可以看出,整个网络的训练在迭代500次时,误差值迅速下降,而在迭代2000次之后是一个平稳的收敛过程。
表3为分别采用传统转换方法、BP神经网络、卷积神经网络进行GPS坐标转换的结果,可以看出本文使用的卷积神经网络方法能够建立坐标转换的复杂模型,具有较高的转换正确率。
表3 几种方法的转换结果比较 (%)
综合以上试验结果分析可以得出以下几个结论:
(1) 卷积神经网络方法可以模拟复杂的非线性变化关系,利用卷积神经网络进行坐标转换完全可行。
(2) 在卷积神经网络训练过程中,整个网络的总体误差曲线是快速且平稳下降的,体现出CNN的特征学习过程具有良好的收敛性。
(3) 根据平均转换正确率的结果,与传统方法及BP神经网络转换方法相比较,卷积神经网络能够达到更深的特征学习,即在GPS数据转换时能够得到更高的正确率,转换效果更好。
4 结 语
本文提出了一种应用卷积神经网络模型的GPS坐标转换方法,将原始GPS坐标数据转化为非结构化图片数据,利用卷积神经网络模型对非结构化图片数据进行特征学习,从而提取出GPS数据的内在特征并进行坐标转换。实测GPS数据验证的结果表明,本文所提出的基于卷积神经网络的GPS坐标转换方法取得了良好的转换效果,预测精度高,是一种有效的GPS坐标转换方法。但由于卷积神经网络的良好表现受限于自身的监督式训练,再加上实际采集到的原始GPS数据中存在着较为严重的背景干扰,导致GPS坐标转换的精度降低。因此,如何降低干扰并设计出更加合理的网络结构以提高网络的通用性和稳健性,是下一步值得研究的内容。