掌桥专利:专业的专利平台
掌桥专利
首页

一种水下鱼体生物量检测方法及系统

文献发布时间:2024-04-18 19:58:53


一种水下鱼体生物量检测方法及系统

技术领域

本发明涉及鱼体检测技术领域,特别是涉及一种水下鱼体生物量检测方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

现有的水下双目视觉方法对鱼体进行识别检测时,对目标鱼体的姿态要求较为严格,针对与摄像机光轴正交、中轴不弯曲的鱼体有较高的有效性,而针对鱼体轮廓与摄像机光轴不正交、鱼体姿态弯曲的情况缺乏鲁棒性,鱼体轮廓与摄像机光轴非正交是指鱼是斜着面对摄像机的,比如头离摄像机近,尾巴离摄像机远,可能是姿态平直的,也可能是姿态弯曲的;姿态弯曲是指鱼的脊骨是弯曲的,这种情况下鱼的轮廓是个曲面。目前在进行识别检测时,常常过滤掉该部分数据,而该部分数据是具有完整鱼体轮廓的,由此需要解决鱼体轮廓与摄像机光轴非正交或姿态弯曲的鱼体识别问题。

在对识别出的目标鱼体进行生物量检测时,尤其是针对体重估计时,目前要么是采用单一变量如体长、周长等对体重进行线性拟合,精度不高,要么是直接套用现成的公式,未考虑不同种类鱼体体重估计的差异性,不具有通用性。

发明内容

为了解决上述问题,本发明提出了一种水下鱼体生物量检测方法及系统,设计自适应窗口的截尾高斯均值滤波方法以获得稠密视差图,对稠密视差图进行视差平滑后进行三维重建,由此得到鱼体轮廓,提高目标检测精度,实现多姿态水下鱼体非接触式生物量的估计。

为了实现上述目的,本发明采用如下技术方案:

第一方面,本发明提供一种水下鱼体生物量检测方法,包括:

对水下双目图像对经实例分割后,得到目标鱼体双目图像对,并从目标鱼体双目图像对中提取对应的掩码对;

对掩码对进行立体匹配得到视差图,对视差图采用自适应窗口遍历深度值并进行截尾高斯均值滤波和缺失深度值补全,直至窗口内滤波后剩余的深度值数量满足比例要求,由此得到稠密视差图;

对稠密视差图经视差平滑处理后进行三维重建,得到鱼体轮廓,提取鱼体轮廓中的鱼体特征点并计算鱼体特征点间的距离,由此得到目标鱼体的叉长和体宽,根据叉长、体宽和体重的相关函数,估计目标鱼体的体重。

作为可选择的实施方式,对水下双目图像对进行实例分割的过程包括:

对水下双目图像对进行多尺度注意力特征提取,对每个尺度的注意力特征图经上采样后进行三重注意力提取,以此生成水下双目图像对的区域候选框;

根据区域候选框检测目标鱼体并分割,根据对区域候选框内像素类别的判定分割出掩码,由此提取出目标鱼体及其对应的掩码。

作为可选择的实施方式,截尾高斯均值滤波的过程包括:以视差图内的每个像素点为中心,以边长为N个深度值的窗口遍历所有深度值;将窗口内的非零深度值拟合为高斯分布,以高斯分布两倍标准差为截尾均值参数对窗口内的深度值进行滤波。

作为可选择的实施方式,缺失深度值补全的过程包括:将滤波后的剩余深度值求平均后替代滤波点处的深度值,若滤波后剩余深度值的数量不超过设定阈值,则扩大窗口大小,直到剩余深度值的比例满足要求,得到稠密深度图。

作为可选择的实施方式,三维重建的过程包括:将稠密视差图转换为点云图,对点云图进行体素下采样后,旋转至目标鱼体轴线与X轴平行,轮廓与Z轴垂直,最后通过泊松表面重建后,得到三角网格格式的鱼体轮廓。

作为可选择的实施方式,提取鱼体轮廓的头部、尾部、背部和腹部的鱼体特征点,在三角网格表面计算头部和尾部、背部和腹部间所有特征点的距离,由此得到目标鱼体的叉长和体宽。

作为可选择的实施方式,通过引入代价函数拟合得到叉长、体宽和体重的相关函数为:W=0.00477507fl+0.0311315wl-4.09581,其中,fl为叉长,wl为体宽,W为体重。

第二方面,本发明提供一种水下鱼体生物量检测系统,包括:

实例分割模块,被配置为对水下双目图像对经实例分割后,得到目标鱼体双目图像对,并从目标鱼体双目图像对中提取对应的掩码对;

视差图处理模块,被配置为对掩码对进行立体匹配得到视差图,对视差图采用自适应窗口遍历深度值并进行截尾高斯均值滤波和缺失深度值补全,直至窗口内滤波后剩余的深度值数量满足比例要求,由此得到稠密视差图;

生物量检测模块,被配置为对稠密视差图经视差平滑处理后进行三维重建,得到鱼体轮廓,提取鱼体轮廓中的鱼体特征点并计算鱼体特征点间的距离,由此得到目标鱼体的叉长和体宽,根据叉长、体宽和体重的相关函数,估计目标鱼体的体重。

第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。

第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。

与现有技术相比,本发明的有益效果为:

本发明提出一种水下鱼体生物量检测方法及系统,采用实例分割网络模型并修改其骨干网络,通过增加注意力机制模块,提升多尺度通道对特征的关注能力,提升分割精度,解决双目图像存在的纹理重复、边缘模糊等问题,从而准确提取完整轮廓的目标鱼体。

本发明提出一种水下鱼体生物量检测方法及系统,通过立体匹配得到视差图,设计自适应窗口的截尾高斯均值滤波方法,以获得稠密视差图,对稠密视差图进行视差平滑后进行三维重建,由此得到鱼体轮廓,解决鱼体轮廓与摄像机光轴非正交或姿态弯曲的鱼体识别问题,提高双目图像中完整目标的边缘检测精度,实现多姿态水下鱼体非接触式生物量的估计。

本发明提出一种水下鱼体生物量检测方法及系统,通过引入代价函数拟合目标鱼体的叉长、体宽和体重的预测公式,即考虑了体宽对体重的影响,且又具有通用性。

本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明实施例1提供的水下鱼体生物量检测方法流程图;

图2为本发明实施例1提供的实例分割骨干网络示意图;

图3为本发明实施例1提供的区域候选网络与预测分支示意图;

图4为本发明实施例1提供的实例分割训练结果图;

图5为本发明实施例1提供的实例分割网络训练损失示意图;

图6为本发明实施例1提供的三维重建结果示例图;

图7为本发明实施例1提供的鱼体特征点提取示意图;

图8为本发明实施例1提供的叉长估计示意图;

图9为本发明实施例1提供的体宽估计示意图。

具体实施方式

下面结合附图与实施例对本发明做进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例1

如图1所示,本实施例提供一种水下鱼体生物量检测方法,包括:

对水下双目图像对经实例分割后,得到目标鱼体双目图像对,并从目标鱼体双目图像对中提取对应的掩码对;

对掩码对进行立体匹配得到视差图,对视差图采用自适应窗口遍历深度值并进行截尾高斯均值滤波和缺失深度值补全,直至窗口内滤波后剩余的深度值数量满足比例要求,由此得到稠密视差图;

对稠密视差图经视差平滑处理后进行三维重建,得到鱼体轮廓,提取鱼体轮廓中的鱼体特征点并计算鱼体特征点间的距离,由此得到目标鱼体的叉长和体宽,根据叉长、体宽和体重的相关函数,估计目标鱼体的体重。

在本实施例中,首先对双目相机进行标定与校正;

具体地,在真实世界中建立世界坐标系,单位为m;以双目相机的光心为原点,在真实世界中建立相机坐标系,单位为m;以图像的主点为原点,在图像中建立图像坐标系,单位为mm;以图像左上角为原点,在图像中建立像素坐标系,单位为像素;

采用张氏标定法,对以上四个坐标系建立如下关系:

其中,Z

将双目相机固定于水下,手持棋盘格标定板,使标定板在双目相机的画面中完整出现,占据图像的面积约1/4至1/2;使用双目相机拍摄若干组不同位置与角度的标定板图像,采用张氏标定法,使用Matlab中的双目标定工具箱(Stereo Camera Calibrator)求解相机的内部参数和外部参数,利用OpenCV程序提取包含轮廓无遮挡,边缘较为清晰的鱼体双目图像进行校正,并将校正后的鱼体双目图像裁剪为预设尺寸,如960×960像素。

将校正并裁剪后的鱼体双目图像通过标注软件进行手工标注,标注时,不将背鳍和臀鳍包括在内。标注后生成格式为json的文件,文件名与图像名保持一致,将标注的数据进行左右翻转以实现扩充数据集,最后按照8:1:1的比例随机划分为训练集、验证集和测试集。

针对所采集的双目图像存在纹理重复,边缘模糊等问题,为了获取轮廓完整的目标鱼体,本实施例的实例分割模型采用深度学习的卷积神经网络算法,以实例分割网络Mask R-CNN为基础,在骨干网络ResNet-50中融入金字塔积压注意力(PSA)模块,将原本卷积核为3×3大小,步距为1的卷积层替换为PSA模块,提升多尺度通道对特征的关注能力。

PSA模块后连接特征金字塔(Feature Pyramid Networks,FPN),经FPN处理的特征图进行上采样(Upsample)后引入轻量级三重注意力机制(Triplet Attention)模块,用于捕捉跨维度特征,提升算法在实例分割任务上的性能;

经三重注意力机制操作后得到的特征图采用区域候选网络(RPN)中生成区域候选框,对其经进一步筛选后引入目标检测和实例分割两个分支;在目标检测分支中得到预测框的位置、类别和置信度,在实例分割分支,将候选框内的每一个像素是否属于目标类别进行置信度评分。

那么,如图2-图3所示,采用实例分割模型的具体处理流程包括:

将训练集中的双目图像输入到带有Resnet50预训练权重的ResNet50+PSA网络结构中进行多尺度注意力特征提取,得到4个大小分别为200×200×256、100×100×512、50×50×1024、25×25×2048的多尺度注意力特征图;

将上述特征图输入到FPN+Triplet Attention网络中,对每个尺度的注意力特征图均进行三重注意力提取,得到通道数为256的5个不同大小的特征图,分别为200×200、100×100、50×50、25×25、13×13;

将双目图像与其对应的特征图输入到区域生成网络(Region Proposal Network,RPN)中,对每张双目图像生成区域候选框;

将FPN+Triplet Attention网络中得到的特征图、RPN得到的区域候选框输入到RoI Align中,通过双线性插值方法将区域候选框的顶点坐标映射到不同大小的特征图上;其中,ROI Align是一种区域特征聚集方式;

引入目标检测分支(即边界框分支)和实例分割分支(即掩码分支);在目标检测分支中,根据RoI Align的输出,预测边界框的位置、类别和置信度,在实例分割分支中,将边界框内的每个像素是否属于目标类别进行置信度评分,提取置信度高于设定阈值的像素点组成目标掩码;

将边界框、预测类别、类别置信度和目标掩码绘制在原始图像中后输出,由此提取出目标鱼体及其对应的掩码。

最终,从校正并裁剪后的双目图像中筛选连续帧中出现同一目标鱼体的双目图像对,同一时刻的左目图像与右目图像被称为1个双目图像对,从目标鱼体双目图像对中提取对应的掩码对,分割结果如图4所示。

在训练阶段,通过计算训练集和验证集的目标检测损失、边界框回归损失和掩码分割损失,以反向传播方法调节神经网络中的权重矩阵,通过计算mAP、AP

训练神经网络时,设置输入图像的批次大小为16,图像的大小进行归一化处理为800×800像素,模型的初始学习率为0.01,第1轮使用渐进训练策略,在第4轮和第8轮将学习率除以10,训练20轮,选择带动量的随机梯度下降算法SGD为模型优化器,动量因子为0.9,权重衰减参数为0.0001。训练损失如图5所示。将训练好的网络模型在测试集上验证评价指标AP

其中,TP为被预测为前景的前景像素,FP为被预测为前景的背景像素,FN为被预测为背景的前景像素,n为数据集中的图片数量,A

在本实施例中,将待测双目图像经上述训练后的模型进行实例分割后,生成掩码对,对掩码对采用立体匹配网络SGBM得到视差图,并过滤掩码之外的深度值;其中,对立体匹配网络设置惩罚系数p1为225,p2为900,最小搜索范围为256,视差块大小设置为15×15;

然后,采用自适应窗口的截尾高斯均值滤波方法对视差图进行截尾高斯均值滤波和缺失深度值补全;具体为:

以视差图内的每个像素点为中心,以边长为N个深度值的搜索窗口遍历所有深度值;将搜索窗口内的非0深度值拟合为高斯分布,以高斯分布两倍标准差为截尾均值参数对搜索窗口内的深度值进行滤波;将滤波后的剩余深度值求平均后替代滤波点处的深度值;若滤波后剩余深度值的数量不超过设定阈值,本实施例以搜索窗口内非0深度值的1/2为例,则扩大搜索窗口的大小,直到剩余深度值的比例达到1/2,得到稠密深度图。

针对稠密深度图中匹配错误的结果,对稠密视差图采用最小二乘拟合方法进行视差平滑处理;具体为:

将稠密深度图中的每个点的横坐标记作自变量,深度值记作因变量:

A={(i,d'

其中,(i,j)为深度图中点的坐标,M为掩码,d'

采用最小二乘拟合方法将上述变量拟合为二次函数:

其中,m为掩码区域内每一列的深度值的数量,目标函数为S(i),通过目标函数S分别对参数a、b、c求偏导数,然后令导数等于零,可以得到所求二次函数f(i)最优的参数值

将每个自变量所对应的拟合结果记作标准值,以每一列的深度值d'

其中,

对稠密视差图经视差平滑处理后进行三维重建,如图6所示,将稠密视差图转换为点云图,对点云图进行体素下采样,体素大小可以选为10mm,以提升表面重建的效率,并限制特征点的数量;旋转点云使目标鱼体轴线与x轴平行,轮廓与z轴垂直,这是因为原始图像中鱼的姿态和角度多样,统一旋转至轮廓正对人眼视角(z轴),便于直观观察与特征点提取;将点云图通过泊松表面重建后,得到三角网格格式的鱼体轮廓图,表面重建是为了获得鱼的三角网格,以便在三角网格上采集特征点。

如图7所示,提取鱼体轮廓图的头部P1、尾部P2、背部P3和腹部P4的鱼体特征点,在三角网格表面采集特征点,计算P1-P2、P3-P4间所有特征点的距离,由此得到三维场景下目标鱼体的叉长和体宽,如图8-图9所示;其中,叉长是鱼体由吻端到尾叉最深点的长度,体宽是鱼体腹部与背部垂直于叉长的距离。

在本实施例中,采用Lasso回归的最小角回归法作为多元数据回归方法拟合体重,其代价函数为:

其中,w为权重系数,||·||

预先构建已知叉长、体宽和体重的鱼体身体指标数据集,以叉长和体宽作为自变量,通过改变惩罚系数,比较各个Cost(w),且取其中的最小值,本实施例取惩罚系数为0.012,求解代价函数,可得体重预测公式为:

W=0.00477507fl+0.0311315wl-4.09581

其中,fl为叉长,单位mm,wl为体宽,单位mm,W为体重,单位kg。

通过均方根误差(RMSE)、平均绝对误差(MSE)和平均绝对百分比误差(MAPE)对体重预测精度进行分析;

其中,N为每组图像的数量,w

体重平均预测值与评价指标如表1所示;

表1体重平均预测值与评价指标

本实施例提出一种基于水下双目视觉的鱼体三维重建与生物量检测方法,将鱼体进行实例分割,利用立体匹配算法实现鱼体的三维重建,捕捉特征点实现体尺的计算,其模型生产过程也更加高效,数据效率和泛化性也更加优秀。

实施例2

本实施例提供一种水下鱼体生物量检测系统,包括:

实例分割模块,被配置为对水下双目图像对经实例分割后,得到目标鱼体双目图像对,并从目标鱼体双目图像对中提取对应的掩码对;

视差图处理模块,被配置为对掩码对进行立体匹配得到视差图,对视差图采用自适应窗口遍历深度值并进行截尾高斯均值滤波和缺失深度值补全,直至窗口内滤波后剩余的深度值数量满足比例要求,由此得到稠密视差图;

生物量检测模块,被配置为对稠密视差图经视差平滑处理后进行三维重建,得到鱼体轮廓,提取鱼体轮廓中的鱼体特征点并计算鱼体特征点间的距离,由此得到目标鱼体的叉长和体宽,根据叉长、体宽和体重的相关函数,估计目标鱼体的体重。

此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。

在更多实施例中,还提供:

一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。

应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。

实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

相关技术
  • 一种海南鱼体耐药性检测方法
  • 一种水下鱼体生物量实时测量方法及装置
  • 一种基于神经网络的鱼体鱼病检测方法及系统
技术分类

06120116514739