一种复杂海洋环境下的鱼类目标检测方法

    专利2025-11-28  13


    本发明涉及计算机视觉,特别涉及一种针对复杂海洋环境下的鱼类目标检测方法。


    背景技术:

    1、在海洋渔业发展中,对鱼类的行为监测有助于科学管理和保护。鱼类目标检测技术在鱼类行为监测中发挥着重要作用。它可以随时关注鱼的运动,及时发现各种异常行为。作为一种非侵入性方法,计算机视觉是鱼类目标检测的有力工具。然而,用于鱼类目标检测的计算机视觉建模存在许多挑战,如水下复杂多变的环境导致水下图像低质模糊、频繁遮挡、尺度变化等。同时由于海水的折射率变化、水质的浑浊度、光线的散射等因素造成了海洋环境的复杂性,这会导致水下图像颜色失真,导致获取到的水下图像颜色差异可能较大。在这种复杂环境下,如何高效准确的检测水下目标,是目前亟需解决的关键问题。

    2、在处理水下鱼类目标检测任务时常采用滑动窗口选择感兴趣区域,然后使用多种特征提取算法,如尺度不变特征变换(scale invariant feature transform,sift)、梯度直方图(gradient histogram,hog)等,对每个感兴趣区域进行特征提取,最后通过机器学习算法,如支持向量机(support vector machine,svm)等对提取的特征进行分类,以确定窗口是否包含目标。但是,由于传统的分类方法需要设计各种大小的窗口,并依赖于机器学习方法进行分类,因此存在一定的局限性。一方面,区域选择策略的针对性不强,从而导致时间复杂度高和窗口冗余。另一方面,在处理大量水下图像时,特征提取的复杂度较高,规模化处理能力较弱。随着深度学习技术的快速发展,研究人员在水下鱼类目标检测领域的研究方向由传统方法逐步过渡到深度学习方法。研究人员针对于水下目标检测任务已经取得显著的进展,尤其基于yolo(you only look once)、faster r-cnn及ssd(single shotmultibox detector)等目标检测方法在水下目标检测任务中表现显著的优势。但是,这些进展伴随着两个待解决的问题。第一个问题是在复杂的海洋环境中,低质模糊会造成特征信息严重缺失,收集到的水下图像颜色不统一甚至差异较大,从而导致算法检测精度下降;第二个问题是高密度鱼群会产生密集遮挡,目标间特征差异较小且会相互影响,导致检测的召回率降低。


    技术实现思路

    1、本发明所要解决的技术问题是针对现有技术的不足,提供一种复杂海洋环境下的鱼类目标检测方法。

    2、本发明的技术方案如下:

    3、一种复杂海洋环境下的鱼类目标检测方法,总体流程如图3所示。包括步骤s110-s150,具体如下

    4、s110:收集原始水下鱼类图像数据和对应的鱼类目标手动标注数据,标注数据中包含鱼类的类别以及检测框的坐标,将鱼类图像数据和目标标注数据分别构成原始图像数据集i和标签数据集l;

    5、s120:使用加权直方图匹配算法对原始图像数据集进行数据预处理,并构建测试和训练数据集;

    6、s130:构建改进yolov5的水下鱼类目标检测模型,记作hmfd_yolov5。

    7、s140:对构建的hmfd_yolov5进行训练。

    8、s150:根据所述水下鱼类目标检测方法,给出目标检测结果。

    9、步骤s120中的数据预处理方法流程如图4所示,包括步骤s210-s240。具体是s210计算源图像和多个目标图像的直方图并归一化直方图;s220计算源图像s和目标图像t的直方图的累积分布函数cdfs(k)和cdft(k);s230构建一个颜色映射函数g,将源图像s的颜色值映射到目标图像t的颜色值;s240将映射函数应用于源图像s,得到输出图像o。下面对各个模块分别进行说明。

    10、s210:由于海水的折射率变化、水质的浑浊度、光线的散射等因素导致在同一位置不同时间获取到的水下图像差异较大,在这些图像中很难定义标准颜色分布的目标图像,所以选取多个具有不同颜色分布的图像作为目标图像,多个目标图像之间采用加权的方法进行融合,用此方法来对整个图像数据集进行颜色统一。具体实现过程如下:

    11、源图像s和多个目标图像tm,它们分别具有三个通道(红、绿、蓝)。首先计算源图像s和多个目标图像tm的直方图,统计图像中每个像素值的频次,并且对两种图像的直方图分别进行归一化,得到归一化直方图。以红色通道为例,计算彩色图像直方图及归一化的公式如下:

    12、

    13、其中,r(x,y)分别表示图像在位置(x,y)处的红色通道像素值;δ是kroneckerdelta函数,当i等于对应的通道像素值时,δ等于1,否则等于0;m、n是分别是图像的长和宽。

    14、s220:计算源图像s的直方图的累积分布函数cdfs(k)和多个目标图像tm的加权cdf表示每个颜色值在图像中的累积频率。以红色通道为例,累积分布函数公式如下:

    15、

    16、

    17、其中,p_rs(i)和分别表示原始图像和多个目标图像中像素值为i的像素点数量的直方图统计值;x0......xm表示每一个目标图像的直方图统计值的权重;k表示灰度级别,一般取256。

    18、s230:为了进行映射,我们构建一个颜色映射函数g,将源图像s的颜色值映射到目标图像tm的颜色值。对于单个颜色通道的每个输入灰度级别j,在目标cdft中查找对应的强度级别j。映射函数g(j)公式如下:

    19、

    20、其中,||表示绝对值,argmin_j表示使得括号内的条件最小的值j。简单来说,就是将cdfs(i)映射到离它最近的上,并返回此时的j值。j的取值通常为0-256。s240:将映射函数应用于源图像s,得到输出图像o。以单通道为例,公式如下:

    21、o(x,y)=g(gj(x,y))

    22、其中,gj(x,y)表示输入图像中坐标为(x,y)的像素点的强度级别。j的取值通常为0-256。

    23、在步骤s130中对改进yolov5的水下鱼类目标检测模型(hmfd_yolov5)进行构建,网络结构如图5所示。采用yolov5s作为主干网络,包括输入端、骨干(backbone)网络、颈部(neck)网络和检测头(head)网络,具体如下:

    24、s 310在输入端,将通过数据预处理之后的图像作为网络的输入。

    25、s 320在backbone网络中,包括五个卷积块、四个c3模块和一个快速空间金字塔池化(spatial pyramid pooling-fast,sppf)模块。卷积块结构如图6所示,每个卷积块由一个2d卷积层、一个批归一化层和一个silu激活层组成。c3模块如图7所示,每一个c3模块由三个卷积块和一个瓶颈层(bottleneck)组成。sppf模块如图8所示,每一个sppf模块由两个卷积块和三个最大池化层组成。具体计算过程包括:输入图像依次经过第一卷积(conv)块、第二conv块、第一c3模块、第三conv块、第二c3模块、第四conv块、第三c3模块、第五conv块、第四c3模块、sppf模块,最后得到backbone网络提取的特征图。

    26、s 330neck网络的结构包括四个卷积块、四个c3模块和两个上采样(upsampling)模块。具体计算过程包括:输入图像依次经过第六conv块、第一upsampling模块、第一通道拼接(concat)模块、第五c3模块、第七conv块、第二upsampling模块、第二concat模块、第六c3模块、第八conv块、第三concat模块、第七c3模块、第九conv块、第四concat模块、第八c3模块。

    27、其中,第一unsampling模块的输出与第三c3模块的输出输入到第一concat模块进行通道拼接;第二unsampaling模块的输出与第二c3模块的输出输入到第二concat模块进行通道拼接;第七conv块的输出和第八conv块的输出输入到第三concat模块进行通道拼接;第六conv块的输出和第九conv块的输出输入到第四concat模块进行通道拼接。第六c3模块的输出作为第一个输出结果;第七c3模块的输出作为第二输出结果;第八c3模块的输出作为第三输出结果。

    28、s 340head网络主要由rtdetrdecoder组成。具体计算过程包括:将neck网络输出的第一、二和三个输出进行concat通道拼接作为rtdetrdecoder的输入,最后rtdetrdecoder输出检测结果。借助rtdetr的深度特征理解能力,增强对遮挡目标的检测能力。

    29、步骤s140中使用步骤s120中的原始图像训练数据集itrain和手动标注结果训练数据集ltrain对模型进行训练。具体步骤如下:首先将itrain输入到网络中进行计算得出本轮迭代计算结果,将结果与ltrain中对应的手动标注结果进行对比,使用损失函数计算损失值;其次通过随机梯度下降优化器计算梯度并将网络中的权值通过反向传播进行更新;然后对上述过程进行迭代直至满足误差要求,得到网络训练模型;最后使用原始图像测试数据集itest和手动标注结果测试数据集ltest对模型进行验证。上述步骤中的损失函数使用giouloss损失函数,计算如下:

    30、

    31、

    32、giouloss=1-giou

    33、其中,i表示两个边界框的交集,u表示两个边界框的面积之和减去i,ap和ag分别表示两个边界框的面积,ac表示两个边界框最小外接矩形的面积。

    34、本发明针对现有水下目标检测算法实际应用中存在的水下图像模糊、颜色失真、水下场景复杂、目标特征提取能力有限以及鱼群目标堆叠遮挡等问题,提供一种改进yolov5(you only look once v5)的水下鱼类目标检测方法。如图1所示,这种方法可通过加权直方图匹配来解决水下图像模糊、颜色失真以及颜色分布不统一的问题;其次,使用实时检测器(real-time detection transformer,rt-detr)中的解码器(rtdetrdecoder)替换yolov5中的检测头(head)部分,从而增强算法对遮挡目标的检测能力,对比效果如图2所示。


    技术特征:

    1.一种复杂海洋环境下的鱼类目标检测方法,其特征在于,包括步骤s110-s150:

    2.根据权利要求1所述的复杂海洋环境下的鱼类目标检测方法,其特征在于,步骤s120中的数据预处理方法包括步骤s210-s240:

    3.根据权利要求2所述的复杂海洋环境下的鱼类目标检测方法,其特征在于,步骤s210:选取多个具有不同颜色分布的图像作为目标图像,多个目标图像之间采用加权的方法进行融合,用此方法来对整个图像数据集进行颜色统一;具体实现过程如下:

    4.根据权利要求2所述的复杂海洋环境下的鱼类目标检测方法,其特征在于,步骤s210:计算源图像s的直方图的累积分布函数cdfs(k)和多个目标图像tm的加权cdf表示每个颜色值在图像中的累积频率;以红色通道为例,累积分布函数公式如下:

    5.根据权利要求2所述的复杂海洋环境下的鱼类目标检测方法,其特征在于,步骤s230:为了进行映射,构建一个颜色映射函数g,将源图像s的颜色值映射到目标图像tm的颜色值;对于单个颜色通道的每个输入灰度级别j,在目标cdft中查找对应的强度级别j;映射函数g(j)公式如下:

    6.根据权利要求2所述的复杂海洋环境下的鱼类目标检测方法,其特征在于,步骤s240:将映射函数应用于源图像s,得到输出图像o;以单通道为例,公式如下:

    7.根据权利要求1所述的复杂海洋环境下的鱼类目标检测方法,其特征在于,步骤s130中对改进yolov5的水下鱼类目标检测模型hmfd_yolov5进行构建,采用yolov5s作为主干网络,包括输入端、骨干(backbone)网络、颈部(neck)网络和检测头(head)网络,具体如下:

    8.根据权利要求1所述的复杂海洋环境下的鱼类目标检测方法,其特征在于,步骤s140中使用步骤s120中的原始图像训练数据集itrain和手动标注结果训练数据集ltrain对模型进行训练;具体步骤如下:首先将itrain输入到网络中进行计算得出本轮迭代计算结果,将结果与ltrain中对应的手动标注结果进行对比,使用损失函数计算损失值;其次通过随机梯度下降优化器计算梯度并将网络中的权值通过反向传播进行更新;然后对上述过程进行迭代直至满足误差要求,得到网络训练模型;最后使用原始图像测试数据集itest和手动标注结果测试数据集ltest对模型进行验证;上述步骤中的损失函数使用giouloss损失函数,计算如下:


    技术总结
    本发明公开了一种复杂海洋环境下的鱼类目标检测方法,包括步骤S110‑S150:S110:收集原始水下鱼类图像数据和对应的鱼类目标手动标注数据,标注数据中包含鱼类的类别以及检测框的坐标,将鱼类图像数据和目标标注数据分别构成原始图像数据集I和标签数据集L;S120:使用加权直方图匹配算法对原始图像数据集进行数据预处理,并构建测试和训练数据集;S130:构建改进YOLOv5的水下鱼类目标检测模型,记作HMFD_YOLOv5;S140:对构建的HMFD_YOLOv5进行训练;S150:根据所述水下鱼类目标检测方法,给出目标检测结果;首先,本发明通过加权直方图匹配来解决水下图像模糊、颜色失真以及颜色分布不统一的问题;其次,使用实时检测器中的解码器替换YOLOv5中的检测头部分,从而增强算法对遮挡目标的检测能力。

    技术研发人员:李华玲,霍佳鑫,章永来,张晓波,安洋
    受保护的技术使用者:中北大学
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-92302.html

    最新回复(0)