SAR图像港口船只的实时解析算法

2020-05-22 12:33李胜永张智华王超男
计算机工程与设计 2020年5期
关键词:池化级联分支

李胜永,张智华,王超男,王 孟

(1.南通航运职业技术学院 交通工程系,江苏 南通 226000;2.南通大学 理学院,江苏 南通 226000)

0 引 言

目前,实现图像识别主要分为两类,传统方法和深度学习方法。传统的图像识别技术基于手工提取特征,对于应用来说不鲁棒[1]。而深度学习特别是卷积神经网络(CNN)的发展,使得在复杂背景下的高精度目标识别技术能够实现并应用于现实场景。在图像识别的两大基础任务中,目标检测主要分为基于区域提议的两阶段网络[2]和基于回归的单一网络[3,4]。而基于CNN的语义分割技术,实现像素级分类[5]。另外,一些其它技术被应用到CNN中以提升识别效果,如扩张卷积[6]和随机场[7,8]。显然,语义分割能够对SAR中目标的形态实现准确的区域分界。最近,一些方法在语义分割中注意到时效的重要性,它们[9,10]尝试模型压缩以实现实时分割,但这些方法以牺牲精度为代价。

基于图像识别技术,SAR图像中的不同目标也被大量研究,包括制作可用的公开数据集[11]和算法研究[12-16]。这些研究使用手工提取特征的传统方法[13,15]或CNN方法[12,14,16]实现对不同目标的检测或解析。但值得注意的是,非常少的研究针对港口中的船只这一对国防安全以及港口调度十分重要的目标,而基于图像技术能够实时鲁棒识别船只和港口区域解析的研究成果还没有公开显示。

针对以上问题,本文提出一种多分支融合级联网络(multi-branch fusion cascade network,MBFCN),以实现SAR影像中的港口和船只目标识别。主要贡献如下:提出多分支网络实现特征提取,结合下采样图像和模型压缩方法以提升运行速度;提出一种级联方法以融合和细化两不同输出网络的特征,以提升架构的准确性;将网络剪枝、模型压缩、下采样图像以及级联等网络加速技术融合使用;收集了一种可验证的港口SAR图像数据集,可进一步开放以供其它研究。

1 多分支融合级联网络

单任务的卷积神经网络分为特征提取部分和特征处理部分。检测网络在CNN提取特征图后使用anchor框用于和真实标签匹配以筛选出正确目标,而场景解析分割网络基于像素级分类,使用特征图进行逐像素分类并在分类后映射至原始图像。所以,基于CNN实现目标分割任务与检测任务的不同之处仅在于特征图的处理机制。MBFCN的目的是在分割配合下实现港口和车辆的实时识别,这需要网络的参数足够少以实现高速计算。所提出的架构如图1所示,图中分数(如1/8等)表示前一卷积模块输出的特征图相对于原始图像的大小。

图1 MBFCN架构

1.1 实时策略分析

深度学习算法虽然实现了目标特征的自主学习并大大提高了图像识别的准确度。但同时也伴随着数以万计的数据处理,这需要依赖强大的硬件以支持这种运算。这种困惑也催生了网络加速技术的出现。目前的网络加速策略主要包括3个方面,即下采样输入、下采样特征以及模型压缩。

下采样输入策略以原始图像为目标,将原始图像下采样为更小比例的图像,如1/2或1/4。由于CNN主要对图像中的每个像素点做特征计算,缩小图像意味着计算量的减少。这种方法虽然极为有效,但以牺牲准确度为代价,随机处理缩小图像会使图像的某些重要特征丢失,尤其是面对小目标特征,这是无法弥补的。

不同于下采样输入,下采样特征图是对CNN特征提取后的输出图做比例缩小,这仍然为了减少后续特征处理步骤的计算量,对特征图做随机丢弃仍然会失去某些重要特征,甚至劣于下采样输入策略。

模型压缩是最现实的策略。它基于减少网络层数或减少卷积层的滤波器数量,以从结构上实现参数的减少。但这需要较好的理论计算,且不同的图像可能需要不同的策略,并不能具有很好的通用性。减少网络层数对于尺寸较大的原始图像来说并不适用,这不能捕捉到图像中更细微的特征。而随机减少某一卷积层中滤波器的数量可能会导致精度的迅速下降。

如何将不同方法相结合,既保留较多的特征信息又能够加快计算是值得考虑的问题。MBFCN利用以上3种策略结合的方式实现最终的目标。

1.2 网络结构

MBFCN使用多尺度网络实现不同大小目标的特征提取。主要包括3个基础CNN特征提取网络和特征图处理网络。3个基础CNN分别处理原始、下采样1/2以及下采样1/4的高中低3种分辨率图像。其中,针对下采样1/4的图像输入网络最深,它是基于FCN的改进版本,基础网络采用轻量化网络MobileNet[17]。卷积层相应地将输入缩小1/8并且产生原始空间尺寸的1/32。然后使用几个扩张的卷积层来扩大感受野而不对空间尺寸下采样,输出尺寸为原始的1/32的特征图。针对下采样1/2比例的输入网络相比于1/4比例包含更多的信息,对此该分支缩减基础网络的层数,仅包含MobileNet而不包含扩张卷积模块,这可以减少参数。另外,值得注意的是,中分辨率分支和低分辨率分支在MobileNet上实现权值共享,这不但压缩了模型也加快了收敛速度,更少的迭代次数实现较好的结果。对于参数最多的原始图像分支,保留大多数的小目标信息。文献[2]中表明,底层网络包含较多的信息。而下采样一定的比例并不会对图像中包含的大目标信息产生较大的影响,所以中低分辨率分支负责大目标的精细特征提取,而高分辨率分支负责保留并提取小目标特征。高分辨率分支仅包含3个卷积层,输出特征图为原始图像的1/8。

3个分支输出的特征图大小并不一致,所以不能直接融合使用。为此,MBCFN使用级联结构(cascade structure,CS)融合两个不同的特征图并计算融合后的损失。级联融合结构如图2所示。

图2 CS级联结构

如图2所示,给定两个不同大小的特征图F1和F2,其中后者的空间分辨率是前者的两倍(这符合MBFCN这3个分支结构),经过处理后输出融合后的特征图F3。首先F1输入结构后使用上采样扩展一倍,使之与F2大小相同。然后使用3ⅹ3卷积核和扩张为1的扩张卷积细化上采样后的特征图,之后使用批量归一化。将细化后的特征与F2使用逐像素相加后取平均的策略实现融合,如式(1)所示。融合后的特征通过PENLU[18]激活,最终输出F3

(1)

其中,每个矩阵表示n×m大小的特征图,Aij和Bij分别表示对应特征图中的某个元素。

高分辨率分支在经过CS结构后输出图像尺度为原始大小的1/8。此时的特征图包含了不同大小的极其细微的特征,但图像尺寸仍然太大。以输入1024×1024像素图像为例,高分辨率分支经过CS后得到的特征图大小为128×128,这显然不适合后续策略。所以,在其后增加卷积层以及池化层以快速缩小图像尺寸使得最终输出32×32大小的特征图。由于不需要检测极大的目标,所以不需要极小的特征图。

1.3 金字塔池化分割模块

图像中不同目标之间的相互关系也被称为上下文联系,这在语义分割中显得不可忽略。MBFCN引入文献[19]中金字塔特征模块来处理特征图中每个像素点之间的联系。所谓上下文关系即图像中物体之间的相互关系,即船只不可能出现在公路上,而应该在水中或港口。这加强了特征之间的联系。MBFCN使用的金字塔池化模块结构如图3所示。

图3 金字塔池化模块结构

如图3所示,从Conv6中输出的特征图经过平均池化后输入3级网络分支以联系上下文信息。3个不同分支分别由3个卷积核大小不同的卷积层组成,卷积核分别为1×1、3×3以及5×5。不同的卷积核大小将同一特征图拆分成不同大小的子区域,这能够概括细节和细节周边的相互关系。之后每个分支通过上采样以统一尺度,最终输入连接层进行最后的预测。

在MBFCN中,每个像素点被Softmax分类以预测该像素的类别概率,如式(2)所示。损失函数采用交叉熵损失,它计算所有像素点分类损失之和,如式(3)所示

(2)

(3)

损失计算中X表示所有像素点的集合,Q(xij) 表示真实标签,而P(xij) 则为式(2)中计算的概率。

2 实验与评估

为了充分评估MBFCN的性能,利用公共数据集与众多优秀场景解析网络进行实验对比。另外,为了验证所使用策略的作用,进行消融实验以更具有说服力。

2.1 数据集

广袤海洋中寻找船只极为不易,且背景单一,不利于评估架构的性能。而公开数据集的缺乏增加了自主收集数据的必要性。港口区域内目标复杂,船只、车辆、机械设备以及集装箱等共存,背景包括海洋和陆地且二者之间分界线往往是不规则的曲线分布,这给利用SAR图像识别船只带来的较大地干扰,也能为评估识别架构的鲁棒性提供真实的测试数据。为此,在Google Earth中收集包含众多船只的港口区域图像。这些区域包括长江、珠江以及东海附近的码头和港口。所有被收集图像的比例尺固定为1∶100,并由一个1024×1024大小的固定框选取以避免人为手动收集产生误差。整理收集后的图像,其中3000张被用作训练集,800张被用作验证集,235张被用作测试集。之后手动对这些数据进行像素点标注。另外,为了增加测试难度,本文的任务不仅仅解析船只,也对陆地进行分割解析,以分割出海岸线,海洋区域则被视为负样本,即背景0。

2.2 评估指标

为了更好地评估所提出算法的性能,采用均交并比(mean intersection over union,MIoU)指标评估解析的准确性。另外,执行时间(Times)以及执行速度(FPS)被采用以评估MBFCN的实时性。IoU在语义分割中指单个类别中真实标签与预测值集合的交集和并集的比值,转换到具体的数据时即为TP(正样本被预测为正样本)与TP、FN(正样本被预测为负样本)及FP(负样本被预测为正样本)之和的比值,MIoU则在此基础上对所有类别中的IoU求和后取类别平均,如式(4)所示

(4)

其中,k表示类别数量,在本文中k=2。

另外,执行时间(Times)表示单张测试图像从输入至结果输出所用时间(即网络前向时间)。而执行速度(FPS)表示模型每秒可处理的图像帧数。

2.3 实验过程

实验基于深度学习框架Caffe[20],使用两张NVIDIA GeForce 1070 GPU并行训练,测试时使用单张GPU。另外,所有的实验均使用CUDNN 5.1以及CUDA 8.0加速优化。由于MBFCN没有合适的预训练模型,所以采用了数据增强进行原始训练,数据增强的方法包括镜像和随机翻转。训练时的参数设置为:原始输入图像为1024×1024,高分辨率图像由原始图像直接输入;中分辨率分支由原始图像下采样至512×512后输入;低分辨率图像由原始图像下采样至256×256后输入;批量大小为12;初始学习率为0.01;学习率衰减方式为多项式衰减(poly),衰减功率为0.9;优化方式采用Adam优化;权重衰减为0.0001,动量为0.9;最大迭代次数为60 000。所有的消融实验均基于此设置标准。另外,复现了其它先进场景解析架构在本数据集中的表现,经过多次参数优化使之实现最好的效果。

2.4 结果分析

实验分为两个部分,消融实验以验证所使用不同策略的有效性,而与先进架构的对比实验以验证MBFCN的先进性。

2.4.1 消融实验

实验被分为两组,一组验证分支级联架构,另一组在分支级联架构基础上使用特征金字塔结构。第一组实验中又分为7个部分,分别为完整的分支级联结构、每个分支单独作用以及3分支两两组合以验证完整级联架构的优秀。实验结果见表1。表1中以数字A、B、C分别表示低、中、高分辨率3个子分支,ABC则表示完整的分支级联架构,AB、BC及AC表示两两组合的双分支结构。所有单分支均使用原始图像直接输入。使用双分支结构时,较低分辨率分支由原始图像下采样1/2后输入。

表1 分支级联架构结果对比

由表1结果可知,只使用高分辨率分支速度最快,但这以大大牺牲精度为代价,实际速度已经远远超过现实需求。另外,双分支结构在准确度相差无几的情况下能有效提高运算速度,这验证了级联结构的优势。完整的三分支级联结构在MIoU指标中表现最好,且速度相比高精度的单分支结构拥有优势,实现了18FPS。这验证了MBFCN能够在保证速度的前提下实现最好的像素解析效果。低分辨率分支能够较好地学习较大范围目标的特征而高分辨率分支能够较好地保留小目标信息。

消融实验的第二项测试金字塔池化模块。这项工作主要验证金字塔池化结构对于目标间联系的重要性。选用表1中ABC分支结构为基础网络搭配特征金字塔池化与单一池化网络对比。实验结果见表2。1×1、3×3以及5×5分别表示池化层后单独使用该卷积核大小的一个卷积,1+3表示使用1×1和3×3两个并行卷积,3+5表示使用3×3和5×5两个并行卷积,而1+3+5表示使用如图3中的完整金字塔池化模块。需要注意的是,本实验关注的重点是实验的准确度,所以表2中只统计MIoU指标。

表2 金字塔池化模块实验结果

由表2结果可知,1ⅹ1单卷积核相比于3×3及5×5卷积核效果更好,这是因为1×1卷积核能够细化特征。另外,使用双卷积均优于单独使用其中之一。而完整的金字塔池化模块结果最优则验证了目标之间联系的重要性。图4显示了单独使用1×1卷积核与使用完整金字塔池化模块识别效果图,其中黑色背景被视为海洋。可以看出不使用金字塔模块可能会将陆地上其它类似物体识别为船只,而金字塔池化模块可以有效避免。

图4 单卷积池化模块与金字塔池化模块识别对比

2.4.2 与先进架构的性能比较

FCN[5]、PSPNet[19]、SegNet[10]、ENet[9]等作为目前最先进的深度学习方法被用于验证MBFCN的性能,这些架构按照作者最先进的操作方式复现在提出的数据集中。统计指标包括MIoU、运行时间以及测试速度,而被对比的原始架构采用其它评估指标时转换为MIoU指标。实验结果见表3。

表3 MBFCN与先进架构的对比

由表3中实验结果可知MBFCN识别结果最好,领先PSPNet达1.29%,且在速度指标上远远领先PSPNet。另外,MBFCN的速度排在所有架构中的第二位,超过18 FPS,但在MIoU指标上大幅领先其它实时架构,这表明MBFCN性能均衡。图5显示了MBFCN分割结果。图5中分割结果与真实标签对比显示了良好的适用性。

图5 MBFCN分割结果

3 结束语

使用Google Earth中采集的多样化图像数据进行测试,结果表明了提出的多分支融合级联网络能够识别到大部分的船只目标,对港口区域的边界分割也较为准确,这表明了MBFCN的适用性。与众多先进架构和自身消融结构的测试结果对比表明,不同分辨率的多分支表现优于其它先进单一网络结构,融合多种加速优化策略综合表现优于单独的模型压缩或剪枝。值得注意的是,MBFCN在细节处仍然存在表现不佳的情况,例如船只边界模糊不清,这需要更加精细的特征。MBFCN有助于利用SAR影像多用途海上侦测和港口船只调度等任务,为进一步提升港口智能化管理以及监测提供一种新的参考方法。MBFCN显示了在复杂背景下优秀的识别能力,未来将尽可能将其扩展至其它SAR图像目标识别领域,并继续优化模型以捕捉更精细的特征。

猜你喜欢
池化级联分支
基于高斯函数的池化算法
铀浓缩厂级联系统核安全分析
一类离散时间反馈控制系统Hopf分支研究
卷积神经网络中的自适应加权池化
一类四次扰动Liénard系统的极限环分支
巧分支与枝
富集中间组分同位素的级联
—— “T”级联
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
基于级联MUSIC的面阵中的二维DOA估计算法