基于图像识别的船舶检测识别研究

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

基于图像识别的船舶检测识别研究

李游

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

摘要:针对传统船舶监测方法中存在工作量大易误判等问题,提出一种基于图像识别方法的船舶检测识别方法。通过深度学习中的Faster R-CNN模型对船舶进行检测识别。自制船舶数据集,对数据集进行扩充及标注,然后通过Faster R-CNN模型对数据进行训练、学习,最后通过验证集检测识别效果,最终船舶平均识别率达到80.1%,通过深度学习达到了使用少量样本获得较高识别率的效果。

关键词:图像识别;船舶检测;深度学习

水运航道运输一直是我国长江中下游城市主要交通运输方式之一,对通过船闸的船舶提前进行监测、识别,以便进行决策和指挥,可以提前预防事故的发生,同时有序安排船舶过闸。船舶监测的传统方法是通过在航道上架设网络摄像机,将航道上的视频实时传输到监控室,再由人工进行甄别。传统方法存在人工甄别工作量大易产生疲劳和误判等隐患,本文提出一种基于深度学习的自动化船舶识别方法,提高工作效率。

本文提出的方法大体思路如下,首先通过学习大量的船舶图像训练集,训练获得一个识别准确率高的检测模型,然后将船舶图像测试集输入到该模型,得到输出结果。

1 数据集的收集与制作

1.1 图像收集

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

样本采集

1 样本采集

1.2 数据集的扩充

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

1.3 数据集的标定

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

2 模型

2.1 Faster R-CNN模型结构

第一步将图像输入前置网络(分类卷积神经网络)获得图像特征图(Feature Maps),第二步RPN网络根据图像特征图生成的目标候选区域并进行第一次边界框回归,第三步根据RPN网络生成的目标候选区域在图像特征图上进行定位,接着通过RoI池化层将目标候选区域在图像特征图上对应的特征矩阵池化到同样大小。第四步对池化后的特征矩阵进行分类以及第二次边界框的回归。

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试验环境

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

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在目标检测中有较多的误识别情况,渔船的高误识别率主要来自于渔船大量重叠的原因。图4展示了Faster R-CNN在验证集中误检的表现,图中蓝色的矩形框为人工标注的目标,绿色的矩形框为网络正确预测的目标,红色的矩形框为网络误检的目标。

2018_000076

fas2

4 Faster R-CNN模型验证集检测效果

4 结语

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

作者简介

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

参考文献

[1]王莹,毛兰霞.航道船舶目标检测及流量统计算法[J].无锡职业技术学院学报. 2015,14(02):37-40.

[2]赵亮,王晓峰,袁逸涛.基于深度卷积神经网络的船舶识别方法研究[J].舰船科学技术.2016,38(15):119-123.

[3]云霄,肖刚.基于Camshift的多特征自适应融合船舶跟踪算法[J].光电工程.2011, 38(05):52-58.

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

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

[6]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.