王新立, 江福才, 宁方鑫, 马全党, 张 帆, 邹红兵
(1. 武汉理工大学 航运学院,武汉 430063;2. 内河航运技术湖北省重点实验室,武汉 430063;3.集美大学 航海学院,福建 厦门 361021;4. 中国科学院自动化研究所,北京 100190)
随着经济的不断发展和贸易全球化的不断推进,航运业的发展日益加快,对无人船进行研究逐渐成为热点。目前船舶已配有船载自动识别系统(Automatic Identification System, AIS)和自动雷达标绘仪 (Automatic Radar Plotting Aid, ARPA)等船舶驾驶辅助设备,但这些设备在目标检测中存在一定的局限性。例如:AIS只能显示已安装并开启AIS设备的船舶的信息;雷达设备容易受到雨雪、海浪及其他电磁的干扰。船舶在实际航行过程中,仍然需人员对物标进行辨识,因此在对无人船进行研究时,首先要解决海上目标的自动识别问题。
在船舶目标检测问题研究中,基于雷达图像的目标检测方法只适用于较大的目标,对弱小目标进行检测的效果并不理想;在红外图像的目标检测上,红外成像系统本身受到较强的噪声干扰,目标检测存在较大的困难;在可见光图像目标检测上,雾、雨等低能见度天气和夜间环境下的目标检测比较困难。相对于该目标检测方法,通过深度学习中卷积神经网络进行船舶目标检测的方法更优。
对此,提出基于改进卷积神经网络的船舶目标检测方法,通过设计采用多策略的卷积神经网络模型,并引入目标检测方法中2个常用的网络模型,与其进行试验结果对比,验证改进卷积神经网络模型的效果。
卷积神经网络是前馈神经网络的一种,是HUBEL等[1]在关于猫视觉皮层的研究中提出的。KRIZHEVSKY等[2]在其提出的AlexNet模型中首次将卷积神经网络应用到图像分类任务中。GIRSHICK等[3]首次将卷积神经网络应用到目标检测任务中,提出R-CNN(Region-Based Convolutional Neural Networks)模型。随后,GIRSHICK[4]又提出基于SPP-Net(Spatial Pyramid Pooling Networks)的思想改进模型Fast R-CNN,并基于R-CNN模型的区域提名方法提出端到端无需区域提名的YOLO(You Only Look Once)模型[5],简化整个目标检测流程,极大地缩减目标检测的运行时间。针对YOLO模型的缺陷,又发展出SSD(Single Shot MultiBox Detector)[6]模型,在保持YOLO模型高速运行检测的同时,使检测准确率得到极大的提高。
卷积神经网络结构包括特征提取层和特征映射层。在保证提取特征位置关系不变的条件下,为降低卷积神经网络中特征的分辨率,会在部分卷积层后面采用局部特征提取的二次特征提取结构。当卷积神经网络的输入是图像时,网络可直接对图像进行计算处理,无需进行其他复杂的图像处理计算,相比传统方法中的特征提取等过程,可极大地提高算法的性能。
图1为深度卷积神经网络AlexNet模型结构示意,该网络有多达6 000万个参数和65万个隐层神经元,网络由5个卷积层及在conv1卷积层、conv2卷积层和conv5卷积层后面连接的最大值池化(max-pooling)层、最后面顺序连接的3个全连接层构成,最后一层全连接层是分类层。
卷积层是卷积神经网络的特征提取层之一,卷积层中的操作是对前一层的1个或若干个特征图和该层中的1个或若干个卷积核进行卷积操作,产生1个或若干个输出,映射到该层特征图上。卷积层的前向计算式为
(1)
式(1)中:l为当前层;Mj为输入特征图的集合;k为卷积核;b为偏置参数。
激活函数是作用于卷积层和全连接层之后的非线性计算操作,目前常用的激活函数模型及计算式见表1。
表1 常见的激活函数模型及计算式
池化层对卷积层输出特征图中不同位置的特征进行聚合统计操作,以最大值池化为例,其操作就是在输入特征图的每个池化窗口中提取所有特征中最大的特征值作为池化后的卷积特征。图2为最大值池化示意。
卷积神经网络通过前向传播计算目标函数的误差值,通过反向传播误差值对隐层神经元的参数进行迭代更新,通过多次迭代使目标函数的值达到最小。监督学习的目标函数可表示为
(2)
式(2)中:θ*为目标函数最小时的θ值;L()为损失函数;Φ(θ)为正则化项,防止出现过拟合问题。
1) dropout策略是以一定的概率将隐层神经元的输入和输出设置为零。选中“dropped out”的隐层神经元在网络中既不参与前向传播,也不参与误差的反向传播,但其权重会保留下来。
2) 批规范化策略是在卷积计算和激活函数中间进行规范化计算,逐层尺度归一。
3) 边框回归策略可使网络生成的边框和标准目标边框的交并比值更高。
4) 非极大值抑制算法[7]用于在n个目标边框中搜索极大值,抑制非极大值边框,消除交叉重复的边框。
深度卷积网络可有效整合不同层次的特征信息,确保更深层、更全面的表达特征可用加深网络层数的方法实现。因此,采用50层深度残差网络作为特征提取网络,引用深度残差学习框架克服深度网络精确度饱和/退化的问题。
考虑到模型计算的成本,对残差块进行优化计算,将2个3×3顺序连接的卷积层用1×1、3×3和1×1顺序连接的卷积层替换(见图3)。该模型采用的激活函数是Re LU。
在对每层的输入进行卷积计算之后,需在Re LU激活函数之前对卷积计算的输出进行批规范化处理,以保证下一层的更新更快、更准确。
深度残差网络的参数见表2, 其中:res1为7×7尺寸的卷积核,有64个,步幅为2;后面接3×3池化窗口的最大值池化操作,步幅为2;res2_x~res5_x为多个卷积层的组合。
表2 残差网络结构参数
网络采用3×3尺寸的卷积核在特征提取网络卷积得到的特征图上进行滑动扫描,每个滑动窗口有9种不同的锚,因此每个滑动窗口滑过的位置有9个候选区域,窗口的中心点对应原图上的位置点,网络学习到的平均候选区域大小见表3。
表3 候选区域边框的设计
卷积层输出512维数据:一个分支连接候选区域提名网络的分类评分层,该层采用1×1×512×18尺寸的卷积核,将前面的512维数据转换为18(2×9个锚)个输出,判断该点的候选区域是前景还是背景;另一个分支连接候选区域提名网络的边框预测层,该层采用1×1×512×36尺寸的卷积核,将前面的512维数据转换成36(4×9个锚)个输出,对应该候选区域边框的中心点坐标(x,y)和边框宽、高(w,h)值。通过光滑L1(smoothL1)函数计算得出,其计算式为
(3)
候选区域提名网络分配给2类锚为正标签,即:与标准目标区域边框有最高的交并比值的锚(可能<0.7);与任意标准目标区域边框有交并比值>0.7的锚。所有与标准目标区域边框交并比值<0.3的锚分配为负标签。由于会产生很多候选区域,这些候选区域会有很多重叠区域,因此模型采用非极大值抑制算法将候选区域边框之间交并比值>0.7的区域全部合并。在测试候选区域提名网络时,没有原始数据的相关连接和损失函数的计算部分。
模型多任务损失网络中有2个同级输出,分别为分类评分层和边框预测层,且都是全连接层。多任务数据结构示意见图4,分类评分层用于分类,输出k+1维数组p,表示候选区域分别属于k个类别和背景的概率。对每个感兴趣的区域输出离散型概率分布:p=(p0,p1,…,pk),通常全连接层利用softmax函数计算得出p的值。边框预测层用于调整候选区域边框的位置,对候选区域边框进行回归计算,输出4×(k+1)维数组t,表示分别属于k个类别和背景时,应平移、缩放的参数tk=(txk,tyk,twk,thk),其中:k表示类别的索引;txk和tyk指相对于目标边框尺度不变的平移;twk和thk指对数空间中相对于目标边框的高和宽。
遵循Fast R-CNN中多任务损失的定义,将一个图像的最小化目标函数定义为
(4)
模型用Fast R-CNN相对应层连接在pool5层之后,构造一系列输出节点为“4 096-4 096-(4+16)”的全连接层,然后连接相应的损失函数,在全连接层的内积操作和激活函数(Re LU)层中间添加批规范化(bn)层、缩放(scale)层和dropout策略。参考HyperNet[8]目标检测方法中dropout的参数,设置dropout_ratio参数为0.25,在候选区域提名网络和多任务损失网络中间无需损失函数层。
召回率(recall)和准确率(precision)是衡量卷积神经网络目标检测的度量值,其计算式为
(5)
式(5)中:Ntp为检测到的相关类别与实际类别一致的样本数量;Ngt为该相关类别的样本总量;Np为检测到的样本总量。
在目标检测任务中,召回率和准确率是一对相互矛盾的指标,因此采用单类平均准确率[9]和多类平均准确率指标。
该试验所用的电脑采用linux内核ubuntu14.04操作系统,在深度学习的Caffe框架下配置试验模型,采用CUDA7.5版本的加速工具箱。人工挑选船舶图像5 006张,包括小型船1 378张、帆船2 366张和运输船1 262张。
模型的卷积层卷积核参数和全连接层参数初始化类型选择Xavier[10],全连接层fc6和fc7的偏置参数为常量0.1。fc7层后面连接的分类评分层中参数初始化采用均值为0、标准差为0.01的高斯分布,连接的边框预测层中参数初始化采用均值为0、标准差为0.001的高斯分布。网络参数设置minibatch_size为128,迭代次数为100 000次,分2个阶段进行,其中:第一阶段学习率设为0.001,迭代80 000次;第二阶段学习率设为0.000 1,迭代20 000次。动量参数为0.9,权重衰减为0.000 5,设置小的权重衰减对于卷积核参数和全连接层参数w的学习而言很重要,可减小模型训练错误概率,w的更新规则为
(6)
式(6)中:i为迭代次数;w为动量变量;ε为学习率。
将船舶数据集输入模型中进行训练和测试,卷积神经网络的多类平均准确率结果见图5。模型目标检验准确率结果见表4。
类别小型船舶帆船运输船多类平均平均准确率0.563 20.773 90.748 80.695 3
取交并比值≥0.7的预测边框参与测评,选取每类比较有代表性的图像进行测评,结果见图6。
为验证该模型的目标检测效果,分别采用基于区域提名的Faster R-CNN(VGG16特征提取网络)模型和基于回归方法的SSD(VGG16特征提取网络)模型在船舶数据集上进行训练和测试。各模型在测试集上的召回率-准确率曲线见图7。
不同模型在不同船舶类别上的测试结果准确率见图8。
试验结果表明:基于本文模型的船舶数据集目标检测方法在准确率上优于采用Faster R-CNN模型和SSD模型所得结果。
总体来说,模型通过采用多种组合策略对船舶数据集的检测性能进行一定的提升,可证明采用该策略的有效性和在船舶数据集检测方面的卓越性。
本文基于计算机视觉中目标检测技术的理论基础,对水上交通中的船舶进行目标检测研究,通过引入卷积神经网络技术,对水上多类船舶目标进行定位和分类,为未来基于计算机视觉的船舶辅助驾驶技术提供新的支撑,为船舶基于计算机视觉的自动导航、自动控制和自动避碰等研究奠定基础。
1) 运用dropout、批规范化、边框回归和非极大值抑制等策略和优化的锚机制提高检测的准确率,同时采用残差块策略抑制网络的退化问题,在船舶数据集的检测上取得明显的提升,在准确率上远远高于Faster R-CNN模型和SSD模型。
2) 本文的水上目标数据集只包含船舶数据集,而水上交通中还有桥梁、岛屿和灯塔等常见的目标图像没有搜集,需进行完善和补充,保证水上目标数据的全面和充足。
[1] HUBEL D H, WIESEL T N. Receptive Fields, Binocular Interaction and Functional Architecture in the Cat's Visual Cortex[J]. Journal of Physiology, 1962, 160(1):106-154.
[2] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet Classification with Deep Convolutional Neural Networks[C]//International Conference on Neural Information Processing Systems,2012,25(2):1097-1105.
[3] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR). USA:IEEE,2014:580-587.
[4] GIRSHICK R. Fast R-CNN[C]// IEEE International Conference on Computer Vision. USA: IEEE, 2015:1440-1448.
[5] REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look Once: Unified, Real-Time Object Detection[C]//Computer Vision & Pattern Recognition, 2016:779-788.
[6] LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single Shot Multibox Detector[C]//European Conference on Computer Vision. Springer International Publishing, 2016: 21-37.
[7] NEUBECK A, GOOL L V. Efficient Non-Maximum Suppression[C]// International Conference on Pattern Recognition. IEEE, 2006:850-855.
[8] KONG T, YAO A, CHEN Y, et al. HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 845-853.
[9] HOSANG J, BENENSON R, DOLLAR P, et al. What Makes for Effective Detection Proposals[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2016,38(4):814.
[10] GLOROT X, BENGIO Y. Understanding the Difficulty of Training Deep Feedforward Neural Networks[J]. Journal of Machine Learning Research, 2010, 9:249-256.
[11] 李君宝,杨文慧,许剑清,等.基于深度卷积网络的SAR图像目标检测识别[J] .导航定位与授时, 2017,4(1): 60-66.
[12] 姚相坤,万里红,霍宏,等.基于多结构卷积神经网络的高分遥感影像飞机目标检测[J].计算机工程,2017,43(1): 259-267.
[13] 邓柳,汪子杰.基于深度卷积神经网络的车型识别研究[J].计算机应用研究,2016,33(3): 930-932.