改进的Faster,R-CNN海洋鱼类检测模型

【www.zhangdahai.com--其他范文】

张翔宇, 朱立军

(沈阳化工大学 计算机科学与技术学院, 辽宁 沈阳 110142)

海洋鱼类检测是海洋鱼类进出口的重要一步,由于海洋鱼类的颜色、纹理各异,形态不一,检测难度较大.而且同一种群的鱼类中不同品种往往具有相似的颜色、形状以及纹理等特征,这更进一步增加了海洋鱼类检测的难度.仅依靠人工对进出口的海洋鱼类进行鉴别,经常会发生漏检、误检现象,检疫人员也需要丰富的专业知识和经验.因此,针对海洋鱼类检测算法的研究具有重要价值.

目前海洋鱼类检测方法大部分都是基于传统机器学习方法,如支持向量机(SVM)和BP 神经网络等方法.其中Alsmadi等[1]根据图片中鱼的尺寸和形状的测量特征使用BP神经网络进行分类.Hu等[2]提出了一种基于颜色和纹理特征的多类支持向量机鱼种分类方法.姚润璐等[3]以白鱼、鲫鱼、鳜鱼和鳊鱼为研究对象,采用数字图像处理技术和BP神经网络实现淡水鱼自动识别.吴一全等[4]利用Krawtchouk矩、灰度共生矩阵、蜂群优化多核最小二乘支持向量机的识别方法对5种淡水鱼进行分类,该方法的识别精度达到了83.33%以上.顾郑平等[5]将传统的SVM与卷积神经网络结合在Fish4-Knowledge数据集上,达到了98.6%的准确率.这些传统机器学习方法普遍是通过人类的先验知识提取特征,再进行分类识别,因此存在鲁棒性不强、特征挖掘能力差和鱼类种类可扩展性不强等问题.

近年来,越来越多的学者以深度学习算法代替传统机器学习算法,并将其应用在目标检测领域,取得巨大的成功.当前比较流行的基于深度学习目标检测框架可以分为两类:一类是基于候选区域的R-CNN[6]系列,如R-CNN、Fast R-CNN[7]、Faster R-CNN[8]等two-stage框架,需要先使用区域建议网络(region proposal network,RPN)产生目标候选框,然后再对候选框做分类与回归;而另一类是SSD[9]、Yolo系列[10-12]等one-stage检测框架,直接在卷积神经网络得到的特征图上生成候选框.不少学者在两类框架基础上对内部子模块进行创新改进,基于深度学习的算法正逐渐代替传统的机器学习算法.

Faster R-CNN 网络模型在图片为复杂背景时对各类别目标具有较强的鉴别能力,同时检测速度可满足实时检测的需求.袁红春等[13]提出了一种基于Faster R-CNN二次迁移学习和带彩色恢复的多尺度视网膜增强算法(MSRCR)的方法,以克服水下鱼类图像样本量不足的问题.Li等[14]使用Faster R-CNN级联ReLU、Inception和HyperNet等构建块来改变卷积层的结构,使网络的平均准确度均值mAP达到了89.95%.本文选取 Faster R-CNN 网络作为海洋鱼类检测的基础框架,但是,在试验中仅使用原始的Faster R-CNN 模型检测海洋鱼类图片存在以下两点不足:第一,图片中的海洋鱼类尺寸差异较大,无法准确检测出小目标;第二,海洋鱼类种间差异较小,以Resnt50作为卷积层对细颗粒度图像检测时存在不足.因此,针对海洋鱼类尺寸差异较大的问题,本文在Faster R-CNN基础上进行改进,使用双向特征金字塔网络(BiFPN),使网络得到更丰富的特征信息;应用ROI-Align算法对差异较大的海洋鱼类精确定位;使用特征矩阵作外积相乘的方法以提高相似鱼类的识别准确度.该方法解决了实际应用中海洋鱼类纹理相似、尺寸差异大等因素的影响,提高了海洋鱼类检测的准确率,为海关进出口检疫工作提供了一定的参考价值.

经过R-CNN和Fast RCNN的积淀,Ren等[8]在2015年创新性地提出了Faster R-CNN,摒弃了Fast R-CNN 中比较耗时的选择性搜索(selective search)算法,使用RPN获取候选框,使得目标检测模型中候选框生成速度显著提升.把特征提取、候选框生成、边界回归和分类等任务整合在一个网络中实现端到端的训练,使得两阶段检测算法在速度和精度上有较大提升.

Faster R-CNN的基本结构如图1所示,其步骤为:

图1 Faster R-CNN架构Fig.1 Faster R-CNN architecture

第一步:
将原始图像直接输入卷积层(conv layers),使用Resnet50作为卷积层,经过卷积、池化和激活函数运算后在最后一层卷积层中得到特征图(feature maps),由区域生成网络(RPN)和经感兴趣池化(ROI Pooling)层共享该特征图.

第二步:
RPN层根据锚点生成若干个候选框.此网络中存在一个3×3的滑动窗口(sliding window),步长设为 1,每个滑动窗口根据不同的尺度和比例(2∶1,1∶1,1∶2)生成9个锚点框(anchor box).每个锚点框对应的是一个建议区域.通过anchors来解决边界框列表长度不定的问题,生成候选区域框,然后将候选区域输入到ROI Pooling层.

第三步:
ROI Pooling层接收共享卷积层产生的特征图以及RPN网络产生的候选区域框,综合两部分输入后提取ROI特征,并固定第四步全连接层的输入维度.

第四步:
在全连接层判断候选区域特征图的类别,同时通过SmoothL1损失函数计算边框回归,优化预测边框的精确位置.

Faster R-CNN 网络采用多任务网络,为使多任务损失最小,整个网络的总损失定义为

(1)

分类的损失函数定义为

(2)

边框回归损失函数定义为:

(3)

(4)

目标检测是海洋鱼类识别重要一步,但是直接将目标检测模型Faster R-CNN 应用于海洋鱼类目标检测场景时,存在小目标检测难度大和检测相似鱼类准确率低等问题.针对以上问题,本文提出一种改进的Faster R-CNN 的鱼类目标检测方法,其架构如图2所示.结合双向特征金字塔网络(BiFPN)和特征矩阵外积融合的方式增强特征融合;应用感兴趣区域对齐(ROI Align)层对检测目标精确定位,进一步提高海洋鱼类检测的准确率.

图2 改进后的Faster R-CNN架构Fig.2 Improved Faster R-CNN architecture

2.1 BiFPN结构

在Lin等[15]提出特征金字塔网络(FPN)之前,学者们都是将卷积层最后一层的输出作为特征图,但是随着对图片进行卷积操作,特征图的分辨率会降低,在图片的语义信息增强的同时也会丢失位置信息,不利于小物体以及细小纹路的检测.FPN借鉴了图像金字塔的思想来融合各维度特征图,目前FPN已经被广泛应用于图像识别任务中.Tan等[16]在EfficientDet中使用加权双向特征金字塔网络(BiFPN),引入可学习的权重来学习不同输入特征的重要性,同时反复应用自顶向下和自底向上的多尺度特征融合.当融合不同分辨率的特征时,不再采用常见的将它们调整为相同分辨率,然后对它们进行汇总的方式,而是借鉴金字塔注意网络[17],引入全局自注意力上采样来恢复像素定位.由于输入特征拥有不同的分辨率,它们通常对目标检测的贡献是不同的.因此,将每个输入增加一个可学习的权重,让网络了解每个输入特征的重要性,更高效地聚合各卷积层输出的不同尺度的特征信息.

图3 BiFPN结构Fig.3 Framework of BiFPN

(5)

(6)

在原始的Faster R-CNN模型的主干网络之后增加颈部连接层,应用BiFPN 算法,将高分辨率的低层特征图中位置信息和低分辨率的高层特征图中语义信息相融合,以达到预测的效果.同时可训练参数使得在特征融合时让网络自主学习不同层级特征的融合,以提高不同层级特征的合理度,提高海洋鱼类图像中目标检测的精度.

2.2 特征矩阵外积融合

2.3 ROI Align

ROI Align是在Mask-RCNN[20]里提出的一种池化方法,是对ROI Pooling进行两次量化造成的区域不匹配的改进.ROI Align取消了ROI Pooling中的两次量化操作,使用双线性内插差值算法保留坐标的浮点数,从而将整个特征聚集过程转化为一个连续的操作,提高了精度.ROI Align 示意图见图4,具体步骤如下:

图4 ROI Align 示意图Fig.4 Schematic diagram of ROI Align

第一步:
第一次池化,遍历每一个候选区域,保持尺寸的浮点数不做量化.如得到的候选区域为20.12×14.78,经过第一次量化后尺寸保持不变,仍然为20.12×14.78.

第二步:
第二次池化,将候选区域分划分为7×7个同等大小的子单元,每个子单元尺寸也不做量化.如划分为7×7个单元,每个子单元的大小为2.87×2.11.

第三步:
将每个子单元再平均分成4份,取其中心点的像素作为本区域的像素值,而中心点的值用离当前中心最近的4个整数坐标的值进行双线性插值运算得到,再进行最大池化操作,输出大小固定为7×7.

与ROI Pooling 相比,ROI Align保留了尺寸的浮点数,减小了在回归定位时像素偏差产生的影响,在检测小物体时效果更佳.

3.1 实验平台

实验训练和测试的工作平台环境如表1所示.

表1 实验工作平台环境Table 1 Experiment platform environment

3.2 海洋鱼类数据集

海洋鱼类目标检测的实验数据集使用的是PASCAL VOC数据集格式,数据集中图片源于在海鲜市场拍摄和搜集公开数据集上的图片,包含:黄花鱼、大黄鱼、龙胆石斑鱼和青石斑鱼等21种常见的海洋鱼类,共 8647 张图片.使用 LableImg软件人工标注数据集,其中每张图片仅含一种鱼类.随机抽取2张鱼类图片对其进行标注,标注后的图像见图5,数据集中鱼类图片对比度强、清晰度高.其中训练集包含6053幅,占数据集总量的70%,测试集包含2594幅,占数据集总量的30%.

图5 标注后的图像Fig.5 Labeled image

3.3 模型训练与评价方法

为克服海洋鱼类训练样本不足的问题和加速网络训练,应用一次迁移学习.首先将原始Faster R-CNN模型在PASCAL VOC2012数据集上预训练,然后在海洋鱼类训练集上训练,对权重进行微调,以适应海洋鱼类数据集的检测.

各实验使用的训练参数设置:初始学习率为0.01,权重衰减系数为0.000 1,经过4个 epoch后学习率下降为0.001,参数优化器选用SGD,动量因子设为0.9,并利用旋转、平移和调整饱和度等数据增强的方法扩充数据集中的图像样本数量.

原始Faster R-CNN训练时loss值的变化可以直观地反映训练迭代情况.图6 为原始Faster R-CNN训练时loss值变化情况,横轴表示迭代次数,纵轴表示loss值.在迭代到大约14 000次时,loss值降为0.04左右,随后逐渐趋于稳定,在训练集上基本收敛,达到了预期效果.各实验都是将loss训练至loss变化趋于平稳为止.

图6 训练时loss变化情况Fig.6 Loss change during training

平均准确度(AP)是对精确率和召回率综合考虑,是衡量算法可靠性的重要指标之一.同时计算出21类检测目标的平均准确度均值(mAP),mAP 值反映了检测模型识别所有类别的综合性能,因此,使用平均准确度、平均准确度均值和平均检测时长作为衡量标准.平均准确度定义为

(7)

平均准确度(AP)可由以精确率(P)为纵轴、召回率(R)为横轴的精确率-召回率(P-R)曲线下方的面积表示.其中精确率和召回率的定义如下:

(8)

(9)

式中:STP表示标签为正样本且预测结果也为正样本的数量;SFP表示标签为负样本但预测结果为正样本的数量;SFN表示标签为正样本但预测结果为负样本的数量.其中,预测结果为正样本是置信度阈值的样本,预测结果为负样本是小于置信度阈值的样本.

mAP的定义为

(10)

式中n为数据集中海洋鱼类的种类个数.本文数据集中海洋鱼类种类有21种,所以n=21.

平均检测时长是评价模型检测速度的指标之一.其计算公式为

(11)

3.4 实验结果与分析

使用本文构建的海洋鱼类数据集训练、测试改进的 Faster R-CNN 模型的检测性能.不同模型的检测结果如表2所示,改进的Faster R-CNN模型的平均准确度相比于前4种模型,其mAP值最高,相较于原始Faster R-CNN 在mAP值上有7.4%的提升.在使用特征矩阵外积融合方法时提升较大,为5.3%,此方法是将特征矩阵外积相乘,增强了特征的融合,使得检测模型在性能上提升较大.

表2 不同模型的mAP值对比Table 2 Comparison of mAP values of different models

表3对比了在Faster R-CNN基础上增加BiFPN和ROI Align后在龙胆石斑鱼和青石斑鱼、牙片鱼和多宝鱼两组相似鱼类的检测平均准确度,改进后的模型在相似鱼类上有2.7%~3.6%的提升,检测的mAP有3.1%的提升.

表3 相似鱼类在Faster R-CNN和改进后的模型上平均准确度Table 3 Average accuracy of similar fish on Faster R-CNN and improved model

表4比较了两种模型的训练和测试运行时间.从实验结果可得出,改进的Faster R-CNN模型比原始的 Faster R-CNN模型训练时间长,检测速度也有所降低,但仍在可接受范围内.

表4 两种模型时间对比Table 4 Time comparison between the two models

使用改进的Faster R-CNN模型对海洋鱼类图片进行检测,同时也和其他方法进行了比较,并优化了改进后的Faster R-CNN关键参数,使其更有利于海洋鱼类的检测.

(1) 使用ResNet50 结构作为特征提取模块,该模型不需要对图像进行预处理,让其从原始图像中自主学习海洋鱼类的特征,避免传统机器学习算法中手工设计特征表达鲁棒性差的因素,能更准确地反映海洋鱼类图片的特征信息.

(2) 使用BiFPN和ROI Align相结合的方法,在相似鱼类检测中,其平均准确度均值(mAP)有3.1%的提升;使用特征矩阵外积融合的方法对鱼类检测,其平均准确度提升较高.

(3) 基于改进的 Faster R-CNN 模型,由于模型复杂度增加导致模型的训练时间和测试时间有所增加,识别单张图片的平均时长为 0.08 s.

改进的 Faster R-CNN 模型实现了对海洋鱼类图片的端到端快速、准确的检测,检测海洋鱼类数据集的平均准确度达到85.3%,可为海关进出口海洋鱼类创造一定的经济效益.

猜你喜欢准确度鱼类卷积基于MFCC和ResNet的鱼类行为识别海洋信息技术与应用(2022年1期)2022-06-05基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02鱼类运动会儿童时代·幸福宝宝(2020年9期)2020-09-08从滤波器理解卷积电子制作(2019年11期)2019-07-04幕墙用挂件安装准确度控制技术建筑科技(2018年6期)2018-08-30基于傅里叶域卷积表示的目标跟踪算法北京航空航天大学学报(2018年1期)2018-04-20鱼类是怎样保护自己的金色少年(奇趣科普)(2016年8期)2016-09-21一款基于18位ADC的高准确度三相标准表的设计电测与仪表(2016年18期)2016-04-11一种基于卷积神经网络的性别识别方法电视技术(2014年19期)2014-03-11高炉重量布料准确度的提高天津冶金(2014年4期)2014-02-28

推荐访问:鱼类 模型 改进

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0922/658127.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!