一种多尺度卷积神经网络道路提取方法
2020-04-01戴激光杜阳金光陶德志
戴激光,杜阳,金光,陶德志
(1.辽宁工程技术大学 测绘与地理科学学院,辽宁 阜新 123000;2.辽宁奥路通科技有限公司,沈阳 110000;3.中交东北投资有限公司,沈阳 110000)
0 引言
道路作为现代交通体系的主体,其自动化识别、定位与提取是摄影测量与遥感领域的研究热点与难点[1]。近些年来很多学者提出了大量的方法,例如苗则朗等[2]在影像分割结果的基础上进行几何约束,剔除不符合道路几何特征的分割区域,利用纹理信息对候选道路区域进行判别提取,在此基础上,应用多元自适应样条回归,获取平滑的道路中心线。该方法避免了道路提取结果中存在的毛刺问题,但是几何纹理阈值的选取严重依赖于大量实验,并且难以解决绿化和阴影遮挡导致的路面灰度突变问题。而Chaudhuri D利用Chaudhuri’s metric分割方法突出疑似道路区域,采用填充孔洞、面积和长度约束等方法确定道路区域,并通过相对长度和距离等几何约束条件连接断裂道路[3]。相比于前述方法,该方法能够解决道路部分遮挡问题,但其侧重于先验知识的运用,泛化能力较弱。考虑已有的DSM数据,引入斑马线检测结果,以此进行道路种子点的提取与跟踪,完成对道路的自动提取[4]。该方法虽然充分运用了道路的上下文特征与先验知识,但斑马线检测精度取决于实际场景的复杂程度与Surf特征点提取结果,这直接影响道路种子点的跟踪,因而该方法的泛化能力也受到一定的限制。上述传统方法大都采用多特征约束或者由粗至细的道路提取策略,并依据人工设定先验条件进行道路提取,但受制于道路结构变化(路面老化)、纹理复杂多样(遮挡情况不一致),以及不同数据成像过程中光照、分辨率和成像质量的变化,依然存在泛化能力弱、人工参与度高、自动化程度较低等缺点[5-9]。
物体的特性及其相互关系,即语义信息是遥感影像解译的关键环节,但传统方法受限于技术上的限制导致研究进展缓慢,而深度学习方法则为遥感影像解译在语义方向的拓展提供了新的契机[10]。在静态图像识别领域中,具有非线性映射能力、自我学习和自组织等特性的卷积神经网络(convolutional neural network,CNN)表现出良好的性能[11-12]。在道路提取领域,Mnih V和Hinton[13]首次基于深度学习技术,提出一种基于受限玻尔兹曼机(restricted boltzmann machine,RBM)的航空影像道路提取方法。该方法在使用RBM检测道路之前,通过预处理技术降低输入数据的维度,并利用后处理消除道路断裂问题。但其在处理道路密集区域时,道路提取结果存在黏连问题。基于先验知识和卷积神经网络的道路提取方法[14]需要人工选取检测影像道路样本区域,并将此结果加入全连接层,以此进行影像道路的完整提取。基于残差单元和U-Net网络的道路提取方法[15]在传统U-Net网络中的神经单元加入批量正则化(batch nomal,BN)算法和残差连接,降低了网络的训练难度,同时引入残差连接也使得网络的深度得以延展,从而提升了网络模型在语义分割方面的性能,但是该方法在提取道路时仍然可以明显发现较多的道路误判和断裂区域。
综上所述,虽然卷积神经网络方法相较于传统道路提取方法在自动化程度和准确度上均有较大提升,但由于卷积神经网络在前向传播过程中数据降维的需要,存在特征层分辨率逐渐降低的问题,导致全连接层进行像素级分类时精度较低,尤其当影像中存在异物同谱和同物异谱现象时,道路提取结果存在误提取率高和断裂问题。改进神经网络的宽度和深度是解决上述问题有效途径[16],但挖掘网络宽度和深度必然带来参数计算量上的大幅增加,因此在改善网络性能的同时必须考虑训练效率。鉴于此,本文提出一种基于多尺度的卷积神经网络遥感影像道路提取方法。其主要改进内容包括:首先,应用多尺度学习对子影像进行卷积处理,获取不同维度的初级分层特征,减轻特征图前向传播过程中分辨率降低的影响;在此基础上,融入残差连接减少反向传播过程中梯度的过度更新,防止梯度消失问题的干扰;最后,针对上述过程产生的大量冗余参数,使用全局均值池化进行优化。
1 算法原理
本文算法流程如图1所示。首先预处理阶段采用数据增强、子影像裁剪和过采样的方式扩充训练样本,增强网络对影像细节信息的获取;其次,基于扩充的训练样本,使用多尺度卷积学习提取多维度的初级分层特征,针对性地改善前向传播阶段过程中分辨率逐渐降低的问题;在此基础上,融入残差连接解决梯度的更新幅度随传播距离延长而逐步衰减的问题;然后,利用全局均值池化模型对全连接层存在大量的冗余数据进行优化;最后,在全连接层中借助具有监督分类性能的Sigmoid函数对航空影像进行分类,提取道路影像区域。
图1 算法流程图
1.1 数据预处理
高质量大规模的训练样本是支撑具有高性能应用能力网络模型的前提条件。因此基于此思想,本文在现有训练样本数据集的基础上,通过图像处理方法模拟不同几何光照变化环境,以提高训练数据集的数量与质量。具体实现步骤包括:
首先,采用随机旋转、翻转、修改亮度值和对比度样本等基本影像处理技术扩充数据集[17],经过处理后可以使数据集扩充5~6倍。与传统方式的图像预处理方法相比,神经网络需要不断迭代更新卷积核和池化窗口的输出结果,获取高度抽象的语义信息。由于经过旋转和翻转等操作的影像,其原像素位置所对应像素值均得到改变,致使卷积和池化的输出结果改变,故而可以使用该方式扩充数据样本。
其次,按照一定格网间距将航空影像划分为大小相同的子影像,将裁剪出的一系列子影像作为新的训练样本。传统网络更加侧重于对样本数据的整体特征学习,这使得卷积核整体需要关注的范围较大、地物类型较多,多次卷积后得到较为平滑的特征图,丢失对某一地物特征的特定性描述。因此本文通过上述子影像的训练,有助于增强网络刻画单一地物特征的能力。
最后,通过调节正样本(道路)和负样本(非道路)的比率,改善类别失衡问题。关于类别失衡问题,以本文实验选取的样本为例,由于样本影像分成正负样本,正样本(道路)和负样本(非道路)平均分布比率为1∶3。根据这一比例关系,如果进行无差别样本学习,无疑会使网络侧重于对负样本的特征学习,从而降低网络对正样本的识别精度[18-19]。因此本文应用过采样方法均衡正样本的数量[20]。
1.2 多尺度卷积学习
卷积神经网络前向传播过程中,由于池化层的需要,无法避免发生特征图分辨率降低的问题。而多尺度卷积学习可以降低传播过程中光谱和纹理信息的损失[21]。在多尺度卷积学习中,较大尺寸卷积核可在特征图中有着更大的感受域,可以获取较为平滑的地物特征,但致使许多影像细节特征丢失。而较小尺寸卷积核更加侧重于对细节信息的把握,可以增强不同地物边界的可区分度,弥补较大尺寸卷积核的不足。综合来看,多尺度卷积学习允许将不同的图像环境应用到局部识别决策中,挖掘数据在不同尺度上隐含的多种内在规律和本质特征,为预测潜在的目标类别提供了良好的基础。
如图2所示,本文对于给定输入训练样本I,采用多尺度卷积,以提高目标影像的细节信息。其中X1~X4分别为应用4种卷积核的滤波影像(与输入影像一致);fs为卷积网络模型;θs为网络模型内部初始参数,同时由于卷积网络中所有参数可实现跨尺度共享,即,
θs=θ0,s∈{1,2,…,N}
(1)
式中:θ0为模型的初始化参数。
图2 多尺度卷积学习
在s种尺度中,对于由L个结构单元组成的多尺度卷积神经网络,其公式如下:
fs(Xs;θs)=Wl*Hl-1W
(2)
式中:Wl表示第L个结构单元的权值矩阵;Hl-1为第L-1个结构单元的输出,且H0=Xs。各结构单元之间通过每个结构单元的输出连接,表示为:
(3)
式中:pool函数为最大池化操作;relu表示激活函数;Wl和bl分别代表该结构单元中的权值矩阵和偏执参数。由Wl和bl共同完成对网络模型中训练参数θs的更新。
最后,将N个卷积神经网络的输出特征图融合在一起,生成3维特征矩阵F。如图2所示,F可以作为多尺度的场景级分层图像描述符,表示如下:
F=[f1,f2,…,fN]
(4)
本文设置N=4,特征提取过程如图2所示。
在上述多尺度卷积学习过程中,完全使用权值共享,迫使网络具有多尺度不变性的特点。并且共同参与训练的模型fs(Xs;θs)尺度越多,神经网络越能掌握更加充分的高级语义信息,为之后的残差连接和全局均值池化提供可靠的数据支撑。
1.3 残差连接
深度决定着网络的分类效果,但深度网络训练过程中存在梯度消失和易陷入局部极小值等类似难以攻克的问题。应用残差连接可以很好地改善深层网络模型的寻优过程,并减少网络收敛在时间上的消耗。残差连接的内部传递方式如图3所示。在前向传播过程中,残差单元将上一层的输入x通过函数F(x)映射到下一层,同时将输入x直接映射到下一层,等同于在原始单分支模型的结构上增加一条输入数据的恒等映射分支,即“捷径”(short connection),同时可在一定程度上解决信息损耗的问题。反向传播阶段是解决梯度消失问题的关键。在反向传播过程中,当梯度值从底端输入时,经由线路②直接返还,替代了经由线路①参与2次更新计算使梯度减小的过程。因此,融合残差连接可以消除深层网络中的梯度消失问题,并且更易优化,收敛更快。何凯明等通过实验证明,“捷径”中不涉及任何梯度值更新计算的设计方式实验效果最佳,因此本文残差连接参考该设计方式。
图3 残差单元
1.4 全局均值池化
如图4所示,全局均值池化(global average pooling,GAP)是指对全连接层输入端的特征图进行等维度的均值池化操作,将对应特征图映射为一个更加抽象高级的一维特征点,从而达到精简冗余数据,避免过拟合的目的,同时保持空间变换的稳定性。经典卷积神经网络全连接层处理过程中(图5),通常自动选取与特征图等维度的卷积核进行逐过程降维,并需要激活函数强化特征,然后利用多层卷积核的提取结果逐步进行特征建模,最终实现像素级的图像分类。同时,在前向传播阶段(不含全连接层)卷积核特征提取过程,由于卷积核步幅和尺寸的限制,使相邻图像块之间存在高度重叠,必将产生大量的冗余数据。并且本文加入多尺度卷积学习,无疑在利用卷积核进行特征建模时,所产生的冗余数据将会呈指数级增长,因此必须进行GAP处理。对比图4和图5的差异,GAP可以直接将任意维度的特征图以一维特征点的形式输出,而全连接层则要通过多次特征层的规格转化才能实现一维特征点输出。因此可以应用GAP高效替代全连接层的数据降维功能。
图4 全局均值池化输出特征点
图5 全连接层输出特征点
1.5 全连接层
全连接层一直是卷积神经网络的标配,其作用就是对特征信息进行重新拟合,并利用分类函数对像素进行分类,内部实现过程如图5所示。应用GAP对特征数据降维之后,为了进一步降低全连接层中参数过多的影响,在全连接层中引入BN算法和Dropout算法[22]。BN算法在保持原始数据分布特性的基础上进行归一化处理,可实现加快网络训练速度,减少过拟合问题的发生。而Dropout算法利用神经元的随机取舍可以产生不同的神经网络,将得到的反向拟合相互抵消,防止过拟合现象的发生。
2 神经网络参数设置
2.1 激活函数
在整个神经网络的构成中,激活函数的作用为增强网络对的非线性可分数据的分类能力。在正向传播和反向传播阶段,相比于其他激活函数类型,本文采用线性整流函数(rectified linear unit,RELU)激活函数的优势在于增强了网络模型的稀疏性,并解决了梯度消失问题。
鉴于航空影像道路提取的本质是一个二值化影像分割问题,因此相比于多分类的Softmax函数,本文更加倾向于选用Sigmoid函数作为激活函数,公式为:
(5)
式中:x为激活函数的输入,由网络中的前向传播计算所得;S(x)为当前像素被识别为道路区域的概率,其值域为(0,1)。
2.2 损失函数
鉴于上文中的Sigmod激活函数,可选用对数损失函数来判定实际输出值与期望输出值接近程度。公式如下:
(6)
式中:L(x)为所有训练样本的损失值;m为总样本个数;L(xi)为单个像素的损失值;xi和yi分别表示各个像素的输入特征和类别标签。yi的值域为0或1,当预测值S(xi)与yi接近或相同时,L(xi)趋近或等于0;相反当S(xi) 与yi的差值增大时,L(xi)趋近于无穷大。因此,通过最小化L(x)可以对模型参数进行训练。
2.3 优化器和Dropout正则化
本文神经网络训练采用 Adam优化器,将学习率设置为0.001,其他参数均使用默认值,进行迭代训练。Dropout的随机失活百分比采用0.5。
2.4 步幅设置
考虑到边界是道路提取精度的保证,本文对卷积核采用不同步幅获取道路和非道路特征,以加强网络对边界的区分。在含有道路特征部分,本文采用16像素×16像素区域作为道路特征训练样本,步幅设置为2;在处理非道路特征时,本文使用96像素×96像素区域,设置步幅为8。
3 实验结果与分析
为了验证本文神经网络模型的有效性和普适性,实验从不同分辨率和不同道路等级的角度,分别采用网络下载的国外城市的标准航空影像数据集(https://github.com/elektrowolf/road segmentat-ion/tree/master/training,该数据无分辨率和地区等参数说明)、马萨诸塞州数据集[23]和由本文根据高分2号影像制作的数据集。其中航空影像数据集侧重于城市区域,马萨诸塞州数据集兼具农村和郊区地带,空间分辨率为1 m,高分2号影像则选取辽宁省郊区的部分影像,空间分辨率为0.8 m。本文在进行实验的过程中,所使用的训练样本和标签样本均为400像素×400像素,测试影像均为608像素×608像素的影像,区别之处在于参考数据集影像空间分辨率和道路等级,所选取的训练样本数量有所差异,其中航空影像数据集、马萨诸塞州数据集和高分2号数据集选择样本分别为100、120和140,而对应测试样本分别为50、100和160幅。
实验所用平台的配置为i7-7700k CPU,双GTX1070 GPU,16 G RAM,操作系统为Ubuntu 16.04,软件包括Tensorflow 1.2、CUDA 5.1和Spyder等。
3.1 网络模型
如图6所示,其中3@96*96表示3幅96像素×96像素的输入影像;conv表示应用指定尺寸的卷积核对输入图像进行卷积特征提取并应用BN算法和RELU激活函数进行归一化处理和增强网络非线性分类能力;pool表示采用2像素×2像素的标准滑动窗口对特征图进行数据降维;多尺度卷积(特征层1~3阶段)表示分别使用1像素×1像素、3像素×3像素、5像素×5像素、7像素×7像素4种标准卷积核对输入层数据进行特征提取(图6仅列出3像素×3像素规格的卷积核);merge表示对4种尺度卷积结果进行融合,生成512张12像素×12像素的特征图;残差连接为将特征层4中每个特征图的中心区域裁剪3像素×3像素的特征图传递到特征层7中;GAP采用3像素×3像素和4像素×4像素2种尺寸的滑动窗口将特征层7中的数据降维至1 024个一维特征点;最后采用全连接层对数据进行重新拟合和分类。
图6 改进的卷积神经网络
1)训练阶段。
(1)按一定比例将训练样本和相对应的二值影像划分为大小相同的子影像,并且针对道路和非道路区域采用不同步幅区别学习;同时,为了避免类别失衡的问题,对道路区域像素占比过低的子图像,使用过采样的方法增加其所占比例。
(2)使用多尺度卷积、池化和激活函数等方法,在前向传播阶段对影像进行特征提取和降维操作,从而获取高级的语义信息;采用反向传播和Adam优化器训练网络模型,得到模型参数。
(3)根据获得的模型对验证集进行测试和精度评价,直至模型达到预定迭代次数后生成最终模型参数。
2)测试阶段。
(1)选取指定大小的窗口对测试影像进行逐窗口扫描,将每次扫描的测试影像输入网络模型,输出预测结果,得到道路区域的坐标记录文件,并标注道路区域。
(2)根据道路区域坐标记录文件,运用形态学开运算和闭运算处理,以填充道路内部可出现的微小空洞,得到最终的提取结果。
3.2 实验分析
多尺度卷积学习、全局均值池化和残差连接为本文网络中关键的结构单元。本文首先通过3种单元结构的组合,仅结合更加直观清晰的航空影像展示其使用效果,之后使用3种数据集对整个网络模型的实验进行精度评价。
在定量评价方面,precision、recall和accuracy是图像分割领域较为通用的指标。其公式如下:
(7)
(8)
(9)
式中:TP(true positive)为正确提取道路;TN (true negative)为非道路正确提取;FP(false positive)为错误提取道路;FN(false negative)为道路漏检。
通过分析可以发现precision和recall的取值并不同步,因此在二者值相差较大的情况下,需要人为根据情况选定特定指标进行数据分析。鉴于此,本文采用兼具precision和recall指标性能的F1评估指标,用于综合反映网络整体性能。其公式为:
(10)
为了验证多尺度学习的优势,如图7所示,本文对多尺度和单一尺度道路提取结果进行对比分析。在实验中,为保证对比实验的公平性,2种网络模型除学习尺度之外,其他结构单元均一致,同时影像预处理方面也保持一致。其中,图7(a)为采用3*3标准卷积核的影像实验结果,图7(b)为利用4种卷积核的实验结果。由图7可以看出,如红色掩膜区域所示,2种网络模型均可实现大部分道路的提取。但在图7(a)黄色矩形框中,可以明显发现存在大量的道路误提取区域,究其原因是在单一尺度特征学习的过程中,由于多组池化操作的影响,使全连接层输入端的特征图分辨率较低导致的。而图7(b)为使用多尺度卷积学习的方法,可以看到黄色矩形框内道路误检率低,但道路提取结果也存在断裂问题。分析其原因可以发现,多尺度学习和全连接层的共同作用形成了大量的冗余参数,这使得网络模型固化产生了过拟合问题,因而导致道路提取结果存在断裂问题。针对道路断裂问题即过拟合问题,本文将在后续步骤中予以解决。同时对比2种网络模型的参数存储文件表明,数据量分别为540 MB和567 MB,这说明多尺度学习确实会导致模型参数增多,同时也表现出对应用多尺度卷积学习的网络模型进行数据优化的必要性。
图7 不同尺度实验结果
图8(a)与图8(b)为同一道路提取结果。针对图8(a)黄色矩形框内存在的道路断裂问题,本文在图8(b)中加入GAP方法。可以看到,黄色矩形框内道路断裂问题已大部分得到解决。通过方法效率对比统计分析,图8(a)所用神经网络的首个全连接层有4 096个神经元,共计达到4千万次的计算量;而在图8(b)中的首个全连接层中仅有1 024个神经元,相对于前者本文改进卷积网络模型计算量大幅降低。因此,GAP和多尺度学习的结合,不仅可以解决道路提取结果过程中的误提取和断裂问题,并且也降低了网络训练时间。
图8 过拟合影像对比
为了进一步验证本文改进卷积网络的可靠性,在对比实验中,分别选用U-Net网络[24]和卷积网络[25]与本文网络进行对比,其中3种网络迭代次数均设定为20 次。
如表1所示,在3种数据集中,本文应用网络模型基于多尺度卷积学习使其深度达到89 层,明显多于U-Net网络和卷积网络的网络深度。正常而言,参数量应与网络结构的复杂性成正比。本文网络模型采用GAP之后参数量仅100多MB,仅占U-Net网络和卷积网络参数量的1/2~2/5,展现了本文网络模型的优越性。网络训练时间消耗方面,本文网络模型耗时处于中等水平,但考虑到网络结构的复杂度,本文网络模型仍表现出较好的水平。综上所述,本文网络的综合性能明显优于卷积网络和U-Net网络。
图9、图10、图11为3种网络应用于不同数据集的道路提取结果,红色掩膜标注为道路提取区域。考虑到图10中路网结构繁杂,提取效果相近,故采用二值图显示成果(白色为道路,黑色为背景)。在图11中,因为单张测试影像覆盖道路区域较少,所以展示结果中选择由9张测试影像拼接而成的1 824像素×1 824像素大小的影像。
表1 不同数据集中3种网络模型对比
图9 航空影像道路提取结果比较
图10 马萨德塞洲数据集道路提取结果比较
图11 高分2号数据集道路提取结果比较
对比实验分析的9幅测试影像,图9为城市区域,公路等级方面主要包含:1~6车道的高速公路和市区中1~4级公路。同时对影像分析可以发现:图9(a)存在2种不同类型的树木遮挡同时影像中存在同物异谱现象;图9(b)影像道路附近存在相似辐射特征(铁路部分和隔离带等)的干扰;图9(c)中呈现严重的绿化干扰和植被遮挡;图9(d)中存在车辆密集、植被遮挡和绿化干扰等现象。图10马萨德塞洲农村区域主要存在不同宽度等级的道路。在图10(a)和图10(c)中存在不同程度的植被遮挡和异物同谱现象;而在图10(b)和图10(d)中也存在严重的阴影遮挡和异物同谱现象。图11为辽宁省郊区遥感影像,道路特征呈现为双车道,但也存在同物异谱问题。以上所述各种限制严重制约了道路提取的准确性,尤其是遮挡问题很难利用传统方法进行解决,因此本文选取深度学习方法进行道路的提取。
通过对比多种实验可以发现,在高分辨率的航空影像,U-Net网络对道路连通性和完整性上表达能力较好,但相较于本文网络仍然存在误提取和漏提取的问题。在2种遥感影像数据集中,U-Net网络的提取效果均比较差,卷积网络可以提取路网的大体轮廓,而本文网络能够较为精细化地提取路网。总体而言,本文改进卷积神经网络兼具U-Net和卷积网络的优点,不仅保持道路提取的完整性和连通性,而且还提升了道路提取的精度。
表2为9幅影像的精度定量评价分析。可以看到在accuracy评价指标方面,不论是在单张影像评价结果还是在综合评价方面,本文改进的卷积神经网络均优于其他2种网络。从反映网络模型综合性能的关键指标F1值来看,本文改进的卷积网络也高于U-Net和卷积网络。尤其在图9(b)的检测中,U-Net和卷积网络的F1值和accuracy均为75%左右的情况下,本文改进卷积网络却达到85%以上,充分表明了本文方法的有效性。
表2 道路提取定量评价结果比较 %
4 结束语
针对训练样本相对匮乏的问题,首先本文使用随机旋转和翻转等一系列的基本影像处理技术扩充数据集,同时采用子影像裁剪和过采样技术进一步扩充数据样本。
针对前向传播阶段特征图分辨率逐渐降低的问题,本文采用4种维度的多尺度卷积学习,获取更加细致的分层特征,经过多次卷积迭代后得到高度抽象的影像特征,以此降低特征分辨率对网络性能的干扰。
针对反向传播阶段梯度消失的问题,为防止梯度消失问题的发生,本文通过引入残差连接,通过“捷径”的作用降低梯度更新的频率,有效防止该问题的发生。
针对多尺度卷积学习引发网络过拟合问题,本文应用全局均值池化技术高效替代全连接层繁琐的数据降维功能,不仅可以消除过拟合现象,同时提升了网络的训练效率。
本文通过融合多种技术的优点,依靠网络内部机制相互协调,完成对网络模型的改进。通过在大量遥感影像数据集上的对比实验,表明本文改进的多尺度卷积神经网络相对于U-Net网络和传统卷积网络在道路提取结果精度上具有较大优势。