一种物体指标的检测方法、家畜重量的检测方法及装置
技术领域
本申请涉及人工智能领域,尤其涉及一种物体指标的检测方法、家畜重量的检测方法及装置。
背景技术
随着我国经济的不断发展、人们生活水平的不断提高,人们的消费观念和消费水平也有了很大的转变与提升。在这个契机下,家畜养殖行业也得到了快速发展,养殖规模不断壮大。以牛为例,生活中人们对食品质量包括牛奶制品、牛肉制品的要求越来越高。根据牛只重量,能够判断出奶牛和肉牛的健康状况,以及奶牛的产奶能力。因此精准估计牛只的重量是一项非常重要的任务,能够为提升食品质量提供一大助力。
在实现本发明的过程中,发明人发现由于牛只体型较大,目前牛只重量的测量主要是靠人工或机械测量出牛只的体尺信息,再通过经验公式计算得出。这种方式获取的重量误差较大,人力物力消耗较大,且效率较低。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种物体指标的检测方法、家畜重量的检测方法及装置。
第一方面,本申请提供了一种物体指标的检测方法,包括:
获取待检测图像,所述待检测图像中包括至少一个目标物;
将所述待检测图像输入预先训练的分割模型,由所述分割模型根据所述目标物指定部位在所述待检测图像中的位置信息对所述待检测图像进行分割,得到部位图像;
基于所述部位图像提取所述目标物指定部位的特征向量;
根据所述特征向量确定所述目标物的指标信息。
可选的,所述分割模型包括:卷积网络和反卷积网络,其中,所述卷积网络中包括级联的两个不对称卷积层;
所述将所述待检测图像输入预先训练的分割模型,由所述分割模型根据所述目标物指定部位在所述待检测图像中的位置信息对所述待检测图像进行分割,得到部位图像,包括:
将所述待检测图像输入所述卷积网络,得到第一卷积结果;
根据所述第一卷积结果确定所述目标物指定部位的坐标信息;
将所述第一卷积结果输入所述反卷积网络,得到第二卷积结果;
按照所述坐标信息对所述第二卷积结果进行分割得到所述部位图像。
可选的,还包括:
获取样本图像,所述样本图像中包括至少一个目标物;
基于所述样本图像生成多个标签图像,每个所述标签图像对应所述目标物的一个部位;
将所述标签图像输入预设卷积神经网络,由所述预设卷积神经网络,得到所述分割模型。
可选的,所述基于所述部位图像提取所述目标物指定部位的特征向量,包括:
按照预设函数将所述部位图像沿长轴方向进行切割得到第一数量的横向切片体积,根据所述横向切片体积生成横向特征向量;
按照预设函数将所述部位图像沿短轴方向进行切割得到第二数量的纵向切片体积,根据所述纵向切片体积生成纵向特征向量;
按照预设函数确定所述目标物指定部位的形体参数,根据所述形体参数生成基础特征向量;
根据所述横向特征向量、纵向特征向量以及基础特征向量得到目标物指定部位的特征向量。
可选的,所述根据所述特征向量确定所述目标物的指标信息,包括:
获取预先训练的目标回归模型;
将所述特征向量输入所述目标回归模型,由所述目标回归模型根据所述特征向量进行分类,确定所述特征向量对应的指标信息。
可选的,所述方法还包括:
获取随机森林模型,所述随机森林模型包括多个回归模型;
获取训练样本数据,所述训练样本数据包括:样本特征向量以及所述样本特征向量对应的样本指标信息;
采用所述训练样本数据对所述原始森林模型进行训练,得到所述目标回归模型;
其中,所述采用所述训练样本数据对所述随机森林模型进行训练,确定所述目标回归模型,包括:
将所述训练样本依次输入每个回归模型得到计算结果;
将计算结果满足预设条件回归模型作为所述目标回归模型。
第二方面,本申请实施例还提供了一种家畜装量的检测方法,包括:
获取家畜的深度图像,所述深度图像为摄像装置对所述家畜进行俯拍得到,所述深度图像中携带所述家畜各个部位的位置信息;
将所述深度图像输入预先训练的分割模型,由所述分割模型根据所述家畜背部在所述深度图像中的位置信息对所述深度图像进行分割,得到背部图像;
基于所述背部图像提取所述家畜背部的特征向量;
根据所述特征向量确定所述家畜的重量。
第三方面,本申请实施例提供了一种物体指标的检测装置,包括:
获取模块,用于获取待检测图像,所述待检测图像中包括至少一个目标物;
检测模块,用于将所述待检测图像输入预先训练的分割模型,由所述分割模型根据所述目标物指定部位在所述待检测图像中的位置信息对所述待检测图像进行分割,得到部位图像;
提取模块,用于基于所述部位图像提取所述目标物指定部位的特征向量;
确定模块,用于根据所述特征向量确定所述目标物的指标信息。
第四方面,本申请实施例提供了一种家畜重量的检测装置,包括:
获取模块,用于获取家畜的深度图像,所述深度图像为摄像装置对所述家畜进行俯拍得到的;
分割模块,用于将所述深度图像输入预先训练的分割模型,由所述分割模型根据所述家畜背部在所述深度图像中的位置信息对所述深度图像进行分割,得到背部图像;
提取模块,用于基于所述背部图像提取所述家畜背部的特征向量;
确定模块,用于根据所述特征向量确定所述家畜的重量。
第五方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
第六方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请采用的技术方案通过对使用分割出目标物指定部位的部位图像,基于部位图像提取深度特征信息,并用机器学习的方式估计出目标物的指标。这种方式效率高、成本低,并且不会对目标物造成伤害,同时检测得到的结果相比现有技术误差小。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种物体指标的检测方法的流程图;
图2为本申请实施例提供的分割模型的结构图;
图3为本申请实施例提供的一种家畜重量的检测方法的流程图;
图4为本申请实施例提供的一种物体指标的检测装置的框图;
图5为本申请实施例提供的一种家畜重量的检测装置的框图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种物体指标的检测方法、家畜重量的检测方法及装置。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
下面首先对本发明实施例所提供的一种物体指标的检测方法进行介绍。
图1为本申请实施例提供的一种物体指标的检测方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11,获取待检测图像,待检测图像中包括至少一个目标物;
本申请实施例中的待检测图像摄像装置对目标物进行俯拍得到的深度图像,待检测图像中的目标物可以是家畜,如:牛,羊,马,猪等,也可以是家禽,如:鸡,鸭,鹅等。本实施例以牛只为例进行具体说明。
深度图像(depth image)也被称为距离影像(range image),是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。
步骤S12,将待检测图像输入预先训练的分割模型,由分割模型根据目标物指定部位在待检测图像中的位置信息对待检测图像进行分割,得到部位图像;
图2为本申请实施例提供的分割模型的结构图,如图2所示,本实施例中的分割模型包括:卷积网络和反卷积网络,其中,卷积网络中包括级联的两个不对称卷积层;
本发明采用轻量级分割网络ENet进行牛背分割。ENet网络(如图2)主要分为编码和解码两个部分,整个网络结构由bottleneck组成,bottleneck分为三个卷积层:第一个1x1卷积用来降低特征维度;第二个为主卷积层,可以为普通卷积、空洞卷积和卷积核为5x1或1x5的非对称卷积;第三个1x1卷积用来扩张维度。若bottleneck为下采样,则在主分支中加入一个最大池化层,同时用一个卷积核大小为2x2、步长为2的卷积代替第一个1x1卷积,激活值进行padding操作,以保证特征尺寸匹配。如此设计的目的是为了在保证准确率的情况下,减少参数。
将待检测图像输入预先训练的分割模型,由分割模型根据目标物指定部位在待检测图像中的位置信息对待检测图像进行分割,得到部位图像,包括:将待检测图像输入卷积网络,得到第一卷积结果,根据第一卷积结果确定目标物指定部位的坐标信息,将第一卷积结果输入反卷积网络,得到第二卷积结果,按照坐标信息对第二卷积结果进行分割得到部位图像。本实施例中的目标物指定部位为牛只背部。
本实施例中分割模型的训练过程如下:
获取样本图像,样本图像中包括至少一个目标物;基于样本图像生成多个标签图像,每个标签图像对应目标物的一个部位;将标签图像输入预设卷积神经网络,由预设卷积神经网络,得到分割模型。
可以理解的,使用PixelAnnotationTool标记牛只区域,具体将牛只分成三个部分分别标记:牛的头部、牛的背部和牛的尾部,并生成标签图像。其中牛的头部和牛的背部的边界为牛只前肩胛骨处。
如此分成三个部分的原因是牛只在行走的过程中,牛头和尾巴经常会动,中间的牛背是相对稳定的,最终是基于牛背信息进行重量估计。
需要说明的是,首先将牛只图像和标签图像输入改进的ENet分割网络,网络先用初始化模块缩小空间尺寸,合并最大池化特征和卷积后特征;
通过一系列的bottleneck模块对牛棚图像进行编码特征提取,将图像下采样了16倍。其中考虑到卷积层权重有相当大的冗余,可以用5x1和1x5的两个不对称卷积层级联来缩小计算量。同时在维持特征图的分辨率的情况下,引入空洞卷积减小计算量、增大感受野;编码之后为解码过程,将特征图还原到原始图像大小。本发明采用两个反卷积层进行上采样,还原特征分辨率得到解码特征;对解码特征进行像素级别的分类,并根据分类结果和标签图像计算loss损失函数,不断反向传播损失函数至网络收敛,得到分割模型。
步骤S13,基于部位图像提取目标物指定部位的特征向量;
可选的,基于部位图像提取目标物指定部位的特征向量,包括:
(1)按照预设函数将部位图像沿长轴方向进行切割得到第一数量的横向切片体积,根据横向切片体积生成横向特征向量;
作为一个示例,本实施例中使用OpenCV的基础函数将牛背沿着长轴方向等间隔切割200份,并分别求和,获取200个横向切片体积,构成横向特征向量;其中长轴方向为牛颈部至牛尾部的水平方向。
(2)按照预设函数将部位图像沿短轴方向进行切割得到第二数量的纵向切片体积,根据纵向切片体积生成纵向特征向量;其中短轴方向为牛背部宽度方向。
作为一个示例,本实施例中使用OpenCV的基础函数将牛背纵向等间隔切割300份,并分别求和,获取300个纵向切片体积,构成纵向特征向量;
(3)按照预设函数确定目标物指定部位的参数信息,根据参数信息生成基础特征向量;
作为一个示例,本实施例中使用OpenCV的基础函数求得牛背长宽和牛背面积,基于这三个信息构造基础特征向量;
(4)根据横向特征向量、纵向特征向量以及基础特征向量得到目标物指定部位的特征向量。
步骤S14,根据特征向量确定目标物的指标信息。
可选的,根据特征向量确定目标物的指标信息,包括:
获取预先训练的目标回归模型,将特征向量输入目标回归模型,由目标回归模型根据特征向量进行分类,确定特征向量对应的指标信息。本实施例中的指标信息为牛只的重量。
本实施例中,回归模型训练过程如下:
首先获取随机森林模型,随机森林模型包括多个回归模型。
作为一个示例,从样本集中用Bootstrap采样选出n个样本;从所有属性中随机选择k个属性,选择最佳分割属性作为结点建立CART决策树;重复以上两步m次,即建立了m棵CART决策树;这m棵CART决策树形成随机森林模型。
获取训练样本数据,训练样本数据包括:样本特征向量以及样本特征向量对应的样本指标信息,采用训练样本数据对原始森林模型进行训练,得到目标回归模型。
本实施例中,采用训练样本数据对随机森林模型进行训练,确定目标回归模型,包括:将训练样本依次输入每个回归模型得到分类结果;其中,训练样本数据包括200头牛背特征和对应的真实重量,测试数据为100头牛背特征,设置随机森林树的棵数为10到100,分别将训练数据送入相应的随机森林算法进行训练,得到91个重量回归模型。
然后,分别将训练样本数据送入中的91个重量回归模型,选取标准差最小的为最优重量回归模型。
本申请采用的技术方案通过对使用分割出目标物指定部位的部位图像,基于部位图像提取深度特征信息,并用机器学习的方式估计出目标物的指标。这种方式效率高、成本低,并且不会对目标物造成伤害,同时检测得到的结果相比现有技术误差小。
图3为本申请实施例提供的一种家畜重量的检测方法的流程图,如图3所示,该方法包括:
步骤S31、获取家畜的深度图像,深度图像为摄像装置对所述家畜进行俯拍得到,深度图像中携带所述家畜各个部位的位置信息;
步骤S32、将深度图像输入预先训练的分割模型,由分割模型根据家畜背部在深度图像中的位置信息对深度图像进行分割,得到背部图像;
步骤S33、基于背部图像提取家畜背部的特征向量;
步骤S34、根据特征向量确定家畜的重量。
深度图像也被称为距离影像,是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图像经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图像数据。
本实施例是以牛为例,通过分割模型将牛背从深度图像中分割出来,基于牛背图像得到牛背的特征向量,将特征向量对应的指标作为牛只的重量。
在得到牛只重量之后,获取牛只的标识信息,将牛只重量和标识信息进行关联,统计单位时间内牛只重量,根据单位时间内牛只重量得到牛只在预设周期内的体重变化曲线,根据体重变化曲线确定牛只生长状态。
其中获取牛只的标识信息可以是基于牛背图像检测牛背关键点,根据牛背关键点连线的最小外接矩形确定牛只标识。
作为一个示例,将牛背图像输入关键点检测模型得到牛背关键点,本实施例中关键点检测模型包括:卷积网路和反卷积网络,将第二待检测图像输入卷积网络,得到第一卷积结果;根据第一卷积结果确定牛只对应的预设数量的局部坐标;将第一卷积结果输入反卷积网络,得到第二卷积结果;按照预设数量的局部坐标对第二卷积结果进行分割,得到预设数量的局部图像;根据预设数量的局部图像确定牛背关键点。
图4为本申请实施例提供的一种物体指标的检测装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该装置包括:
获取模块41,用于获取待检测图像,待检测图像中包括至少一个目标物;
检测模块42,用于将待检测图像输入预先训练的分割模型,由分割模型根据目标物指定部位在待检测图像中的位置信息对待检测图像进行分割,得到部位图像;
提取模块43,用于基于部位图像提取目标物指定部位的特征向量;
确定模块44,用于根据特征向量确定目标物的指标信息。
图5为本申请实施例提供的一种家畜重量的检测装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,该装置包括:
获取模块51,用于获取家畜的深度图像,所述深度图像为摄像装置对所述家畜进行俯拍得到的;
分割模块52,用于将所述深度图像输入预先训练的分割模型,由所述分割模型根据所述家畜背部在所述深度图像中的位置信息对所述深度图像进行分割,得到背部图像;
提取模块53,用于基于所述背部图像提取所述家畜背部的特征向量;
确定模块54,用于根据所述特征向量确定所述家畜的重量。
本申请实施例还提供一种电子设备,如图6所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例的步骤。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令进行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于进行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上进行、部分地在用户设备上进行、作为一个独立的软件包进行、部分在用户计算设备上部分在远程计算设备上进行、或者完全在远程计算设备或服务器上进行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。