**计算机系统的介绍
文章目录
一 概要
传统的鱼类图像识别往往存在识别速度慢,识别率低,误判率,漏检率高等问题。随着现代信息社会,新科技,新技术,新设施的发展以及深度学习算法框架的完善,许多基于深度学习的水下鱼类图像识别算法被提出,例如:基于R-CNN深度学习的鱼类目标检测算法、基于水下图像底层特征的鱼类目标检测等算法,但通常都因为水下环境恶劣、可见性差、拍摄图片品质差等因素导致最终识别效果很差。本文将深度学习优秀的学习能力以及可移植性好等优点运用于水下模糊环境的鱼类识别领域,开展了基于深度学习的水下模糊环境下鱼类识别研究。目前YOL v5在目标检测领域从速度和精度综合来看,是明显优于其它先进的目标检测算法如:EfficientDet、SSD、Fast R-CNN等。所以本文提出一种基于YOLOv5算法的水下模糊环境下鱼类识别模型。本文的主要工作和成果如下:(1)本文拍摄并制作了共计3595张水下模糊环境下的同种鱼类图片数据。为了克服水下模糊环境下拍摄图片整体光照强度低、可视范围小、水下背景模糊、杂质多等问题,首先,在预处理阶段采用暗通道先验算法,以提高图像的清晰度、明度,减少图片品质导致人工数据集标注的误差。(2)针对YOLOv5算法召回率低、mAP(平均准确度)低的问题,研究采用xxxxxx。实验结果验证了本文基于改进YOLOv5算法的水下模糊环境下鱼类识别模型的有效性。
关键词:鱼类鉴别;目标检测;YOLO;深度学习
二、目标检测方法
1.2.2.1两阶段目标检测算法
两阶段目标检测算法准确率较高,而One-Stage算法较为快速。Two-Stage算法的目标检测任务分为两个阶段,第一阶段首先尝试识别并预测物体位置,第二步则加工第一次的检测结果来获取目标图像更准确的坐标信息,然后再依次对每个候选区进行单阶段目标识别。
R-CNN为Ross Girshick 首次应用的利用替补区换掉传统滑动窗口的目标检测算法[3],这个算法总共需要进行三个过程,首先基于Selective Search(选择性搜索)生成一些候选的区域即Proposals;然后对于这些候选区进行长和宽的归一化后,输入到CNN中提取特征,最后,利用SVM (support vector machine)分类模型结合NMS (non - maximum suppression),利用窗口评分来抑制每类对象的非最大值,并提出重叠建议框。最后,得到各类回归校正后得分最高的窗口,并得到区域边界,以判断候选区域中是否有目标以及目标的类别。该算法需要大量的特征提取,计算量大,耗时长。
Ross Girshick在R-CNN的基础上提出了Fast R-CNN目标检测算法[4]。该算法将特征获取和分类放在在一个网络中进行联合训练。使用RoI-Pooling层代替了空间金字塔池化操作,加速了CNN提取特征的过程,RoI Pooling是利用一个固定尺寸的矩形框将特征进行分割,得到不同候选区域,继而把这里的候选区域的特殊性质传入Softmax分类器和位置回归函数里面。这样的方式把在网络中加入了多任务函数边框回归,完成了端到端目标检测算法。
任少卿, 何凯明等人为了解决曾经有目标检测算法检测速度迟缓的麻烦,制订了 Faster R-CNN目标检测算法[5]。 该方法使用了RPN(Region Proposal Network)区域建议网络代替了Selective Search,极大地提高了生成Proposals的速率。整个算法大致可分为两个步骤:第一步是在滑动窗口上生成大小和长度与宽度比率不同的锚框,设置IoU的阈值,并根据Ground Truth(正确地)校准这些锚框。标记)的标志。因此,传递到RPN网络的样本数据将分类为锚框坐标以及每个锚框中是否有对象(两个分类标签)。 RPN网络将每个样本映射到一个概率值和四个坐标值。概率值反映了锚框具有对象的概率,并且使用四个坐标值进行回归以定义对象的位置。最后,将两个分类和坐标回归的损失统一起来