一种新的黄鱼检测和跟踪方法

未命名 07-27 阅读:101 评论:0


1.本发明涉及检测技术领域,更确切地说,它涉及一种新的黄鱼检测和跟踪方法。


背景技术:

2.丰富可靠的养殖数据和快捷有效的监测方式是可持续渔业发展的两大支撑,基于计算机视觉,智能监控养殖池内的鱼体目标和行为轨迹,对转变传统养殖方式、提供有效数据、减少人工参与、强化科技支撑等渔业自动化、智能化改革具有极其重要的意义。
3.传统机器学习检测水下生物检测主要是基于各种模板,通过提取特征点、特征数据、进行特征数据匹配或者利用机器学习方法实现图像的识别与检测。其中黄鱼颜色、纹理、形状等特征的提取普遍使用人工设计的特征算子,常见的特征算子有hog、surf、sift、haar。随后使用svm支持向量机、随机数、自适应增强等传统方法再次对黄鱼候选框进行目标检测。传统目标检测的缺陷在于,当图像变得复杂多样时,基于底层特征设计的特征算子无法获得更高级的语义信息。


技术实现要素:

4.本发明的目的是克服现有技术中的不足,提供了一种新的黄鱼检测和跟踪方法。
5.第一方面,提供了一种新的黄鱼检测和跟踪方法,包括:
6.步骤1、获取黄鱼图片;
7.步骤2、将所述黄鱼图片传送给云端服务器;
8.步骤3、通过所述云端服务器调用改进后的yolov5算法进行检测;
9.步骤4、输出水下黄鱼的位置坐标和类别信息。
10.作为优选,在步骤1之前,还包括:采集水下黄鱼视频,并使用帧间差分关键帧提取算法对视频流中关键图片进行提取,采集黄鱼图片;并将黄鱼图片划分训练集、验证集和测试集;对黄鱼图片进行标注。
11.作为优选,步骤2中,所述黄鱼图片还传送给数据库进行数据存储。
12.作为优选,步骤3中,所述改进后的yolov5算法由四个部分组成,分别是输入、主干网络、颈部网络、输出头网络;所述主干网络包括inceptioncsp模块、inceptneck模块和cbam注意力机制;所述颈部网络添加有跨层连接、权值融合机制;所述输出头网络包括解耦头。
13.作为优选,步骤4中,所述水下黄鱼的位置坐标和类别信息发送给数据库进行数据保存。
14.第二方面,提供了一种新的黄鱼检测和跟踪装置,用于执行如第一方面所述的新的黄鱼检测和跟踪方法,包括:
15.获取模块,用于获取黄鱼图片;
16.传送模块,用于将所述黄鱼图片传送给云端服务器;
17.调用模块,用于通过所述云端服务器调用改进后的yolov5算法进行检测;
18.输出模块,用于输出水下黄鱼的位置坐标和类别信息。
19.第三方面,提供了一种计算机存储介质,所述计算机存储介质内存储有计算机程序;所述计算机程序在计算机上运行时,使得计算机执行如第一方面所述的新的黄鱼检测和跟踪方法。
20.本发明的有益效果是:本发明提出了基于深度学习的鱼体检测方法,以yolov5算法为基准算法,针对主干网络、颈部网络、头部网络三个地方做了相应改进,以提升算法在水下黄鱼数据集上的检测召回率和检测准确率。同时本发明还将算法部署到docker容器中,利用数据库mysql、后端springboot、前端react等技术设计了前后端分离系统,实现项目的界面展示,方便养殖人员和科研人员上传数据。
附图说明
21.图1为一种新的黄鱼检测和跟踪方法的流程图;
22.图2为c3改进前后对比图;
23.图3为bottleneck改进前后对比图;
24.图4为改进后的输出头的结构示意图。
具体实施方式
25.下面结合实施例对本发明做进一步描述。下述实施例的说明只是用于帮助理解本发明。应当指出,对于本技术领域的普通人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
26.实施例1:
27.现有技术主要存在以下一些问题:
28.1、传统的以人工定期巡查养殖鱼池的方式耗时耗力,且主观性太大,鱼类疾病等异常行为难以发掘。若采用非侵入式的观察方式,鱼类容易应激,导致产量下降。
29.2、水下环境采集的图像质量差,散射现象、漂浮微粒、红绿色偏等大大影响水下图像成像效果,图像质量远远不如陆地图像。常规的检测方式难以胜任水下检测。
30.3、鱼体形变、重叠严重。现有的检测方式没有专门针对水下生物的,其运动模糊、游泳姿态、形变过快等因素大大降低现有检测方式的准确性。
31.为解决上述问题,本发明结合目前先进的深度学习算法,以大黄鱼为研究对象,通过级联多个子任务模型进行目标检测和系统展示,实现了高效快速的水下黄鱼的检测数据的获取和展示。以水下相机拍摄的黄鱼图片作为模型的输入数据,首先通过改进后的集成了并行注意力机制的主干网络获取到黄鱼图片的高维特征信息,此时的语义信息非常丰富,然后通过颈部网络对高低维度的信息进行融合,使用adfpn结构,双向加权多通道的融合来自不同维度的特征信息,形成高低层互相通信的特征金字塔结构。最后将所有特征通过输出头输出得到最终的检测结果。最本发明提出的改进后的检测算法在黄鱼的检测准确率上提高了5.6%,召回率提高了4.6%,平均精度提高了5.1%,在真实的水下养殖环境中可以有效避免漏检、误检等现象的发生。
32.具体地,本发明提供了一种新的黄鱼检测和跟踪方法,如图1所示,包括:
33.步骤1、获取黄鱼图片。
34.步骤2、将所述黄鱼图片传送给云端服务器。
35.步骤3、通过所述云端服务器调用改进后的yolov5算法进行检测。
36.步骤4、输出水下黄鱼的位置坐标和类别信息。
37.此外,在步骤1之前,目标检测任务需要大量的图片和标注。本发明实地采集了大量的水下黄鱼视频,采集到93个视频段,视频编码形式为264格式,平均每个视频时长为5分钟,帧率为25fps。针对上述93个视频段抽帧提取水下图片。使用帧间差分关键帧提取算法对视频流中关键图片进行提取。为保证图片质量,在关键帧提取步骤后,人工再次筛选,本次筛选主要剔除黄鱼缺失、相机入水、相机离水、相机被遮挡以及关键帧后仍保留的重复图片。经过上述步骤,共采集到9481张图片,图片数量和质量均满足目标检测任务的标准。将黄鱼图片以7:2:1的比例划分训练集、验证集和测试集,一共获得训练图片6636张、验证图片1896和测试图片949张。图片分辨率均为1920
×
1080。图片标注采用labelimg软件。软件对图像中的三只黄鱼进行标注,保存其中心点坐标和长宽作为真实数据。
38.步骤3中,yolov5算法主要由四个部分组成,分别是输入、主干网络、颈部网络、输出头网络,下文以基线网络yolov5s为例,具体介绍其工作流程。
39.(1)输入端
40.yolo系列算法自yolov4之后都会在输入端增加图像增强的功能以丰富训练样本的可变形。yolov5也延续了这一操作,在输入端采用mosaic图像增强、自适应图片缩放和自适应锚框计算三个步骤。mosaic图像增强随机拼合四张训练图像丰富训练集背景信息。自适应图像缩放自适应填充不同尺度缩放时产生的少量黑边,增加信息有效性,减少冗余特征。自适应锚框计算将v3、v4中独立的锚框初始程序集成到代码中,根据不同训练集自适应的设置先验矩形框。
41.(2)主干网络
42.主干网络负责特征提取,yolov5算法以csp-darknet53作为主干网络,主要由focus、cbs、c3和spp模块构成。
43.作为特征图进入backbone的第一个处理环节,focus层将高分辨率的输入图片隔列采样(slice)成多个低分辨率的特征图后再次拼接(concat)寻找原图较远的特征间的联系,以相同语义层代替卷积,减少参数量,提升收敛速度。cbs模块是csp-darknet53的基础组件,由卷积操作(conv)、批归一化操作(batch normalization)、激活函数(silu)组成。
44.c3模块借鉴了cspnet中的csp(cross stage partial)结构将输入特征图分为两个分支,一路先通过cbl模块减少通道维度,然后送入bottleneck模块,bottleneck模块在yolov5中有两种形式,主干网络使用的是bottleneck_1,颈部网络中使用的是bottleneck_2,区别在于输入图像依次经过和的cbs模块后,前者使用残差连接的思想,与输入按位相加(add),后者则直接输出。c3模块的另一路也通过cbl模块将通道数减半。将两路输出按通道拼接后再次输入的cbs模块得到最终的输出。
45.spp模块(spatial pyramid pooling)是backbone特征提取的最后一个环节,由四个并行的分支构成,分别是池化核大小为、、的最大池化层和一个跳跃连接。spp模块利用多尺度的池化层融合了局部和全局特征,增大感受野,丰富了特征图的表达能力,有利于解决目标多尺度的问题。
46.(3)颈部网络
47.颈部网络使用fpn与panet结构。fpn自顶向下把强语义特征传递到浅层,而panet自底向上把浅层的定位信息传递给深层,形成高低层互相通信的特征金字塔结构,增强主干网络不同层级的特征融合,提高特征在多个尺度上的语义表达和定位能力。
48.(4)输出头
49.输出端采用giou loss作为边界框回归的损失函数,giou loss将重叠面积、长宽比和中心点距离都纳入损失考量,不同位置的预测框都会对giou产生影响,有效解决iou loss[50]在预测框与真实框没有相交时无法优化参数的问题。giou关注重叠与非重叠两种情况,更好的反映出预测值与真实值的差异程度,提高网络训练效果。yolov5共有三个检测头,分别对应、和的特征图,将这些特征图分别经过1x1的卷积,输出通道为,其中是预设锚框的格式,1代表置信度分数,4代表预测框的中心点坐标和宽度高度,代表目标类别数。
[0050]
(5)损失函数
[0051]
yolo5的损失函数由三部分组成,分别是分类损失、定位损失和置信度损失。这与输出头。分类损失和置信度分时采用二元交叉熵损失(bce loss),定位损失采用giou loss。
[0052]
本技术在上述yolov5算法的基础上进行了改进,包括改进的主干特征提取网络、改进的颈部网络和改进的输出头。
[0053]
(1)改进的主干特征提取网络
[0054]
本技术将yolov5主干网络cspdarknet53中的c3模块设计为更宽的并行卷积,并命名为inceptioncsp,改进后的inceptioncsp模块实现方式为:对于输入到c3模块中的特征图,首先进行“expand”操作,“expand”操作分别由通道数为1
×
1,3
×
3,5
×
5的卷积支路以及一个直连支路组成,分别命名为e1,e3,e5,er支路。其中e3支路由1
×
1的卷积与bottleneck模块串联组成。通过concat操作将四条支路上的特征图进行通道上的堆叠。最后再通过“squeeze”操作,利用一个1
×
1的卷积层将通道数降维到c2大小,保持inception_c3的的输入输出维度与原有网络相匹配。
[0055]
直连支路er借鉴resnet网络的残差结构的实现思想,考虑到原始输入特征的有效性,若直接丢弃可能会损失部分有用信息,所以将输入特征和squeeze层的结果融合,提升网络的特征复用性。“expand”操作中的e1,e3,e5支路通过不同尺度的卷积核提取不同感受野大小的图像特征,concat操作再将感受野不同的特征进行级联融合,在扩展网络深度的同时提高了模型对输入特征图尺度的适应能力。
[0056]
利用“低维度嵌入”的空间聚合思想,堆叠小尺寸卷积代替大尺寸层,考虑将的“expand”操作中的5
×
5支路的卷积核分解成两个大小为3
×
3的卷积核的串联,在保持尺度变的情况下降低卷积的计算参数量。该方式在维持感受野大小不变的情况下,减少模型的计算量并增加更多的非线性变化。
[0057]
原始的bottlenck模块中1
×
1的卷积层主要负责特征信息在通道上的融合,3
×
3的卷积层负责特征信息的提取。1
×
1的卷积层若简单的与3
×
3的卷积层进行堆叠,其特征信息融合的好坏会影响后续卷积层特征的提取质量。因此考虑将1
×
1的卷积层与3
×
3的卷积层并行连接,将输入特征分别送入两个不同的卷积层中,1x1的卷积层负责在特征图的不同通道上进行通道信息交互,3x3的卷积层负责提取图像的深层特征。再将两者的输出结果通过级联的方式进行通道上信息的堆叠。由于bottleneck网络嵌套的层级比较深,考虑用
残差连接的形式,将输入特征通过一个分支直接与输出相连接,在特征图维度上进行算数相加(add),一定程度上克服网络加深而出现的退化问题,提高网络的学习效率和准确率。
[0058]
最后在主干网络的最后一层添加cbam注意力机制,以提升主干网络的特征有效性。cbam注意力机制是一种轻量的注意力模块,cbam在senet注意力机制的基础上引入大尺寸的卷积空间空间信息编码,沿着通道和空间维度依次推断注意力表现,在resnet和mobilenet等经典网络的分类和检测任务中进行了充分的实验,证明cbam有助于让模型更好的关注目标物体。同时cbam也可以无缝集成到任何cnn架构中,与基础cnn网络一起进行端到端的训练。
[0059][0060]
(2)改进的颈部网络
[0061]
yolov5网络中使用panet+fpn的结构对主干网络提取的特征进行信息融合,具体表现为在自上而下的特征金字塔后添加自底向上的panet结构。然而yolov5中的特征融合只是简单地对浅层与高层信息进行堆叠,并未区分语义信息与空间信息在特征融合中的重要性。本发明借鉴跨层连接的思想,结合yolov5的特征融合网络进行改进,通过添加跨层连接、权值融合来提升检测的精度。将本发明改进的模块命名为adfpn如表所示。
[0062]
对主干网络提取到的三种尺度特征图20x 20x 512、40x 40x 256、80x 80x 128进行特征融合。
[0063]
a、自顶向下阶段:
[0064]
(1)将主干网络的输出特征图20x 20x 512经过c3模块和cbl模块降维到256维,再通过双线性插值上采样得到40x 40x 256的特征图,与主干网络中第3个c3模块的输出特征图20x 20x 256通过concat操作进行通道上的堆叠,输出512x 40x 40的特征图。此处记为concat1。
[0065]
(2)将前述512x 40x 40的特征信息通过原c3模块与cbl模块得到特征图40x 40x 128
[0066]
(3)对特征图40x 40x 128进行上采样得到80x 80x 128并与主干网络
[0067]
第2个c3模块的输出concat。此处记为concat 2。
[0068]
b、添加跨层连接机制的自底向上阶段:
[0069]
(1)将主干网络中第2个c3模块的输出80x 80x 128跨层连接至concat2处,考虑到三个输入conat操作会带来的计算量的大幅增加,本文将concat2的输出与跨层连接的输入通过add操作对特征图逐像素相加,从而减少训练的时间。为了确保add操作输入的特征图通道数维度一致,80x 80x 128特征图跨层连接时需再经过一个cbl模块升维至80x 80x 256。
[0070]
(2)将跨层融合后80x 80x 256通过c3模块得到80x 80x 128的输出,送入检测头中
[0071]
(3)将前述80x 80x 128的特征信息通过cbl模块得到特征图40x 40x 128,并与自顶向下连接中第二阶段的输出40x 40x 128特征融合。输出的40x 40x 256特征再与主干网络中第2个c3模块的输出40x 40x 256跨层连接,以add逐像素相加实现浅层信息与深层信
息的再度融合。
[0072]
(4)将跨层融合后的40x 40x 256特征图通过c3模块得到40x 40x 128的输出并送入检测头中
[0073]
(5)同理,将前述40x 40x 256的特征信息通过cbl模块得到特征图20x 20x256,并与自顶向下连接中第一阶段中上采样的输入特征图20x 20x 256进行concat操作得到特征结果20x 20x 512,再与主干网络中spp前一层的输出20x 20x 512进行add逐像素按位相加,实现跨层连接。
[0074]
(6)将跨层融合后的20x 20x 512再经过c3网络得到20x 20x 512并送入检测头中。
[0075]
表1跨层融合颈部网络结构表
[0076][0077][0078]
adfpn在跨层add连接的基础上,还会对add操作融合的各个分支的特征增加一个额外的权重,并让网络自适应的学习每个输入特征的重要程度。权重设置采用快速归一化融合:
[0079][0080]
快速归一化融合使用relu激活函数保证每个wi≥0,通过设置=0.0001提高数值的稳定性。同时,归一化后的权重保持在0-1之间,相比softmax的融合更加高效。
[0081]
(3)改进的输出头
[0082]
目前主流的算法,如两阶段的fasterrcnn和一阶段的yolo算法均使用一个头部输出分类特征和回归特征,这种耦合的特征提取没有充分考虑两种任务的独特性。分类任务
需要保持平移和尺度的不变性,即希望无论待测目标的位置和形状如何变化都能保持类别的准确性;回归任务则需要保持平移和尺度的相等性,在特征能反映目标的位置和形状变化的前提下回归出目标位置。
[0083]
yolov5s的原始检测头中,c代表类别信息,4代表位置回归信息,1代表置信度信息,w、h代表特征图的宽度和高度,3代表锚框的个数。通过1x1的卷积层同时预测待测目标的类别、定位与置信度。本文对yolov5的检测头进行解耦,以期减少分类。解耦头如图所示neck部分得到的特征图首先输入一个1
×
1的卷积层,将通道维数降低到256,然后分为两个分支,第一个分支是定位分支,负责预测坐标的位置信息,即图中的reg分支。第二个分支是又分为两个分支,第一个分支负责预测目标框的置信度得分,即iou分支,第二个分支负责预测目标框的类别信息,即cls分支。解耦头中1
×
1的卷积层主要为了避免计算量的大量增加,再提升检测精度的同时保持模型轻量化的优势。
[0084]
表2水下黄鱼实验消融实验结果
[0085][0086]
在949张测试集上所得到的评价指标如表格所示。改建后的模型在检测精度、精确率、召回率都有了明显的提升,具体分析如下:
[0087]
实验1:未改进前的原始yolov5模型的检测精度为82.0%,准确率为85.1%,召回率为83.7%。
[0088]
消融实验2,在基站模型上单独添加wb模块准确率提升了2.6%,召回率提升了2.7%,检测精度提升了2.7%。
[0089]
消融实验3,在基准模型上单独添加af模块准确率提升了1.4%,召回率提升了2.1%,平均精度提升了1.1%。
[0090]
消融实验4,在基准模型上单独添加mh模块,准确率提升了1.1%,召回率提升了1.6%,平均精度提升了2.0%。
[0091]
以上三组实验证明本文所提出的三项改进单独添加时在黄鱼检测任务上都能带来较为显著的指标提升。其中wb模块的单独添加对模型效果的提升最为明显,这主要因为并行级联注意力机制模块可以有效提升主干网络对于鱼体关键信息的提取能力。尤其是在水下环境,图像蓝绿色光偏色严重、待检测目标模糊失真,普遍存在亮斑和各种复杂因素导致的高噪声,并行级联注意力机制模块通过增加并行通路结合残差网络和低维度嵌入的空间聚合思想,可以有效提升水下场景下目标检测任务的精确度。考虑到wb模块对指标提升的有效性,接下来本文尝试将af,mh模块分别与wb模块结合进行对比实验。
[0092]
消融实验5,将wb模块与af模块结合,在测试集上的精确率提升了3.2%,召回率提高了3.7%,平均精度提升了3.2%;
[0093]
消融实验6,将wb模块与mh模块结合,精确率提升了4.0%,召回率提升了3.4%,平
均精度提升了3.5%。以上两组实验证明,wb模块与af模块和mh模块组合相比单一模块改进能有更好地提升检测效果,其中wb模块与mh模块的组合效果相对较优,可能是因为在水下黄鱼检测任务中只有黄鱼一个类别,所以添加了轻量化的双任务解耦头,将检测和识别任务区解耦成两条支路进行处理,降低了各自任务之间的信息依赖与信息冲突对检测精度的影响。
[0094]
消融实验7,将本文的改进点wb、af、mh模块整合后在测试集上准确率相比基准网络提升了5.6%,召回率提升了4.6%,平均精度提升了5.1%。与添加wb、af模块的消融实验5相比,准确率提高2.4%,召回率提高1.3%,平均精度提高1.6%。与添加wb、mh模块的消融实验6相比,准确率提高1.6%,召回率提高0.9,平均精度提高1%。因此,本文提出的三个改进点均可以提升基准网络的性能,在真实的水下养殖场景下达到优秀的检测能力,尽可能地避免漏检,误检等现象的发生,最大程度地精准定位黄鱼的位置。
[0095]
综上所述,本发明从主干网络、颈部网络和输出头对原有yolov5模型进行了全方面的改进,提出的并行级联注意力机制模块、双向特征多通道融合自适应机制和轻量化多任务解耦输出头都有效改善了原始网络在检测黄鱼数据时错检、漏检的情况,在黄鱼重叠、黄鱼形变等场景下都能提高检测的置信度和边框位置的准确度。

技术特征:
1.一种新的黄鱼检测和跟踪方法,其特征在于,包括:步骤1、获取黄鱼图片;步骤2、将所述黄鱼图片传送给云端服务器;步骤3、通过所述云端服务器调用改进后的yolov5算法进行检测;步骤4、输出水下黄鱼的位置坐标和类别信息。2.根据权利要求1所述的新的黄鱼检测和跟踪方法,其特征在于,在步骤1之前,还包括:采集水下黄鱼视频,并使用帧间差分关键帧提取算法对视频流中关键图片进行提取,采集黄鱼图片;并将黄鱼图片划分训练集、验证集和测试集;对黄鱼图片进行标注。3.根据权利要求2所述的新的黄鱼检测和跟踪方法,其特征在于,步骤2中,所述黄鱼图片还传送给数据库进行数据存储。4.根据权利要求3所述的新的黄鱼检测和跟踪方法,其特征在于,步骤3中,所述改进后的yolov5算法由四个部分组成,分别是输入、主干网络、颈部网络、输出头网络;所述主干网络包括inceptioncsp模块、inceptneck模块和cbam注意力机制;所述颈部网络添加有跨层连接、权值融合机制;所述输出头网络包括解耦头。5.根据权利要求4所述的新的黄鱼检测和跟踪方法,其特征在于,步骤4中,所述水下黄鱼的位置坐标和类别信息发送给数据库进行数据保存。6.一种新的黄鱼检测和跟踪装置,其特征在于,用于执行如权利要求1所述的新的黄鱼检测和跟踪方法,包括:获取模块,用于获取黄鱼图片;传送模块,用于将所述黄鱼图片传送给云端服务器;调用模块,用于通过所述云端服务器调用改进后的yolov5算法进行检测;输出模块,用于输出水下黄鱼的位置坐标和类别信息。7.一种计算机存储介质,其特征在于,所述计算机存储介质内存储有计算机程序;所述计算机程序在计算机上运行时,使得计算机执行如权利要求1所述的新的黄鱼检测和跟踪方法。

技术总结
本发明涉及一种新的黄鱼检测和跟踪方法,包括:获取黄鱼图片;将所述黄鱼图片传送给云端服务器;通过所述云端服务器调用改进后的Yolov5算法进行检测;输出水下黄鱼的位置坐标和类别信息。本发明的有益效果是:本发明提出了基于深度学习的鱼体检测方法,以Yolov5算法为基准算法,针对主干网络、颈部网络、头部网络三个地方做了相应改进,以提升算法在水下黄鱼数据集上的检测召回率和检测准确率。数据集上的检测召回率和检测准确率。数据集上的检测召回率和检测准确率。


技术研发人员:丁梦雅
受保护的技术使用者:浙江大学
技术研发日:2023.04.24
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐