基于CNN和SVM的船舶识别方法研究与实现开题报告

 2022-08-29 09:08

全文总字数:8372字

1. 研究目的与意义(文献综述)

目的和意义:

研究目的在于吸收和借鉴已有的船舶识别方法,在此基础上尝试使用基于深度学习的计算机视觉技术应用到船舶识别上,提高对运动中的船舶的识别和分类的准确度。

研究意义:

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

2. 研究的基本内容与方案

基本内容与目标:

(1) 通过阅读相关文献,了解神经网络、CNN、SVM、深度学习环境,移动目标识别算法等相关知识。

(2) 分析目前深度学习中CNN和SVM的优劣,并结合视频中复杂背景下船舶特征,辨别背景对船舶特征提取的影响,设计高效的船舶目标识别(如船舶分类识别或某个船舶类型识别)算法。

(3) 利用Python编程环境实现所设计的算法,使之能获得较高的船舶识别准确率与效率,并用实测数据予以验证和分析。

技术方案及措施:

(1) 目标检测方案的对比选择

1) AlexNet经典网络

AlexNet对于计算机视觉的影响巨大,其论文的发布,使得人们开始相信深度学习可以应用于计算机视觉领域。AlexNet共包含7层,第一层卷积层使用96个11*11的过滤器缩小图片尺寸,第二层使用1个3*3的过滤器构建最大池化层,第三层为卷积层,第四层为最大池化层,第五层和第六层继续执行卷积操作,第七层再执行一次最大池化,第八层是全连接层,最后使用softmax函数输出识别结果。AlexNet作为经典浅层卷积神经网络,常应用于深层神经网络的某个模块中。

2) R-CNN

R-CNN由Ross Girshick于2014年提出,使用了卷积神经网络来进行目标检测。R-CNN 首先使用selective search方法提取出2000个待检测区域

然后使用经典网络AlexNet进行特征提取,并给每个待检测区域给上标签,最后使用支持向量机(SVM),通过训练SVM,结合目标的标签修正待检测区域的大小。R-CNN提出的修正目标包围框的方法提高了目标检测的精度,但仍有缺陷:空间和时间训练费用昂贵,物体检测速度很慢[10]

3) Fast R-CNN

FastR-CNN由Ross于2015年提出,针对R-CNN的问题进行了改进。同样使用selective search提取2000个候选框,首先使用几个卷积(conv)和最大池化层处理整个图像,以产生转换特征图,ROI池化层将任何有效感兴趣区域提取出来[10],而不是处理所有的候选区域,最后通过全连接层(FC Layer)进行分类和边框的修正。另外在外向传播训练过程,Fast R-CNN也做出了一定的微调,提出了更有效的训练方法:利用训练过程中的功能共享[10]。共同训练优化softmax分类器和边界回归器。但是Fast R-CNN仍未解决selective search的耗时问题。网络结构如下图:

4) Faster R-CNN

Faster R-CNN于2016年提出,展示了一个具有深度卷积神经网络的算法变更计算方案 - 导致一种优雅而有效的解决方案,其中提议计算在检测网络的计算下几乎是无成本的。为此,引入了新颖的Region Proposal Network (RPN),它们与最先进的物体检测网络共享卷积层。通过在测试时共享卷积,计算建议的边际成本很小(例如,每个图像10毫秒)[11]。作者通过RPN生成待检测区域,网络结构如下图:

图2.2:Faster R-CNN网络

5) Mask R-CNN

原则上,Mask R-CNN是Faster R-CNN的直观扩展,但正确构建掩模分支对于获得良好结果至关重要[12]。Mask R-CNN更改了Faster R-CNN网络的ROI Pool层[12],提出了ROI Align。Mask R-CNN在COCO实例分割任务上超越了所有先前最先进的单一模型结果,同时也擅长COCO对象检测任务[12]

总结:通过文献[1]-[6]、[13]-[15]可知,区域卷积神经网络(R-CNN)系列方案在国内外的船舶识别应用中表现优秀,而Mask R-CNN作为系列的最新研究成果,继承了大量Fast R-CNN和Faster R-CNN的工作成果,在目标检测领域的表现也更加优秀。同时,作为更综合、更强大的多任务模型的代表,Mask R-CNN也完美切合本次课题的要求:复杂背景中的多种船舶的识别与分类。

(2) 技术方案

1) 环境搭建

① 安装python3.0

② 从github上cloneMask R-CNN的代码库并安装依赖项。

③ 安装tensorflow框架

2) 数据集收集与处理

① 数据集的收集

通过码头监控视频收集到的船舶数据集较为单一,仅通过单一数据集训练会影响神经网络的实用性和准确率,不满足深度学习训练集的要求。CoCo数据集是一个公共数据集,专用于图像识别和分类问题,并且对图像中的多个目标分别标注,满足本方案需要。CoCo数据集包含超过30万个图像,超过200万的实例,80种对象,其中就包含大量船舶实例。所以拟采用CoCo公共数据集对神经网络进行初步的训练,之后从码头监控视频中随机截取1500张图片,天气、光照等外界因素的影响也将给予考虑,尽量使样本多样化,最终从截取的1500张图片中随机选择1200张作为训练样本,300张作为测试样本。

② 数据集的处理

数据集处理的主要工作是为从码头截取的1500张图片中的船舶目标标注真实数据,包括船舶种类和候选框坐标、宽高(x,y,w,h),用于损失函数的计算。标注工具采用 VIA(VGG ImageAnnotator),当图片上的多个船有重叠时,需注意候选框坐标、宽高的标注,这将直接影响损失函数的结果,最终影响训练效果。

3) 图像再处理-暗通道先验去雾算法

本次课题是针对船舶的识别,由于海上空气湿度较大,在海雾中存在大量水汽,烟雾,水滴等大气颗粒,在恶劣天气条件下来自场景的光线被这些大气颗粒吸收和散射,由此海上拍摄的图像时常会受到天气影响,造成相机从场景接收的光线沿视线衰减,进一步改变场景图像颜色并降低对比度,影响场景的可视性。所以为了保证船舶识别系统的准确率,就必须对图像进行预处理。

暗通道先验去雾算法在图像还原领域表现优秀,所以为解决上述问题,拟采用暗通道先验去雾算法对图像进行还原,降低天气的影响。作为一种基于图像复原的去雾方法,暗通道先验去雾算法首先求取得到图像暗通道,随后利用大气散射物理模型,计算大气透射率,然后估计全球大气光,最后获得去雾图像,即原始无雾图像的近似拟合,去雾步骤如下图:

图2.3:暗通道先验去雾算法步骤

求取暗通道:遍历图像统计各通道的像素最小值,新建灰度图,选取与原图相同尺寸,其每个像素取原图 RGB 通道中的最小值,继而对该灰度图进行滤波处理,如最小值滤波,(x)表示以像素 x 为中心的滤波窗口,滤波器的半径尺寸由滤波窗口的大小决定,原则上一般取 windowsize =2×radius 1。暗通道去雾算法的效果图如下:

图2.4(a):原图 图2.4(b):处理后

由于本实验所使用的图像分辨率较高(1024x1024),使用暗通道算法可能会比较耗时,所以可以采用降采样,即减少采样点数,不针对全部像素点使用暗通道算法,选择原图1/2或者1/4的像素点进行处理。

4) 网络结构设计

网络整体结构如下图:

图2.5:Mask R-CNN结构示意

①主干网络(提取整体图像特征):

主干网络的输入是统一尺寸为1024x1024x3的原始RGB图片。若图片尺寸不符,先对图片进行放1;若长宽比不是1:1,则将空白部分像素全部补0(在[10]中论证过,这不会影响识别结果),最终尺寸为1024x1024x3。

然后将处理后的图片输入Backbone(共享卷积层)进行预处理,通过卷积、最大池化操作,检测出边缘和角等底层特征信息,得到FeatureMaps(尺寸:32x32x2048)特征图,该特征图将作为下一阶段的输入。

此共享卷积层拟使用50层的ResNet(残差网络),多类别船舶分类问题需要提取更为精细的特征,所以需要比较深的神经网络,但较深的网络不仅训练耗时而且容易发生梯度爆炸等问题,ResNet通过跳跃连接可以有效的改善深层网络存在的缺陷。网络结构示意图如下:

图2.6: ResNet结构示意图

②RPN网络(获取候选框)

RPN网络的输入是主干网络输出的Feature Maps(特征图),通过特征图计算出包含目标物体的候选框,主要采用Anchor技术完成此部分功能。RPN对每一个特征图的每一个特征向量通过线性回归得到一个5n维的特征向量,用以描述n个Anchor的修正值。每个Anchor的修正值包括、、、、。Anchor是一个预先设定好尺寸的Box,然后根据RPN网络回归得到的修正值对每个Anchor的中心和尺寸进行修正,得到新的更符合目标尺寸的Box。Anchor修正过程如下:

,,,

其中x,y表示Anchor的坐标,w,h表示Anchor的宽高。

③ RoI Align网络(提取候选框区域的特征)

经RPN网络得到候选框之后,传统方法会根据每个候选框的位置从原图中裁剪出对应区域,再对该区域进行其他功能操作。但这里的候选框是从Feature map(特征图)修正得到,所以这里可以使用ROI Align直接从特征图中提取出候选框位置处的特征进行后续处理。

④功能模块(分类,标记目标)

Mask R-CNN框架中最后一步中有三个功能分支并行进行,分别是生成掩模、标记目标区域、分类。效果图如下:

图2.7:处理后效果图

对于船舶识别与分类,标记目标区域和分类是必须实现的功能,但生成掩模却不是必须的,所以为了节约硬件资源,拟将Mask分支去除。

分类分支的最后一层除了采用Softmax,还可以使用SVM,关于二者优劣在[12]中作者论证了Softmax在Mask R-CNN网络中的表现略优于SVM,但是具体采用哪种分类器还需实践,通过测试结果选择更好的分类器。这里以Softmax方法为例,说明分类的具体步骤。假设船舶类别有4种,那么经过Softmax层将输出4x1维向量,对应着四种分类的概率。计算公式如下:

其中,①式为Softmax层的线性回归函数,A[l-1]为上一层(即全连接层)输出,w和b为超参数,式②为Softmax层激励函数,式③为归一化过程(各类概率总和为1),A[l]为Softmax层输出,包含目标区域符合4种类别的概率。

⑤ 网络训练及损失函数设计

在训练阶段,根据 Mask R-CNN 的分类、定位二个输出,对训练集中图像的兴趣区域进行多任务损失函数(multi-task loss function)定义:

其中,为分类损失,为候选框定位损失。对某种类别u,标注时真值坐标为,经网络预测后坐标为,定义候选框定位损失如下:

其中,,为预测值与真值之间的偏差。

5) 性能评估

在性能评估上,使用分类技术中常用的准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值进行评估,设TP为正类预测为正类的样本数;FN为将正类预测为负类的样本数;FP 为将负类预测为正类的样本数; TN为将负类预测为负类的样本数。

准确率(Accuracy)是指对于给定的测试数据集,分类器正确分类的样本数与总样本数的比值,反映了分类器对整个样本的判定能力,计算公式如下:

精确率(Precision)是指被分类器判定为正类的样本中真正的正类样本的比重,即被分类器判为正类的所有样本中有多少是真正的正类样本。计算公式如下:

召回率(Recall)是指被分类器正确判定的正类样本占总的正类样本的比重,即所有正类样本中有多少被分类器判为正类样本。计算公式如下:

3. 研究计划与安排

1. 2019/1/14—2019/2/22:明确选题,查阅相关文献,外文翻译和撰写开题报告;

2. 2019/2/23—2019/4/30:系统架构,系统设计与开发(或算法研究与设计)、系统测试、分析、比较与完善;

3. 2019/5/1—2019/5/25:撰写论文初稿;修改论文,定稿并提交论文评审;

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 参考文献(12篇以上)

[1] 杨亚东, 王晓峰, 潘静静.改进cnn及其在船舶识别中的应用[j].计算机工程与设计, 2018,39(10):3228-3233.

[2] 陈泽创. 船舶检测跟踪与分类算法研究及其系统实现[d].北京交通大学,2018.

[3] 米禹丰. 基于卫星遥感图像水面船舶目标检测与识别技术研究[d]. 哈尔滨工程大学,2016.

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。