用于生物体量化的系统、方法和计算机可执行代码与流程
未命名
10-08
阅读:93
评论:0

1.本公开的一个方面涉及生物体量化系统。本公开的另一方面涉及一种用于量化生物体的方法。本公开的另一方面涉及存储计算机可执行代码的非暂时性计算机可读介质。
背景技术:
2.虾农具有定期估计虾的大小以在任一时间了解他们的收获有多好的众所周知的过程。他们通过使用饲料托盘随机采样由托盘捕获的虾来进行此过程。然后在长度和/或重量方面测量或估计在饲料托盘中捕获的虾。当前,该长度和/或重量数据收集过程是手动进行的,其是耗时的。因此,需要提供一种测量虾的改进的方法和系统。
技术实现要素:
3.本公开的一个方面涉及一种生物体量化系统(在本文中也被简称为系统)。该系统可以包括移动计算设备,例如包括相机和控制器的智能电话或平板,所述控制器被配置为控制相机拍摄生物体的数字图像。该系统可以包括距离估计器,该距离估计器被配置为从数字图像估计从相机到生物体的距离。该系统可以包括边界框生成器,该边界框生成器包括第一经训练神经网络,该第一经训练神经网络被配置为估计在数字图像上检测到的所检测生物体的边界框。该系统可以包括语义分割器,该语义分割器包括第二经训练神经网络,该语义分割器被配置为生成对应于边界框的掩蔽表示(masked representation)。该系统可以包括性质估计器,该性质估计器包括第三经训练神经网络,该第三经训练神经网络被配置为基于掩蔽表示来估计所检测生物体的性质。移动计算设备可以进一步包括显示器。并且控制器可以被配置为将估计的性质或者基于估计的性质的信息输出到显示器上。
4.本公开的一个方面涉及一种用于量化生物体的方法。该方法可以包括通过距离估计器估计从相机到生物体的距离。该方法可以包括,确定该距离可以在预确定的范围内,并且利用相机(例如智能电话或平板的相机)拍摄生物体的数字图像。该方法可以包括由包括第一经训练神经网络的边界框生成器生成对应于在数字图像上检测到的所检测生物体的估计边界框。该方法可以包括由包括第二经训练神经网络的语义分割器生成对应于边界框的掩蔽表示。该方法可以包括由包括第三经训练神经网络的性质估计器基于掩蔽表示来估计所检测生物体的性质。该方法可以包括将估计的性质或基于估计的性质的信息输出到显示器上。
5.本公开的一个方面涉及存储包括用于根据本文中公开的方法量化生物体的指令的计算机可执行代码的非暂时性计算机可读介质。
6.本公开的一个方面涉及包括用于根据本文中公开的方法量化生物体的指令的计算机可执行代码。
附图说明
7.当结合非限制性示例和随附附图考虑时,参考详细描述将更好地理解本发明,在
随附附图中:
[0008]-图1示出了根据各种实施例的系统的使用状况的示意性图示;
[0009]-图2通过示例的方式图示了根据各种实施例的系统的示意图;
[0010]-图3图示了作为图2中系统的变型的系统的示意图;
[0011]-图4图示了根据各种实施例的用于量化生物体的方法500;
[0012]-图5示出了包括以faster r-cnn形式的第一经训练神经网nn1的示例性边界框生成器200;
[0013]-图6示出了包括具有生物体10的托盘20的数字图像的示例280;
[0014]-图7示出了以u-net形式的第二神经网络nn2的架构的示例;
[0015]-图8示出了根据各种实施例的示例380,其在左边包括对应于边界框bb3和生物体an3的裁剪图像,该裁剪图像在由语义分割器300分割之后产生掩蔽表示384;
[0016]-图9示出了根据各种实施例的示例380,其从左到右包括对应于边界框bb3和生物体an3的裁剪图像;基于裁剪图像生成的掩模383;以及掩蔽表示384;
[0017]-图10示出了根据各种实施例的训练第二神经网络nn2的示例,该第二神经网络nn2包括被包括在训练数据中的训练样本390;
[0018]-图11示出了根据各种实施例的第三神经网络的架构400的示例;
[0019]-图12示出了根据各种实施例的用于估计生物体的性质的示例性流程图;
[0020]-图13示出了用于训练性质估计器400的第三经训练神经网络nn3的示例性工作流;
[0021]-图14示出了在处理期间的中间图像的示例,所述图像是按照说明目的示出的;和
[0022]-图15示出了表610和620,表610和620示出了所检测生物体an1、an2、an3的性质。
[0023]
在各图中,出于说明的目的,可以示出用于训练和量化的相同的示意性图像,然而技术人员将理解训练和实行生物体量化使用不同的图像。
具体实施方式
[0024]
以下详细描述涉及随附附图,所述随附附图通过图示的方式示出了可以在其中实践本公开的特定细节和实施例。这些实施例被充分详细地描述,以使得本领域技术人员能够实践本公开。在不脱离本公开的范围的情况下,可以利用其他实施例,并且可以进行结构和逻辑的改变。各种实施例不一定是互斥的,因为一些实施例可以与一个或多个其他实施例组合以形成新的实施例。
[0025]
在系统或方法之一的上下文中描述的实施例对于其他系统或方法近似地有效。类似地,在系统的上下文中描述的实施例对于方法近似地有效,并且反之亦然。
[0026]
在实施例的上下文中描述的特征可以对应地适用于其他实施例中的相同或相似的特征。在实施例的上下文中描述的特征可以对应地适用于其他实施例,即使在这些其他实施例中没有明确描述。更进一步地,如在实施例的上下文中针对特征描述的添加和/或组合和/或替代可以对应地适用于其他实施例中的相同或相似的特征。
[0027]
在各种实施例的上下文中,关于特征或元件使用的冠词“一”、“一个”和“该”包括对所述特征或元件中的一个或多个的引用。
[0028]
如本文中所使用的,术语“和/或”包括相关联的所列项目中的一个或多个中的任
何和所有组合。
[0029]
在各种实施例的上下文中,术语“生物体”可以指代动物,例如甲壳类动物,诸如虾。该生物体可以是养殖的生物体。生物体可以来自同一物种、同一变种或同一品种,例如同一物种可以是凡纳滨对虾(litopenaeus vannamei)。虽然虾在本文中以示例的形式使用,但是本公开不限于此。
[0030]
在各种实施例的上下文中,术语“虾”和“对虾”可以可互换地使用,并且可以例如属于枝鳃亚目或真虾下目。
[0031]
如本文中所描述的神经网络,诸如第一神经网络、第二神经网络和第三神经网络,可以被训练,在此之后它们被称为经训练的nn,分别诸如第一经训练神经网络、第二经训练神经网络和第三经训练神经网络。训练可以针对要检测的生物体(例如虾,诸如凡纳滨对虾)执行。在神经网络的上下文中描述的特征,诸如结构神经网络特征,可以对应地适用于训练之后的神经网络。
[0032]
图1示出了系统的使用状况的示意性图示。移动计算设备110,例如智能电话,可以由用户在生物体10的距离d1处持有。在图1的示例中,示出了包括生物体的托盘20,所述生物体在该情况下是3只虾。当距离在预确定的范围内时,移动计算设备110可以拍摄图像30。在图1中,为了便于参考,图像30用于表示“真实的”生物体。此外,为了简单起见,图1的示意图以2维示出,而不是准确的3d透视图。
[0033]
本公开除了其他之外尤其描述了一种基于智能电话相机的虾大小估计系统,其不一定要求附加的实验室装备、支撑架、盒子、传送带和独特的相机(诸如深度相机、多相机传感器)。如本文中所公开的,使用具有智能电话相机视觉的最先进的深度卷积神经网络,允许快速、精确并且容易地估计虾重量。
[0034]
图2通过示例的方式图示了根据各种实施例的系统的示意图。根据各种实施例,生物体量化系统100可以包括移动计算设备110,例如包括相机102和控制器106的智能电话或平板,所述控制器106被配置为控制相机102拍摄生物体10的数字图像30(或在本文中被简称为图像)。在示例中,控制器可以包括或由以下中的一个或多个组成:cpu、gpu、神经处理单元(npu)、片上系统(soic)、存储器或其组合。soic可以包括cpu、gpu、npu、图像信号处理器(isp)和其他元件中的集成的一个或多个。例如在移动计算设备110中的系统可以包括其他元件,诸如以下中的一个或多个:显示器104、存储器108、通信接口107。
[0035]
根据各种实施例,系统100可以包括距离估计器120,其被配置为从数字图像30估计从相机到生物体10的距离d1。例如,距离估计器可以输出指示距离d1比预定义范围更短(即,太短)或比预定义范围更长(即,太长)的信号。对应于该信号的指示可以被指示在显示器上,这可以帮助用户将相机放置在距生物体10的正确距离处。在该示例中,距离估计器可以进一步输出指示距离d1在预定义范围内的信号,该信号可以用于触发数字图像采集。根据各种实施例,预定义范围的下界和上界可以在20cm和50cm之间选择。该范围可以具有在2cm和20cm之间选择的范围宽度。示例性范围是25cm至30cm。替代地或附加地,根据各种实施例,可以基于相机的视场和/或基于相机的分辨率来确定预定义范围。
[0036]
在本公开中并且根据各种实施例,自动距离估计方法可以用于在数字图像采集过程期间或之前确定移动计算设备到动物之间的距离。根据各种实施例,从相机到动物的距离可以是例如到靠近于相机的动物的距离,或者到容纳动物的托盘(例如虾喂食托盘)的距
离。设置预定义范围以包括在其处拍摄训练数据集的图像的距离可以为该系统和方法提供更好的结果。
[0037]
根据各种实施例,可以实现颜色过滤器来改进对动物和/或饲料托盘的检测。例如,可以采用基于颜色过滤的对象检测算法来检测饲料托盘。在一个示例中,颜色过滤可以是hsv颜色过滤。
[0038]
根据各种实施例,相机和饲料托盘之间的距离估计可以通过使用数字图像中的对象高度和实际饲料托盘高度的单点投影原理来实行。替代地,除了饲料托盘之外的其他部件可以用于高度估计。
[0039]
根据各种实施例,确定的是所述距离在预确定的范围内,例如,如果相机在预确定的距离(例如,28cm)处接近于饲料托盘,则可以自动拍摄数字图像。
[0040]
可以在水环境外部估计留在水中的生物体,例如虾,这可以防止由于水失真所致的环境偏差。
[0041]
根据各种实施例,系统100可以包括边界框生成器200,该边界框生成器200包括第一经训练神经网络nn1,该第一经训练神经网络nn1被配置为估计在数字图像30上检测到的所检测生物体an1、an2、an3的边界框。第一经训练神经网络nn1可以估计边界框,所述边界框中的每个边界框对应于生物体之一,例如,对于所有所检测生物体,第一边界框bb1对应于第一生物体an1,第二边界框bb2对应于第二生物体an2,第三边界框bb3对应于第三生物体an3,等等。
[0042]
本公开可以参考3个生物体an1、an2、an3以及它们的计算结果,诸如3个边界框b1、bb2、bb3,3个掩蔽表示以及其他。这样的参考仅出于说明目的,并且本公开不限于3个,因为生物体的数量可以更少或可以更多,例如多于10个、多于20个或多于30个。根据各种实施例,掩蔽表示可以是分割的图像。
[0043]
根据各种实施例,系统100可以包括语义分割器300,语义分割器300包括第二经训练神经网络nn2,语义分割器300可以被配置为生成对应于边界框bb1、bb2、bb3的掩蔽表示384。掩蔽表示384的每个掩蔽表示可以对应于边界框之一和生物体之一,例如,对于所有所检测生物体,第一掩蔽表示对应于第一生物体an1(和第一边界框bb1),第二掩蔽表示对应于第二生物体an2(和第二边界框bb2),第三掩蔽表示对应于第三生物体an3(和第三边界框bb3),等等。
[0044]
根据各种实施例,系统100可以包括性质估计器400,该性质估计器400包括第三经训练神经网络nn3,该第三经训练神经网络nn3被配置为基于掩蔽表示384来估计所检测生物体an1、an2、an3的性质。根据各种实施例,性质可以包括生物体中的每一个的性质,例如,对于所有所检测生物体,第一生物体an1的第一性质、第二生物体an2的第二性质、第三生物体an3的第三性质等等。替代地或附加地,该性质可以包括代表多于一个生物体、例如代表所有所检测生物体的性质。在示例中,例如,对于所有所检测生物体,该性质可以包括第一生物体an1的第一重量、第二生物体an2的第二重量、第三生物体an3的第三重量,等等。在示例中,该性质可以包括所有所检测生物体(10)的平均重量。
[0045]
根据各种实施例,控制器106可以被配置为将估计的性质或基于估计的性质的信息存储到存储器108中,和/或经由通信接口107将估计的性质或基于估计的性质的信息发送到外部设备。外部设备的示例是服务器或云。替代地或附加地,根据各种实施例,控制器
106可以被配置为将估计的性质或基于估计的性质的信息输出到显示器上。根据各种实施例,基于估计的性质的信息可以是例如诸如加权平均的性质平均,或者诸如重量分布的性质分布。
[0046]
在结合图2示出的系统中,并且根据一些实施例,边界框生成器200、语义分割器300和性质估计器400在移动计算设备110中实现,例如,边界框生成器200、语义分割器300和性质估计器400中的一个、两个或全部可以被实现为存储在存储器108中的指令集,该指令集被配置为当在控制器上执行时,使控制器执行它们被配置为如根据各种实施例解释的任务。替代地,边界框生成器200、语义分割器300和性质估计器400中的一个、两个或全部可以实现在移动计算设备110外部,例如实现在服务器上。图3图示了根据一些实施例的作为图2中系统的变型的系统的示意图,其中边界框生成器200、语义分割器300和性质估计器400实现在移动计算设备110外部,例如实现在可以通信耦合到通信接口107的计算系统130上。系统100可以包括计算系统130。计算系统130可以是例如服务器、云、膝上型计算机。
[0047]
将结合图4通过图示的方式描述根据各种实施例的用于量化生物体的方法500。根据各种实施例,方法500可以在系统100上实现。
[0048]
根据各种实施例,方法500可以包括由距离估计器120估计502从相机102到生物体10的距离。根据各种实施例,方法500可以包括确定504所述距离可以在预确定的范围内,并且利用相机102拍摄生物体10的数字图像30。例如,距离估计器可以输出指示距离d1比预定义范围更短(即,太短)或比预定义范围更长(即,太长)的信号。对应于该信号的指示可以被指示在显示器上,这可以帮助用户将相机放置在距生物体10的正确距离处。在该示例中,距离估计器可以进一步输出指示距离d1在预定义范围内的信号,该信号可以用于触发数字图像采集。根据各种实施例,预定义范围的下界和上界可以在20cm和50cm之间选择。该范围可以具有在2cm和20cm之间选择的范围宽度。示例性范围是25cm至30cm。替代地或附加地,根据各种实施例,可以基于相机的视场和/或基于相机的分辨率来确定预定义范围。
[0049]
根据各种实施例,方法500可以包括由包括第一经训练神经网络nn1的边界框生成器200生成506估计的边界框bb1、bb2、bb3。例如,可以针对生物体中的每一个估计边界框,所述生物体也被称为所检测生物体an1、an2、an3,其由第一经训练神经网络nn1在数字图像30上检测。第一经训练神经网络nn1可以估计边界框,所述边界框中的每个边界框对应于生物体之一,例如,对于所有所检测生物体,第一边界框bb1对应于第一生物体an1,第二边界框bb2对应于第二生物体an2,第三边界框bb3对应于第三生物体an3,等等。
[0050]
根据各种实施例,方法500可以包括由包括第二经训练神经网络nn2的语义分割器300生成508对应于边界框bb1、bb2、bb3的掩蔽表示384。掩蔽表示384中的每个掩蔽表示可以对应于边界框之一和生物体之一,例如,对于所有所检测生物体,第一掩蔽表示对应于第一生物体an1(和第一边界框bb1),第二掩蔽表示对应于第二生物体an2(和第二边界框bb2),第三掩蔽表示对应于第三生物体an3(和第三边界框bb3),等等。
[0051]
根据各种实施例,方法500可以包括由包括第三经训练神经网络nn3的性质估计器400基于掩蔽表示384来估计510所检测生物体an1、an2、an3的性质。根据各种实施例,所述性质可以包括生物体中的每一个的性质,例如,对于所有所检测生物体,第一生物体an1的第一性质、第二生物体an2的第二性质、第三生物体an3的第三性质,等等。替代地或附加地,该性质可以包括代表多于一个生物体、例如代表所有所检测生物体的性质。在示例中,例
如,对于所有所检测生物体,该性质可以包括第一生物体an1的第一重量、第二生物体an2的第二重量、第三生物体an3的第三重量,等等。在示例中,该性质可以包括所有所检测生物体(10)的平均重量。
[0052]
根据各种实施例,该方法可以包括将估计的性质或基于估计的性质的信息存储到存储器108中,和/或例如经由通信接口107将估计的性质或基于估计的性质的信息发送到外部设备。外部设备的示例是服务器或云。替代地或附加地,根据各种实施例,该方法可以包括由控制器106将估计的性质或基于估计的性质的信息输出到显示器上。根据各种实施例,基于估计的性质的信息可以是例如诸如加权平均的性质平均,或者诸如重量分布的性质分布。
[0053]
根据各种实施例,第一经训练神经网络nn1可以是基于快速区域的卷积神经网络faster r-cnn。
[0054]
根据各种实施例,faster r-cnn可以包括用于基于图像30(被示出为虾,但不限于虾)提取特征的特征提取器210(例如,包括卷积层)、用于生成建议(proposal)214的区域建议网络212和框分类器216。特征提取器允许通过卷积层进行的共享特征提取。区域建议网络生成对象建议,并且可以是例如区域建议网络。区域建议网络可以包括对象分类模块和建议删减模块。框分类器可以是例如分类和回归网络,其返回区域的检测得分。框分类器可以包括分类器和框回归模块。图5示出了示例性边界框生成器200,其包括以faster r-cnn形式的第一经训练神经网络nn1。
[0055]
虾检测任务中的fasterr-cnn对象检测模型的概述是,它首先使用预训练的inception-v3骨干深度卷积神经网络从输入图像中提取高级特征图。所提取的特征图通过rpn(区域建议网络层),rpn返回生物体的(例如虾的)身体对象建议。在此之后,输出可以被应用到roi(感兴趣区域)池化层,以将所有对象建议降低到相同的大小。最后,这些对象建议通过框分类器(例如,两个全连接层)以分类为生物体(例如,虾)或不是生物体,并预测生物体的(虾的)位置的边界框坐标。
[0056]
图6示出了包括托盘20的数字图像的示例280,该托盘20具有生物体10,在该示例中是虾。作为检测的结果,生物体10中的每一个具有边界框。在图6的左侧,示出了对应于边界框bb1和单个生物体的图像。可以针对每个生物体(例如来自bb1的生物体)生成记录,例如标签(诸如an1,an2,...)和边界框坐标,例如以格式xmin,ymin,xmax,ymax,其表示从数字图像中预定义坐标原点的相对偏移。替代地或附加地,裁剪图像可以与记录一起存储。
[0057]
根据各种实施例,基于深度学习的对象检测算法(nn1)可以用于检测生物体(例如,活虾)并定位图像内部每个所检测生物体的像素区域。生物体检测模型生成输入图像结果作为每个生物体身体像素区域的边界框位置(xmin,ymin,xmax,ymax),并且可以进一步输出生物体检测的数量作为计数。
[0058]
根据各种实施例,第一经训练神经网络nn1、第二经训练神经网络nn2和第三神经网络nn3中的每一个可以是已经通过使用训练数据集作为基准真值来训练的,该训练数据集可以被划分成训练子集和测试子集。训练的过程可以继续进行,直到误差变得令人满意的低(例如,已经实现最小值),否则训练,诸如网络参数的前向和后向传播和更新,可以继续。误差可以是结果与基准真值的偏差。
[0059]
根据各种实施例,为了将第一神经网络训练成第一经训练神经网络nn1,训练数据
集可以包括训练图像(每个包括一个或多个生物体)和针对每个训练图像的一个或多个带注释的边界框,换句话说,针对由图像捕获的每个生物体一个边界框。注释可以是人类做出的。训练数据集的每个图像的生物体中的每一个可以通过提供相应的边界框和/或标签来注释。标签的示例是包括索引号的标签,例如为“生物体1”、“生物体2
”……
。
[0060]
根据各种实施例,为了将第二神经网络训练成第二经训练神经网络nn2,训练数据集可以包括图像对,例如,每个对包括原始裁剪图像(例如,根据边界框裁剪的裁剪图像)和对应的分割掩模。分割掩模可以是人类注释的。裁剪图像可以是由人类手动注释和/或由经训练的神经网络裁剪的图像,所述经训练的神经网络例如第一经训练神经网络(诸如faster-rcnn检测模型的输出)。
[0061]
根据各种实施例,为了将第三神经网络nn3训练成第三经训练神经网络,训练数据集可以包括在数据收集过程期间利用它们对应的期望性质值注释的掩蔽表示。例如,性质可以是重量。
[0062]
根据各种实施例,可以例如通过使用训练数据集来训练第一经训练神经网络nn1,该训练数据集可以被划分成训练子集和测试子集。例如通过使用不同大小的生物体,训练数据集可以包括不同生物体图像的集合。可以通过具有相机与生物体的固定距离,例如具有相机与容纳虾的虾托盘的固定距离,来拍摄图像。训练数据集可以包括1000个或更多个图像,诸如5000个或更多个图像。
[0063]
在数据采集的一个示例中,将不同大小的活虾(例如,0.1克至35克重的凡纳滨)放在饲料托盘内部5秒钟,并且经由例如具有4000像素
×
3000像素分辨率的智能电话相机拍摄图像。所收集的虾图像可以从预定义的固定距离(例如距离摄像机28cm远)拍摄。如上面所描述的这样的示例性数据采集在示例中用于创建训练数据集。本文中结合图1解释图像采集的示意性示例。
[0064]
在一个示例中,通过提供相应的边界框和/或标签来注释训练数据集的每个图像的每个生物体。对象的准确边界框位置和大量标记图像有助于训练鲁棒的检测器。因此,在训练之前,图像内部生物体的基准真值标签和边界框坐标由人类检查员手动注释。然后,可以将带注释的训练数据集划分成用于训练检测器的训练子集和用于评估检测器的测试子集。例如,训练数据集的80%的带注释图像可以用于训练,并且其余的用于性能评估目的。
[0065]
在训练阶段中,第一神经网络可以使用反向传播算法,例如利用随机梯度下降优化技术,来更新全连接层的参数值。反向传播的过程保持重复,直到误差满足最小误差条件,否则它将再次向前、向后传播,并更新网络参数。
[0066]
图7示出了被包括在语义分割器300中的u-net形式的第二神经网络nn2的架构的示例。根据各种实施例,u-net分割模型架构可以包括两个部分。第一部分可以是用于捕获图像的上下文的收缩路径(也被称为编码器)。编码器可以是卷积层和最大池化层的传统堆叠。第二部分可以是对称扩展路径(也被称为解码器),其使能使用转置卷积实现精确定位。因此,第二神经网络nn2可以是或包括端到端全卷积网络(fcn)。fcn没有可以接受任何大小的图像的任何密集层,例如,仅包含卷积层。
[0067]
根据各种实施例,语义分割器300可以被配置为基于掩模383生成裁剪图像381的掩蔽表示384,例如生成掩蔽图像,其中可以没有所检测生物体的另外的数字图像部分的像素可以被设置为预定义的常数值。
[0068]
根据各种实施例,第二经训练神经网络nn2可以被配置为接收裁剪图像381,该裁剪图像381可以根据估计的边界框bb1、bb2、bb3中的边界框bb3从数字图像30中裁剪,并且对应于所检测生物体an1、an2、an3中的所检测生物体an3。第二经训练神经网络nn2可以被配置为生成例如以作为掩模图像的图像格式的掩模383。根据各种实施例,掩模图像的第一像素对应于所检测生物体an3的数字图像部分386,并且不同于第一像素的第二像素对应于可以没有所检测生物体an3的另一数字图像部分387。
[0069]
根据各种实施例,生成掩蔽表示508可以包括由第二经训练神经网络nn2接收裁剪图像381,该裁剪图像381已经被根据估计的边界框bb1、bb2、bb3中的边界框bb3从数字图像30裁剪,并且对应于所检测生物体an1、an2、an3中的所检测生物体an3。生成掩蔽表示508可以包括例如通过第二经训练神经网络nn2生成例如以作为掩模图像的图像格式的掩模383。根据各种实施例,掩模图像的第一像素对应于所检测生物体an3的数字图像部分386,并且不同于第一像素的第二像素对应于可以没有所检测生物体an3的另一数字图像部分387。可以针对剩余的裁剪图像重复该方法。
[0070]
图8示出了示例380,其在左边包括对应于边界框bb3和生物体an3的裁剪图像,所述裁剪图像在由语义分割器300分割之后产生掩蔽表示384。可以看出,左边的裁剪图像部分地示出了另一个生物体(an2),其在掩蔽表示384中利用语义分割被成功移除。
[0071]
图9示出了示例380,其从左到右包括对应于边界框bb3和生物体an3的裁剪图像;基于裁剪图像生成的掩模383;和掩蔽表示384。使用图9作为图示,根据各种实施例,第一像素386可以被设置为第一常数值,并且第二像素387可以被设置为第二常数值,使得当对裁剪图像381应用运算时,删除没有所检测生物体an3的另一数字图像部分387的信息,出于说明目的,在图9中表示为384中的白色区域。例如,第一像素可以是1(或者每个像素的最大值),并且第二像素可以是0,并且该运算可以是逻辑与运算。保持数字图像部分的信息(由虾an3图示)。根据各种实施例,可以例如在数字图像上、在新创建的裁剪掩蔽表示中或在另一变型中实行运算。
[0072]
根据各种实施例,发现(例如,经由语义分割)生成掩蔽表示508对于标识数字图像中生物体的存在、对生物体进行计数以及单独提取每个生物体的像素位置以进行初步分割是有用的。当多个虾在数字图像中彼此重叠/相交时,矩形边界框分割可能无法从背景中提取生物体身体。因此,边界框裁剪图像上用于二次分割的语义分割深度学习算法(例如,u-net)产生更可靠的结果。
[0073]
根据各种实施例,训练数据集可以包括图像对,诸如原始裁剪图像和掩模图像。这些对可以用于构建第二神经网络nn2的基于监督学习的分割模型。图10示出了训练第二神经网络nn2的示例,该第二神经网络nn2包括被包括在训练数据中的训练样本390,该训练样本390包括原始裁剪图像(诸如裁剪图像bb1’)的人类手动注释区域分割掩模(掩蔽表示),诸如掩模mgt1(区域396和397)。裁剪图像可以是由人类手动注释和/或由经训练的神经网络裁剪的图像,所述经训练的神经网络例如第一经训练神经网络(诸如先前的faster-rcnn虾检测模型的输出)。
[0074]
根据各种实施例,u-net分割模型架构(第二神经网络nn2)的训练可以包括两个部分。第一部分可以是用于捕获图像的上下文的收缩路径(也被称为编码器)。编码器可以是卷积层和最大池化层的传统堆叠。第二部分可以是对称扩展路径(也被称为解码器),其使
能使用转置卷积实现精确定位。因此,第二神经网络nn2可以是或包括端到端fcn。fcn没有可以接受任何大小的图像的任何密集层,例如,仅包含卷积层。
[0075]
如图10中图示的,在第二神经网络nn2的训练期间,训练裁剪图像bb1’经由正向传播在第二神经网络nn2中被编码,并且训练掩模mgt1经由反向传播被解码。
[0076]
在示例中,语义分割的数据被如下准备。实行对图像内部每个虾的身体部分的区域进行注释,以训练u-net语义分割模型,从而实现精确的分割结果。训练图像数据集(“第一训练数据集”)包括来自被训练以检测虾的第一经训练神经网络nn1(例如,fast-rcnn检测模型)的输出的存储在存储器中的5000个裁剪的虾图像。那些图像包括背景噪声和多个虾的重叠区域。训练图像数据集还包括5000个图像,所述图像是裁剪的虾图像的人类手动注释区域分割掩模,这些图像可以是例如灰度的,或者仅具有两种颜色。这些对被用于训练第二神经网络,例如,构建基于监督学习的分割模型。
[0077]
在示例中,用于虾分割的训练程序包括利用adam优化器编译的u-net模型,并且使用二元交叉熵损失函数,因为仅使用了两个类,即虾身体部分和背景。反向传播的过程保持重复,直到误差变得令人满意的低,例如最小,否则该过程向前、向后传播,并更新网络参数,如图7中所示。
[0078]
根据各种实施例和先前描述,第二经训练神经网络(例如,语义虾分割模型)将来自边界框生成器(200)结果图像的先前检测取作预测阶段中的输入,并且返回输出作为虾身体预测掩模区域。然后,为了最终的分割结果,将预测的掩模叠加在原始输入图像(裁剪图像)上,从而生成掩蔽表示384。掩蔽表示可以由性质估计器400和被包括在性质估计器400中的第三经训练神经网络nn3进一步处理。
[0079]
根据各种实施例,第三经训练神经网络nn3可以包括卷积层和最大池化层的序列,之后是末端。该末端可以包括一个或多个、例如2个全连接层fc,其后可以是用于输出的softmax。卷积层序列中的每个卷积层可以包括整流线性单元(relu)激活。图11中示出了第三神经网络的架构400的示例。
[0080]
根据各种实施例,第三经训练神经网络nn3可以包括卷积回归神经网络。
[0081]
根据各种实施例,卷积回归神经网络可以是vgg卷积回归神经网络,其被配置为从掩蔽表示384中提取特征。
[0082]
根据各种实施例,第三经训练神经网络可以包括被配置为基于卷积层的特征来估计性质的全连接层。根据各种实施例,卷积回归神经网络可以是vgg卷积回归神经网络,并且其中估计510所检测生物体an1、an2、an3的性质可以包括由vgg卷积回归神经网络从掩蔽表示384中提取特征。第三神经网络的示例是vgg net-d、包括16层的vgg(vgg 16)、vgg net-e、或其变型。
[0083]
图12示出了用于估计生物体的性质的示例性流程图,在该示例中,示出了生物体的掩蔽表示384,在该情况下是虾,其被输入到性质估计器400中,性质估计器400的输出是重量预测410。
[0084]
图13示出了用于训练性质估计器400的第三经训练神经网络nn3的示例性工作流。
[0085]
作为用于训练第三神经网络nn3的数据集,第一训练数据集中的裁剪虾图像384在数据收集过程中被注释有它们对应的重量值。具有标记的重量值的这些分割的虾图像然后被用于训练第三神经网络nn3,例如基于图像的回归神经网络。重量值被用作基准真值430。
[0086]
在示例中,虾重量回归神经网络使用vgg-16(imagenet)转移学习模型的预训练的参数作为特征提取器,并且添加具有线性激活函数的一个全连接层用于重量估计410。在训练阶段中,vgg-16模型的预训练的参数值被冻结(没有利用反向传播的更新参数)以用于低级图像特征提取。虾回归网络仅使用利用adam优化技术的反向传播算法来更新最后的全连接层的参数值。反向传播过程保持重复,直到均方误差和均值绝对误差变得令人满意,例如最小(在420中);它将再次向前、向后传播并且更新网络参数。
[0087]
在训练完成之后,分割的输入图像可以通过虾重量估计模型,以将虾的重量预测为利用测量单位(例如,克)的数值,如图12中所示。
[0088]
根据各种实施例,性质可以是重量,出于说明目的,其在示例中示出。
[0089]
根据各种实施例,生物体10可以是同一物种的虾,如出于说明目的在示例中所示的那样。
[0090]
图14示出了在处理期间的中间图像的示例,图像被按照说明目的示出,而其对应的数据可以以任何合适的数字格式存储。图像32示出了具有3个虾的托盘的图像,以及在图像上注释的它们对应的边界框bb1、bb2和bb3。图像33’示出了如何分割(图像33的)每个裁剪图像,由此删除图像的背景并且有效地分离重叠边界框的虾。虾图像中的每一个被馈送到包括第三经训练神经网络nn3的性质估计器400中,以用于估计所检测生物体(例如,虾)的性质。
[0091]
图15示出了表610和620,表610和620示出了所检测生物体an1、an2和an3的性质。在表610中,性质包括生物体an1、an2和an3的分别为1.9克、2.1克和2.5克的重量。在表620中,示出了计数3,并且该性质包括2.167克的平均重量。
[0092]
本公开描述了一种基于端到端深度学习的生物体大小估计方法,该方法不要求像常规机器学习技术一样的手动手工测量特征(诸如长度、宽度和甲壳长度),并且不使用基于预确定的阈值定限(thresholding)的图像处理算法。
[0093]
根据各种实施例,为了进行生物体(例如,虾)的大小估计,农民需要使用智能电话相机拍摄饲料托盘内部的活虾的照片。根据各种实施例,其中生物体是水生生物体,例如虾,托盘可以被排水,由此避免图像的失真。在一些实施例中,如果相机处于至饲料托盘的预确定的距离或距离范围处,则自动拍摄图像。然后,结果得到的图像将被传递到生物体大小估计ai模型,以获得虾计数,以及移动应用内部估计的单独生物体的重量。
[0094]
根据各种实施例,一种存储包括用于根据本文中公开的方法量化生物体的指令的计算机可执行代码的非暂时性计算机可读介质。
[0095]
根据各种实施例,一种包括用于根据本文中公开的方法量化生物体的指令的计算机可执行代码。
[0096]
虽然已经参考特定实施例特别地示出和描述了本公开,但是本领域技术人员应当理解,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,可以在形式和细节上进行其中的各种改变。因此,本发明的范围由所附权利要求指示,并且因此,意图包括权利要求的等同物的含义和范围内的所有改变。
技术特征:
1.一种生物体量化系统(100),包括:移动计算设备(110),包括:-相机(102);和-控制器(106),被配置为控制所述相机(102)拍摄生物体(10)的数字图像(30);距离估计器(120),被配置为从所述数字图像(30)估计从相机到生物体(10)的距离;边界框生成器(200),包括第一经训练神经网络(nn1),所述第一经训练神经网络(nn1)被配置为估计在所述数字图像(30)上检测到的所检测生物体(an1,an2,an3)的边界框;语义分割器(300),包括第二经训练神经网络(nn2),所述语义分割器(300)被配置为生成对应于边界框(bb1,bb2,bb3)的掩蔽表示(384);和性质估计器(400),包括第三经训练神经网络(nn3),所述第三经训练神经网络(nn3)被配置为基于所述掩蔽表示(384)估计所检测生物体(an1,an2,an3)的性质。2.根据权利要求1所述的生物体量化系统(100),其中所述第一经训练神经网络(nn1)是基于快速区域的卷积神经网络(fasterr-cnn)。3.根据权利要求1或权利要求2所述的生物体量化系统(100),其中所述第二经训练神经网络(nn2)被配置为:接收裁剪图像(381),所述裁剪图像(381)是根据估计的边界框(bb1,bb2,bb3)中的边界框(bb3)从数字图像(30)中裁剪的,并且对应于所检测生物体(an1,an2,an3)中的所检测生物体(an3);和生成掩模(383),其中:第一像素对应于所检测生物体(an3)的数字图像部分(386),并且不同于第一像素的第二像素对应于没有所检测生物体(an3)的另一数字图像部分(387)。4.根据前述权利要求中任一项所述的生物体量化系统(100),其中所述语义分割器(300)被配置为基于掩模(383)生成裁剪图像(381)的掩蔽表示(384)。5.根据前述权利要求中任一项所述的生物体量化系统(100),其中所述第三经训练神经网络(nn3)包括卷积回归神经网络。6.根据权利要求5所述的生物体量化系统(100),其中所述卷积回归神经网络是被配置为从掩蔽表示(384)中提取特征的vgg卷积回归神经网络。7.根据权利要求6所述的生物体量化系统(100),其中所述第三经训练神经网络包括被配置为基于特征来估计性质的全连接层。8.根据前述权利要求中任一项所述的生物体量化系统(100),其中所述性质是重量。9.根据前述权利要求中任一项所述的生物体量化系统(100),其中所述生物体(10)是同一物种的虾。10.一种用于量化生物体的方法(500),包括:由距离估计器(120)估计(502)从相机(102)到生物体(10)的距离;确定(504)所述距离在预确定的范围内,并且利用相机(102)拍摄生物体(10)的数字图像(30);由包括第一经训练神经网络(nn1)的边界框生成器(200)生成(506)对应于在数字图像(30)上检测到的所检测生物体(an1,an2,an3)的估计边界框(bb1,bb2,bb3);
由包括第二经训练神经网络(nn2)的语义分割器(300)生成(508)对应于边界框(bb1,bb2,bb3)的掩蔽表示(384);和由包括第三经训练神经网络(nn3)的性质估计器(400)基于所述掩蔽表示(384)估计(510)所检测生物体(an1、an2、an3)的性质。11.根据权利要求10所述的方法(500),其中所述第一经训练神经网络(nn1)是基于快速区域的卷积神经网络(fasterr-cnn)。12.根据权利要求10或权利要求11所述的方法(500),其中生成掩蔽表示(508)包括:由第二经训练神经网络(nn2)接收裁剪图像(381),所述裁剪图像(381)已经根据估计的边界框(bb1,bb2,bb3)中的边界框(bb3)从数字图像(30)裁剪,并且对应于所检测生物体(an1,an2,an3)中的所检测生物体(an3);和生成掩模(383),其中:第一像素对应于所检测生物体(an3)的数字图像部分(386),并且不同于第一像素的第二像素对应于没有所检测生物体(an3)的另一数字图像部分(387)。13.根据权利要求10至12中任一项所述的方法(500),其中生成掩蔽表示(508)是基于掩模(383)的。14.根据权利要求10至13中任一项所述的方法(500),其中所述第三经训练神经网络(nn3)包括卷积回归神经网络。15.根据权利要求14所述的方法(500),其中所述卷积回归神经网络是vgg卷积回归神经网络,并且其中估计(510)所检测生物体(an1,an2,an3)的性质包括通过vgg卷积回归神经网络从掩蔽表示(384)中提取特征。16.根据权利要求15所述的方法(500),其中所述第三经训练神经网络包括被配置为基于特征来估计性质的全连接层。17.根据权利要求10至16中任一项所述的方法(500),其中所述性质是重量。18.根据权利要求10至17中任一项所述的方法(500),其中所述生物体(10)是同一物种的虾。19.一种存储包括用于根据权利要求10至18中任一项所述的方法来量化生物体的指令的计算机可执行代码的非暂时性计算机可读介质。20.一种包括用于根据权利要求10至18中任一项所述的方法来量化生物体的指令的计算机可执行代码。
技术总结
本公开的一个方面涉及一种生物体量化系统,包括:相机;以及控制器,被配置为控制相机拍摄生物体的数字图像;该系统包括距离估计器,被配置为从数字图像估计从相机到生物体的距离;边界框生成器,包括第一经训练神经网络,所述第一经训练神经网络被配置为估计在数字图像上检测到的所检测生物体的边界框;语义分割器,包括第二经训练神经网络,该语义分割器被配置为生成对应于边界框的掩蔽表示;以及性质估计器,包括第三经训练神经网络,该第三经训练神经网络被配置为基于掩蔽表示来估计所检测生物体的性质。其他方面涉及一种用于量化生物体的方法,包括估计,一种非暂时性计算机可读介质,以及一种包括实行该方法的指令的计算机可执行代码。算机可执行代码。算机可执行代码。
技术研发人员:A
受保护的技术使用者:水智有限公司
技术研发日:2021.02.09
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:光学系统的制作方法 下一篇:一种电器碳排放优化装置的制作方法