一种基于实例分割的活体鱼重量估计方法及系统

文档序号:31416468发布日期:2022-09-03 15:45阅读:79来源:国知局
一种基于实例分割的活体鱼重量估计方法及系统

1.本发明涉及图像处理领域,特别是涉及一种基于实例分割的活体鱼重量估计方法及系统。


背景技术:

2.在水产养殖中,定期获取养殖鱼类的重量对于水产养殖公司制定如鱼类分级管理、养殖密度监控与投喂量调节等养殖策略与管理计划具有重要意义,人工采样的方式不仅速度慢、成本高,而且对鱼类也会产生不可逆的伤害。因此通过自动化的活鱼重量估计方法代替人工采样得到了广泛的关注。
3.自动化的活鱼重量估计方法能够大大提高鱼类重量估计的效率,减少对人工的依赖,降低人工捕捞的风险,减少不必要的损失。现有技术中,如中国专利公开号cn104931120a的方案中通过超声波检测器检测网箱内鱼的检测图像,检测图像中包含多个鱼的图像块,将图像块与标准图像进行比较,若长宽均匹配,则将标准图像中鱼的重量作为图像块中鱼的重量,由于网箱内鱼的数量较多,遮挡比较严重,且鱼身体的弯曲度也会影响图像块的尺寸,因此cn104931120a的方案检测到的鱼的重量不够精准。
4.鱼类的重量与鱼类的周长、体长等尺寸参数密切相关,图像中往往包含了鱼类的尺寸信息,通过对图像中的鱼类进行实例分割,并结合水下双目视觉估计鱼类的周长,进而预测鱼类的重量,可以实现养殖鱼类重量的自动估计,弥补人工采样的缺陷。但是利用水下双目视觉估计鱼类周长的精确度受制于两方面因素,一方面养殖鱼类密度较高,遮挡比较严重;另一方面鱼类身体的弯曲度也会影响周长估计的精度,鱼类身体的弯曲度越大,误差也越大。


技术实现要素:

5.本发明的目的是提供一种基于实例分割的活体鱼类重量估计方法及系统,可提高对活体鱼重量估计的精确度。
6.为实现上述目的,本发明提供了如下方案:一种基于实例分割的活体鱼重量估计方法,包括:获取样本数据集;所述样本数据集中包括多张活体鱼样本图像及各活体鱼样本图像中活体鱼的真实轮廓;基于resnet、pan、solo神经网络及注意力机制,构建cam-solo神经网络;根据所述样本数据集,对cam-solo神经网络进行训练,得到分割网络模型;基于所述分割网络模型,根据待识别活体鱼图像,确定所述待识别活体鱼图像中各活体鱼的轮廓;根据所述待识别活体鱼图像中各活体鱼的轮廓,确定目标活体鱼及所述目标活体鱼的周长;基于周长-重量预测模型,根据所述目标活体鱼的周长,确定所述目标活体鱼的重
量;所述周长-重量预测模型为预先建立的活体鱼的周长与重量的关系模型。
7.可选地,所述获取样本数据集,具体包括:采用张正友标定法对双目相机进行标定,确定所述双目相机的内参矩阵和畸变系数;采用所述双目相机采集活体鱼的水下双目视频;根据所述水下双目视频,确定多张初始样本图像;针对每张初始样本图像,根据所述双目相机的内参矩阵和畸变系数,确定所述初始样本图像中样本活体鱼的体长估测值;根据所述样本活体鱼的体长估测值及所述初始样本图像中活体鱼的体长实测值,确定体长相对误差;若初始样本图像中包含一条活体鱼,则所述体长实测值为所述活体鱼的真实体长;若初始样本图像中包含多条活体鱼,则所述体长实测值为多条活体鱼的体长最大值;根据所述体长相对误差及预设的误差阈值,确定多张初始样本图像中的正样本及负样本,并对正样本及负样本中的活体鱼的轮廓进行标注,得到样本数据集。
8.可选地,所述根据所述双目相机的内参矩阵和畸变系数,确定所述初始样本图像中样本活体鱼的体长估测值,具体包括:根据所述内参矩阵,将所述初始样本图像转换到相机坐标系下,得到相机坐标系样本图像;根据所述畸变系数,对所述相机坐标系样本图像中的像素进行换算,并将所述相机坐标系样本图像转换到像素坐标系下,得到像素坐标系样本图像;计算所述像素坐标系样本图像中各像素点到双目相机平面的距离;根据所述像素坐标系样本图像中各像素点到双目相机平面的距离,将所述像素坐标系样本图像转换到世界坐标系下,得到世界坐标系样本图像;根据所述世界坐标系样本图像中样本活体鱼的三维坐标,确定所述样本活体鱼的体长估测值。
9.可选地,采用以下公式,确定样本活体鱼的体长估测值:;其中,为样本活体鱼的体长估测值,为样本活体鱼嘴巴的三维坐标,为样本活体鱼尾巴的三维坐标。
10.可选地,在所述初始样本图像中包含一条活体鱼时,采用以下公式确定体长相对误差:;在所述初始样本图像中包含多条活体鱼时,采用以下公式确定体长相对误差:;其中,rl为初始样本图像中包含一条活体鱼时的体长实测值,sl为初始样本图像
中包含多条活体鱼时的体长实测值,error1为初始样本图像中包含一条活体鱼时的体长相对误差,error2为初始样本图像中包含多条活体鱼时的体长相对误差,||为取绝对值运算。
11.可选地,所述根据所述样本数据集,对cam-solo神经网络进行训练,得到分割网络模型,具体包括:针对任一活体鱼样本图像,通过resnet自底向上对所述活体鱼样本图像进行特征提取,得到第一特征图、第二特征图、第三特征图及第四特征图;通过pan对所述第一特征图、所述第二特征图、所述第三特征图及所述第四特征图进行特征提取,确定第五特征图、第六特征图、第七特征图、第八特征图及第九特征图;针对第五特征图、第六特征图、第七特征图、第八特征图及第九特征图中的任一特征图,对所述特征图进行采样,得到网格特征图;对所述网格特征图进行多次卷积操作,确定所述网格特征图中各网格的类别预测结果;将所述特征图中各像素的坐标归一化,得到各像素的归一化横坐标及归一化纵坐标;根据所述特征图及所述特征图中各像素的归一化横坐标,确定第一掩码预测特征图;根据所述特征图及所述特征图中各像素的归一化纵坐标,确定第二掩码预测特征图;采用通道注意力机制对所述特征图中的像素建立关联关系,得到关联特征图;将所述第一掩码预测特征图与所述关联特征图进行串联,并卷积,得到第一分支特征图;将所述第二掩码预测特征图与所述关联特征图进行串联,并卷积,得到第二分支特征图;根据所述第一分支特征图、所述第二分支特征图及网格特征图中各网格的类别预测结果,确定所述特征图中活体鱼的预测轮廓;根据所述第五特征图、第六特征图、第七特征图、第八特征图及第九特征图中各网格的类别预测结果、活体鱼的预测轮廓及活体鱼的真实轮廓,确定损失函数,并根据损失函数对cam-solo神经网络进行迭代训练,直至损失函数收敛,以得到最优的cam-solo神经网络,最优的cam-solo神经网络为分割网络模型。
12.可选地,所述通过pan对所述第一特征图、所述第二特征图、所述第三特征图及所述第四特征图进行特征提取,确定第五特征图、第六特征图、第七特征图、第八特征图及第九特征图,具体包括:对所述第一特征图进行卷积操作,得到第一中间特征图;对所述第二特征图进行卷积操作,得到第二中间特征图;对所述第三特征图进行卷积操作,得到第三中间特征图;对所述第四特征图进行卷积操作,得到第四中间特征图;对所述第一中间特征图进行上采样,并与所述第二中间特征图进行拼接,得到第一拼接特征图;对所述第一拼接特征图进行卷积操作,得到第五中间特征图;对所述第一拼接特征图进行上采样,并与所述第三中间特征图进行拼接,得到第
二拼接特征图;对所述第二拼接特征图进行卷积操作,得到第六中间特征图;对所述第二拼接特征图进行上采样,并与所述第四中间特征图进行拼接,再进行卷积操作,得到第五特征图;对所述第五特征图进行下采样及卷积操作,并与所述第六中间特征图进行连接,得到第一连接特征图;对所述第一连接特征图进行卷积操作,得到第六特征图;对所述第一连接特征图进行下采样及卷积操作,并与所述第五中间特征图进行连接,得到第二连接特征图;对所述第二连接特征图进行卷积操作,得到第七特征图;对所述第二连接特征图进行下采样及卷积操作,并与所述第一中间特征图进行连接,得到第五拼接特征图;对所述第五拼接特征图进行卷积操作,得到第八特征图;对所述第八特征图进行最大池化操作,得到第九特征图。
13.可选地,所述活体鱼的轮廓包括多个轮廓点;所述根据所述待识别活体鱼图像中各活体鱼的轮廓,确定目标活体鱼及所述目标活体鱼的周长,具体包括:根据所述待识别活体鱼图像中各活体鱼的轮廓,确定目标活体鱼;所述目标活体鱼为未被遮挡且体长最长的活体鱼;将所述待识别活体鱼图像转换到世界坐标系下,并确定所述目标活体鱼的各轮廓点的三维坐标;根据所述目标活体鱼的各轮廓点的三维坐标,确定所述目标活体鱼的周长。
14.可选地,采用以下公式,确定目标活体鱼的周长:;其中,cf为目标活体鱼的周长,n为目标活体鱼的轮廓点总数,为轮廓点i的三维坐标。
15.为实现上述目的,本发明还提供了如下方案:一种基于实例分割的活体鱼重量估计系统,包括:样本数据获取单元,用于获取样本数据集;所述样本数据集中包括多张活体鱼样本图像及各活体鱼样本图像中活体鱼的真实轮廓;网络构建单元,用于基于resnet、pan、solo神经网络及注意力机制,构建cam-solo神经网络;训练单元,分别与样本数据获取单元及所述网络构建单元连接,用于根据所述样本数据集,对cam-solo神经网络进行训练,得到分割网络模型;轮廓识别单元,与所述训练单元连接,用于基于所述分割网络模型,根据待识别活体鱼图像,确定所述待识别活体鱼图像中各活体鱼的轮廓;周长确定单元,与所述轮廓识别单元连接,用于根据所述待识别活体鱼图像中各活体鱼的轮廓,确定目标活体鱼及所述目标活体鱼的周长;
重量确定单元,与所述周长确定单元连接,用于基于周长-重量预测模型,根据所述目标活体鱼的周长,确定所述目标活体鱼的重量;所述周长-重量预测模型为预先建立的活体鱼的周长与重量的关系模型。
16.根据本发明提供的具体实施例,本发明公开了以下技术效果:基于resnet、pan、solo神经网络及注意力机制构建cam-solo神经网络,通过cam-solo获取活体鱼的轮廓,再根据活体鱼的轮廓确定目标活体鱼及对应的周长,最后根据目标活体鱼的周长确定对应的重量,采用分割轮廓并确定目标活体鱼的方式,解决了鱼类遮挡及身体弯曲导致的周长误差较大的问题,提高了重量估计的精准度,且弥补了人工采样称重的缺陷,实现了复杂水下环境下的活鱼重量的自动估计。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明基于实例分割的活体鱼重量估计方法的流程图;图2为样本数据集制作过程的基本流程图;图3为cam-solo神经网络主干网络的示意图;图4为cam-solo神经网络头部结构的示意图;图5 为本发明基于实例分割的活体鱼重量估计系统的模块结构示意图;符号说明:样本数据获取单元-1,网络构建单元-2,训练单元-3,轮廓识别单元-4,周长确定单元-5,重量确定单元-6。
具体实施方式
19.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本发明的目的是提供一种基于实例分割的活体鱼重量估计方法及系统,通过采用分割轮廓并确定目标活体鱼的方式,解决鱼类遮挡及身体弯曲导致的周长误差较大的问题,提高重量估计的精准度,实现复杂水下环境下的活鱼重量的自动估计。
21.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
22.如图1所示,本发明基于实例分割的活体鱼重量估计方法包括:s1:获取样本数据集;所述样本数据集中包括多张活体鱼样本图像及各活体鱼样本图像中活体鱼的真实轮廓。
23.s2:基于resnet(residual network,残差网络)、改进的pan(path aggregation network,路径聚合网络)、solo(segmenting objects by locations,按位置分割对象)神
经网络及注意力机制,构建cam-solo神经网络。在本实施例中,采用danet(dual attention network,双注意力机制)中的通道注意力部分构建cam-solo神经网络。
24.s3:根据所述样本数据集,对cam-solo神经网络进行训练,得到分割网络模型。具体地,利用已标注的样本数据集对cam-solo神经网络进行端到端的训练,以得到分割网络模型。
25.s4:基于所述分割网络模型,根据待识别活体鱼图像,确定所述待识别活体鱼图像中各活体鱼的轮廓。
26.s5:根据所述待识别活体鱼图像中各活体鱼的轮廓,确定目标活体鱼及所述目标活体鱼的周长。具体地,所述活体鱼的轮廓包括多个轮廓点。
27.s6:基于周长-重量预测模型,根据所述目标活体鱼的周长,确定所述目标活体鱼的重量;所述周长-重量预测模型为预先建立的活体鱼的周长与重量的关系模型。
28.进一步地,如图2所示,步骤s1具体包括:s101:采用张正友标定法对双目相机进行标定,确定所述双目相机的内参矩阵和畸变系数。
29.s102:采用所述双目相机采集活体鱼的水下双目视频。
30.s103:根据所述水下双目视频,确定多张初始样本图像。
31.s104:针对每张初始样本图像,根据所述双目相机的内参矩阵和畸变系数,确定所述初始样本图像中样本活体鱼的体长估测值。
32.具体地,步骤s104具体包括:s1041:根据所述内参矩阵,将所述初始样本图像转换到相机坐标系下,得到相机坐标系样本图像。
33.s1042:根据所述畸变系数,对所述相机坐标系样本图像中的像素进行换算,并将所述相机坐标系样本图像转换到像素坐标系下,得到像素坐标系样本图像。
34.s1043:计算所述像素坐标系样本图像中各像素点到双目相机平面的距离。具体地,采用公式计算空间中某像素点到双目相机平面的距离d。其中,f为标定获取的焦距,t为双目相机中两个相机的距离,d为差值。
35.s1044:根据所述像素坐标系样本图像中各像素点到双目相机平面的距离,将所述像素坐标系样本图像转换到世界坐标系下,得到世界坐标系样本图像。具体地,采用以下公式,将像素坐标系样本图像转换到世界坐标系下:;其中,(x,y,z)为世界坐标系样本图像中样本活体鱼的三维坐标,)和分别为双目视觉中样本活体鱼在两个相机拍摄的图像中的像素坐标。
36.s1045:根据所述世界坐标系样本图像中样本活体鱼的三维坐标,确定所述样本活
体鱼的体长估测值。在本实施例中,采用以下公式,确定样本活体鱼的体长估测值:;其中,为样本活体鱼的体长估测值,为样本活体鱼嘴巴的三维坐标,为样本活体鱼尾巴的三维坐标。
37.s105:根据所述样本活体鱼的体长估测值及所述初始样本图像中活体鱼的体长实测值,确定体长相对误差。若初始样本图像中包含一条活体鱼,则所述体长实测值为所述活体鱼的真实体长。若初始样本图像中包含多条活体鱼,则所述体长实测值为多条活体鱼的体长最大值。双目视觉三维测量可以得到目标在现实世界中的三维坐标,并根据该三维坐标得到目标的尺寸参数。 当鱼体不弯曲,面对镜头时,其体长应达到最大。因此,将体长最大值作为图像中包含多条鱼时的预先设定的标准鱼体长度。
38.具体地,在所述初始样本图像中包含一条活体鱼时,采用以下公式确定体长相对误差:;在所述初始样本图像中包含多条活体鱼时,采用以下公式确定体长相对误差:;其中,rl为初始样本图像中包含一条活体鱼时的体长实测值,sl为初始样本图像中包含多条活体鱼时的体长实测值,error1为初始样本图像中包含一条活体鱼时的体长相对误差,error2为初始样本图像中包含多条活体鱼时的体长相对误差,||为取绝对值运算。
39.s106:根据所述体长相对误差及预设的误差阈值,确定多张初始样本图像中的正样本及负样本,并对正样本及负样本中的活体鱼的轮廓进行标注,得到样本数据集。具体地,采用labelme工具箱对正样本及负样本中的活体鱼的轮廓进行标注。
40.进一步地,设置误差阈值为t,对于只包含一条鱼的图像,若error1≥t,则将初始样本图像中的活体鱼划分为负类样本。若error1《t,则将初始样本图像中的活体鱼划分为正类样本。对于包含多条鱼的图像,若鱼类目标被遮挡,则直接将其划分为负类样本;若没有被遮挡,但是error2≥t,则将该鱼类目标划分为负类样本;若没有被遮挡,且error2《t,则该鱼类目标被划分为正类样本。对初始样本图像进行标注后,图像中采用依次连接的轮廓点标注出各活体鱼的轮廓,且标注出各活体鱼是否被遮挡及体长相对误差小于误差阈值的活体鱼。
41.进一步地,步骤s3具体包括:s301:针对任一活体鱼样本图像,通过resnet自底向上对所述活体鱼样本图像进行特征提取,得到第一特征图、第二特征图、第三特征图及第四特征图。
42.s302:通过pan对所述第一特征图、所述第二特征图、所述第三特征图及所述第四特征图进行特征提取,确定第五特征图、第六特征图、第七特征图、第八特征图及第九特征图。
43.具体地,步骤s302具体包括:对所述第一特征图进行卷积操作,得到第一中间特征图。
44.对所述第二特征图进行卷积操作,得到第二中间特征图。
45.对所述第三特征图进行卷积操作,得到第三中间特征图。
46.对所述第四特征图进行卷积操作,得到第四中间特征图。
47.对所述第一中间特征图进行上采样,并与所述第二中间特征图进行拼接,得到第一拼接特征图。
48.对所述第一拼接特征图进行卷积操作,得到第五中间特征图。
49.对所述第一拼接特征图进行上采样,并与所述第三中间特征图进行拼接,得到第二拼接特征图。
50.对所述第二拼接特征图进行卷积操作,得到第六中间特征图。
51.对所述第二拼接特征图进行上采样,并与所述第四中间特征图进行拼接,再进行卷积操作,得到第五特征图。
52.对所述第五特征图进行下采样及卷积操作,并与所述第六中间特征图进行连接,得到第一连接特征图。
53.对所述第一连接特征图进行卷积操作,得到第六特征图。
54.对所述第一连接特征图进行下采样及卷积操作,并与所述第五中间特征图进行连接,得到第二连接特征图。
55.对所述第二连接特征图进行卷积操作,得到第七特征图。
56.对所述第二连接特征图进行下采样及卷积操作,并与所述第一中间特征图进行连接,得到第五拼接特征图。
57.对所述第五拼接特征图进行卷积操作,得到第八特征图。
58.对所述第八特征图进行最大池化操作,得到第九特征图。
59.在本实施例中,cam-solo网络包括主干网络和头部结构。如图3所示,其中主干网络中包含resnet和一个改进的pan网络。具体地,本发明将pan网络中对第五特征图p2进行下采样及卷积操作后,与第六中间特征图进行连接操作,并卷积,得到第六特征图n3;对第一连接特征图进行下采样及卷积操作后,与第五中间特征图进行连接操作,并卷积,得到第七特征图n4;第二连接特征图进行下采样及卷积操作后,与第一中间特征图p5进行连接操作,并卷积,得到第八特征图n5。头部结构用于输出图像中目标活体鱼的类别及分割结果。如图4所示,头部结构包括实例识别模块和掩码分割模块。头部结构将输入的特征图划分为个网格,如果物体的中心落在一个网格单元中,则该网格单元负责预测目标的类别,并指导掩码分割模块对该目标进行分割。其中,掩码分割模块包含两个掩码预测分支和一个注意力分支。
60.主干网络首先利用resnet对图像进行特征提取,该过程是一个自底向上的特征传播过程,得到输出特征图[c2,c3,c4,c5],对应的特征图尺寸为。其中,h为活体鱼样本图像的高,w为活体鱼样本图像的宽,c2为第四特征图,c3为第三特征图,c4为第二特征图,c5为第一特征图。
[0061]
在改进的pan网络中,包含一个侧边融合通道、一个自顶向下的特征传播通道和一个自底向上的特征传播通道。其中,通过横向连接降低了图像的维度,自顶向下的特征传播通道通过对特征图进行上采样与底层特征进行信息的融合,提高每一层输出特征图的信息
丰富度。该过程对应的输出特征图为[p2,p3,p4,p5],对应尺寸为。在resnet的自底向上的传播过程中经过了几十上百个卷积层,特征经过多层传递之后,浅层的特征信息丢失就会比较严重。改进的pan网络中的自底向上的特征传播通道的结构本身不到10层,这样浅层特征经过原始fpn中的横向连接到p2然后再从p2沿着自底向上的路径传递到顶层,能较好的保存浅层特征信息,该过程输出的特征图为[p2,n3,n4,n5,n6],对应尺寸为。其中,p2为第五特征图,n3为第六特征图,n4为第七特征图,n5为第八特征图,n6为第九特征图。
[0062]
s303:针对第五特征图、第六特征图、第七特征图、第八特征图及第九特征图中的任一特征图,对所述特征图进行采样,得到网格特征图;对所述网格特征图进行多次卷积操作,确定所述网格特征图中各网格的类别预测结果。
[0063]
具体地,类别识别模块首先使用双线性插值将第五特征图、第六特征图、第七特征图、第八特征图及第九特征图中的任一特征图采样到的大小,然后对其执行7次卷积运行,卷积核大小为,预测网格的类别。如果将输入特征图划分为个网格,则输出空间为,对于每个网格,类别分支预测c维输出表示语义类别的概率,其中c表示类别的数目。
[0064]
s与掩码预测分支相对应,实例掩码的第一掩码预测分支和第二掩码预测分支最后输出的均是2h*2w*s的特征图,若实例识别模块选择第(2,3)个网格,第一掩码预测分支选择2h*2w*s中的第2个特征图,第二掩码预测分支选第3个,然后这两个特征图逐像素相乘,这样就可以得到第(2,3)个网格的类别预测结果和对应的掩膜。
[0065]
s304:将所述特征图中各像素的坐标归一化,得到各像素的归一化横坐标及归一化纵坐标。
[0066]
s305:根据所述特征图及所述特征图中各像素的归一化横坐标,确定第一掩码预测特征图。具体地,将特征图中像素的横坐标与纵坐标归一化至[-1,1]的区间,根据横坐标和纵坐标的数目将[-1,1]的区间进行均分。
[0067]
s306:根据所述特征图及所述特征图中各像素的归一化纵坐标,确定第二掩码预测特征图。
[0068]
s307:采用通道注意力机制对所述特征图中的像素建立关联关系,得到关联特征图。
[0069]
s308:将所述第一掩码预测特征图与所述关联特征图进行串联,并卷积,得到第一分支特征图。
[0070]
s309:将所述第二掩码预测特征图与所述关联特征图进行串联,并卷积,得到第二分支特征图。
[0071]
坐标信息的加入增加了网络对于位置信息的敏感性,为了更好了提高网络对于通道的注意力,本发明在头部结构中加入了通道注意力分支。具体地,将主干网络输出的特征输入通道注意力分支中,然后将通道注意力分支输出的结果(关联特征图)分别与第一掩码预测特征图和第二掩码预测特征图串联,得到第一分支特征图和第二分支特征图。
[0072]
掩码分割模块分为三个分支,分别是两个掩码预测分支和一个注意力分支。其中,
掩码预测分支中包含两部分信息,一部分为主干网络输出的特征图;另一部分是为了达到空间变异性的目的,在两个掩码预测分支中分别加入了归一化的像素位置坐标。第一掩码预测分支加入像素的横坐标的归一化结果。第二掩码预测分支加入像素的纵坐标的归一化结果。将像素的横坐标与纵坐标分别与主干网络输出的特征图进行串联,构成第一掩码预测分支和第二掩码预测分支的掩码预测特征图,之后分别利用7个卷积核为的卷积层处理融合了坐标信息的特征图,并对输出结果进行上采样至2倍尺寸。以第五特征图p2为例,通过上述处理后,最终输出的特征图尺寸为,用于与通道注意力分支输出的特征图进行串联。
[0073]
s310:根据所述第一分支特征图、所述第二分支特征图及网格特征图中各网格的类别预测结果,确定所述特征图中活体鱼的预测轮廓。
[0074]
具体地,在第一分支特征图和第二分支特征图上分别采用1个卷积核为卷积层对特征进行融合,得到第一融合特征图及第二融合特征图,分别对第一融合特征图及第二融合特征图执行卷积层,输出与类别识别分支中的网格数目c相同的特征图,来预测实例掩码。其中,第一掩码预测分支输出的特征图为,第二掩码预测分支输出的特征图为,其中,为实数集。
[0075]
对于位于网格位置(i,j)的实例,该实例的掩码预测结果定义为第一掩码预测分支和第二掩码预测分支的通道特征图的特征值的乘法:;;其中,和表示特征图x和特征图y的第j个通道和第i个通道对应的特征图,表示特征图对应特征点相乘,mk为掩码预测结果。
[0076]
s311:根据所述第五特征图、第六特征图、第七特征图、第八特征图及第九特征图中各网格的类别预测结果、活体鱼的预测轮廓及活体鱼的真实轮廓,确定损失函数,并根据损失函数对cam-solo神经网络进行迭代训练,直至损失函数收敛,以得到最优的cam-solo神经网络,最优的cam-solo神经网络为分割网络模型。
[0077]
在本实施例中,主干网络输出的特征图对应不同的头部网络,即第五特征图、第六特征图、第七特征图、第八特征图和第九特征图分别对应一个头部网络,头部网络之间的参数是共享的,但是不同层对应的网格数目不同。具体地,本发明中每一层对应的网格数为[40,36,24,16,12]。
[0078]
具体地,步骤s3还包括:预先设定训练的最大迭代次数、学习率、批处理大小和最小损失阈值。当训练的迭代次数达到所述最大迭代次数或者前后两次训练得到的损失函数的差值小于所述最小损失阈值时,停止训练并确定最终的分割网络模型。
[0079]
在本实施例中,损失函数为:
;其中,l
cate
为用于对目标类别进行识别的focal损失,l
mask
为用于掩码预测的dice损失,p
t
为类别预测值,为平衡变量,为可调聚集参数,p
x,y
为位于坐标(x,y)上的像素对应的预测的掩码值,q
x,y
为位于坐标(x,y)上的像素对应的真实的掩码值。
[0080]
步骤s4中,将待识别活体鱼图像输入分割网络模型中,得到网格(i,j)处的类别分数p
i,j
和对应的掩码mk。首先,将置信阈值设为0.1,对低置信的预测结果进行过滤。然后择前500个掩码,使用非极大值抑制对它们进行处理。最后,将阈值设置为0.5,将预测的软掩码转换为二进制掩码。根据网格的类别分数和掩码,确定活体鱼的轮廓。
[0081]
更进一步地,步骤s5具体包括:s501:根据所述待识别活体鱼图像中各活体鱼的轮廓,确定目标活体鱼;所述目标活体鱼为未被遮挡且体长最长的活体鱼。
[0082]
s502:将所述待识别活体鱼图像转换到世界坐标系下,并确定所述目标活体鱼的各轮廓点的三维坐标。具体地,将轮廓对应的像素坐标转换为世界坐标,进而得到目标活体鱼的轮廓的三维位置。
[0083]
s503:根据所述目标活体鱼的各轮廓点的三维坐标,确定所述目标活体鱼的周长。在本实施例中,采用以下公式,确定目标活体鱼的周长:;其中,cf为目标活体鱼的周长,n为目标活体鱼的轮廓点总数,为轮廓点i的三维坐标。
[0084]
本发明在构建样本数据集的过程中,利用未被遮挡的活体鱼体长的相对误差确定图像中的正负样本。在活体鱼个体轮廓获取过程中利用基于cam-solo的鱼类实例分割算法分割出活体鱼并输出正类样本的轮廓特征,同时将轮廓特征与水下双目视觉相结合计算活体鱼的周长,并预测其对应的重量,有效解决了活体鱼遮挡及身体弯曲导致的周长估测误差较大的问题,弥补了人工采样称重的缺陷,实现了复杂水下环境下的鱼类重量的自动估计。
[0085]
表1展示了本发明基于实例分割的活体鱼重量估计方法结合水下双目视觉、鱼类周长-重量预测模型在斑石鲷上的重量预测结果。其中评价指标包括:r为预测重量与真实重量之间相关系数,rmse为均方根误差,mae为平均绝对误差,mape为平均绝对百分比误差。
[0086]
表1不同周长-重量预测模型的重量预测结果模型rrmsemaemape(%)线性0.97822.9416.746.77幂指数0.97127.4618.086.12平方根0.97524.3816.545.76如图5所示,本发明基于实例分割的活体鱼重量估计系统包括:样本数据获取单元
1、网络构建单元2、训练单元3、轮廓识别单元4、周长确定单元5及重量确定单元6。
[0087]
其中,所述样本数据获取单元1用于获取样本数据集;所述样本数据集中包括多张活体鱼样本图像及各活体鱼样本图像中活体鱼的真实轮廓。
[0088]
所述网络构建单元2用于基于resnet、pan、solo神经网络及注意力机制,构建cam-solo神经网络。
[0089]
所述训练单元3分别与样本数据获取单元1及所述网络构建单元2连接,所述训练单元3用于根据所述样本数据集,对cam-solo神经网络进行训练,得到分割网络模型。
[0090]
所述轮廓识别单元4与所述训练单元3连接,所述轮廓识别单元4用于基于所述分割网络模型,根据待识别活体鱼图像,确定所述待识别活体鱼图像中各活体鱼的轮廓。
[0091]
所述周长确定单元5与所述轮廓识别单元4连接,所述周长确定单元5用于根据所述待识别活体鱼图像中各活体鱼的轮廓,确定目标活体鱼及所述目标活体鱼的周长。
[0092]
所述重量确定单元6与所述周长确定单元5连接,所述重量确定单元6用于基于周长-重量预测模型,根据所述目标活体鱼的周长,确定所述目标活体鱼的重量;所述周长-重量预测模型为预先建立的活体鱼的周长与重量的关系模型。
[0093]
进一步地,所述样本数据获取单元1包括:双目相机、标定模块、初始样本图像确定模块、体长估测模块、误差确定模块及标注模块。
[0094]
其中,标定模块与双目相机连接,标定模块用于采用张正友标定法对双目相机进行标定,确定所述双目相机的内参矩阵和畸变系数。
[0095]
所述双目相机用于采集活体鱼的水下双目视频。
[0096]
初始样本图像确定模块与双目相机连接,初始样本图像确定模块用于根据所述水下双目视频,确定多张初始样本图像。
[0097]
体长估测模块与初始样本图像确定模块及标定模块连接,体长估测模块用于针对每张初始样本图像,根据所述双目相机的内参矩阵和畸变系数,确定所述初始样本图像中样本活体鱼的体长估测值。
[0098]
具体地,体长估测模块包括:相机坐标转换子模块、像素坐标转换子模块、距离计算子模块、世界坐标转换子模块、估测子模块、相机坐标转换子模块与初始样本图像确定模块连接,相机坐标转换子模块用于根据所述内参矩阵,将所述初始样本图像转换到相机坐标系下,得到相机坐标系样本图像。
[0099]
像素坐标转换子模块与相机坐标转换子模块连接,像素坐标转换子模块用于根据所述畸变系数,对所述相机坐标系样本图像中的像素进行换算,并将所述相机坐标系样本图像转换到像素坐标系下,得到像素坐标系样本图像。
[0100]
距离计算子模块与像素坐标转换子模块连接,距离计算子模块用于计算所述像素坐标系样本图像中各像素点到双目相机平面的距离。
[0101]
世界坐标转换子模块与距离计算子模块连接,世界坐标转换子模块用于根据所述像素坐标系样本图像中各像素点到双目相机平面的距离,将所述像素坐标系样本图像转换到世界坐标系下,得到世界坐标系样本图像。
[0102]
估测子模块与世界坐标转换子模块连接,估测子模块用于根据所述世界坐标系样本图像中样本活体鱼的三维坐标,确定所述样本活体鱼的体长估测值。
[0103]
误差确定模块与体长估测模块连接,误差确定模块用于根据所述样本活体鱼的体
长估测值及所述初始样本图像中活体鱼的体长实测值,确定体长相对误差。若初始样本图像中包含一条活体鱼,则所述体长实测值为所述活体鱼的真实体长。若初始样本图像中包含多条活体鱼,则所述体长实测值为多条活体鱼的体长最大值。
[0104]
标注模块与误差确定模块连接,标注模块用于根据所述体长相对误差及预设的误差阈值,确定多张初始样本图像中的正样本及负样本,并对正样本及负样本中的活体鱼的轮廓进行标注,得到样本数据集。
[0105]
更进一步地,所述训练单元3包括:第一特征提取模块、第二特征提取模块、类别确定模块、归一化模块、第一掩码模块、第二掩码模块、注意力模块、第一分支模块、第二分支模块、轮廓确定模块及迭代模块。
[0106]
其中,第一特征提取模块与样本数据获取单元1连接,第一特征提取模块用于针对任一活体鱼样本图像,通过resnet自底向上对所述活体鱼样本图像进行特征提取,得到第一特征图、第二特征图、第三特征图及第四特征图。
[0107]
第二特征提取模块与第一特征提取模块连接,第二特征提取模块用于通过pan对所述第一特征图、所述第二特征图、所述第三特征图及所述第四特征图进行特征提取,确定第五特征图、第六特征图、第七特征图、第八特征图及第九特征图。
[0108]
类别确定模块与第二特征提取模块连接,类别确定模块用于针对第五特征图、第六特征图、第七特征图、第八特征图及第九特征图中的任一特征图,对所述特征图进行采样,得到网格特征图;对所述网格特征图进行多次卷积操作,确定所述网格特征图中各网格的类别预测结果。
[0109]
归一化模块与第二特征提取模块连接,归一化模块用于将所述特征图中各像素的坐标归一化,得到各像素的归一化横坐标及归一化纵坐标。
[0110]
第一掩码模块与归一化模块及第二特征提取模块连接,第一掩码模块用于根据所述特征图及所述特征图中各像素的归一化横坐标,确定第一掩码预测特征图。
[0111]
第二掩码模块与归一化模块及第二特征提取模块连接,第二掩码模块用于根据所述特征图及所述特征图中各像素的归一化纵坐标,确定第二掩码预测特征图。
[0112]
注意力模块与第二特征提取模块连接,注意力模块用于采用通道注意力机制对所述特征图中的像素建立关联关系,得到关联特征图。
[0113]
第一分支模块与第一掩码模块及注意力模块连接,第一分支模块用于将所述第一掩码预测特征图与所述关联特征图进行串联,并卷积,得到第一分支特征图。
[0114]
第二分支模块与第二掩码模块及注意力模块连接,第二分支模块用于将所述第二掩码预测特征图与所述关联特征图进行串联,并卷积,得到第二分支特征图。
[0115]
轮廓确定模块分别与第一分支模块、第二分支模块及类别确定模块连接,轮廓确定模块用于根据所述第一分支特征图、所述第二分支特征图及网格特征图中各网格的类别预测结果,确定所述特征图中活体鱼的预测轮廓。
[0116]
迭代模块与类别确定模块及轮廓确定模块连接,迭代模块用于根据所述第五特征图、第六特征图、第七特征图、第八特征图及第九特征图中各网格的类别预测结果、活体鱼的预测轮廓及活体鱼的真实轮廓,确定损失函数,并根据损失函数对cam-solo神经网络进行迭代训练,直至损失函数收敛,以得到最优的cam-solo神经网络,最优的cam-solo神经网络为分割网络模型。
[0117]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0118]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1