陈国军 尹 冲 滕一诺 王雯璇
(中国石油大学(华东)计算机科学与技术学院 青岛 266580)
无人机图像是遥感图像的一种,近年来无人机因便携性强、成本较低、成像效果好等优点,成为高分辨率遥感数据采集的重要手段,在资源调查、监测与分类等方面得到广泛研究和应用[1]。传统算法会受到浅层特征学习的泛化和复杂函数的表示等方面的制约。深度学习从大量的数据中抽取层次特征,能够反映底层到高层的特征映射关系。
卷积神经网络的发展,为图像分割和分类提供新的思路。Long[2]等提出的FCN 将卷积神经网络应用到分割任务上。Ronneberger[3]等提出的U-Net用于医学图像分割,结构简单,样本较少,训练速度快。Chen 等提出多个版本的DeepLab。DeepLabv1[4]使用不同采样率的空洞卷积获取更多的上下文信息,DeepLabv2 提出空洞空间金字塔池化方法(ASPP),DeepLabv3[5]在ASPP中增加1*1卷积和全局平均池化。
随着大规模、真实世界数据集的迅速增加,长尾问题越来越普遍(少数类占了大部分数据,而大多数类的代表性不足)[6]。类别重平衡大致划分为两大类,重采样和重赋值[7~9]。这些方法通过样本重采样(数据增强,扩充少样本),对损失重新赋权重调整网络的训练,使得样本分布与测试中的样本分布接近。重平衡策略能促进分类学习,在存在长尾问题的数据集中获得识别准确率的提升[10~11]。
本文针对分割精度较低和数据长尾问题,并结合地物图像特点在语义分割模型DeepLabv3 采取以下改进,将主干网络ResNet101替换为ResNet152并添加预训练模型,调整ASPP的扩张率,采用类别平衡损失函数来解决数据集的长尾数据分布问题。应用在包含多种地貌类型的高分辨率无人机地物图像数据集上。通过训练得到有效的分割模型,并进行实验以验证其效果。
语义分割任务是将图像中的每一个像素按照图像中表达的语义的不同来进行分组和分类。本文采用的DeepLabv3 网络作为基于FCN 的改良网络模型在MS COCO、PASCAL VOC2012[12]等大型通用数据集上都取得了较好分割结果。DeepLabv3首先探索将空洞卷积级联布局的结构,将ResNet[13]的部分结构更改成空洞卷积,根据设定的值维持分辨率。具体的网络结构如图1所示。
图1 DeepLabv3网络结构
DeepLabv3 网络中使用空洞卷积,可以让卷积层在不降低空间维度和不增加参数量的情况下扩大卷积核的感受野[14],同时捕捉多尺度的上下文信息。
为取得更好的分割效果,针对数据集中存在的长尾问题和无人机地物图像地貌区域间尺寸变化幅度小的特点,在Deeplabv3模型上做出以下改进:1)将原始主干网络ResNet101 替换为ResNet152 并添加预训练模型。2)调整扩张卷积空间金字塔池化模块的扩张率。3)采用类别平衡损失函数来解决数据集的长尾数据分布问题。
在传统的深度学习网络中,网络深度的递增,会造成网络梯度性消失,甚至会导致梯度爆炸。在反向传播期间,当误差函数为迭代中的当前权重的求偏导数时,通过n 层网络会导致小数乘n 变成零(消失),大数乘n变得特别大(爆炸)。
为解决消失/爆炸梯度的问题,ResNet[15]添加跳跃/短连接在几个权重层之后将输入x 加到输出上,输出H(x)=F(x)+x,如图2所示。而权重层学习了一种残差映射:F(x)=H(x)-x(反向传播)即使权重层有梯度消失现象,仍然将x 转移回较早的层。ResNet 引入了跳跃连接以适应从前一层到下一层的输入,无需修改输入来实现更深的网络。
图2 ResNet的构建模块
针对地物图像分割精度较低和ResNet 网络的特点,增加网络深度可以让网络获得更多的抽象特征和语义信息。本文将主干网络ResNet101 分别替换为浅层的ResNet50 和深层的ResNet152 网络进行对比实验,ResNet50 相当于ResNet101 的基础上减少了第三层的卷积块,而ResNet152 在ResNet101的基础上加厚了第三层和第四层的卷积块,如图3 所示。通过多次实验,ResNet50 的实验结果相对ReNet101 较差,而ResNet152 相对ResNet101 的效果更好,于是本文使用ResNet152替换主干网络后为进一步提高模型的性能,加快训练的速度,在训练网络前加载ResNet152 预训练模型作为初始化,使模型更快地收敛。
图3 ResNet50、ResNet101和ResNet152的对比
原始模型编码器中,ASPP 模块结构由3 个扩张卷积和1 个全局池化连接组成,用以捕获不同尺寸的目标。但是本文数据集中地物图像经过分割后,地貌区域间变化幅度小。原始模型中ASPP 模块的扩张率组合为{6,12,18},大扩张率容易损失每个像素点和周围像素点的关联性,应用在像素级分割任务上会造成分割精度降低。本文对原始的ASPP 模块进行调整,通过多次实验,最后{1,2,4}的扩张率组合效果最好。如图4 所示,采用小的扩张率组合,来提高模型在地物图像上的分割效果。
图4 改进后ASPP结构
数据集中各类地貌数据量占比明显不同,会导致占比较少的地貌数据分类分割效果较差。为有效解决长尾数据分布问题,Yin Cui[16]提出了类别平衡损失函数的概念。类别平衡损失函数是对不同类别有效样本数的加权策略从而重新计算平衡损失,获得类别平衡损失因子,并将类别平衡因子应用到损失函数中(Focal Loss[17],Softmax,Sigmoid等)。本文将原始模型的损失函数替换为类别平衡损失函数。
类别平衡损失函数用来处理数据不平衡的问题,方法是引入一个加权平衡因子αi,这个因子和有效样本数成反比。假设有效样本数为En,其中n表示样本的总数,已采样n-1 个样例,当采样第n个样例时,已采样的数据量为En-1,那么新采样数据有(N 为类别不同的数量)概率和之前的样例重叠,经过第n次采样后,期望为
式(2)表明样例的有效数据量是总数n 的指数函数,超参数β∈[0,1) 控 制En随着n 的 增长速度。并通过En的渐进性质可以发现:当N 很大时,有效数据量的大小等于样本数n,这表明没有数据重叠。当N=1时,则表明所有的数据都只有一个原型,其他数据都是从该原型经过数据增强得到的。
输入样本X 标签为γ∈{1,2,…,C},C 代表类…别,总pC数]T,。p假i∈[设0,模1]。型定得义到损的失概函率数分为布ε(ΡΡ,γ=)[,p假1,p设2,类别i的样例数为ni,根据式(2)可知类别i有为保证总损失和之前一致,需要对权重因子归一化,得到。为方便用示归一化的权重因子,类别平衡损失可以表示为
训练集中类别为γ的数量。Focal Loss 通过添加一个调整因子γ和平衡因子α来减少易分类样本的损失,关注比较难分类的样例。假设:
根据式(4),Focal Loss的损失为
根据式(2)、(5),采用类平衡因子后对应的损失为
实验数据来源于山西省某高速公路及周边地貌场景,通过无人机设备拍摄,得到尺寸大小为6000× 4000 的高分辨率图像。如图5 所示。为提升模型的训练速度,降低运算量,将图像尺寸裁剪大小为513×513,裁剪后图像共1430 幅。根据地貌特征进行划分,使用labelme 标注工具进行标注,按照10∶1 的比例随机划分为训练集和测试集,最终训练集图像1300 幅,测试集130 幅,数据集中存在8 个有效类别(田地、道路、建筑、公路、林地、湿地、荒地、水域)。标注后数据所占像素分布极不平衡,田地的覆盖面积远超过其他7类。
图5 原始图像
实验在CentOS Linux release 7.4.1708环境下进行,基于Pytorch 开源深度学习框架并使用NVIDIA Tesla P100-PCIE 显卡加速。模型训练阶段采用动量为0.9 的随机梯度下降算法进行优化,权重衰减为0.0001,学习率为0.0003。
为客观评价模型在无人机地物图像上的分类与分割精度,使用平均交并比MIoU作为评价指标。平均交并比是语义分割模型的标准度量指标,定义如式(7)所示:
Pii为像素点i被预测为i的数量,Pij为像素点i被预测为j的数量,C为数据集不同类型数量。每一类别真实值像素集合和预测值像素集合的交集和并集的结果为交并比,所有类别的交并比的均值为平均交并比,该指标能够反映模型在不同利用类型的地貌区域上分割的准确性和完整性。
不同模型在测试集上的结果如表1 所示。模型1,2 为采用相同参数训练的FCN 和U-Net 模型。模型3 为原始DeepLabv3 模型,模型5 是添加预训练模块,模型4,6替换主干网络,模型7,8分别采用不同的扩张率进行对比,实验结果表明ASPP为{1,2,4}的效果最佳,模型9,10,11 是类别平衡损失因子结合不同损失函数后的效果对比,使用类别均衡损失函数分割效果有明显上升,MIoU达到70.8%。
表1 不同模型的实验结果
图6是在原始模型DeepLabv3基础上添加其他模块的对比结果。随着迭代次数的增加原始模型收敛速度较慢,分割效果差;添加预训练、修改主干网络、调整ASPP模块后的效果都会略有提升;采用类别平衡损失函数后效果有明显提升。本文最终模型为上述方法的结合。
图6 消融实验对比结果
本文利用多个模型在包含130 幅图像的测试集上进行训练测试,部分结果如图7 所示。经过对比效果所示,使用Focal Loss 的类别平衡损失函数在地物图像上分割和分类精度最高。尽管新模型取得了不错的效果,但是实验中仍会存在一些低质量的分割结果,当原始图像大范围的变形或者出现遮挡现象时,模型分割结果会受到严重干扰。
图7 不同模型的分割效果图
针对地物图像分割方法精度低、工程量大和制作数据集时普遍存在的长尾问题,本文提出了一种改进的无人机高分辨率地物图像的语义分割方法。针对不同地貌类型区域进行分割,并提高分割精度。
该方法以DeepLabv3 为主要模型,针对无人机地物图像的特点,将原始主干网络ResNet101 替换为ResNet152 并添加预训练模型;采用ASPP 较小的扩张率组合;将交叉熵损失函数替换为类别平衡损失函数。最后在本文数据集上训练并通过测试集的分割效果来证明方法的有效性。实验结果表明,该方法在测试集上平均交并比达到70.8%。但仍存在一些问题,首先训练模型的时效性还有待提升,其次当原始图像发生大范围的变形或者出现遮挡现象时,模型分割结果会受到干扰。针对这个问题需要进一步研究和实验验证。