鱼大小计算装置以及鱼大小计算方法与流程

文档序号:29072870发布日期:2022-03-01 21:52阅读:411来源:国知局
鱼大小计算装置以及鱼大小计算方法与流程

1.本文中阐述的本主题涉及计算鱼大小的技术领域。本主题具体来说涉及一种使用立体相机拍取多个照片且然后选择照片以进行大小计算,从而计算鱼长的装置。


背景技术:

2.背景说明包括在理解本发明方面可为有用的信息。并不承认本文中提供的信息中的任意者是先前技术或与当前主张的发明相关,或者不承认以具体或隐含方式引用的任何出版物是先前技术。
3.水产产业涉及水生生物(aquatic organism)(包括鱼、软体动物、甲壳类动物及水生植物)的生产,以及淡水及海洋植物及动物在其整个生命周期或部分生命周期内的在受控条件下的养殖。为了成功地进行水产作业(aquaculture operation),要求对高的饲养成本、劳动密集型工作、关于鱼的数目、生长或鱼的大小的不精确数据进行检查。
4.因此,要求由于技术的发展,必须有进步,使得能够在不实际接触鱼的条件下测量鱼的大小。
5.鱼测量的目的将帮助调节网箱(cage)中的鱼的生长。优选通过测量鱼的生物量(biomass)来施行鱼测量。用于计算生物量的既定技术是使用鱼的数量及鱼的重量。
6.现在鱼的重量是关键因素,它取决于“叉长(fork length)”(即,鱼长)及“身体深度”(即,鱼高)的准确性。计算鱼的重量要求5%或小于5%的误差,这是一个既定的原则。
7.重量=α
×
(叉长)38.显而易见的是,在计算“叉长”的同时,误差不应超过2%。因此,本项目发明旨在提供一种能够提供具有2%或小于2%的误差的“叉长”的装置。
9.在传统方法中,通常使用立体相机系统来测量鱼长。
10.传统技术由以下组成:
[0011]-测量几条鱼的叉长并得出平均值;
[0012]-将得出的平均值视为叉长的真值;
[0013]
然而,在先前技术中可用的传统技术中几乎不存在问题。参照图9a(先前技术),叉长测量误差一般超过2%,因为叉长测量的平均值不提供真值,因此,所测量的叉长(92)总是小于或等于真值(91)。另外,由于尾巴摆动(tail-beat)运动,因此叉长测量误差高于2%。
[0014]
传统技术的误差如下:
[0015]
误差=变化误差+偏差误差
[0016]
参照图9b(先前技术),传统方法通过计算叉长测量值(measurement)的平均值来提供变化误差的解决方案,但是无法提供偏差误差的解决方案。由于此缺点,因此叉长的真值并不能被准确计算出。
[0017]
本发明会解决为单条鱼提供准确的叉长的问题。
[0018]
在先前技术中,传统技术涉及通过以帧速率(使得:帧速率》尾巴摆动频率*2)拍取
照片进行过采样(oversampling)。
[0019]
在已知技术中,过采样工艺在系统上产生沉重的工艺负荷。
[0020]
本发明通过提供在欠采样(under sampling)或过采样中的任一者中记录单条鱼的工艺以及用于在鱼探测时改变帧速率的操作模式的技术来解决此问题。
[0021]
本发明通过使用立体相机以规定的时间间隔连续拍摄多个照片来解决所述问题。本发明提出用于提取鱼没有弯曲的情况的技术。这是通过测量每一帧上的相机-尾巴距离并提取其中相机-尾巴距离为中间距离的帧来实现的,所述中间距离处于距离的最大值与距离的最小值之间。
[0022]
本发明会提供当根据尾巴摆动频率估计探测到鱼时,针对帧速率的操作模式进行帧速率的计算。此种方法会减少系统上的负载。


技术实现要素:

[0023]
在本公开中提供对现有发明的一个或多个缺点的解决方案以及附加优点。通过本公开的技术细节实现附加的特征及优点。本公开的其他实施例及方面在本文中得到详细阐述,并且被认为是所主张公开的一部分。
[0024]
本发明涉及一种鱼大小计算装置,所述鱼大小计算装置包括相机系统、鱼探测模块、身体部位探测模块、跟踪模块以及大小计算模块。所述相机系统被配置成随着时间拍摄多个照片。所述鱼探测模块被配置成探测在所述多个照片上的鱼且所述身体部位探测模块被配置成探测在所述多个照片上所探测到的所述鱼的身体部位。此外,所述跟踪模块被配置成跟踪在所述多个照片上所探测到的所述鱼中的同一条鱼。因此,所述大小计算模块被配置成计算所跟踪的所述同一条鱼的大小。
[0025]
在本发明的方面中,距离计算模块被配置成计算所述相机系统与所述多个照片上的所跟踪的所述同一条鱼的所述身体部位之间的相机-身体部位距离。照片选择模块被配置成基于所跟踪的所述同一条鱼的所述相机-身体部位距离,从已跟踪到所述同一条鱼的所述多个照片中选择所跟踪到的所述同一条鱼的照片。所述大小计算模块被配置成根据所选择的所述照片计算所跟踪的所述同一条鱼的所述大小。
[0026]
在本发明的方面中,所述照片选择模块被配置成:从已跟踪到所述同一条鱼的所述多个照片中搜索所述相机-身体部位距离为中间距离的中间照片,所述中间距离小于所述相机-身体部位距离为最大的另一照片上的相机-身体部位距离,且所述中间距离大于所述相机-身体部位距离为最小的另一照片上的相机-身体部位距离,并且将所述中间照片设定为所选择的所述照片。
[0027]
优选地,当所述照片选择模块已找到多个中间照片时,所述照片选择模块被配置成从所述多个中间照片中选择所述相机-身体部位距离为中值距离的照片作为所选择的所述照片。
[0028]
优选地,当所述照片选择模块已找到多个中间照片时,所述照片选择模块被配置成从所述多个中间照片中选择所述相机-身体部位距离最接近距离平均值的照片作为所选择的所述照片。
[0029]
优选地,当所述照片选择模块已找到多个中间照片时,所述照片选择模块被配置成从所述多个中间照片中选择时间最接近时间平均值的照片作为所选择的所述照片。
[0030]
在本发明的方面中,所述身体部位探测模块被配置成探测比所述鱼的口更靠近所述鱼的尾巴的部位作为所述身体部位。
[0031]
在本发明的另一方面中,所述身体部位探测模块被配置成探测所述鱼的尾巴上的部位作为所述身体部位。
[0032]
在本发明的一个方面中,频闪速度控制模块(strobe speed control module)被配置成控制由所述相机系统拍摄的所述多个照片之间的延迟时间,所述延迟时间在所述鱼探测模块探测到鱼时减小且在所述鱼探测模块未探测到鱼时增大。
[0033]
优选地,当所述鱼探测模块(110)探测到鱼时,所述频闪速度控制模块被配置成:根据所述相机-身体部位距离计算频率分量,并且基于所述频率分量控制所述延迟时间。
[0034]
在本发明的又一方面中,所述频闪速度控制模块被配置成控制所述延迟时间,以使得与所述延迟时间对应的采样频率至少被设定为所述频率分量的两倍。
[0035]
在本发明的一个方面中,身体部位位置计算模块被配置成计算所述多个照片上所跟踪的所述同一条鱼的所述身体部位的位置,并计算与所跟踪的所述同一条鱼的所述身体部位的所述位置最好地拟合的线。照片选择模块被配置成基于所述身体部位与所述线的相对位置,从已跟踪到所述同一条鱼的所述多个照片中选择所跟踪的所述同一条鱼的照片。所述大小计算模块被配置成根据所选择的所述照片计算所跟踪的所述同一条鱼的所述大小。
[0036]
在本发明的方面中,所述照片选择模块被配置成从所述多个照片中选择所跟踪的所述同一条鱼的如下照片:在所述照片上所述身体部位的所述位置距所述线小于给定距离。
[0037]
在本发明的方面中,所述照片选择模块被配置成从所述多个照片中选择所跟踪的所述同一条鱼的如下照片:在所述照片上所述身体部位的所述位置最靠近所述线。
[0038]
根据本发明的另一方面涉及一种方法,所述方法包括:随着时间拍取多个照片;探测在所述多个照片上的鱼;且然后探测在所述多个照片上所探测到的所述鱼的身体部位。此外所述方法包括:跟踪所述多个照片上所探测到的所述鱼中的同一条鱼。此后,所述方法包括计算所跟踪的所述同一条鱼的大小。
[0039]
前述发明内容仅是例示性的且并不旨在以任何方式进行限制。除了上述例示性的方面、实施例和特征之外,通过参照图式和以下详细说明,进一步的方面、实施例和特征将变得显而易见。
[0040]
[发明效果]
[0041]
本发明提供一种使用立体相机系统通过以下方法正确计算鱼大小的装置:拍摄多个照片;选择照片中的上面鱼没有弯曲的一个照片;以及根据所选择的照片中计算鱼大小。
附图说明
[0042]
然而,应注意,附图仅示出本主题的典型实施例,且因此不应被认为是对其范围的限制。参照附图阐述详细说明。在图中,参考编号标识出其中参考编号首次出现的图。在所有图中使用相同的编号来指代相同的特征及组件。现在通过实例并参照附图来阐述根据本主题的实施例的系统或方法或结构的一些实施例,其中:
[0043]
图1是例示本发明的结构特征的流程图。
[0044]
图2是例示用于计算相机-尾巴距离的过程的一个实例的流程图。
[0045]
图3例示出相机-尾巴距离测量值随着时间变化的图形表示。
[0046]
图4例示出所采用的频闪作为输出的叉长计算的图形表示。
[0047]
图5是例示用于测量叉长的过程的一个实例的流程图。
[0048]
图6例示出帧提取相对于相机-尾巴距离的图形表示。
[0049]
图7例示出两种不同状态下的帧速率控制的图形表示。
[0050]
图8是例示控制帧速率的一个实例的流程图。
[0051]
图9a及图9b例示出传统先前技术的问题。
[0052]
图10是例示本发明的另一实施例的结构特征的流程图。
[0053]
图11例示出其中绘制出尾巴随着时间的位置变化的实例。
[0054]
图仅出于例示的目的来绘示本主题的实施例。所属领域中的技术人员将根据以下说明容易地认识到,在不背离本文中阐述的公开内容的原理的条件下,可采用本文中示出的结构及方法的替代实施例。
具体实施方式
[0055]
参照图1、图2及图5;例示出用于计算鱼大小的装置。在实施例中,所述装置包括立体相机(105,205a&205b,505a&505b)、鱼探测模块(110,210,510)、身体部位探测模块(120,220a,520a)、跟踪模块(130,230,530)、距离计算模块(140,240,540)、照片选择模块(150)及大小计算模块(160,560)。
[0056]
在本发明的实施例中,立体相机(105,205a,205b,505a,505b)(也可被称为相机系统)被配置成使用相机同步频闪模块来连续拍摄一对照片(205c,505c)。相机1(205a,505a)及相机2(205b,505b)构成立体相机,所述立体相机面对鱼且被配置成使用传统上通过例如使用通用输入/输出(general purpose input/output,gpio)同步、总线时间戳(timestamp)同步、声音信号同步或类似方法完成的同步来连续拍摄所述一对照片,即时间t1处的对-1、时间t2处的对-2

时间tn处的对-n。
[0057]
鱼探测模块(110,210,510)被配置成实行在多个照片(205c,505c)上探测鱼的任务。在每一照片上探测到鱼,并且例如但不限于通过以下方式中的一者来表示鱼:
[0058]-示出环绕单条鱼的矩形区域指示所探测的鱼的存在。
[0059]-传统上也使用填充区域来代替矩形区域。
[0060]
鱼探测通常由处理电路系统或相机来实行。提出使用例如以下传统的点探测方法来实行探测鱼的任务:机器学习技术、特征点探测技术、边缘探测技术。
[0061]
身体部位探测模块(120,220a)(也可被称为尾巴探测模块(520a))被配置成探测所述多个成对照片(205c)上的成对鱼中的每条鱼的身体部位(例如尾巴),并确定所述对照片上的每一身体部位的二维(two-dimensional,2d)位置。在步骤220a处,身体部位(优选尾巴)由粗体点指示。在本发明中,不限于流程,在成对照片上靠近所探测的鱼的尾巴(优选靠近尾巴而不是口)的身体部位也可被考虑用于本发明的目的。存在例如以下几种传统的点探测方法可供使用:特征点探测,边缘探测,有或没有机器学习能力。
[0062]
配对模块(220b,520b)被配置成对每对照片(205c)上的鱼进行配对。配对模块(220b,520b)对所述对照片上的鱼的相应的尾巴(即,身体部位)进行配对。显而易见的是,
存在例如以下几种传统的配对方法可供使用:块匹配,有或没有机器学习能力。
[0063]
在本发明中,鱼探测模块及配对模块在执行次序方面不受限制,并且这些模块的出现在本发明中可互换。
[0064]
跟踪模块(130,230,530)被配置成作为单个鱼跟踪模块来实行,跟踪随着时间拍摄的一系列照片中的一对鱼。跟踪模块(130,230,530)被输入鱼探测模块(110,210,510)或尾巴探测模块(120,220a)的输出并跟踪由这些模块探测到的探测目标。跟踪模块(130,230,530)的目的是随着时间跟踪鱼,以便发现在时间tn处拍的一对鱼与在时间t
n+1
处拍的一对鱼是否是同一条鱼。跟踪模块(130,230,530)将鱼视为目标并通过不同的方式(例如作为矩形的一部分、作为填充的轮廓或作为点)表示目标。
[0065]
跟踪模块(130,230,530)使用例如以下不同的方式对在其他帧上探测到的鱼进行比较:
[0066]
a)对如以下所提及的实例应用传统的鱼跟踪算法:
[0067]-由韩军等人所著的《用于幼年香鱼向上游迁徙的基于双频识别声纳(dual-frequency identification sonar,didson)的声学计数方法(-didson-based acoustic counting method for juvenile ayu plecoglossus altivelis migrating upstream)》。
[0068]-由埃里克森
·
莫莱斯(erikson morais)等人所著的《基于粒子滤波的鲁棒鱼计数预测跟踪(particle filter-based predictive tracking for robust fish counting)》。
[0069]
b)对例如模板匹配、点特征匹配的应用经典的图像匹配算法。
[0070]
距离计算模块(140,240,540)被配置成执行相机(105,205a&205b,505a&505b)与身体部位(优选所述多个照片上所跟踪的同一条鱼的尾巴)之间的相机-身体部位距离的计算。
[0071]
本发明的目的是在鱼没有弯曲其身体的时间t处提取频闪。所属领域中的普通技术人员将频闪理解为使得相机能够拍取照片的光的脉冲。参照图3及图4,在步骤(340,440)处,例示出相机-尾巴距离随着时间变化的图形视图。绘示出不同的频闪(例如频闪-1、频闪-2、频闪-3),并且在x轴上的不同时间

t’处表示相机与尾巴之间的距离。一个目标是通过以下方法来测量每一帧(每一频闪应被视为拍取照片的一帧)上的相机-尾巴距离:使用所述一对照片上的尾巴的2d位置及三角测量技术来计算尾巴的三维(three-dimensional,3d)位置,且然后计算尾巴与相机之间的距离。
[0072]
照片选择模块(150)被配置成提取其中相机-尾巴距离为中间距离(440a)的帧,所述中间距离处于距离的最大值与距离的最小值之间。所提取的帧被认为是其中计算鱼没有弯曲其身体的帧,即图4中(460)处的真实叉长(460a)的帧或所拍取的频闪。
[0073]
在本发明的实施例中,由于可能存在其中相机-尾巴距离为中间距离(所述中间距离处于距离的最大值与距离的最小值之间)的几个帧,因此可能需要附加的提取工艺。照片选择模块(150)实行帧提取工艺且被配置成基于所跟踪的同一条鱼的相机-身体部位距离,从已在上面跟踪到所述同一条鱼的所述多个照片中选择要被认为是所跟踪到的所述同一条鱼的中间照片的照片。参照图6,本发明不受限制地公开在提取之前可考虑的帧,例如:
[0074]
a)最大(最小)距离的一帧与最小(最大)距离的下一帧之间的所有帧;
[0075]
b)最小(最大)距离的一帧与最小(最大)距离的下一帧之间的所有帧;或者
[0076]
c)所跟踪的鱼的所有帧
[0077]
一旦已考虑到可能的帧,本发明便不受限制地公开用于提取帧的3种可能的工艺,例如:
[0078]
i)提取距离中值处的帧;
[0079]
ii)提取其距离最接近距离平均值的帧;或者
[0080]
iii)提取其时间最接近时间平均值的帧。
[0081]
作为用于例示上述3种可能的工艺i)ii)iii)的实例,让我们考虑在实行上述步骤a)、b)及c)中的一者之后,n个可能的帧是候选项。根据工艺i),计算n个帧的n个相机-尾巴距离的中值,并且对应于所计算的中值的帧是所提取的帧。根据工艺ii),计算n个帧的n个相机-尾巴距离的平均值,并且其相机-尾巴距离最接近所计算的平均值的帧是所提取的帧。根据工艺iii),计算n个帧的n个时间的平均值,并且其时间最接近所计算的平均值的帧是所提取的帧。
[0082]
在优选实施例中,图6是根据以上步骤(a)考虑帧(即,在最大相机-尾巴距离的帧(帧2)与最小相机-尾巴距离的下一帧(帧6)之间的3个帧(帧3至帧5)),并根据上述步骤(i)实行帧提取工艺之后的结果的图形表示。(640)表示所述3个帧中具有相机-尾巴距离的中值的帧。
[0083]
在基于所跟踪的所述同一条鱼的相机-身体部位距离选择合适的帧之后,实行大小计算。
[0084]
大小计算模块(160)被配置成根据所选择的照片实行对所跟踪的同一条鱼的大小的计算。参照图5在步骤(560)处,计算叉长。大小计算模块(160)实行3d重构及长度测量活动。叉长是通过例如以下方法根据所提取的帧上的鱼来计算:
[0085]
a)探测鱼的两个身体部位,例如头及尾巴;
[0086]
b)通过三角测量技术实行所述两个身体部位的2d位置的3d重构;
[0087]
以及
[0088]
c)计算所述两个身体部位之间的距离。
[0089]
在本发明的另一实施例中,公开一种帧速率控制工艺。参照图7及图8;本发明能够探测鱼的存在。当探测到鱼时,相机进入活动状态(740c),并且相对于时间测量相机-尾巴距离。然而,如果在给定的时间间隔内未探测到鱼,则相机进入空闲状态(740d)。在此实施例中,频闪速度控制模块(800)被配置成实行控制由相机系统拍摄的所述多个照片之间的延迟时间的任务。
[0090]
频闪速度控制模块(800)在鱼探测模块探测到鱼时减小延迟时间且在鱼探测模块未探测到鱼时增加延迟时间。
[0091]
在优选实施例中,当鱼探测模块探测到鱼时,频闪速度控制模块(800)被配置成实行根据相机-身体部位距离计算频率分量的任务,并基于频率分量控制延迟时间。在另一优选实施例中,频闪速度控制模块实行控制延迟时间,使得与延迟时间对应的采样频率至少被设定为频率分量的两倍的任务。
[0092]
在本发明的实施例中,提供用于根据尾巴摆动频率计算活动状态的帧速率的工艺。尾巴摆动频率可通过多种方式来估计:
[0093]
a)根据游动速度及鱼种类进行估计;
[0094]
b)根据相机-尾巴举距离的欠采样值进行估计。
[0095]
在优选实施例中,使用尾巴摆动频率来确定“活动状态”下的帧速率,从而相应地调整过采样工艺。利用计算出的尾巴摆动频率,调整帧速率以最终符合采样定理的要求。
[0096]
在本发明的另一实施例中,参照图10,用于计算鱼大小的装置包括立体相机(105,205a&205b,505a&505b)、鱼探测模块(110,210,510)、身体部位探测模块(120,220a,520a)、跟踪模块(130,230,530)、身体部位位置计算模块(1040)、照片选择模块(1050)及大小计算模块(160,560)。与上述实施例及图1相比,距离计算模块(140,240,540)由身体部位位置计算模块(1040)代替,照片选择模块(150)由照片选择模块(1050)代替,且其他模块保持相同。
[0097]
身体部位位置计算模块(1040)被配置成计算用于在所述多个照片上所跟踪的同一条鱼的身体部位(优选尾巴)的位置。身体部位的位置是使用身体部位在一对照片上的2d位置通过三角测量技术来计算。
[0098]
图11示出其中根据上面绘制出在上面已随着时间跟踪到鱼的所述多个照片计算的所跟踪的同一条鱼的尾巴的位置(1101,1102,1103,1104,1105,1106)的实例,在此实例中,位置1106是鱼的最新位置而位置1101是鱼的最旧位置。在图11中,所述位置被投影在2d水平面x-z上,其中z轴平行于立体相机的镜头。
[0099]
身体部位位置计算模块(1040)还被配置成计算与所述多个照片上所跟踪的同一条鱼的尾巴的位置(1101,1102,1103,1104,1105,1106)最好地拟合的线(1141)。举例来说,但不限于,可通过回归分析(使用例如最小二乘法)来计算线(1141)。线(1141)可为根据尾巴的3d位置以3d方式计算的3d线。线(1141)也可为在2d水平面x-z上投影尾巴的3d位置之后以2d计算的2d线。线(1141)表示所跟踪的同一条鱼的轨迹。
[0100]
照片选择模块(1050)被配置成基于尾巴与线(1141)的相对位置提取其中鱼没有弯曲其身体的帧(照片)。更具体来说,作为实例,照片选择模块(1050)可选择以下帧:在所述帧中,尾巴的位置靠近线(1141)(即,距线(1141)小于给定距离),因此靠近所跟踪的同一条鱼的轨迹。优选地,照片选择模块(1050)可选择其中尾巴的位置最靠近线(1141)(例如,图11中的位置(1103))的帧。
[0101]
在此实施例中,身体部位优选是尾巴或尾巴的一部分。然而,不受任何限制,身体部位可为鱼的另一部分。优选地,身体部位可比鱼的口更靠近尾巴。
[0102]
本实施例的鱼大小计算装置可包括先前实施例的频闪速度控制模块(800),频闪速度控制模块(800)控制由相机系统拍摄的所述多个照片之间的延迟时间。延迟时间在鱼探测模块探测到鱼时减小且在鱼探测模块未探测到鱼时增大。
[0103]
现在将阐述本发明实施例的技术效果。传统上,鱼的大小计算是通过相机在不同时间处拍取鱼的照片并计算叉长来实行。然而,在计算叉长时没有考虑尾巴摆动及偏差误差。因此,当计算叉长时,其所得值小于真值,因此具有超过2%的接受率的误差。
[0104]
为了解决此问题,在本公开的实施例中,提取其中鱼未弯曲身体的帧。当实行叉长测量时,本发明公开一种用于在每一帧上测量相机与身体部位距离并提取其中相机-身体部位距离为中间距离(所述中间距离处于距离的最大值与距离的最小值之间)的帧的技术。当实行叉长测量时,本发明还公开一种用于在每一帧上测量身体部位位置并提取其中身体部位位置靠近鱼的轨迹的帧的技术。
[0105]
因此,可计算出更准确的叉长及鱼的大小。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1