一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

鱼类重量自动估计方法、装置、电子设备及存储介质与流程

2021-11-09 22:34:00 来源:中国专利 TAG:


1.本发明涉及图像分析处理和生物测量技术领域,尤其涉及一种鱼类重量自动估计方法、装置、电子设备及存储介质。


背景技术:

2.在水产养殖中,定期获取养殖鱼类的重量对于养殖密度监控、分级预警及投喂量调节等饲养过程具有重要意义。而鱼类的重量与鱼类的体长、体宽、周长等尺寸参数密切相关,因此鱼类的尺寸估计是影响鱼类重量估计准确性的重要因素。
3.现有基于图像处理的鱼类尺寸估计方法主要包括两个方面,一方面是将鱼类放置在相机与载物台之间距离固定的设备上,并在鱼体周围放置大小已知的参照物,通过估计参照物在图像中所占像素数目与鱼类所占像素的数目来推断鱼类的轮廓或者表面积等参数。然而,该方法在测量过程中会对鱼类的健康产生不良影响,实用性不佳。
4.另一方面,借助水下双目相机,利用图像

世界坐标变换可以获取鱼类的三维坐标,采用手动标记或者姿态估计等方法可以获取鱼类的嘴巴与尾巴在图像中的位置,进而实现鱼类体长、体宽等参数的估计。但是,利用水下双目视觉对鱼类尺寸参数的估计精度受鱼类身体的弯曲度影响较大,鱼类身体的弯曲度越大,误差也越大。而在面对鱼类运动的不确定性与待处理视频数据量大的问题时,上述方法无法自动确定适合尺寸估计的测量帧,导致测量结果可靠性难以保证。
5.此外,已有的鱼类重量估计装置,在测量帧搜索及鱼类尺寸参数关键点确定等步骤中,主要以人工挑选与手动标记为主,数据处理方式费时费力、适应性差且自动化程度低,难以满足实际应用需求。


技术实现要素:

6.本发明提供一种鱼类重量自动估计方法、装置、电子设备及存储介质,用以解决现有技术中鱼类重量估计方式实用性不佳、不够准确、自动化程度低的技术问题。
7.第一方面,本发明提供一种鱼类重量自动估计方法,包括:
8.采集待测鱼类的水下双目视频;
9.确定所述待测鱼类的水下双目视频中各帧图像的鱼类弯曲度,并提取鱼类弯曲度小于预设弯曲度阈值的图像作为测量帧;
10.对所述测量帧进行前景分割,获得待测鱼类的轮廓特征,并获取所述测量帧对应的视差图;
11.将所述轮廓特征与所述视差图进行匹配,并计算得到待测鱼类的周长;
12.将所述周长输入预先构建的周长

重量估计模型,得到待测鱼类的重量估计结果。
13.根据本发明提供的一种鱼类重量自动估计方法,所述确定所述待测鱼类的水下双目视频中各帧图像的鱼类弯曲度,包括:
14.将所述待测鱼类的水下双目视频中各帧图像分别输入至弯曲度估计模型中,得到
各帧图像的鱼类弯曲度;其中,所述弯曲度估计模型是基于鱼类样本的每一帧图像与其鱼类体长相对误差一一对应的数据集训练得到的。
15.根据本发明提供的一种鱼类重量自动估计方法,所述鱼类样本的每一帧图像与其鱼类体长相对误差一一对应的数据集的构建过程,包括:
16.测量鱼类样本的体长,得到体长实测值;
17.拍摄鱼类样本的水下双目视频,并估测所述鱼类样本的水下双目视频中每一帧图像内鱼类样本的体长,得到体长估测值;
18.根据所述体长实测值与所述体长估测值,计算每一帧图像的鱼类体长相对误差,所述鱼类体长相对误差用于评价鱼类样本的弯曲度;
19.根据每一帧图像的鱼类体长相对误差,构建得到每一帧图像与其鱼类体长相对误差一一对应的数据集。
20.根据本发明提供的一种鱼类重量自动估计方法,所述采集待测鱼类的水下双目视频之前,还包括:
21.对采集水下双目视频所用的双目相机进行标定。
22.根据本发明提供的一种鱼类重量自动估计方法,所述对所述测量帧进行前景分割,获得待测鱼类的轮廓特征之前,还包括:
23.对所述测量帧进行畸变校正。
24.根据本发明提供的一种鱼类重量自动估计方法,所述获取所述测量帧对应的视差图,包括:
25.分别计算所述测量帧中每个像素的视差,得到所述测量帧对应的视差图。
26.根据本发明提供的一种鱼类重量自动估计方法,所述将所述轮廓特征与所述视差图进行匹配,并计算得到待测鱼类的周长,包括:
27.将所述轮廓特征中的轮廓点映射至所述视差图中,并计算所述视差图中每个轮廓点的三维坐标;
28.分别计算三维坐标下相邻轮廓点之间的距离,将所述距离求和,得到待测鱼类的周长。
29.第二方面,本发明还提供一种鱼类重量自动估计装置,包括:
30.视频采集模块,用于采集待测鱼类的水下双目视频;
31.测量帧提取模块,用于确定所述待测鱼类的水下双目视频中各帧图像的鱼类弯曲度,并提取鱼类弯曲度小于预设弯曲度阈值的图像作为测量帧;
32.测量帧处理模块,用于对所述测量帧进行前景分割,获得待测鱼类的轮廓特征,并获取所述测量帧对应的视差图;
33.周长计算模块,用于将所述轮廓特征与所述视差图进行匹配,并计算得到待测鱼类的周长;
34.重量估计模块,用于将所述周长输入预先构建的周长

重量估计模型,得到待测鱼类的重量估计结果。
35.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述鱼类重量自动估计方法的步骤。
36.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述鱼类重量自动估计方法的步骤。
37.本发明提供的鱼类重量自动估计方法、装置、电子设备及存储介质,通过获取采集的视频中适合鱼类尺寸参数估计的测量帧,并计算测量帧中待测鱼类的周长特征,进而借助于周长

重量模型实现鱼类重量的自动估计,测量帧的提取环节,可以有效降低鱼类身体弯曲度对周长

重量估计模型精度的影响,从而更准确、高效的对鱼类重量进行估计。
附图说明
38.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明提供的鱼类重量自动估计方法的流程示意图;
40.图2是双目相机标定的基本流程示意图;
41.图3是弯曲度估计模型的构建流程示意图;
42.图4是弯曲度估计模型的网络训练过程示意图;
43.图5是本发明提供的鱼类重量自动估计装置的结构示意图;
44.图6为本发明实施例提供的电子设备的结构架构示意图。
具体实施方式
45.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.图1示出了本发明实施例提供的鱼类重量自动估计方法,包括:
47.s110:采集待测鱼类的水下双目视频。
48.本实施例通过双目相机采集待测鱼类的水下双目视频,为了保证双目相机采集的视频数据更加可靠,同时为了便于后续对采集的视频进行处理,本实施例在采集待测鱼类的水下双目视频之前,还会对采集水下双目视频所用的双目相机进行标定。
49.具体地,参见附图2,双目相机标定的基本流程如下:
50.s210:输入多组不同角度、不同位置、不同距离的标定板的双目图像;
51.s220:消除双目图像中的图像畸变;
52.s230:对双目相机进行校正;
53.s240:输出双目相机的校正参数。
54.由于双目相机标定需要通过标定板完成,因此在进行标定前需要拍摄双目相机的两个镜头共同视野内不同角度、不同位置、不同距离的标定板的图像,根据标定板上已知尺寸的黑白格,对双目相机进行标定。
55.相机标定是从世界坐标系转换为相机坐标系,再由相机坐标系转换为图像坐标系
的过程,即求解投影矩阵的过程,相机标定的具体流程为已有技术,在此不再赘述。
56.s120:确定待测鱼类的水下双目视频中各帧图像的鱼类弯曲度,并提取鱼类弯曲度小于预设弯曲度阈值的图像作为测量帧。
57.在本步骤中,水下双目视频由多帧图像组成,测量帧为其中至少一帧图像,测量帧的提取需要借助弯曲度估计模型完成,将待测鱼类的水下双目视频中各帧图像分别输入至弯曲度估计模型中,得到各帧图像的鱼类弯曲度,进而提取鱼类弯曲度小于预设弯曲度阈值的图像作为测量帧。
58.该弯曲度估计模型在构建时,包括数据集的制作、弯曲度估计模型的训练及测试等步骤。
59.具体地,参见附图3,弯曲度估计模型的构建过程包括:
60.s310:构建鱼类样本的每一帧图像与其鱼类体长相对误差一一对应的数据集;
61.s320:通过数据集对预先构建的深度学习网络进行训练,得到弯曲度估计模型。
62.在本步骤中,构建鱼类样本的水下双目视频中每一帧图像与其鱼类体长相对误差一一对应的数据集的过程,包括:
63.首先,需要获取鱼类样本的体长实测值l和体长估测值l,体长实测值通过人工测量鱼类样本的体长得到;体长估测值通过拍摄鱼类样本的水下双目视频,并估测鱼类样本的水下双目视频中每一帧图像内鱼类样本的体长得到。
64.然后,根据体长实测值与体长估测值,可以计算得到每一帧图像的鱼类体长相对误差。这里得到的鱼类体长相对误差主要用于衡量鱼类身体弯曲程度,即弯曲度。鱼类体长相对误差越小,表明弯曲度越小。具体地,鱼类体长相对误差的计算公式如下:
[0065][0066]
式中,error表示鱼类体长相对误差,l表示体长实测值,l表示体长估测值。
[0067]
根据视频中各帧图像与图像对应的鱼类体长相对误差,可以构建得到每一帧图像与其鱼类体长相对误差一一对应的数据集。通过得到的数据集对预先构建的深度学习网络进行训练,可以得到弯曲度估计模型。
[0068]
图4示出了弯曲度估计模型的网络训练过程示意图,弯曲度估计模型由三列卷积神经网络与两个全连接层组成,并且每一列卷积网络包含三个卷积层与三个最大池化层。其中,三列卷积神经网络的结构相同,但是卷积核大小不同。对于第一列网络net1,卷积核大小分别为9
×
9,7
×
7,7
×
7;对于第二列网络net2,卷积核大小分别为7
×
7,5
×
5,5
×
5;对于第三列网络net3,卷积核大小分别为5
×
5,3
×
3,3
×
3;上述三列卷积网络的每一个卷积层后均有一个最大池化层,其池化窗口为2
×
2,步长为2。具体的计算公式如下:
[0069][0070][0071][0072]
其中,w
1c
,w
2c
,w
3c
分别为c列(c∈{1,2,3})卷积神经网络中第1个、第2个和第3个卷积层的卷积权值;分别是c列(c∈{1,2,3})卷积神经网络中卷积层组的第1个、
第2个和第3个卷积层的偏置;f1(i
c
(x)),f2(i
c
(x)),f3(i
c
(x))分别是c列(c∈{1,2,3})卷积神经网络中卷积层组的第1个、第2个和第3个卷积层的输出结果,i
c
(x)表示一帧图像。
[0073]
进一步地,将三列卷积神经网络输出的特征图连接成一个特征图块b,并将其输入两个全连接层c1、c2中,具体计算公式如下:
[0074]
f
fc1
(i(x))=max(w
fc1
*{f3(i1(x)),f3(i2(x)),f3(i3(x))} b4,0)
ꢀꢀ
(5)
[0075]
f
fc2
(i(x))=max(w
fc2
*f
fc1
(i(x)) b5,0)
ꢀꢀꢀꢀꢀꢀ
(6)
[0076]
其中,w
fc1
,w
fc2
分别为第1个和第2个全连接层的权值;b4,b5分别为第1个和第2个全连接层的偏置;f
fc1
(i(x)),f
fc2
(i(x))分别为第1个和第2个全连接层的输出结果。
[0077]
对第二个全连接层输出的结果进行回归,输出图像对应的鱼类体长相对误差f
out
(i(x)),即弯曲度,具体公式如下:
[0078]
f
out
(i(x))=w
·
f
fc2
(i(x)) b6ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0079]
其中,w为回归权值,b6为回归的偏置。
[0080]
由于构建弯曲度估计模型时所用的三列卷积神经网络采用不同大小的卷积核,能够提取不同尺度的特征,因此,最终得到的测量帧提取模型在获取适合鱼类周长估计的图像的能力上有了很大的提高。
[0081]
构建好弯曲度估计模型后,进一步对该模型进行训练,训练过程如下:
[0082]
预先设定训练的最大迭代次数、学习率、批处理大小和最小损失阈值;
[0083]
当训练的迭代次数达到最大迭代次数或者前后两次训练得到的损失函数的差值小于最小损失阈值时,停止网络训练并确定最终的弯曲度估计模型。
[0084]
具体地,训练模型之前需要预先设置该模型的基本参数。首先,设置训练集与验证集的比例为7:3,批处理大小为8,采用在线学习的方式,学习率为1
×
10
‑6,迭代次数为10000次,使用sgd(stochastic gradient descent,随机梯度下降)优化算法更新模型的权重。为了缩小样本真实值与预测值之间的误差,本发明实施例使用的损失函数定义如下:
[0085][0086]
其中,g
i
表示样本真实值,p
i
表示经过测量帧提取模型运算后得到的预测值,n表示每批次样本数目。
[0087]
训练好弯曲度估计模型后,通过测试集对弯曲度估计模型进行测试,在确定模型性能可以满足实际应用需求后,将视频中的各帧图像输入弯曲度估计模型,输出各帧图像的弯曲度,通过设定弯曲度阈值,从中提取弯曲度小于弯曲度阈值的图像作为测量帧,从而可以从水下双目视频中自动获取适合求解鱼类周长的双目图像。
[0088]
s130:对测量帧进行前景分割,获得待测鱼类的轮廓特征,并获取测量帧对应的视差图。
[0089]
本步骤中,具体利用帧平均、阈值分割以及形态学方法对测量帧进行前景分割,获取鱼类的轮廓特征。
[0090]
同时,借助块匹配和绝对差值之和来计算测量帧中每个像素与双目相机的另一镜头同步采集的图像形成的视差,得到测量帧的视差图。
[0091]
更优地,为了保证图像处理精度,本实施例在对测量帧进行前景分割,获得待测鱼类的轮廓特征之前,还对测量帧进行畸变校正。具体利用双目相机标定得到的相机参数对
获取的测量帧进行校正。
[0092]
s140:将轮廓特征与视差图进行匹配,并计算得到待测鱼类的周长。
[0093]
图像中鱼类的轮廓由一系列点(p
xi
,p
yi
)组成,其中,i∈[1,n],n表示轮廓点的数目。将图像中的轮廓点映射至视差图中,计算视差图中每一个轮廓点的三维坐标,根据三维坐标下两点间的距离计算公式获取相邻点之间的距离,依次求解,进而计算得到鱼类的周长,其中三维坐标下两点间的距离计算如下:
[0094][0095]
其中,(x
i
,y
i
,z
i
)和(x
i 1
,y
i 1
,z
i 1
)表示相邻两点的三维坐标。
[0096]
s150:将周长输入预先构建的周长

重量估计模型,得到待测鱼类的重量估计结果。
[0097]
本发明实施例根据多条已知重量和周长的鱼类,对其周长、重量参数进行线性拟合,得到鱼类真实周长与鱼类重量的映射关系,即周长

重量估计模型。这样,将鱼类周长输入该周长

重量估计模型中,即可直接输出相应的重量估计结果。
[0098]
由此可见,本发明实施例提供的鱼类重量自动估计方法,通过提取视频中适合鱼类尺寸参数估计的图像,即测量帧,并通过图像

世界坐标变换与图像分割获取鱼类的周长特征,进而借助于周长

重量模型实现鱼类重量的自动估计。其中,通过测量帧的提取环节得到的图像可以有效的降低鱼类身体弯曲度对周长

重量估计模型精度的影响,从而可以更准确且自动的对水产系统中的鱼类重量进行估计。由于弯曲度估计模型通过图像与其鱼类体长相对误差一一对应的数据集训练得到,因此使得最终得到的测量帧适用性更好,且得到的尺寸参数的准确性更高,从而有效提高了鱼类重量估计的精度。
[0099]
下面结合附图5对本发明提供的鱼类重量自动估计装置进行描述,下文描述的鱼类重量自动估计装置与上文描述的鱼类重量自动估计方法可相互对应参照。
[0100]
图5示出了本发明实施例提供的鱼类重量自动估计装置,包括:
[0101]
视频采集模块510,用于采集待测鱼类的水下双目视频;
[0102]
测量帧提取模块520,用于将待测鱼类的水下双目视频输入预先构建的测量帧提取模型中,得到测量帧;其中,测量帧为待测鱼类的水下双目视频中鱼类弯曲度小于预设弯曲度阈值的图像;
[0103]
测量帧处理模块530,用于对测量帧进行前景分割,获得待测鱼类的轮廓特征,并获取测量帧对应的视差图;
[0104]
周长计算模块540,用于将轮廓特征与视差图进行匹配,并计算得到待测鱼类的周长;
[0105]
重量估计模块550,用于将周长输入预先构建的周长

重量估计模型,得到待测鱼类的重量估计结果。
[0106]
本实施例中视频采集模块510可以是双目相机,在使用双目相机采集水下双目视频之前,还需要对双目相机进行标定,具体通过印有黑白格的标定板实现相机标定,获得相机参数。
[0107]
测量帧提取模块520利用构建好的弯曲度估计模型估计各帧图像的鱼类弯曲度,进而与预设弯曲度阈值进行比较,从采集的水下双目视频中提取适合鱼类重量估计的测量
帧,从而保证后续计算得到的待测鱼类的周长更加准确可靠。
[0108]
测量帧处理模块530在对测量帧进行前景分割前,还可以对测量帧进行畸变校正,畸变校正过程利用相机标定得到的相机参数完成,进一步保证图像处理精度和可靠性。
[0109]
具体地,测量帧处理模块530通过分别计算测量帧中每个像素的视差,得到测量帧对应的视差图。视差图主要利用双目相机左右两个镜头同步采集的图像之间产生的视差获得。
[0110]
本实施例中周长计算模块540包括三维坐标获取单元和周长求解单元,具体地,周长计算模块540通过三维坐标获取单元将轮廓特征中的轮廓点映射至视差图中,并计算视差图中每个轮廓点的三维坐标;通过周长求解单元分别计算三维坐标下相邻轮廓点之间的距离,将所述距离求和,得到待测鱼类的周长。
[0111]
重量估计模块550通过预先构建的周长

重量估计模型完成重量估计,该模型在构建时,需要采集多条已知重量和周长的鱼类,对周长、重量参数进行线性拟合,得到鱼类真实周长与鱼类重量的映射关系,进而构建得到周长

重量估计模型。
[0112]
由此可见,本发明实施例提供的鱼类重量自动估计装置,通过测量帧提取模块获取视频中适合鱼类尺寸参数估计的测量帧,并通过周长计算模块计算测量帧中待测鱼类的周长特征,进而通过重量估计模块借助于周长

重量模型实现鱼类重量的自动估计,测量帧的提取环节,可以有效降低鱼类身体弯曲度对周长

重量估计模型精度的影响,从而更准确、高效的对鱼类重量进行估计。
[0113]
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行鱼类重量自动估计方法,该方法包括:采集待测鱼类的水下双目视频;将待测鱼类的水下双目视频输入预先构建的测量帧提取模型中,得到测量帧;其中,测量帧为待测鱼类的水下双目视频中鱼类弯曲度小于预设弯曲度阈值的图像;对测量帧进行前景分割,获得待测鱼类的轮廓特征,并获取测量帧对应的视差图;将轮廓特征与视差图进行匹配,并计算得到待测鱼类的周长;将周长输入预先构建的周长

重量估计模型,得到待测鱼类的重量估计结果。
[0114]
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0115]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的鱼类重量自动估计方法,该方法包括:采集待测鱼类的水下双目视频;确定待测鱼类的水下双目视频中各帧图像的鱼类
弯曲度,并提取鱼类弯曲度小于预设弯曲度阈值的图像作为测量帧;对测量帧进行前景分割,获得待测鱼类的轮廓特征,并获取测量帧对应的视差图;将轮廓特征与视差图进行匹配,并计算得到待测鱼类的周长;将周长输入预先构建的周长

重量估计模型,得到待测鱼类的重量估计结果。
[0116]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的鱼类重量自动估计方法,该方法包括:采集待测鱼类的水下双目视频;确定待测鱼类的水下双目视频中各帧图像的鱼类弯曲度,并提取鱼类弯曲度小于预设弯曲度阈值的图像作为测量帧;对测量帧进行前景分割,获得待测鱼类的轮廓特征,并获取测量帧对应的视差图;将轮廓特征与视差图进行匹配,并计算得到待测鱼类的周长;将周长输入预先构建的周长

重量估计模型,得到待测鱼类的重量估计结果。
[0117]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0118]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0119]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献