基于轻量级残差网络的红外遥感船只检测 下载: 1656次
1 引言
随着经济社会的发展,人类的海上活动越来越频繁,对海上大量船只的监控成为难题,尤其是完全被动条件下的监控。因此,利用天基遥感手段对船只进行监控在海上运输、海战态势感知[1]等领域具有重要意义[2],其中,对船只进行高效检测是关键[3]。为加快检测速度和提高检测精度,本文对深度神经网络方法在红外遥感船只检测方面的应用进行了研究。
深度神经网络是近年来的研究热点,在遥感舰船检测中具有独特的应用价值,它通过多层网络获取不同层次的特征信息,具有超高的特征描述能力,可以提取目标更复杂的特征[4]。Li等[5]提出的HSF-Net(hierarchical selective filtering network)由fast R-CNN(region-convolutional neural network)网络改进而来,可以实现端到端的可见光遥感船只检测,并以边界矩形框(bounding box)的形式输出结果。Cheng等[6]针对遥感船只等检测的多方向问题,提出了一种RICNN(rotation-invariant CNN)网络,有效提升了识别精度,但对计算资源的需求也更高。虽然现有的深度学习船只检测方法不断向前发展,但仍存在一定问题:1)网络结果均以边界矩形框的形式输出,不够精细,船只区域的表达方式有待改进;2)这些网络使用32 bit精度的参数,给低功耗平台带来巨大压力。
为了提高对船只检测结果的表达能力,本文采用了编码(encoder)-解码(decoder)网络结构。编码-解码结构的网络在目标识别方面发展迅速,且主要应用在语义分割中,如U-Net[7]、SegNet[8]等,输出像素级的检测结果。相比于边界矩形框,编码-解码结构不仅可以识别目标,还能分割出目标所在像素的位置,更符合视觉要求。编码-解码结构在遥感船只目标识别中的相关研究较少,是值得探索的重点方向。为了降低硬件设备存储资源、功耗方面的压力,本文对编码-解码结构网络的轻量化(二值化、三元化)方法进行了探索。Courbariaux等[9]在2015年提出的二值连接将传统的卷积神经网络中的权重进行二值化处理,Hubara等[10]在二值连接的基础上,将权重和特征图全部二值化,实现了网络参数的高效压缩,但这样会导致检测精度下降。Li等[11]实现了网络权重的三元化,以在压缩的同时改善检测效果。除了权重量化,基于改变卷积核的轻量化方法同样有很多应用,如分组卷积(ShuffleNet[12]、MobileNet[13])、分解卷积(ErfNet[14])等。
基于此,针对船只目标检测中的问题,本文结合编码-解码结构与参数轻量化优势,提出了一种基于语义分割的轻量级网络方法BS-Net(binary segmentation network),输出的是像素级的检测结果;为了提高检测精度,引入残差连接,提出BRS-Net(binary residual segmentation network);依据神经网络稀疏性特点引入参数三元化,提出TS-Net (ternary segmentation network),并进一步提出了TRS-Net(ternary residual segmentation network)。
鉴于红外可全天时工作的特点及其在复杂海况下的优良适用性,本文对红外遥感舰船目标检测进行了重点探索。采用实验室自主研制的红外采集设备进行成像实验,获取红外图像,制作数据集,并对本文网络算法进行对比。
2 基本原理
本节主要包括三部分:1)轻量级网络结构设计;2)根据层级结构与运算方法对二值网络实现过程中的前向传输、反向传输及损失函数进行详细说明;3)二值网络的改进措施,包括引入残差连接和三元化。
2.1 船只检测分割网络的搭建
2.2 轻量级网络中函数的选取
1) 前向传输
轻量级网络在精度上与32位浮点数的精度越来越接近,而在硬件资源消耗上却占据着巨大优势,具有强大的吸引力及不可估量的经济价值。对网络参数存储的压缩存在极限,即1 bit,可表征两种状态(二值化)。
在实现网络参数的二值化方面,考虑到天基遥感应用场景的实时性要求,本文采用决定式方法,即采用sign函数判别运算过程的输出结果,权重W的二值化过程可表示为
二值网络运算过程中的feature map及权重均为二值结果,但图像数据不是二值的,需要进行特殊的处理,将原始图像转为8 bit定点数,权重参数是1 bit。为了实现8 bit的还原,像素值用xn表示。运算过程实现n位与权重的单独相乘后相加,累加输出结果为s,具体为
二值化网络中的BN可以解决协方差偏移,采用2的次方和移位实现乘除操作,即
式中:r为输出结果;x为输入数据;μ为均值;σ2为方差;γ为尺度因子;b为偏置;∈是为防止出现分母为零而设置的一个很小的值。BN在实现网络加速的同时,引入的噪声也可以起到正则化的作用,可在一定程度上防止模型过拟合。本实验在编码及解码过程中均保留BN操作。
在网络的池化层采用最大池化的方法对特征图
式中:l为特征图的序号;j为池化块的序号;K表示设置的邻域大小;M为池化窗口的步长,通常小于K。
2) 误差反向传递
为了减小反向传播过程二值化引起的误差,除了二值化权重值外,还保留了浮点型权重值。浮点值可以更精确地用于更新二值权重。针对二值化网络反向传播的不可导问题(反向传播需链式求导,而sign函数不可导),采用放缩松弛的方法,即
式中:gW为浮点权重的梯度;
3) 损失函数
损失函数对深度神经网络性能的影响较大,网络训练过程的本质是对损失函数进行优化。深度网络中应用最广的是MSE损失函数。MSE表示预测结果与标准结果间的均方误差,MSE越小,表明预测结果越精确,越接近理想的结果。
式中:y为期望的输出结果;a为实际输出;C为损失值。设w为单层权重,b为偏置,z为中间层激活值,用σ(·)表示激活函数,依据损失值和激活函数,基于链式求导,实现w和b的更新。
实验网络最后预测的输出层采用Sigmoid激活函数f(x)=1/(1+e-x),以对两类结果进行判别。在z值较大时会出现σ'(z)很小的情况,这使得w和b的更新非常慢。在变化相同的Δx的情况下,针对Sigmoid函数随着x不断增大而变化越来越小的缺陷,采用交叉熵损失函数实现损失函数与Sigmoid函数的有效结合。
由(7)式可以看出,在交叉熵损失函数中,当y=1时, a越大,a与y就越接近,预测就更加准确,损失函数就越小。
优化方法选取随机梯度下降(SGD)法。SGD法随机选取一批数据样本完成迭代,所在批次样本均参与一次迭代,即实现一个迭代周期。数据批较大时,可以得到更为精确的梯度估计,小批量数据有助于更快收敛。数据批的大小可以根据需要设置合理的数值:
式中:α为学习率,取值范围为0~1;i为权重参数的序号;
2.3 轻量级网络的改进方法
1) 三元化方法
神经网络的权重参数具有稀疏性[15],其数值大部分为0或接近0,服从正态分布,因此对权重强制二值化时带来的误差较大,导致精度损失严重。参数三元化就是将绝对值小于阈值的权重归为0,其余权重依然归为+1和-1,即
式中:Δ是阈值。通常取所有权重绝对值和的平均值E(|W|)的0.7,即
式中n'为权重参数的个数。
三元化参数的存储比二值化多1 bit,其中1 bit用以表征是否稀疏,其余1 bit仍表征+1和-1,因此在运行效率上与二值化相当,并且能够使神经网络权重稀疏化,在减小计算复杂度的同时也能得到更高的准确率和泛化能力。
2) 残差连接模块
随着网络层的加深,会出现梯度消失或爆炸现象,导致深层网络的准确度相较于浅层网络反而下降。残差连接[16]可以把特征图以及所包含的信息无损地传递到下一层,保证网络性能随着深度加深不会变差,同时能加快网络训练,结构如
因此,新层的权重只需学习残差,这样就减小了网络学习的难度。增加残差连接能够在无需新增权重参数的基础上提高精度,且残差网络更容易优化,能够通过增加相当的深度来提高准确率。
3 实验与结果
3.1 实验场景设计与数据采集
采用本实验室自主研制的长波红外相机作为采集设备,利用水槽和船只模型进行海上船只和海上环境的模拟,设计实验中的场景如
采集35次成像实验数据,形成原始船只图片万余张。在数据量满足训练要求的情况下,数据集标签的制作是必不可少的内容。在数据集制作过程中,要实现编码-解码结构的像素级输出,制备标签会耗费大量的时间。在人工标记过程中,红外图像中的目标边缘不够清晰,船只目标偏小,图片均需放大足够的倍数以获取足够的边界点信息。每张图片耗费1 min左右的时间,1万张将耗费约167 h,人力成本消耗相当大。在确保标记精准度的前提下实现快速标注也是重点探索的方向。
针对上述问题,本实验在标注过程探索出了一种新的像素级标签制作方法。首先,选取1000张图片制作初始样本数据集,用于进行网络训练集的测试任务,将剩余的近9000张数据用于测试,得到输出结果;然后,对输出结果中满足人眼要求的高精度识别结果的边界进行手动调整,以扩充数据集。采用这样的操作后可以获取近千余张满足标签要求的样本,经过十余次网络训练与优化,以及最终的手工标注调整,就可有效实现数据集的扩充,得到完整的目标分割像素级标注结果。
图 3. 船只模型和红外成像系统。(a)红外成像系统;(b)水槽;(c)船模;(d)水面船只
Fig. 3. Ship models and infrared imaging system. (a) Infrared imaging system; (b) flume; (c) ship models; (d) surface ship
在初始样本数据集的制作中,采用LabelMe对区域进行标记,利用其多点选取的优势实现像素级的分割。标签制作前后的示例如
图 4. 数据集制作示例。(a)原始数据;(b)用LabelMe标记过的数据
Fig. 4. Samples of ship dataset production. (a) Original data; (b) data labeled by LabelMe
在网络训练过程中,参考经验按照8∶1∶1的规则拆分[17]数据集,即:将80%的图片作为训练集,10%作为测试集,10%作为交叉验证集。为了减少运算量,将数据集中原始图像和标签统一处理为256×256的图像。
3.2 训练与平台
在完成网络结构设计与优化、数据获取与数据集制作之后,进行网络训练实验。根据现有条件,网络训练与测试平台基于NVIDIA GTX1080 GPU,64位Ubuntu16.04 LTS系统。训练代码框架基于TensorFlow,其余的图像数据处理方法采用OpenCV3.2.0实现。
训练是获取网络各项参数的有效途径,在训练过程中,通过多次迭代更新网络参数,使损失函数取得全局极小值。其中,网络初始参数采用随机生成的方式,实验中,每层滤波器大小均设为3×3,池化尺寸为2×2,滑窗步长均为1。梯度下降法的初始学习率设置为α=0.001,每10个迭代周期对学习率进行一次减半操作,训练过程中交叉熵损失值的变化、像素准确率的变化分别如
图 5. 4种网络在训练过程中交叉熵损失值的变化
Fig. 5. Variation of binary cross-entropy loss in training processing for four networks
图 6. 4种网络在训练过程中像素准确率的变化
Fig. 6. Variation of pixel accuracy in training processing for four networks
3.3 实验结果评价
为了更好地对实验结果进行评价,分别对分割图像视觉结果及定量的分割指标进行详细分析。实验选取目标识别及语义分割中的经典评价指标对识别结果进行分析,所用评价指标包括像素准确率βPA、精度P、召回率R,以及综合评价指标F1-score(balanced F score)、βIoU(Intersection over union)。评价指标的计算公式为
式中:NTP为正确识别出船只目标像素的个数;NTN为正确识别出背景像素的个数;NFP为将背景误识为船只像素的个数;NFN为将船只误识成背景像素的个数;A为预测船只目标像素集合;B为真实船只目标像素所在区域。
βPA即像素准确率,表示识别正确的像素(包括船只目标和背景)占所有像素的比例;P即精确率,表示所有被分类为船只目标的像素中真实的船只像素所占比例;R即召回率,表示在所有的真实船只像素中被正确分类的比例。通常希望同时获得较高的精确率和召回率,但这两者在某些情况下是互相矛盾的,因此需要综合考虑它们,常见的方法是取两者的调和平均数,即F1-score。
测试集图片上的视觉检测效果如
图 7. 输出结果对比。(a)输入图像;(b)人工标注结果;(c) BS-Net输出结果;(d) BRS-Net输出结果;(e) TS-Net输出结果;(f) TRS-Net输出结果
Fig. 7. Output results. (a) Input images; (b) output results of manual annotation; (c) output results of BS-Net; (d) output results of BRS-Net; (e) output results of TS-Net; (f) output results of TRS-Net
表 1. 测试集中4种网络对船只检测结果的对比Table 1 Comparison of ship detection results of four networks on testing datasets%
Table 1.
|
由
4 结论
相比可见光遥感船只检测,红外船只检测受大气、光照、云雾和海岛等海面不确定条件的影响较小,且具有昼夜观测不受限的优点,因此成为重点研究方向。本实验室针对红外遥感船只公开数据集缺少的现状,采用自主研制的长波红外相机进行成像实验,并获取、制作数据集;针对目标检测矩形框形式输出结果不够精细的问题,采用分割方法输出像素级的结果;针对硬件资源和功耗的限制,将32 bit的浮点型参数二值化,以减少存储空间,提出二值分割网络BS-Net,使得模型压缩为原来的1/32。针对BS-Net检测输出效果差的问题(F1-score为47.27%,βIoU为30.95%),引入残差连接,提出了BRS-Net。与BS-Net相比,BRS-Net可有效提高检测精度,F1-score提高了22.52个百分点,βIoU提高了22.65%个百分点。针对神经网络参数稀疏性的特点,引入三元化,提出了TS-Net。最后结合残差和三元化两种手段将TS-Net改进成TRS-Net网络,进一步提升了检测效果。TRS-Net的检测精确率为88.73%,准确率为83.34%,F1-score为85.95%,交并比(βIoU)为75.36%,模型大小压缩为原来的1/16。
[1] 鲍松泽, 钟兴, 朱瑞飞, 等. 基于短波红外遥感影像的船只自动检测方法[J]. 光学学报, 2018, 38(5): 0528001.
[2] 王文秀, 傅雨田, 董峰, 等. 基于深度卷积神经网络的红外船只目标检测方法[J]. 光学学报, 2018, 38(7): 0712006.
[3] Jiang B T, Ma X F, Lu Y, et al. Ship detection in spaceborne infrared images based on convolutional neural networks and synthetic targets[J]. Infrared Physics & Technology, 2019, 97: 229-234.
[4] 刘峰, 沈同圣, 马新星. 特征融合的卷积神经网络多波段舰船目标识别[J]. 光学学报, 2017, 37(10): 1015002.
[5] Li Q P, Mou L C, Liu Q J, et al. HSF-Net: multiscale deep feature embedding for ship detection in optical remote sensing imagery[J]. IEEE Transactions on Geoscience and Remote Sensing, 2018, 56(12): 7147-7161.
[6] Cheng G, Zhou P C, Han J W. Learning rotation-invariant convolutional neural networks for object detection in VHR optical remote sensing images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2016, 54(12): 7405-7415.
[7] RonnebergerO, FischerP, BroxT. U-Net: convolutional networks for biomedical image segmentation[M] //Navab N, Hornegger J, Wells W, et al. Medical image computing and computer-assisted intervention-MICCAI 2015. Lecture notes in computer science. Cham: Springer, 2015, 9351: 234- 241.
[8] Badrinarayanan V, Kendall A, Cipolla R. SegNet: a deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481-2495.
[9] CourbariauxM, BengioY, David JP. BinaryConnect: training deep neural networks with binary weights during propagations[C]//Proceedings of the 28th International Conference on Neural Information Processing Systems, December 7-12, 2015, Montreal, Canada. Canada: NIPS, 2015: 3123- 3131.
[10] HubaraI, CourbariauxM, SoudryD, et al. Binarized neural networks[C]//Advances in Neural Information Processing Systems 29 (NIPS 2016), December 5-10, 2016, Barcelona, Spain. Canada: NIPS, 2016: 4107- 4115.
[12] Zhang XY, Zhou XY, Lin MX, et al. ShuffleNet: an extremely efficient convolutional neural network for mobile devices[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 6848- 6856.
[14] Romera E, Alvarez J M, Bergasa L M, et al. ERFNet: efficient residual factorized ConvNet for real-time semantic segmentation[J]. IEEE Transactions on Intelligent Transportation Systems, 2018, 19(1): 263-272.
[15] GlorotX, BordesA, BengioY. Deep sparse rectifier neural networks[C]//Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics, April 11-13, 2011, Fort Lauderdale, USA.USA: MIT Press, 2011: 315- 323.
[16] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
Article Outline
朱天佑, 黄凌锋, 董峰, 龚惠兴. 基于轻量级残差网络的红外遥感船只检测[J]. 光学学报, 2020, 40(1): 0111018. Tianyou Zhu, Lingfeng Huang, Feng Dong, Huixing Gong. Infrared-Remote-Sensing Ship Detection Based on Lightweight Residual Network[J]. Acta Optica Sinica, 2020, 40(1): 0111018.