魏湧明
(空军航空大学航空航天情报系长春130022)
基于卷积神经网络的航拍图像定位研究
魏湧明
(空军航空大学航空航天情报系长春130022)
论文采用迁移学习的思想,通过制作研究区域内带有地理标记的图像做为数据集来微调Caffenet,使其适应航拍图像分类任务。然后利用训练好的卷积神经网络识别无人机获取的航拍图像,从而确定航拍图像中心和飞机的经纬度,实现图像定位。在网络的训练过程中通过反复实验调参,得到了最优的识别结果,并且在高分辨率地景的skyline环境下进行飞行仿真,验证了卷积神经网络识别的准确率和进行图像定位的可行性。
迁移学习;卷积神经网络;图像分类;图像定位
Class NumberTP391.41
近年来,深度学习凭借其惊人的效果在很多领域取得了突破性进展[1]。其中卷积神经网络(Convolutional Neural Networks,CNN)因其在学习图像高层次特征上的优势,被广泛地应用到图像分类、目标检测、人脸识别等[2]与图像相关的各类任务中。2014年Jianxiong Xiao等提出,Over-feat[3]作为一个在ImageNet[4]图像上训练的CNN,其性能优于其他方法,包括GIST、SIFT、HOG和LBP。证明了CNN在场景分类任务中取得了突破。这也是推动研究者使用CNN进行图像地理定位研究的重要原因。2015年,Workman S[5]等发表的论文中,成功地利用深度神经网络来处理交叉视角下的图像定位问题。2016年,Weyand T[6]等将定位问题看作一种图像分类问题,把地球表面划分为成千上万个不同尺度的地理单元,并且使用数百万带有地理标记的图像来训练卷积神经网络。
从上述研究中可以看出CNN在提取大尺度空间图像特征上的优势。因此,我们希望利用CNN,进行航拍图像定位的相关研究。本文将以Weyand T[6]等的思路来研究航拍图像定位,将图像定位问题转化为一种图像分类问题,制作研究区域内带有地理标记的图像做为数据集来训练网络,然后利用训练好的网络识别无人机获取的航拍图像,从而确定航拍图像中心的经纬度。由于是正射投影,无人机镜头中心与图像中心的经纬度相同,因此,也可间接得到飞机的经纬度。
在这个问题上,在国内没有相关的论文发表,国外也只是少数文章略有相似。在面对一个新的问题时,我们要尽量简化问题。本文将以无人机的垂直侦察,做为应用背景和研究切入点,研究区域划定在吉林省长春市市区范围。研究意义在于使无人机更加智能化,像飞行员在自己熟悉的空域中只通过眼睛就能判断飞机位置一样,可以不利用其它导航装置,只通过机载光电球获取的数字图像来判断自身的位置,实现航空图像定位。
数据集是深度学习的关键,也正是imagenet等大型公开数据集发布,卷积神经网络才得以快速发展。因此,数据集的制作显得尤重要。本文从谷歌地球上获取了2013年4月、2015年10月与2016年11月的吉林省长春市地区的卫星遥感图像做为图像源。
2.1 投影转换
由于从谷歌地球上获取的.dat文件为等经纬度投影,将其释放为图像后,在吉林省长春市地区的经度方向上地物形变严重。本文为了保证地物特征的形状不变性,采用正轴等角圆柱投影的投影方式,即墨卡托投影[7],作为一种等角投影,可以保证地物的形状特征与人们真实观察到的相一致。因此,采用双线性内插法实现将图像的投影方式转换为墨卡托投影。
2.2 数据相关参数
将吉林省长春市市区的长方形区域作为研究对象。经纬度范围:左下角为东经125.156249645352,北纬43.771094355985;右上角为东经125.507812145352,北纬44.024422055603。图像瓦片级数为15级,比例尺为1:36111.91;空间分辨率为9.55m。研究面积共794.98km2。
2.3 数据分类方法
参照第15级图像瓦片的划分方式将长春市区分成256个大小相同的正方形区域,作为让卷积神经网络识别的256类区域,每一类区域对应一个15级的瓦片图像,像素值为256*256,对应地面范围为1.76km*1.76km。选用这种划分方法主要出于一点考虑:参照捕食者无人机[8]的参数,设定本文中的无人机以垂直侦照收容面积为2.0km*2.2km作为标准,因而采用这种1.76km*1.76km的区分方式,可以保证在研究区域内,每一张侦照图像中至少包含一类区域的大部分特征。但因为飞行方向和拍照区域是随机的,所以航拍图像会包含若干类区域,而当具有明显特征的地物处在区域之间的边界处,属于若干个区域时,我们需要确定它归属于哪一个区域。这就要求在提取每一个区域的图像数据时,一定要考虑在边界附近的跨区域地物特征。需要用人工的先验知识进行筛选,以每一块区域为中心时,将256*256大小的区域扩展为288* 288的大小,如图1所示,深色区域为扩展后的区域。在其四个角的方向上及中心位置上,裁剪出256*256的区域做为训练样本[4],如图2所示在深色区域上裁剪出256*256的浅色区域。然后对裁剪后的图片进行筛选判断,若存在相对明显的地物特征即归为此类,相邻区域便不以该特征作为定位特征,并将每幅图像对应区域的经纬度作为训练标签。
2.4 数据增强
虽说有三个图像源,但每类区域对应的数据量依然很小,所以要进行数据增强,才能够满足训练网络的需求。
1)不同的季节或一天中不同拍照时间获取的图像色调,亮度和饱和度均有不同的变化,首先变换图像不同的亮度、色调、饱和度[9]。
2)考虑到飞行的不同方向,保证图像识别过程中旋转和倾斜不变性,对图像进行不同角度的倾斜,并且进行垂直和水平图像旋转[9]。
3)考虑到雨、雪、雾等天气情况,适当增加高斯噪声。
4)将288*288的图像裁剪成256*256大小[10],实现一变多,增加样本数量。
5)为了只保留图像主要的形态信息,使用pca方法处理图像去掉冗余信息[4]。
通过以上五种数据增强的方法,将每一类区域的训练样本数量增加到450张,测试样本增加到90张。共计256类区域,训练样本总数为115200张,测试样本为23040张。增强后的数据,在训练过程中可以有效地减少过拟合,增加卷积网络适应航拍图像定位的能力。
航拍图像定位研究的一个难点在于,航拍图像训练数据少(无法达到百万千万的级别),如果要直接采用随机初始化CNN参数的方法,那么目前的训练数据量是远远不够的。这种情况下,最好的解决方式是选用已经训练好权重的卷积神经网络,用自己的数据集进行有监督的参数微调,称为迁移学习[11]。这种思想已经成功地应用在目标检测领域中,关于R-cnn[12]的一系列神经网络[13],就是运用迁移学习来实现的,因为省去了参数初始化的预训练过程,极大地减少了工作量。
因此,本文借鉴迁移学习的思想,选用Caffenet[14]的网络结构和初始化权重来进行fine-tuning训练。Caffenet是caffe团队在Alexnet[4],基础上,定义的适合在caffe框架上运行的网络结构。以Imagenet图像作为数据集,在迭代30多万次后精度比Alexnet提高了大约0.2%。两个Net区别在于第一层和第二层中归一化和池化处理互换了顺序。Caffenet的网络结构如图3所示,模型一共分为八层,五个卷基层以及三个全连接层,在每个卷积层中包含了激励函数RELU[15],在前两层和第五层中包括降采样(池化)处理和局部响应归一化(LRN)处理,最后一层全连接层输出1000类。
利用卷积神经网络进行识别的区域共有256类,那么就需要把预训练阶段的Caffenet模型的最后一个全连接层fc8(1000类),替换成256类的全连接层,如图4所示,并将fc8更名为re-fc8,保证在训练过程中其它网络层的参数不变,对新的网络层直接进行参数随机初始化。采用随机梯度下降法[16],训练出适合于航拍图像定位任务的网络权重,最后一层输出的prob是待识别图像属于各类区域的概率值。
实验配置如下:
显卡:英伟达GTX 1070 Cpu:Intel Core i7-6700;主频:3.40GHz;内存:32G;操作系统:win 7;框架:caffe。
将10多万张的数据样本作为输入,经过二十多次的反复调参训练,最终得到了较为满意的最优训练结果。当学习率为0.000001时,经过近8个小时的训练,网络的损失值趋于稳定,准确率逐渐地收敛到0.79,如图5所示,训练准确率从0开始增长在横坐标为10(迭代次数为30000次)之后逐渐趋于稳定。训练的损失值变化如图6所示,损失值从6开始下降,在横坐标为500(迭代次数为20000次)后在4和0之间振荡,趋于稳定。并且在测试过程中,得到了超过80%的测试准确率如图7所示,测试过程最终的准确率为0.8012,损失为1.86183。
具体参数如下:
在网络训练过程中,调参是能否让网络收敛的关键步骤,其中最重要的参数就是学习率[17],找到一个合适的学习率可以加快网络的收敛速度,降低损失。本文抽取了调参过程中的四组实验,来对比不同学习率对训练结果的影响,如表1所示,在其它参数不变的情况下,当学习率为0.000001时,训练和测试的准确率是最高的,在0.000001附近增加或者降低学习率时,训练效果都不理想。因此,我们使用学习率为0.000001时训练得到的网络权重,对航拍图像进行识别定位。
表1 不同学习率下网络准确率差异比较
在研究区域内随机截取一幅测试图像,如图8所示,是第15级瓦片图像,大小为256*256。输入到已经训练好的卷积神经网络中进行识别,用时0.057s,输出识别结果为第50类。各类对应的概率值如图9所示,横坐标为256个类别,纵坐标为每个类别对应的概率值,第50类的概率为0.1062642,为256类中的最大值。而测试图像的大部分都落在第50类区域中,所以卷积神经网络定位正确。而且0.057s的识别速度可以满足无人机对定位实时性的要求。
在高分辨率地景的Skyline环境下,设置无人机的相关参数,模拟无人机进行垂直侦察飞行,获取航拍图像,利用训练好的卷积神经网络判断航拍图像所属区域,确定无人机的经纬度范围,然后与Skyline环境中无人机的实际位置进行比较,验证实验结果的准确性。在研究区域上空选取四条不同的航线,作为无人机的侦察轨迹,图10和图11为其中两条航线示意图。分别对四条航线上获取的航拍图像序列进行识别,如表2所示,识别准确率在0.8左右波动,与卷积网络的训练准确率和测试准确率相一致。
表2 不同航线上图像定位的效果比较
本文采用迁移学习的思想,通过制作研究区域内带有地理标记的图像做为数据集来微调Caffenet,然后利用训练好的卷积网络识别无人机获取的航拍图像,从而确定航拍图像中心和飞机的经纬度。在网络的训练过程中识别准确率逐渐收敛到0.79,并且在skyline的环境下进行飞行仿真,验证了卷积神经网络识别的准确率和进行图像定位的可行性。
[1]Lecun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436-444.
[2]Gu J,Wang Z,Kuen J,et al.Recent advances in convolutional neural networks[J].Computer Science,2015.
[3]Sermanet P,Eigen D,Zhang X,et al.Overfeat:Integrated recognition,localization and detection using convolutional networks[J].arXiv preprint arXiv:1312.6229,2013.
[4]Deng J,Dong W,Socher R,et al.Imagenet:A large-scale hierarchical image database[C]//Computer Vision and Pattern Recognition,2009.CVPR 2009.IEEE Conference on.IEEE,2009:248-255.
[5]Workman S,Jacobs N.On the location dependence of convolutional neural network features[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops.2015:70-78.
[6]Weyand T,Kostrikov I,Philbin J.Planet-photo geolocation with convolutional neural networks[C]//European Conference on Computer Vision.Springer International Publishing,2016:37-55.
[7]刘丽萍.墨卡托投影与高斯投影的坐标转换研究[J].中国新技术新产品,2013(4):13-14.
[8]王蕾.捕食者无人机综述[C]//中国航空学会轻型飞行器专业委员会2005年学术交流会.2005.
[9]楚敏南.基于卷积神经网络的图像分类技术研究[D].湘潭:湘潭大学,2015.
[10]陈智.基于卷积神经网络的多标签场景分类[D].济南:山东大学,2015.
[11]Hu J,Lu J,Tan Y P.Deep transfer metric learning[C]// IEEE Conference on Computer Vision and Pattern Recognition.IEEE,2015:325-333.
[12]Girshick R,Donahue J,Darrell T,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[J].2014:580-587.
[13]He K,Zhang X,Ren S,et al.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2015,37(9):1904-1916.
[14]Wang Z,Wang X,Wang G.Learning fine-grained features via a CNN tree for large-scale classification[J]. arXiv preprint arXiv:1511.04534,2015.
[15]Kim J,Kim S,Lee M.Convolutional Neural Network with Biologically Inspired ON/OFF ReLU[J].Procedia Computer Science,2016,88:145-154.
[16]Zhou P,Liu Z,Wang X,et al.Coherent Beam Combining of Fiber Amplifiers Using Stochastic Parallel Gradient Descent Algorithm and Its Application[J].IEEE Journal of Selected Topics in Quantum Electronics,2009,15(2):248-256.
[17]Zou J,Wu Q,Tan Y,et al.Analysis Range of Coefficients in Learning Rate Methods of Convolution Neural Network[C]//International Symposium on Distributed Computing and Applications for Business Engineering and Science.IEEE,2015:513-517.
Research on Aerial Image Location Based on Convolution Neural Network
WEI Yongming
(Department of Aerospace Intelligence,Air Force Aviation University,Changchun130022)
In this paper,the geometric markup image in the study area is used as the data set to fine tune Caffenet to adapt the aerial image classification task by using the idea of transfer learning.And then use the trained convolution neural network to identify the aerial images acquired by the UAV,so as to determine the latitude and longitude of the aerial image center and the aircraft,and realize the image localization.In the training process of the network,the accuracy of the recognition is obtained by repeated experiments.The flight simulation is carried out in the skyline environment with high resolution,and the accuracy and the feasibility of image localization of the convolution neural network are verified.
transfer learning,convolution neural network,image classification,image localization
TP391.41
10.3969/j.issn.1672-9730.2017.06.009
2016年12月9日,
2017年1月30日
魏湧明,男,研究方向:控制科学与工程。