《武汉工程大学学报》  2020年02期 213-217   出版日期:2021-01-26   ISSN:1674-2869   CN:42-1779/TQ
基于目标形状卷积神经网络在舰船分类中的应用


近年来数据的爆炸性增长,计算机显卡性能的不断提高,卷积神经网络(convolutional neural networks, CNN)已经成为完成图像识别的首选方法[1]。CNN中卷积核通过一组滤波器在输入图像数据的各个通道上进行卷积运算提取特征图的特征,激活函数通过引入非线性映射使网络具有非线性表达能力,池化层通过下采样方式减小特征图的大小使数据量减少。多种结构相互交错叠加,使得CNN能够完成目标特征提取任务,通过融合特征分类器完成图像识别任务。与传统的图像处理算法相比,CNN具有准确率高、泛化能力强、鲁棒性好、不需要人工设计的特点。CNN也有其弊端,在进行特征提取时,只是简单地堆叠大小相同的卷积核进行大量计算,每个卷积核只能提取到当前感受野内的局部特征,导致融合局部特征需要后续更多的卷积核通过增大感受野的范围来提取全局特征。本文根据舰船目标固定的几何形状特征,设计出适应目标形状的卷积核和特定的卷积结构,能更加有效地提取出舰船目标特征,减少目标特征提取过程中的盲目性,缩小特征提取过程的时间和空间开销。1 相关工作AlexNet中使用5层的卷积网络完成目标识别任务,其中卷积核的形状为7×7和5×5,能达到比传统图片处理方法高出10.9%的分类准确率[2]。牛津大学设计出更深的卷积模型来提取目标特征,将AlexNet中原有的7×7的卷积核替换成3个3×3的叠加卷积层,5×5的卷积层替换成2个3×3的叠加卷积层,减少了参数的个数,同时达到了更高的分类准确率。视觉几何组 (visual geometry group,VGG)将网络深度由AlexNet的5层提高到16、19层,在ImageNet数据集上达到了93.34%的分类准确率[3-5]。当网络的深度继续增加时,网络中神经元已经达到饱和,准确率无法继续提高,反而网络中参数的个数增多使训练难度更大,网络难以收敛。残差网络(residual network,ResNet) 通过引入残差模块很好地解决了网络层数增加导致的准确率下降问题[6]。当网络前些层训练达到饱和时,后续层中的神经元不能起到提高网络识别准确率的作用,残差模块能跳过这些不起作用的神经元,简单地执行恒等映射,减少了需要训练的神经元个数,提高了网络训练效率。目前卷积神经网络已经在发票检测[7]、人脸检测[8-9]、火焰烟雾检测[10]等方面展现出了显著作用,将其应用于舰船检测[11-13]领域中也取得了很大进展。岳丹丹等[14]通过融合多个二分类器对航空母舰、驱逐舰、护卫舰、客船、集装箱、民用货船6种船只类型进行识别,达到了89%的平均分类准确率;赵亮等[15]将卷积神经网络结合方向梯度直方图,颜色空间特性完成对舰船目标的特征提取任务,使用支持向量机[16-17]对集装箱船、客船、渔船、帆船和舰船5类船只进行识别,达到了93.6%的平均分类准确率;刘峰等[18]通过对串联的三波段数据进行排序,同时提取三波段信息对6类舰船目标进行识别,达到了84.5%的平均分类准确率;吴建宝等[19]通过改进GoogleNet模型[20],在对舰船、民船、非船类目标3种类型目标识别任务中达到了99.0%的平均分类准确率,在对集装船、潜艇、货船等43种舰船目标的识别任务中达到了90.21%的平均分类准确率。这些方法都取得了良好效果,识别准确率较传统识别方法有了较大程度的提升,但是识别任务中忽略了舰船固定的几何形状。舰船的形状在识别任务中不会发生改变,本文使用适应舰船形状的卷积核来提取舰船目标特征,使单个积卷积核尽可能多地提取出更多目标特征,减少网络提取目标特征过程中的时间和空间开销,达到更高的识别准确率。由于网络卷积结构的特殊性,本网络取名为适应几何特征的卷积网络(ShapeConv)。2 适应几何特征的卷积网络由于舰船目标特定的形状结构,采用3×5,5×3,3×1,1×3的卷积核堆叠形成一层卷积结构用于提取舰船特征,在每层卷积结构后加一层最大池化层将特征图大小减半,卷积模型共四层卷积结构和四层最大池化层,最后一层的全连接层使用卷积结构提取到的特征对舰船目标进行分类。训练过程采用交叉熵函数作为损失函数,使用随机梯度下降算法对网络模型进行训练。2.1 网络模型整个网络模型由4个特定卷积结构叠加而来,在每个卷积结构后面有一个最大池化层用于减小特征图大小。网络最后一层为全连接层,输入为卷积结构提取的目标特征,输出为目标类别数目。网络模型的结构如图1所示。2.2 形状卷积核网络采用5×3,3×5,3×1,1×3的卷积核用来提取目标的特征。舰船的长宽比率为5∶3或者3∶1,所以采用此形状的卷积核来提取目标特征得到特征图。在卷积过程中,当卷积核进行卷积运算的区域对应的感受野与原输入图像中的目标方向大小一致时,单个卷积核能最大程度的提取出单个目标特征,此卷积核中所提取到的特征含有大量的目标信息,仅有极少的非目标特征。在卷积过程中,特征图在每层卷积结构中由于未进行池化操作,特征图大小不会发生变化。在经过最大池化层后特征图的大小会缩小为原来的一半。在前几层的特征图中,卷积计算的区域所对应的感受野在原图中的大小可能与目标物的大小不匹配,经过最大池化层后,在特征图上的卷积区域对应的感受野随着池化次数的增加而变大,进而与输入图片中的目标大小相适应,单个卷积核就能提取到目标整体特征。此卷积结构也能很好地提取到小目标的特征。在卷积过程中一个卷积层结构由4个5×3,3×5,3×1,1×3的卷积核堆叠而成,每个卷积核后以relu函数作为激活函数,relu函数如公式(1)所示。[fx=max0,x] (1)单个网络结构图如图2所示。[5×3][3×5][3×1][1×3][池化][relu][relu][relu][relu]图2 ConvNet结构Fig. 2 ConvNet structure每层卷积结构中特征图数量不变。从输入的3个通道,到经过第一个卷积结构后,特征图的数量变为16,在后续的卷积结构中,特征图数量翻倍。2.3 训练方法在网络训练过程中设置批次大小为32,采用softmax函数完成舰船的分类任务,交叉熵代价函数作为网络的损失函数。反向传播过程中,使用随机梯度下降法对网络模型进行训练。在网络结构中,使用与VGG16网络相同的损失函数(交叉熵代价函数),如公式(2)所示。 [L=-1ni=1Nylna+1-yln1-a] (2)式(2)中[L]表示一个批次样本总的损失,[x]表示样本,[n]表示样本的总数,[a]表示网络的期望输出,[y]表示样本的实际输出。3 实验部分3.1 实验平台及数据集实验平台。本网络基于tensorfolw框架进行开发,采用tensorboard进行可视化。实验所用设备为cpu i7、nvidia GTX 1070Ti显卡、16 GB内存电脑。电脑系统为linux的Ubuntu16.04版本,使用cuda8.0,cudnn9.1进行显卡加速计算。目前虽然存在大量的公开数据集,但没有专门用于舰船分类的训练数据集。在本次实验中使用的训练数据由各种军事网站和各大网站中的视频截取而来的可见光图片数据组成,总的样本个数为4 201,总共包含30类舰船类型,每个类别平均127张图片,最少的类别的图片数目为53张,虽然存在样本数目分布不均衡的情况,但并未对实验的结果产生影响。本文所用部分数据样本缩略图如图3所示。图3 部分数据样本缩略图Fig. 3 Thumbnail of partial data sample3.2 图片预处理本网络先对输入的图片进行缩放操作,将输入图片大小固定为224×224×3。训练的样本以图片几何中心为中心点进行30°、60°旋转,超出原始图像的部分进行裁剪,空缺部分进行零填充。同时对原图和旋转后的2张图片进行灰度化处理,并将3张进行灰度处理后的图片进行叠加,最终形成224×224×3的输入。在VGG16网络中输入图片是224×224×3的三通道彩色图片,在本文的识别任务中,虽然输入到网络中的输入图片也是224×224×3,但是包含了3张不同角度的灰度图。在传统的目标识别中,颜色这一特征是图片的一个重要特征,但是在人识别物体时,即使是1张灰度图片,视觉系统也能辨认出物体所属的类别,所以颜色特征在此类目标识别任务中并不能起到太大的作用。为了减少计算所花费的时间,将3张图片进行了灰度处理,减少不必要的计算所用时间。在预处理过程中,对图片进行30°、60°的旋转使图片中的目标与卷积核的方向一致。为了使目标方向与卷积核方向相同,可以对输入图片进行0°~90°的旋转,实验表明30°、60°旋转已经可以让识别任务达到99.9%的准确率。对图片进行旋转操作时,图片的部分区域相对于原始图片会超出显示范围,将超出原图显示的部分进行裁剪。裁剪的部分可能包含目标信息,由于原始灰度图仍保留有目标信息,裁剪不会导致目标信息丢失。在旋转的同时,图像的部分区域会出现像素值缺失,缺失的像素值进行零填充。未处理的图片与预处理后的图片对比如图4所示。[ a ][ b ]图4 未处理的图片和预处理后的图片对比:(a) 未处理,(b) 预处理后Fig. 4 Comparison of unprocessed and pre-processed pictures:(a) unprocessed,(b) pre-processed由图4中2张图片的对比能发现未处理的图片与处理后的图片的区别,肉眼已经无法分辨出预处理后的图片中目标物所属的类别,这样的输入对神经网络来说是有意义的,神经网络对目标的识别并不依赖于目标的整体外观而是依赖于图片中像素以及像素之间的相互关系。3.3 实验结果使用VGG16,ResNet_v2_101,inception_v2,inception_resnet_v2这几种分类网络进行对比实验,批次均设为32。准确率、准确率方差、损失、损失方差均采用网络收敛后10 000步的实验数据进行对比,结果如表1所示。从表1结果可以看出,ShapeConv所需的训练次数为5.24万次,训练时间为136 min,准确率为99.7%,损失为0.033。与其他4个分类网络相比,具有更少的训练次数和训练时间,更高的准确率和稳定性。各个网络的准确率变化情况如图5所示。由图5可以看出ShapeConv以最快的速度达到收敛。当训练到5.24万次后网络完全收敛,准确率稳定在99.5%~100%,当网络收敛后,ShapeConv具有更高的稳定性和准确率。由于网络参数的个数少,且卷积核的形状与目标物的形状相同,卷积核能更好地提取出目标特征,取得最快的训练速度和最高的训练准确率。为了得到更好的实验结果,在使用本网络进行训练时,由原来4层卷积网络提高至5层。实验结果显示,5层的卷积网络的识别准确率也是99.7%,网络层数的增加并未提高网络识别目标的的准确率。在VGG16中使用与ShapeConv相同的图片预处理,实验结果显示未进行预处理的图片与预处理后的图片输入到VGG16网络中得到的准确率相差0.5%以内。证明了图片的旋转在采用3×3形状卷积核的网络上并不能起到任何作用,相反增加了操作的复杂度。在进行舰船目标识别时,对输入数据进行旋转操作时只有卷积核的形状和目标形状相适应时才能起到作用。4 结 论以上阐述了与目标物形状相适应的卷积网络对舰船目标进行识别的方法。利用适应舰船形状的卷积核叠加形成一个特殊的卷积结构来提取舰船目标特征,在对30类舰船目标进行分类的实验中取得了99.7%的分类准确率,比通用的分类网络VGG16,ResNet_v2_101,inception_v2,inception_renet_v2均高出超过1%的准确率,并且训练时间只有上述网络中训练花费时间最短的网络的1/3。在网络收敛后,具有最高的稳定性。同时本实验证明了将采用与ShapeConv相同方式预处理后的图片输入到VGG16的网络中,由于卷积核大小与目标形状不匹配并不能起到任何的效果,只有使用适应舰船形状的卷积核才能最大程度地提取目标的特征,减少卷积层的层数,节约训练时间。本网络适用于目标形状特征明显的目标识别任务。