王荣辉 徐红岩
(江西中煤建设集团有限公司 江西南昌 330001)
交通与人类生活密切相关,随着经济的发展,交通拥堵问题已经越来越严重,因此,实时掌握车辆分布特征在城市规划中有重要的意义[1-2]。近年来,随着材料技术、能源技术的进步,使得无人机成本越来越低,搭载遥感平台的无人机更是由于其成本低廉,易获取,影像分辨率高、时效性强等特点,迅速受到人们广泛关注。
深度学习是机器学习研究领域的一个分支,它是一种通过多层表示来对数据之间的复杂关系进行建模的算法。深度学习在很多机器学习领域都有非常出色的表现,在图像识别、语音识别、自然语言处理等方面均有应用。
本文提出了一种基于深度学习的算法对无人机影像中的车辆进行检测。首先利用RPN获取目标的候选区域,再利用Fast R-CNN进行分类得到物体的类别和位置信息。为降低模型训练难度实现端到端优化,该模型将RPN与Fast R-CNN中部分卷积层的特征共享,增强了模型反话能力,取得了较好的检测结果。
对于影像中的车辆目标,主要研究其光谱特征和空间分布特征,其中空间分布特征主要包括几何特征、结构特征和空间关系特征。根据光谱特征的不同,Sharma等[3]将影像中的车辆目标分为浅色车辆和深色车辆,在运用一阶差分梯度影像提取候选车辆位置,然后根据分割梯度影像得到车辆目标。同年,Leitloff等[4]首先在影像中提取出道路,并为道路上的车队建立模型,然后再用特定算法从车队中提取单个车辆。根据车辆比较规则的几何特征,Larsen等[5]通过完善尺度空间圆斑分割算法,对QuickBird影像中车辆目标进行提取,获得了较高的检测率。余勇等[6]提出了一种提取车辆目标的形态神经网络的方法,通过形态变换确定车辆与非车辆要素集,然后用形态共享权神经网络提取出车辆。张勇[7]等提出SURF特征和支持向量机(SVM)相结合的方法,首先对车辆区域进行分解,得到较小识别范围在通过构建正负样本,对分类器进行训练,最后在通过掩膜去除冗余信息,识别道路内的车辆,提高了车辆识别精度。
深度学习在特征提取方面的优势使其在图像识别和检测领域具有优秀的表现,比较有效的检测方法是首先采用区域建议方法预测目标位置,再用深度卷积网络进行分类,如Fast R-CNN网络等。本文采用Faster R-CNN网络对无人机影像中的车辆目标进行提取,利用区域建议网络预测车辆目标位置,再通过Fast R-CNN网络解决目标判定问题,为车辆目标检测问题提出了一种新的解决方法。
利用Faster R-CNN网络检测影像中的车辆目标主要步骤包括训练和测试两个阶段。首先对无人机影像中的车辆目标进行标注,制作训练样本集,再对Faster R-CNN网络参数进行训练,训练完成后,利用新的样本集对模型进行检测。对Faster R-CNN网络的训练包括RPN网络训练和Fast R-CNN网络训练两个部分,首先采用ImageNet数据集对网络模型进行预训练,然后再利用新的无人机影像制作的样本集进行微调,主要过程如图1所示:
图1 基于Faster R-CNN的车辆目标检测过程
Faster R-CNN网络对Fast R-CNN网络中区域提议方法进行改进,利用RPN网络生成区域建议,并且和整个检测网络共享卷积层提取的部分特征,显著提高了检测效率。其结构如图2。
图2 Faster R-CNN基本结构
将样本图像、标注数据(Ground truth)输入Faster R-CNN网络后,conv layers对标记框内目标特征进行提取得到feature map,RPN网络在feature map上生成候选区域和其内部特征信息,然后利用分类器识别候选框中目标类别,同时使用回归器修正候选框位置,最后输出检测结果。
Region Proposal Network(RPN)输入一副任意大小图像,输出包含目标的矩形框集合和objectness得分,其主要结构如图3。
图3 RPN网络结构
RPN网络首先在conv layers输出的卷积特征上生成滑动窗口,将该窗口映射到低维向量并分别与cls层reg层进行全连接。对每个窗口的位置,均有9个初始的anchor boxes,每个anchor box包含四个参数(x,y,w,h)确定了建议框的位置和大小,RPN网络主要任务是对建议框内目标的分类(cls层)和对建议框位置修正(reg层)。
图4 anchor示意图
当训练RPN网络时,对每个anchor分配一个正或负标签,表示当前建议框内物体是否为目标,当满足条件:(i)与Groundtruth矩形框有最高的IOU重叠的anchor;(ii)与任意GT矩形框有大于0.7的IOU重叠的anchor。
因此,对一个图像的损失函数定义为
其中,i是 anchor的索引,pi是索引是 i的anchor为目标的预测概率,若anchor是目标,则p*i为1,否则,为0;ti表示矩形框的四个参数,t*i是p_i^*为1的anchor矩形框的参数;分类损失用L_cls表示如下
对于建议框的回归损失,用Lreg(ti,t*i)=R(ti-t*i)表示,其中函数R的定义
回归中的4个坐标如下:
其中,x,y,w,h 表示包围框中心坐标,宽,高;变量 x,xa,x*分别表示预测的矩形框、anchor的矩形框,GT矩形框。
为减少计算量,提高网络运行效率,RPN和Fast R-CNN网络采用交替优化方式学习需要共享的特征。第一步,利用ImageNet对模型进行预训练,并通过端到端的方式微调用于区域建议任务。第二步,利用第一步RPN生成的建议框,由Fast R-CNN训练一个单独的检测网络,这个检测网络同样有ImageNet初始化,此时,这两个网络还没有共享卷积层。第三步,用检测网络初始化RPN训练,但固定共享的卷积层,并且只微调RPN独有的层,此时两个网络共享卷积层。第四步,保持共享的卷积层固定,微调Fast R-CNN的fc层。此时,两个网络共享相同的卷积层,构成统一的网络。
Classification通过全连接层与softmax计算提议特征图中每个proposal所属类别,输出概率向量,同时通过回归获取目标精确位置。
图5 Classification部分网络结构图
本实验采用某城市部分区域无人机影像数据进行实验,首先对影像进行分割,对分割后的影像进行标注,制作样本数据集A。然后从样本集A中抽取1500幅图像构成数据集B,如表所示。
表格1样本数量
本文使用TensorFlow框架,首先用ImageNet数据对模型进行预训练后,采用训练集A对模型继续训练,由于未采用GPU加速训练,训练时间较长,经过62h训练,得到检测模型。
从样本集中选取单张图像进行检测,结果如图7所示。从检测结果可以看出,对小型轿车整体检测效果较好,除部分在树荫下或遮挡部分较多的车辆外,检测框类型概率均在90%以上,同时检测框位置与大小也能较好的与车辆目标拟合。但仍存在车辆漏检情况,如图7右上部分和下部图像中蓝色车辆,均未检测到。其中,对于大型货车,由于影像区域主要为市中心部分,主要为小型轿车,货车数量相对较少,因此导致训练样本数量不足,未能充分学习大型货车特征,导致识别效果较差。部分颜色、形变比较特殊的车辆也存在漏检情况。
图7 检测结果
然后,对样本集B进行整体测试,得到结果如下表2。
表格2训练集B检测结果
从上表中看出,对于训练集B中车辆目标提取准确率较高,但同时存在错检和漏检情况,漏检车辆数目相对较多。由于无人机在拍摄影像时,受到多种因素干扰,使拍摄角度和高度有略微差别,使车辆目标特征受到影响,同时由于样本数量不够大,导致对车型覆盖不够全面,对部分车型训练样本过少,导致漏检。通过实验结果可以发现,通过Faster R-CNN网络能够较好的提取影像中的车辆目标,但提取结果的好坏与样本数据集的质量和数量密切相关,当在训练样本充足的情况下,能够获得较好的检测结果。
本文利用无人机影像高精度、易获取的特点,利用深度卷积网络提取无人机影像中的车辆特征,用RPN网络生成区域建议,并用深度卷积网络对目标进行识别,最终得到基于Faster R-CNN网络的目标检测模型。通过RPN网络生成区域建议的方式,提高了模型的效率,无需手动提取车辆特征。实验表明该方法能够有效识别影像中的车辆目标。但模型对样本质量要求较高,需要大量样本,并能覆盖所有车型。同时模型训练时间也比较长,对计算机硬件要求较高。但模型训练完成后,识别精度会大大提高,因此,该方法将能使无人机遥感影像在交通监测领域发挥重要作用。