鱼的生长评估方法、装置、设备及存储介质
技术领域
本申请涉及水产养殖领域,尤其涉及一种鱼的生长评估方法、装置、设备及存储介质。
背景技术
水产品行业分析表示,世界水产养殖以亚洲最为发达,水产养殖全球占比接近90%。中国是亚洲主要的水产养殖国之一,也是世界上从事水产养殖历史最悠久的国家之一。
为了打造绿色、健康、安全的水产养殖,我们需要观察鱼的生长状况。通过观察鱼的生长,以便出现问题时能够及时应对,从而保证鱼只的健康成长。一般情况下,水下相机会连续拍摄鱼群图像,通过算法检测到合适的鱼并得出鱼的体尺信息,然后对所有图像的体尺信息做统计分析。该方式基于单张图像中鱼的信息对鱼的生长进行评估,无法全面估计鱼的生长趋势,存在片面性,评估的准确性差。
另外,现有技术中也存在:通过分割图像的方式分割出目标,再通过传统的算法进行跟踪,根据跟踪结果评估鱼的生长,该分割图像的处理方式,不够精确,误差较大,且受外界因素的影响较大,导致鱼的评估也不准确。再者,忽略了时序的连续,仅靠规则来匹配多帧图像中的同一目标,该操作容易出现错漏,尤其在帧率较低时,效果非常不好。
发明内容
本申请提供了一种鱼的生长评估方法、装置、设备及存储介质,用以提高鱼的生长评估的准确性。
第一方面,本申请提供了一种鱼的生长评估方法,包括:
获取连续的N帧鱼图像,所述N为大于1的整数;
分别对每连续两帧鱼图像进行如下处理:提取所述连续两帧鱼图像中鱼的特征,识别所述连续两帧鱼图像中的同一条鱼,并为所述同一条鱼分配同一个标识;
根据所述N帧鱼图像中鱼的所述标识,获得鱼的运动轨迹;
根据所述鱼的运动轨迹,评估所述鱼的生长趋势。
可选地,根据所述鱼的运动轨迹,评估所述鱼的生长趋势,包括:
根据所述鱼的运动轨迹,获取运动异常的鱼,并滤除所述运动异常的鱼的运动轨迹;
根据滤除后的所述鱼的运动轨迹,评估所述鱼的生长趋势。
可选地,提取所述连续两帧鱼图像中鱼的特征,识别所述连续两帧鱼图像中的同一条鱼,包括:
提取所述连续两帧鱼图像中所述鱼的特征,获取特征相似的鱼各自在所述连续两帧鱼图像中的位置信息,根据所述位置信息,确定所述特征相似的鱼的中心点的偏移量;
当所述鱼的中心点的偏移量在预设范围内时,判定所述特征相似的鱼为所述同一条鱼;
其中,所述鱼的中心点为所述鱼的外接矩形的中心点。
可选地,提取所述连续两帧鱼图像中所述鱼的特征,获取特征相似的鱼各自在所述连续两帧鱼图像中的位置信息,根据所述位置信息,确定所述特征相似的鱼的中心点的偏移量,包括:
将所述连续两帧鱼图像输入到检测跟踪模型;
通过所述检测跟踪模型提取所述连续两帧鱼图像中所述鱼的特征,获取特征相似的鱼各自在所述连续两帧鱼图像中的位置信息,根据所述位置信息,确定所述特征相似的鱼的中心点的偏移量;
获取所述检测跟踪模型输出的所述鱼的特征、所述鱼的中心点以及所述同一条鱼的中心点的偏移量。
可选地,所述检测跟踪模型的训练过程包括:
获取样本图像集合,所述样本图像集合包括Q个连续的样本图像以及预设标记数据,其中,S个样本图像组成一组样本图像,所述S小于或等于Q,所述预设标记数据包括:所述鱼的真实特征、所述鱼的真实中心点以及所述同一条鱼的真实中心点的偏移量;
分别对所述样本图像集合中的每组样本图像执行以下训练过程:
将所述一组样本图像输入到初始检测跟踪模型,分别对每连续两帧样本图像进行如下处理:获得所述初始检测跟踪模型输出的所述鱼的特征、所述鱼的中心点以及所述同一条鱼的中心点的偏移量;
根据所述初始检测跟踪模型的输出结果和所述预设标记数据,计算获得损失函数的计算结果,梯度反向传播到所述初始检测跟踪模型,优化所述初始检测跟踪模型后,从所述样本图像集合中获取下一组样本图像,重复执行所述训练过程,直至所述损失函数的计算结果趋于稳定时,将所述初始检测跟踪模型作为最终的所述检测跟踪模型。
可选地,获取所述检测跟踪模型输出的所述鱼的特征,包括:
分别对所述连续两帧样本图像进行下采样,提取下采样后的所述连续两帧样本图像各自的鱼的第一特征;
对所述下采样后的所述连续两帧样本图像进行上采样,提取上采样后的所述连续两帧样本图像各自的鱼的第二特征;
获取所述连续两帧样本图像中任一帧样本图像的热点图特征;
根据所述第一特征、所述第二特征以及所述热点图特征,获得所述鱼的特征。
可选地,提取所述连续两帧鱼图像中鱼的特征之后,还包括:
根据所述鱼的特征,对所述鱼进行目标分类,对同一种类的鱼分配同一类标识。
可选地,将所述一组样本图像输入到初始检测跟踪模型之前,还包括:
对所述样本图像中的鱼添加外接矩形,为所述外接矩形分配所述预设标记数据。
第二方面,本申请提供了一种鱼的生长评估装置,包括:
第一获取模块,用于获取连续的N帧鱼图像,所述N为大于1的整数;
提取模块,用于分别对每连续两帧鱼图像进行如下处理:提取所述连续两帧鱼图像中鱼的特征,识别所述连续两帧鱼图像中的同一条鱼,并为所述同一条鱼分配同一个标识;
第二获取模块,用于根据所述N帧鱼图像中鱼的所述标识,获得鱼的运动轨迹;
评估模块,用于根据所述鱼的运动轨迹,评估所述鱼的生长趋势。
第三方面,本申请提供了一种电子设备,包括:处理器、通信组件、存储器和通信总线,其中,处理器、通信组件和存储器通过通信总线完成相互间的通信;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现所述的鱼的生长评估方法。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的鱼的生长评估方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过获取连续的N帧鱼图像,分别对每连续两帧鱼图像进行鱼的特征提取操作,并识别连续两帧鱼图像中的同一条鱼,保证了图像在时间上的连续性,进一步保证了匹配同一条鱼的准确性,另外,对同一条鱼分配同一个标识,并根据N帧鱼图像中的鱼的标识,对每条鱼进行追踪,获得鱼的运动轨迹,根据鱼的运动轨迹,评估鱼的生长趋势,通过连续跟踪获得的鱼的运动轨迹,评估鱼的生长趋势,相对于分析单张图像评估的方式,能够获得比较全面的鱼的信息,进而使得基于全面的鱼的信息获得的评估结果更加准确。并且,该评估方式考虑了时序的连续性,通过为同一条鱼分配同一个标识的方式进行跟踪,避免了依靠规则匹配目标的方式容易出现错漏的问题,提高了跟踪效果,进而使得基于跟踪获得的鱼的运动轨迹进行评估的结果更加准确。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中鱼的生长评估流程示意图;
图2为本申请实施例中鱼的特征提取操作示意图;
图3为本申请实施例中检测跟踪模型的训练过程示意图;
图4为本申请实施例中鱼的生长评估装置结构示意图;
图5为本申请实施例中电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种鱼的生长评估方法,该方法可以应用在鱼图像的摄像设备中,也可以应用在不具备摄像功能的智能终端中,当然,也可以应用在服务器中。该方法的具体实现如图1所示:
步骤101,获取连续的N帧鱼图像,N为大于1的整数。
具体地,通过摄像头拍摄连续的N帧鱼图像,其中,该摄像头设置在固定位置,且摄像头可以设置一个或多个。用户根据实际需要设置摄像头的拍摄时间,以使摄像头定时拍摄,当然,为了鱼的生长评估的准确性,可以设置相邻两次拍摄之间的时间间隔不超过设定值。
步骤102,分别对每连续两帧鱼图像进行如下处理:提取连续两帧鱼图像中鱼的特征,识别连续两帧鱼图像中的同一条鱼,并为同一条鱼分配同一个标识。
一个具体实施例中,对于连续的N帧鱼图像,分别对每连续两帧鱼图像进行如下处理:
提取连续两帧鱼图像中鱼的特征,其中,鱼的特征包括:鱼的宽和高、鱼的形态和鱼的颜色等;分别对连续两帧鱼图像中提取的鱼的特征进行比对,获取相似的鱼各自在连续两帧鱼图像中的位置信息;根据该位置信息,确定特征相似的鱼的中心点的偏移量;当鱼的中心点的偏移量在预设范围内时,判定特征相似的鱼为同一条鱼;其中,鱼的中心点为鱼的外接矩形的中心点,且该外接矩形存在两条边与水平轴平行,该水平轴以摄像头为基准建立。
一个具体实施例中,利用检测跟踪模型提取鱼的特征,并获得鱼的位置信息和鱼的中心点的偏移量,具体实现过程如下:将连续两帧鱼图像输入到检测跟踪模型;通过该检测跟踪模型提取连续两帧鱼图像中鱼的特征,分别对连续两帧鱼图像中提取的鱼的特征进行比对,获取特征相似的鱼各自在连续两帧鱼图像中的位置信息,根据位置信息,确定特征相似的鱼的中心点的偏移量,当鱼的中心点的偏移量在预设范围内时,判定特征相似的鱼为同一条鱼;该检测跟踪模型输出鱼的特征、鱼的中心点以及同一条鱼的中心点的偏移量。
一个具体实施例中,为了能够清楚明白的说明该检测跟踪模型的具体训练过程,介绍一种目标检测算法—CenterNet算法,结合该CenterNet算法对跟踪过程进行说明,具体如下:
将一帧鱼图像输入到CenterNet算法模型中,如图2所示,通过深层特征融合网络(Deep Layer Aggregation,简称DLA)提取该鱼图像进行下采样时的图像特征,以提取下采样4倍、8倍、16倍、32倍为例进行说明,即,利用深层特征融合网络分别提取该鱼图像下采样4倍的图像特征、下采样8倍的图像特性、下采样16倍的图像特征和下采样32倍的图像特征。基于下采样获得的图像特征,对进行下采样后的鱼图像反复进行上采样处理,提取进行上采样后的图像特征,并进行特征融合操作,获取在下采样4倍时的融合特征,并将该融合特征作为该鱼图像中鱼的特征。其中,该上采样操作通过可变形卷积和转置卷积共同构成,以使获得的图像特征更精确。
另外,以下采样4倍时的融合特征作为该鱼图像中鱼的特征是因为:下采样4倍时的融合特征融合了该鱼图像的高层语义特征和底层简单特征,且,下采样4倍时的特征分辨率较高。当然,以下采样4倍时的融合特征作为该鱼图像中鱼的特征并不是绝对的,用户可以根据图像的分辨率、图像的大小确定最优的融合特征。
进一步地,该CenterNet算法模型根据融合特征,确定目标是否为鱼,当确定目标为鱼后输出鱼的中心点和鱼的特征。其中,将一帧鱼图像输入到CenterNet算法模型时,输入数据还包括预设标记数据,该预设标记数据包括:鱼的真实特征和鱼的真实中心点。根据鱼的真实特征和鱼的真实中心点对比CenterNet算法模型的输出结果,计算获得损失函数的计算结果,梯度反向传播到CenterNet算法模型,优化CenterNet算法模型后,输入下一帧,重复执行该训练过程,直至损失函数的计算结果趋于稳定时,将CenterNet算法模型作为最终的CenterNet算法模型。下面,提到的鱼的宽、高和像素数据均属于鱼的特征,但是鱼的特征并不仅限于这两点。
其中,该损失函数的计算结果包括:分类损失、中心点偏移损失和目标宽损失和高损失。具体如下:
分类损失:根据像素的类别,判断获取的鱼图像中的像素是否对应为鱼。下面以鱼图像进行下采样4倍后的鱼图像为例进行说明:在下采样4倍后的鱼图像中提取鱼的特征之后,即确定了鱼图像中的鱼,对该鱼所在区域进行高斯模糊操作,同时CenterNet算法模型预测每个像素的类别。其中,提取的鱼的特征数据中包括大量的像素数据,例如,有的像素对应的类别为水,有的像素对应的类别为鱼,有的像素对应的类别为杂物,等等,根据CenterNet算法模型预测的像素的类别,和鱼图像中的像素所对应的真实类别做对比,确定预测像素为鱼时成功的概率,利用focal loss函数计算分类损失。focal loss函数具体如下:
其中,γ为可学习的超参数,y'表示预测的像素类别为鱼时成功的概率,L越小,则代表分类损失越小。
中心点偏移损失:以鱼图像进行下采样4倍后的鱼图像为例进行说明:由于CenterNet算法模型输出的是进行下采样4倍后的鱼图像的鱼的中心点,此时将下采样4倍后的鱼图像进行上采样4倍,回归到原始的鱼图像,此时,会带来中心点偏移损失,并根据中心点偏移损失计算结果对中心点偏移损失进行补偿。具体通过smooth L1 loss函数进行中心点偏移损失的计算:
其中,x=f(x)-y,f(x)为鱼的真实中心点,y为CenterNet算法模型输出的鱼的中心点,x为鱼的真实中心点和CenterNet算法模型输出的鱼的中心点的距离差。
目标宽损失和高损失:以鱼图像进行下采样4倍后的鱼图像为例进行说明:由于CenterNet算法模型输出的是进行下采样4倍后的鱼图像的鱼的宽,此时将下采样4倍后的鱼图像进行上采样4倍,回归到原始的鱼图像,此时,会带来目标宽损失,并根据目标宽损失计算结果对目标宽损失进行补偿,具体通过smooth L1 loss函数进行目标宽损失的计算,此处以宽为例进行说明:
其中,x=f(x)-y,f(x)为鱼的真实宽,y为CenterNet算法模型输出的鱼的宽,x为鱼的真实宽和CenterNet算法模型输出的鱼的宽的距离差,高的计算同宽的计算,即将宽替换为高。
下面计算分类损失、中心点偏移损失和目标宽损失和高损失的计算结果,当各个计算结果之和趋于稳定时,表示CenterNet算法模型训练完成。
之所以介绍CenterNet算法,是为引出CenterTrack算法,CenterTrack算法的实现是以CenterNet算法为基础进行,CenterTrack算法是在CenterNet算法的基础上的改进算法。两者不同的是:CenterNet算法的输入为一张图像,输出为目标宽和高和目标中心点;而CenterTrack算法的输入为两张相邻的图像和任一帧图像的热点图特征,输出为目标宽和高、目标中心点和同一目标的中心点的偏移量。其中,CenterNet算法只是检测当前帧图像中的目标,在时间上不连续,而采用CenterTrack算法检测连续两帧图像,解决了时间上不连续的问题。本发明则是利用改进后的CenterTrack算法为根本算法训练检测跟踪模型。
一个具体实施例中,检测跟踪模型的训练过程,如图3所示:
步骤301,获取样本图像集合,样本图像集合包括Q个连续的样本图像以及预设标记数据,其中,S个样本图像组成一组样本图像,S小于或等于Q,预设标记数据包括:鱼的真实特征、鱼的真实中心点以及同一条鱼的真实中心点的偏移量。
其中,该鱼的真实特征包括鱼的宽和高,本实施例以鱼的宽和高为例进行说明,但是鱼的特征并不仅限于鱼的宽和高,还包括鱼的轮廓、鱼的纹理、鱼的形态等。
一个具体实施例中,利用摄像头拍摄连续的鱼图像作为样本图像,利用Labelme对样本图像中的鱼打框,具体表示为:对样本图像中的鱼添加外接矩形,并给外接矩形添加预设标记数据。
步骤302,分别对样本图像集合中的每组样本图像执行以下训练过程:将一组样本图像输入到初始检测跟踪模型,分别对每连续两帧样本图像进行如下处理:获得初始检测跟踪模型输出的鱼的特征、鱼的中心点以及同一条鱼的中心点的偏移量。
其中,输出的鱼的特征包括鱼的宽和高,本实施例以鱼的宽和高为例进行说明,但是鱼的特征并不仅限于鱼的宽和高,还包括鱼的鱼的轮廓、鱼的纹理、鱼的形态等。
一个具体实施例中,将N帧连续的样本图像输入到初始检测跟踪模型,通过该检测跟踪模式输出鱼的特征,其中,融合特征的提取方式同CenterNet算法模型的处理方式,通过DLA提取连续两帧鱼图像的融合特征。以提取下采样4倍、8倍、16倍、32倍为例进行说明,具体为:分别对连续两帧样本图像进行下采样,提取进行下采样后的连续两帧样本图像各自的鱼的第一特征;对进行下采样后的样本图像进行上采样,提取进行上采样后的连续两帧样本图像各自的鱼的第二特征,并进行特征融合操作,获得融合特征。
另外,初始检测跟踪模型会对连续两帧样本图像中的任一帧样本图像进行初始化处理,获得该帧样本图像的热点图特征,根据融合特征和热点图特征,获取鱼的特征,其中,该热点图特征为使用高斯渲染函数生成的单通道特征。
进一步的,在获取鱼的特征之后,分别对连续两帧样本图像中提取的鱼的特征进行比对,获取特征相似的鱼各自在连续两帧样本图像中的位置信息,根据位置信息,确定特征相似的鱼的中心点的偏移量,当鱼的中心点的偏移量在预设范围内时,判定特征相似的鱼为同一条鱼。最后,该初始检测跟踪模型输出鱼的宽和高、鱼的中心点以及同一条鱼的中心点的偏移量。
步骤303,根据初始检测跟踪模型的输出结果和预设标记数据,计算获得损失函数的计算结果,梯度反向传播到初始检测跟踪模型,优化初始检测跟踪模型后,从样本图像集合中获取下一组样本图像,重复执行训练过程,直至损失函数的计算结果趋于稳定时,将初始检测跟踪模型作为最终的检测跟踪模型。
一个具体实施例中,计算获得损失函数的计算结果,不断梯度反向传播到初始检测跟踪模型,来优化初始检测跟踪模型,确定最终的检测跟踪模型,具体实现为:计算目标分类损失,获得第一结果;计算中心点偏移损失,获得第二结果;计算目标宽损失和和高损失,获得第三结果;计算同一目标的中点偏移回归损失,获得第四结果。对第一结果、第二结果、第三结果和第四结果进行求和,获得求和结果,当该求和结果趋于稳定时,检测跟踪模型训练成功。
其中,目标分类损失、中心点偏移损失和目标宽损失和高损失的计算同CenterNet算法模型的损失函数的计算。同一目标的中点偏移回归损失具体通过smooth L1 loss函数计算:
其中,其中,x=f(x)-y,f(x)为同一条鱼的真实偏移量,y为检测跟踪模型模型输出的同一条鱼的偏移量,x为同一条鱼的真是偏移量和CenterNet算法模型输出的同一条鱼的偏移量的距离差。
具体地,在训练过程中,增强热点图的对比差异,例如,增强颜色深浅的差异,使样本图像特征差异性更清晰,进一步使得检测跟踪模型更加鲁棒。还可以通过将高斯噪声添加到每个中心点,使得两帧连续样本图像的前一帧样本图像的鱼的中心点局部抖动,以更好的进行中心点的定位和同一条鱼的匹配。还可以对提取热点图特征的样本图像,以一定概率随机渲染一个噪声峰值作为假正样本图像,并以一定概率随机去除热点图特征的样本图像作为假负样本,以提高检测跟踪模型的准确性、差异性和敏感性。
一个具体实施例中,提取连续两帧鱼图像中鱼的特征之后,根据鱼的特征,可以对鱼进行目标分类,对同一种类的鱼分配同一类标识。通过分析鱼的特征,对鱼进行分类,并对同一种类的鱼分配同一类标识,使得在进行鱼类混养时,能够针对不同种类的鱼的运动轨迹,分析不同种类的鱼各自的生长趋势,并可以根据各个种类的鱼各自的生长趋势进行所有混养鱼类的整体分析,为整个鱼类混养提供有效的参考数据。
步骤103,根据N帧鱼图像中鱼的标识,获得鱼的运动轨迹。
具体地,检测跟踪模型输出同一条鱼的中心点的偏移量后,通过贪婪匹配算法在时间上关联上同一条鱼。假设当前帧鱼图像中的任一条鱼的中心点为P,输出的偏移量为d,则P位置的鱼会匹配相对于当前帧鱼图像的前一帧鱼图像中范围在d内的鱼,若匹配成功,给匹配成功的同一条鱼添加同一个标识,根据鱼的标识,获得鱼的运动轨迹;否则,需要给出现在鱼图像中的新的鱼分配新的标识,并生成新的运动轨迹。
步骤104,根据鱼的运动轨迹,评估鱼的生长趋势。
一个具体实施例中,根据鱼的运动轨迹,获取运动异常的鱼,并滤除运动异常的鱼的运动轨迹,其中,将未形成运动轨迹,或者形成的运动轨迹过短的鱼定义为异常的鱼,并根据滤除后的鱼的运动轨迹,评估鱼的生长趋势。当然,在理想情况下,如果不存在异常的鱼,则直接用所有的鱼的运动轨迹,评估鱼的生长趋势。进一步的,水产养殖户根据鱼的生长趋势,确定鱼的喂养情况和鱼的生长环境。
本申请实施例提供的该方法,通过获取连续的N帧鱼图像,分别对每连续两帧鱼图像进行鱼的特征提取操作,并识别连续两帧鱼图像中的同一条鱼,保证了图像在时间上的连续性,进一步保证了匹配同一条鱼的准确性,另外,对同一条鱼分配同一个标识,并根据N帧鱼图像中的鱼的标识,对每条鱼进行追踪,获得鱼的运动轨迹,根据鱼的运动轨迹,评估鱼的生长趋势,通过连续跟踪获得的鱼的运动轨迹,评估鱼的生长趋势,相对于分析单张图像评估的方式,能够获得比较全面的鱼的信息,进而使得基于全面的鱼的信息获得的评估结果更加准确。并且,该评估方式考虑了时序的连续性,通过为同一条鱼分配同一个标识的方式进行跟踪,避免了依靠规则匹配目标的方式容易出现错漏的问题,提高了跟踪效果,进而使得基于跟踪获得的鱼的运动轨迹进行评估的结果更加准确。
本申请实施例还提供了一种鱼的生长评估装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图4所示,该装置主要包括:
第一获取模块401,用于获取连续的N帧鱼图像,N为大于1的整数。
提取模块402,用于分别对每连续两帧鱼图像进行如下处理:提取连续两帧鱼图像中鱼的特征,识别连续两帧鱼图像中的同一条鱼,并为同一条鱼分配同一个标识。
第二获取模块403,用于根据N帧鱼图像中鱼的标识,获得鱼的运动轨迹。
评估模块404,用于根据鱼的运动轨迹,评估鱼的生长趋势。
具体地,评估模块404具体用于,根据鱼的运动轨迹,获取运动异常的鱼,并滤除运动异常的鱼的运动轨迹;根据滤除后的鱼的运动轨迹,评估所述鱼的生长趋势。
具体地,提取模块402具有用于,提取连续两帧鱼图像中鱼的特征,获取特征相似的鱼各自在连续两帧鱼图像中的位置信息,根据位置信息,确定特征相似的鱼的中心点的偏移量;当鱼的中心点的偏移量在预设范围内时,判定特征相似的鱼为所述同一条鱼;其中,鱼的中心点为鱼的外接矩形的中心点。
本申请实施例提供的该装置,通过第一获取模块401获取连续的N帧鱼图像,利用提取模块402分别对每连续两帧鱼图像进行鱼的特征提取操作,并识别连续两帧鱼图像中的同一条鱼,保证了图像在时间上的连续性,进一步保证了匹配同一条鱼的准确性,另外,对同一条鱼分配同一个标识,并通过第二获取模块403根据N帧鱼图像中的鱼的标识,对每条鱼进行追踪,获得鱼的运动轨迹,最后,采用评估模块404根据鱼的运动轨迹,评估鱼的生长趋势,该装置通过连续跟踪获得的鱼的运动轨迹,评估鱼的生长趋势,相对于分析单张图像评估的方式,能够获得比较全面的鱼的信息,进而使得基于全面的鱼的信息获得的评估结果更加准确。并且,该评估方式考虑了时序的连续性,通过为同一条鱼分配同一个标识的方式进行跟踪,避免了依靠规则匹配目标的方式容易出现错漏的问题,提高了跟踪效果,进而使得基于跟踪获得的鱼的运动轨迹进行评估的结果更加准确。
基于同一构思,本申请实施例中还提供了一种电子设备,如图5所示,该电子设备主要包括:处理器501、通信组件502、存储器503和通信总线504,其中,处理器501、通信组件502和存储器503通过通信总线504完成相互间的通信。其中,存储器503中存储有可被至处理器501执行的程序,处理器501执行存储器503中存储的程序,实现如下步骤:获取连续的N帧鱼图像,N为大于1的整数;分别对每连续两帧鱼图像进行如下处理:提取连续两帧鱼图像中鱼的特征,识别连续两帧鱼图像中的同一条鱼,并为同一条鱼分配同一个标识;根据N帧鱼图像中鱼的标识,获得鱼的运动轨迹;根据鱼的运动轨迹,评估鱼的生长趋势。
上述电子设备中提到的通信总线504可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信组件502用于上述电子设备与其他设备之间的通信。
存储器503可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器501的存储装置。
上述的处理器501可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的鱼的生长评估方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。