本发明实施例涉及智能养殖技术领域,尤其是涉及一种猪只的智能盘点方法及装置。
背景技术:
随着电子信息技术在养殖领域的应用,很多养殖场所通过现代化的养殖设备对猪只进行圈养。例如,在圈养猪只的群养栏内设置对猪只体重进行监测的设备、对猪只进食情况进行监测的设备和自动供给猪只食物和水的设备。现代化的养殖设备大大降低了养殖过程中的人力成本,节省了资源。然而,现有的养殖设备无法对猪只进行准确的盘点,通常需要工作人员对每一个群养栏内的猪只数量进行人工统计。
在实际应用中,发明人发现现有的养殖过程中,需要工作人员人工统计群养栏中的猪只数量,统计效率低,且由于猪只的走动也无法保证统计结果的准确性。
技术实现要素:
本发明要解决在现有的养殖过程中,需要工作人员人工统计群养栏中的猪只数量,统计效率低,且由于猪只的走动也无法保证统计结果的准确性的问题。
针对以上技术问题,本发明的实施例提供了一种猪只的智能盘点方法,包括:
获取对群养栏的猪只进行拍照得到的目标图片;
通过预先训练的盘点模型分割出所述目标图片上猪只的图像,并统计出所述目标图片中的目标猪只数量,输出所述目标猪只数量;
其中,所述盘点模型是以预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型。
本发明的实施例提供了一种猪只的智能盘点装置,包括:
获取模块,用于获取对群养栏的猪只进行拍照得到的目标图片;
盘点模块,用于通过预先训练的盘点模型分割出所述目标图片上猪只的图像,并统计出所述目标图片中的目标猪只数量,输出所述目标猪只数量;
其中,所述盘点模型是以预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型。
本发明的实施例提供了一种电子设备,包括:
至少一个处理器、至少一个存储器、通信接口和总线;其中,
所述处理器、存储器、通信接口通过所述总线完成相互间的通信;
所述通信接口用于该电子设备和其它电子设备的通信设备之间的信息传输;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行以上所述的方法。
本发明的实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行以上所述的方法。
本发明的实施例提供了一种猪只的智能盘点方法及装置,由机器学习训练出的盘点模型根据群养栏中猪只的图片对猪只进行盘点。盘点模型是通过大量的预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型,因此盘点模型能够准确地从输入的图片中分割出猪只的图像,并根据分割的猪只图像统计出猪只数量。在盘点模型的应用过程中,将某一时刻拍摄的图片输入到盘点模型,即可得到图片中猪只数量。通过图片对猪只数量进行盘点避免了由于猪只走动带来的统计数据不准确的问题,不需要通过人工进行猪只数量的盘点,节省了人力资源,也提高了猪只数量统计的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种猪只的智能盘点方法的流程示意图;
图2是本发明另一个实施例提供的一种猪只的智能盘点装置的结构框图;
图3是本发明另一个实施例提供的电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本实施例提供的一种猪只的智能盘点方法的流程示意图,参见图1,该方法包括:
101:获取对群养栏的猪只进行拍照得到的目标图片;
102:通过预先训练的盘点模型分割出所述目标图片上猪只的图像,并统计出所述目标图片中的目标猪只数量,输出所述目标猪只数量;
其中,所述盘点模型是以预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型。
本实施例提供的方法由对群养栏中猪只的数量进行盘点的设备执行,例如,服务器或者专门用于对猪只的数量进行盘点的专用设备。目标图片可以从安装在群养栏周围的监控设备或者相机得到,目标图片是对群养栏中猪只拍照得到的图片。将目标图片作为盘点模型的输入参数,由盘点模型得到对目标图片中的猪只的图像进行分割的结果和根据分割的猪只的图像统计的猪只数量。在本实施例提供的方法中,将统计的猪只数量作为最终的输出结果。
盘点模型对图片中的猪只的图像进行分割,以便对分割出的猪只的图像进行计数,得到图片中的猪只数量。盘点模型由大量的预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到,能够准确地对图片中的每一猪只的图像进行分割并统计,准确地统计出群养栏中的猪只数量。
本实施例提供了一种猪只的智能盘点方法,由机器学习训练出的盘点模型根据群养栏中猪只的图片对猪只进行盘点。盘点模型是通过大量的预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型,因此盘点模型能够准确地从输入的图片中分割出猪只的图像,并根据分割的猪只图像统计出猪只数量。在盘点模型的应用过程中,将某一时刻拍摄的图片输入到盘点模型,即可得到图片中猪只数量。通过图片对猪只数量进行盘点避免了由于猪只走动带来的统计数据不准确的问题,不需要通过人工进行猪只数量的盘点,节省了人力资源,也提高了猪只数量统计的准确性。
进一步地,在上述实施例的基础上,对所述盘点模型进行训练的方法,包括:
获取若干对猪只进行拍照得到的图片,作为初始图片,对每一初始图片,分割出所述初始图片中的各猪只的图像,并对从所述初始图片中分割出的猪只的图像进行统计,得到所述初始图片中的猪只数量;
获取以所述初始图片作为输入参数,以从所述初始图片中分割出猪只的图像的分割结果和所述初始图片中的猪只数量作为目标输出值的训练样本;
将对若干组训练样本进行机器学习得到的模型作为所述盘点模型。
本实施例提供了一种猪只的智能盘点方法,通过对大量的训练样本进行机器学习得到盘点模型,因而训练得到的盘点模型能够准确地标记出图片中出现的每一猪只,对猪只数量进行统计,并保证统计出的猪只数量的准确性。
进一步地,在上述各实施例的基础上,获取对若干组训练样本进行机器学习得到的训练模型,以及对所述训练模型进行检测的检测样本;
对任一检测样本,将所述检测样本中对猪只进行拍照得到的初始图片作为输入参数,获取由所述训练模型输出的所述检测样本中的初始图片中的猪只数量,若由训练模型输出的猪只数量等于从检测样本中的初始图片中统计的猪只数量,则所述训练模型输出结果正确,否则,所述训练模型输出结果错误;
由所述训练模型对若干检测样本中初始图片中猪只数量进行统计对应的输出结果,计算所述训练模型统计猪只数量的正确率,若所述正确率大于预设正确率,则将所述训练模型作为所述盘点模型,否则,继续通过训练样本对所述训练模型进行训练。
为了保证盘点模型在大概率上统计的图片中的猪只数量与图片中实际猪只数量吻合,在通过机器学习得到训练模型后,对统计猪只数量的正确率进行计算,只有正确率大于预设正确率时,才将训练模型作为盘点模型,使用盘点模型对图片中的猪只数量进行统计,否则,继续通过训练样本对得到的训练模型进行训练,直到训练模型统计猪只数量的正确率大于预设正确率的模型为止。预设正确率为设定值。
其中,计算所述训练模型输出的猪只数量的正确率的方法,包括:在训练模型统计出检测样本中的初始图片的猪只数量后,计算训练模型的输出结果正确的检测样本数量与检测样本的总数量的比值,作为训练模型统计猪只数量的正确率。
本实施例提供了一种猪只的智能盘点方法,计算训练模型对检测样本中猪只数量统计的正确率,将正确率高于预设正确率的训练模型作为盘点模型,通过检测样本的检测能够保证投入使用的盘点模型所统计的猪只数量具有较好的可靠性。
进一步地,在上述各实施例的基础上,所述获取对群养栏的猪只进行拍照得到的目标图片,包括:
获取对所述群养栏的猪只进行拍照得到的至少一张拍照图片,通过图像拼接将得到的拍照图片进行拼接,得到所述群养栏的猪只的全景图片,作为所述目标图片。
为了实现对群养栏中猪只的全面统计,可以从群养栏的各个角度对群养栏中的猪只进行拍照,将得到的照片进行拼接得到全景照片,将该全景照片作为输入到盘点模型中的目标图片。全景图片包括了群养栏中每一角度下的信息,通过全景图片进行猪只数量的盘点避免了由于图片拍摄不全面导致的猪只数量盘点错误。
本实施例提供了一种猪只的智能盘点方法,以全景图片作为输入盘点模型的输入参数,保证盘点模型能够正确统计出群养栏中猪只的猪只数量。
进一步地,在上述各实施例的基础上,还包括:
判断所述目标猪只数量是否小于设定的第一参考数量,若是,标记所述目标猪只数量和所述群养栏。
进一步地,在上述各实施例的基础上,还包括:
判断所述目标猪只数量是否大于设定的第二参考数量,若是,发出所述群养栏猪只数量超标的提示信息。
根据群养栏的面积大小可以预先对群养栏中能够圈养的猪只的总数进行限制,当群养栏中猪只数量小于第一参考数量时,可对该群养栏进行标记,以便当需要增加新的猪只到群养栏时,可以将增加的猪只增加到进行了标记的群养栏中。通过对群养栏的标记可以使得工作人员快速确定出能够加入新增猪只的群养栏,提高工作效率。
第二参考数量为群养栏中所能容纳猪只的最大数量,当群养栏中猪只数量大于第二参考数量时,应发出提示信息,使得工作人员及时调整,避免因为某一群养栏中猪只数量过多带来的群养栏中的饲养环境的恶化。
具体来说,该方法用深度学习方法对猪只进行分割,从而判断出猪只数量。其中,进行深度学习的过程包括:首先进行数据采集,采集大量群养栏猪只图片,对部分图片中的猪只的图像进行分割,并根据分割的猪只的图像统计猪只数量。将分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本,然后进行训练,获取能自动分割猪只并统计出猪只数量的模型,该模型可以准确地对群养栏内猪只进行标注。
图2为本发明的实施例提供的一种猪只的智能盘点装置的结构框图,参见图2,本实施例提供的猪只的智能盘点装置包括获取模块201和盘点模块202,其中,
获取模块201,用于获取对群养栏的猪只进行拍照得到的目标图片;
盘点模块202,用于通过预先训练的盘点模型分割出所述目标图片上猪只的图像,并统计出所述目标图片中的目标猪只数量,输出所述目标猪只数量;
其中,所述盘点模型是以预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型。
本实施例提供的一种猪只的智能盘点装置适用于上述实施例中提供的一种猪只的智能盘点方法,在此不再赘述。
本实施例提供了一种猪只的智能盘点装置,由机器学习训练出的盘点模型根据群养栏中猪只的图片对猪只进行盘点。盘点模型是通过大量的预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型,因此盘点模型能够准确地从输入的图片中分割出猪只的图像,并根据分割的猪只图像统计出猪只数量。在盘点模型的应用过程中,将某一时刻拍摄的图片输入到盘点模型,即可得到图片中猪只数量。通过图片对猪只数量进行盘点避免了由于猪只走动带来的统计数据不准确的问题,不需要通过人工进行猪只数量的盘点,节省了人力资源,也提高了猪只数量统计的准确性。
图3为本实施例提供的电子设备的结构框图。
参照图3,所述电子设备包括:处理器(processor)301、存储器(memory)302、通信接口(communicationsinterface)303和总线304;
其中,
所述处理器301、存储器302、通信接口303通过所述总线304完成相互间的通信;
所述通信接口303用于该电子设备和其它电子设备的通信设备之间的信息传输;
所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取对群养栏的猪只进行拍照得到的目标图片;通过预先训练的盘点模型分割出所述目标图片上猪只的图像,并统计出所述目标图片中的目标猪只数量,输出所述目标猪只数量;其中,所述盘点模型是以预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取对群养栏的猪只进行拍照得到的目标图片;通过预先训练的盘点模型分割出所述目标图片上猪只的图像,并统计出所述目标图片中的目标猪只数量,输出所述目标猪只数量;其中,所述盘点模型是以预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取对群养栏的猪只进行拍照得到的目标图片;通过预先训练的盘点模型分割出所述目标图片上猪只的图像,并统计出所述目标图片中的目标猪只数量,输出所述目标猪只数量;其中,所述盘点模型是以预先分割出猪只的图像,并根据分割出的猪只的图像统计出猪只数量的图片作为训练样本进行机器学习得到的模型。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。