一种基于改进Faster R-CNN算法的船舶目标识别研究

(整期优先)网络出版时间:2023-08-21
/ 3

一种基于改进Faster R-CNN算法的船舶目标识别研究

李游

(长江三峡通航管理局,湖北宜昌 443002)

摘要:针对传统船舶监测方法中存在工作量大易误判等问题,提出一种基于改进Faster R-CNN算法的船舶检测识别方法。自行拍摄制作船舶数据集,并通过翻转、裁剪、抖动等方式对数据集进行扩充。基于TensorFlow框架搭建深度学习系统环境,选取VGG16-Net作为特征提取网络。通过微调模型、参数调试等方法优化训练模型,提高了检测模型的识别精度。然后通过Faster R-CNN模型对数据进行训练、学习最终船舶平均识别率mAP指标(mean Average Precision)达到90.7%,通过深度学习达到了使用少量样本获得较高识别率的效果。

关键词人工智能;深度学习;Faster R-CNN

Abstract: Aiming at the problems of heavy workload and easy misjudgment in traditional ship monitoring methods, a ship detection and identification method based on improved Faster R-CNN algorithm was proposed. The ship data set is filmed and made by oneself, and the data set is expanded by means of turning, cropping and shaking. The deep learning system environment was built based on TensorFlow framework, and VGG16-Net was selected as the feature extraction network. The training model was optimized by fine-tuning model and parameter debugging, and the recognition accuracy of the detection model was improved. Then Faster R-CNN model was used to train the data and learn the final mAP index of ship Average Precision (mean Average Precision) to reach 90.7%. Through deep learning, a small number of samples were used to achieve a higher recognition rate.

Key words: Image recognition; Deep Learning; Faster R-CNN

绪论

在图像识别领域,传统目标检测方法主要有帧差法、光流法、背景减除法这几类。本文基于深度学习的方法提出一种改进Faster R-CNN算法的检测船舶识别方法。

本文提出的方法大体思路如下,首先自建船舶数据集,基于TensorFlow框架搭建深度学习系统环境,Faster R-CNN算法进行微调模型、参数调试等方法来优化训练模型,对原有算法网络进行改进学习大量的船舶图像训练集,训练获得一个识别准确率高的检测模型。结果显示,本文的检测模型表现出了较好的检测效果,mAP指标均达到了90.7%,验证了改进后的检测模型具有很好的鲁棒性。

1 数据集的收集与制作

1.1 数据集收集与处理

图像的获取方式均来自个人拍摄,同时为保持样本的多样性,本文拍摄的图像均来自不同地点、不同天气、不同拍摄角度及不同船舶目标。

在深度学习的训练中,当收集数据的样本量不是特别多的情况下,通常会采用一些处理对采集的样本进行扩充,这样可以充分利用到我们采集到的样本信息。通过样本扩充的处理不仅可以在样本图像的数量上对其进行大量扩充,还能增加数据集样本图像的多样性和深度,增加样本的多样性可以避免过拟合现象的产生。常见的样本扩充的方法有图像水平翻转、图像随机裁剪、图像尺度变换、图像角度旋转、图像色彩抖动等。通过样本扩充,本文共得到55张训练集样本图像以及63张测试集图像。

1.2 数据集的标定

在获取大量的样本图像后,需要针对这些样本通过人工进行样本标注,标注完成后,才最终得到完整的数据集。本文数据集采取的是PASCAL VOC2007数据格式,即参照PASCAL VOC2007格式制作自己的数据集。在收集好原始样本图像之后,首先将图像格式统一为jpg,图像名和PASCAL VOC2007一样统一命名为6位长度的数字并将序号连续的图像统一放在同一文件夹中。下一步是进行图像中目标的标定,即将待检测目标的外接矩形框人工进行标定出来,记录出目标的位置以及类别等信息,以.xml文件的形式保存下来,生成的.xml 文件会保存在预先设定好的文件夹中,并与之前的图片名称命名一致。

2 Faster R-CNN

2.1 Faster R-CNN模型结构

Faster R-CNN是在R-CNN以及Fast R-CNN的基础上发展而来第一步将图像输入前置网络(分类卷积神经网络)获得图像特征图(Feature Maps),第二步RPN网络根据图像特征图生成的目标候选区域并进行第一次边界框回归,第三步根据RPN网络生成的目标候选区域在图像特征图上进行定位,接着通过RoI池化层将目标候选区域在图像特征图上对应的特征矩阵池化到同样大小。第四步对池化后的特征矩阵进行分类以及第二次边界框的回归。在Faster R-CNN中我们一般采用 VGG16-Net作为特征提取网络。

2.2 模型训练

本文中的Faster R-CNN基于在ImageNet预训练的模型参数进行初始化,具体训练步骤如下:
(1)用ImageNet已预训练的网络参数进行初始化,训练RPN网络;
(2)用预训练好的网络对Fast R-CNN进行初始化,并用上一步中的RPN网络提取候选区域,训练Fast R-CNN网络;
(3)用训练好的的Fast R-CNN网络重新初始化RPN的网络参数,保持Fast R-CNN网络和RPN网络中的共享卷积层不变,单独训练RPN网络特有的部分;
(4)用上一步训练后的RPN网络初始化Fast R-CNN网络参数,单独微调Fast R-CNN网络特有的那一部分。

3 试验与结果分析

3.1试验环境

本文的实验环境如下表3.1所示:

3.1实验环境

硬件环境

CPU:Intel Core i5 4590 3.3GHz;GPU:Nvidia GTX 950,4GB GDDR5

软件环境

Ubuntu16.04

深度学习框架

TensorFlow

编程语言

C++;Python

在训练的过程中,将batch size为1,Momentum优化器momentum设置为0.9,初始学习率定为0.002,同时每迭代5000步学习率降为之前的百分之五十。训练完成后,统计在验证集上的检测准确率以及误检的样本个数,作为实验检测的指标。

3.2 算法改进

试验结果显示,船舶检测识别的平均准确率仅80.1%,Faster R-CNN算法模型在货船以及客船上拥有良好的检测准确率,但在检测渔船上的准确率对比货船以及客船明显要低很多,其主要原因是渔船的尺寸通常较小,且渔船之间重叠很严重,难以检测识别。Faster R-CNN在目标检测中有较多的误识别情况,渔船的高误识别率主要来自于渔船大量重叠的原因

针对上述中VGG16网络的不足,本文将在经典VGG16网络的基础上运用一系列有效方法来减少模型参数,加快模型训练速度,防止模型过拟合,来实现VGG16网络的优化。其中包括:将VGG16中第一个全连接层替换为全局平均池化层,将第二个全连接层的神经元节点数降低为1000个,以减少网络参数,加快训练速度,并在每个卷积层后加入BN(BatchNormalization)层,目的是使得每层训练的输出结果在同一分布下,从而加速收敛速度,提高准确度以及网络的泛化能力,最后在每个全连接层中加入dropout层,参数设置为0.2,减轻网络的过拟合

3.3结果分析

针对原始模型参数过大的问题,对Faster R-CNN原始算法中的VGG16-Net网络进行参数微调,同时针对图像中存在和待检测物体大小、外观轮廓比较类似的目标对检测造成干扰这一问题,采用了困难样本挖掘方法,将困难样本加入到训练集中进行迭代训练,并对改进前后的检测性能进行分析比较,图3.2和图3.3所示分别为改进前后的检测模型损失函数和准确率随迭代函数变化的关系:

3.2 改进前后模型的损失函数随迭代次数的变化

3.3 改进前后模型的准确率随迭代次数的变化

通过对比上图实验数据进行分析可以得出,相对于改进前的检测模型,优化后的检测模型的损失函数值更低,且识别目标识别的准确率也提高了10%左右。在训练集上的检测性能对比见下表3.2所示:

4 结语

本文提出基于深度学习的船舶目标检测识别方法,通过改进Faster R-CNN算法对船舶进行检测识别。首先自制船舶数据集,对数据集进行扩充及标注,然后通过对Faster R-CNN中的VGG16-Net网络进行调整,提出一种改进Faster R-CNN算法。通过试验结果分析,本文提出的一种改进Faster R-CNN算法的检测模型在船舶目标检测中可以获得较高的识别率。由于试验条件有限,本文试验中自制的数据集样本量不够大,对检测结果会有一定影响,在后期的研究中可以通过扩大样本数据集来提高模型鲁棒性进而提高识别准确率。

作者简介

李游(1996.05-),湖北宜昌人,硕士,助理工程师,主要研究方向:船闸设备维修与管理,工作单位:长江三峡通航管理局,联系电话:1816239834,邮箱:499516658@qq.com.

参考文献

[1]GirshickR , Donahue J , Darrell T , et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]// CVPR. IEEE, 2014.

[2]GirshickR.Fast R-CNN[C]. .Proceedings of the IEEE conference on computer vision and pattern recognition,2015:1440-1448.

[3]Ren S,HeK,GirshickR,etal.FasterR-CNN:Towards Real-Time Object Detection with Region Proposal Networks[C].International conference on neural information processing systems,2017:1137-1149.

[4]陈从平,吴喆,吴杞,吕添.动态背景下航道船舶目标检测方法[J].三峡大学学报(自然科学版),2019,41(01):97-102.

[5]陈从平,李游,徐道猛,邓扬,何枝蔚.基于深度学习的电器目标检测[J].机械,2020,47(01):1-8.