一种动物计数、图像处理方法和装置与流程

文档序号:20759214发布日期:2020-05-15 17:50阅读:435来源:国知局
一种动物计数、图像处理方法和装置与流程

本申请涉及人工智能领域,尤其涉及一种动物计数、图像处理方法和装置。



背景技术:

家禽或家畜养殖是我国的传统行业,也是我国畜牧业的支柱产业,我国养殖产业一方面受经济持续高速增长、城乡居民收入水平不断提高和食物消费结构不断升级等引致的需求强力拉动,另一方面因养殖产业已经演变成国民经济来源的重要组成部分而得到政府的强烈推动。

目前,我国养殖行业不断发展,养殖业逐渐趋向规模化养殖。与此同时,每天售卖的频次和数量也大大增加,准确计算售卖时的家禽或家畜的数量就是必不可少的环节。传统的计数方式为人工点数,然后登记在册,最后再录入线上系统。这种方式效率太低,及其容易出现失误,可靠性差,消耗大量人力和时间成本。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种动物计数、图像处理方法和装置。

第一方面,本申请实施例提供了一种动物计数方法,包括:

获取待检测区域图像,所述待检测区域图像中包括至少一个动物;

根据预先训练的动物检测模型从所述待检测区域图像中分割出动物个体,识别动物数量;

根据所述动物数量生成所述待检测区域图像对应的计数信息。

可选的,所述待检测图像中包括至少两个动物类别的动物;

所述根据预先训练的动物检测模型从所述待检测区域图像中分割出动物个体,识别动物数量,包括:

根据所述动物检测模型从所述待检测区域图像中分割出动物个体,识别动物类别,确定每个动物类别对应的动物数量。

可选的,所述根据预先训练的动物检测模型从所述待检测区域图像中分割出动物个体,识别动物数量,包括:

获得所述动物检测模型生成的每个动物个体对应的预测图;

根据所述预测图的个数确定所述动物数量。

可选的,所述方法还包括:

获取样本图像,所述样本图像中包括至少一个动物;

确定所述样本图像对应的标注信息,所述标注信息包括动物的轮廓及类别信息;

将所述样本图像及标注信息输入预设实例分割网络,对所述预设实例分割网络中特征提取子网络、目标检测子网络及分割子网络的参数进行训练,得到动物检测模型。

第二方面,本申请实施例提供了一种图像处理方法,包括:

获取样本图像,所述样本图像中包括至少一个动物;

确定所述样本图像对应的标注信息,所述标注信息包括动物的轮廓及类别信息;

将所述样本图像及标注信息输入预设实例分割网络,对所述预设实例分割网络中特征提取子网络、目标检测子网络及分割子网络的参数进行训练,得到动物检测模型。

可选的,所述特征提取子网络,用于从所述样本图像中提取图像特征,得到特征图;

所述目标检测子网络,用于为所述特征图中每个像素生成预设个数的不同尺寸的锚框;通过第一分类器对所述锚框属于前景或背景进行分类,得到第一分类结果;使用回归方式对所述锚框位置进行修正;并对所述锚框进行筛选,得到目标锚框;

所述分割子网络,用于对所述目标锚框中的像素点进行特征提取,通过第二分类器对所述目标锚框中的像素点属于前景或背景进行分类,得到第二分类结果;使用回归方式对所述目标锚框的位置进行修正;并预测得到所述目标锚框对应的mask预测图。

可选的,所述对所述预设实例分割网络中特征提取子网络、目标检测子网络及分割子网络的参数进行训练,包括:

计算所述目标检测子网络对应的第一分类损失和第一回归损失;

计算所述分割自网络对应的第二分类损失、第二回归损失和mask预测图对应的focalloss;

根据所述第一分类损失、第一回归损失、第二分类损失、第二回归损失和focalloss生成最终损失函数,不断反向传播所述最终损失函数直至网络收敛,得到所述动物检测模型。

第三方面,本申请实施例提供了一种动物计数装置,包括:

获取模块,用于获取待检测区域图像,所述待检测区域图像中包括至少一个动物;

检测模块,用于根据预先训练的动物检测模型从所述待检测区域图像中分割出动物个体,识别动物数量;

生成模块,用于根据所述动物数量生成所述待检测区域图像对应的计数信息。

第四方面,本申请实施例提供了一种图像处理装置,包括:

获取模块,用于获取样本图像,所述样本图像中包括至少一个动物;

确定模块,用于确定所述样本图像对应的标注信息,所述标注信息包括动物的轮廓及类别信息;

训练模块,用于将所述样本图像及标注信息输入预设实例分割网络,对所述预设实例分割网络中特征提取子网络、目标检测子网络及分割子网络的参数进行训练,得到动物检测模型。

第五方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行计算机程序时,实现上述方法步骤。

第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

通过预先训练的动物检测模型从待检测区域图像中识别出动物数量,从而实现智能化自动计数,无需人工点数,提高计数效率,并且准确率和可靠性较高,节约人力和时间成本。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种图像处理方法的流程图;

图2为本申请实施例提供的一种动物计数方法的流程图;

图3为本申请实施例提供的售猪台图像;

图4为本申请实施例提供的一种图像处理装置的框图;

图5为本申请实施例提供的一种动物计数装置的框图;

图6为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例,通过计算机视觉的方式,基于预先训练的模型对一定区域内的动物数量进行计数。

下面首先对本发明实施例所提供的一种图像处理方法进行介绍,该图像处理方法用于训练用于对区域内动物数量进行计数的动物检测模型。

图1为本申请实施例提供的一种图像处理方法的流程图。如图1所示,该方法包括以下步骤:

步骤s11,获取样本图像,样本图像中包括至少一个动物。

如果所要进行动物计数的场景中包含多种动物,则样本图像中需要包含所要检测的每种动物。例如,某场景下包含牛、羊和马,则样本图像中应包含这三种动物。当然,并不是要求其中一张样本图像中必须包括这三种动物,但是,在样本图像集合中,应当存在每种动物对应的样本图像。

步骤s12,确定样本图像对应的标注信息,标注信息包括动物的轮廓及类别信息。

其中,对于单一动物种类或无需区分动物种类的场景,该类别信息可以仅为“动物”,即仅标识出轮廓为模型所要检测的目标物。但是,对于多动物种类且需要区分动物种类的场景,该类别信息需要包括每种动物的动物类别。

步骤s13,将样本图像及标注信息输入预设实例分割网络,对预设实例分割网络中特征提取子网络、目标检测子网络及分割子网络的参数进行训练,得到动物检测模型。

可选的,预设实例分割网络可以为maskr-cnn网络。

预设实例分割网络包括三部分:特征提取子网络、目标检测子网络及分割子网络。以下对这三个部分进行具体说明。

(一)特征提取子网络

从样本图像中提取图像特征,得到特征图。

特征提取子网络中的骨干网络可以为深度残差网络,如resnet50、resnet101等等。为了提高特征提取速度,缩减网络结构,骨干网络还可以为轻量级的适用于移动端和嵌入式端的神经网络,如mobilenetv1、mobilenetv2、mobilenetv3等等。

特征提取子网络还包括用于加强骨干网络特征表达的特征金字塔网络(featurepyramidnetwork,简称fpn)。fpn对主干网络中每一层输出的图像特征进行处理以生成反映此维度信息的特征。而自上至下处理后所生成出的特征之间也存在关联关系,即上层高层特征会影响下一层次的低层特征表达。最终所有的特征一起用来作为下一步的目标检测或类别分析等任务的输入。

(二)目标检测子网络

目标检测子网络可以为区域候选网络(regionproposalnetwork,简称rpn)。

首先,目标检测子网络为上述特征图中每个像素点生成预设个数的不同尺寸的锚框。例如,rpn通过滑动窗口的方式在特征图上依次为每个像素点生成9个不同尺寸的锚框。

其次,通过第一分类器对锚框属于前景或背景进行分类,得到第一分类结果。对于包括动物的样本图像中,图像中的动物部分即为前景,其他部分为背景。

再次,使用回归方式对锚框位置进行修正,使得锚框位置逐步接近标注信息中动物轮廓的位置。

最后,对锚框进行筛选,得到目标锚框。可以将所有锚框按照前景概率由高到低排序,选择预设个数的锚框作为目标锚框,或者可以选择前景概率在预设范围内的锚框为目标锚框。筛选方式并不限于此,在此不再赘述。

(三)分割子网络

分割子网络可以采用区域特征聚集方式roialign。

首先,分割子网络对目标锚框中的像素点从特征图中进行特征提取,并将所有目标锚框转换为相同尺寸。

对于目标锚框,分为以下三个支路的操作:

第一,通过第二分类器对目标锚框中像素点属于前景或背景进行分类,得到第二分类结果。

第二,使用回归方式对目标锚框的位置进行修正。

第三,通过全卷积网络预测得到目标锚框对应的mask预测图。

在对预设实例分割网络进行训练的过程中,计算目标检测子网络对应的第一分类损失和第一回归损失;计算分割自网络对应的第二分类损失、第二回归损失和mask预测图对应的focalloss;根据第一分类损失、第一回归损失、第二分类损失、第二回归损失和focalloss生成最终损失函数,不断反向传播最终损失函数直至网络收敛,最终得到动物检测模型。

本实施例中,将maskr-cnn网络中计算mask预测图对应的交叉熵损失替换为focalloss,已解决正负样本不平衡,以及样本复杂度不平衡的问题。

本实施例中,基于实例分割网络训练动物检测模型,可以从图像中分割出动物个体,从而可以统计出图像中动物个数,实现智能化的自动计数。

下面对本申请实施例提供的动物计数方法进行介绍,该动物计数方法应用上述实施例训练得到的动物检测模型。

图2为本申请实施例提供的一种动物计数方法的流程图。如图2所示,该方法还包括以下步骤:

步骤s21,获取待检测区域图像,待检测区域图像中包括至少一个动物;

步骤s22,根据预先训练的动物检测模型从待检测区域图像中分割出动物个体,识别动物数量;

步骤s23,根据动物数量生成待检测区域图像对应的计数信息。

本实施例中,通过预先训练的动物检测模型从待检测区域图像中识别出动物数量,从而实现智能化自动计数,无需人工点数,提高计数效率,并且准确率和可靠性较高,节约人力和时间成本。

可选的,步骤s22包括:获得动物检测模型生成的每个动物个体对应的预测图;根据预测图的个数确定动物数量。

上述实施例中的动物检测模型,是基于实例分割网络,如maskr-cnn网络训练得到,该模型输出每个动物个体对应的预测图,基于预测图的个数可确定动物数量。

下面通过售猪台场景下对猪只进行计数的过程对上述动物计数方法实施例进行详细说明。

在售猪台正上方安装摄像头,拍摄售猪台图像。如图3所示,售猪台中猪只数量较多,猪体挨得非常近。将该售猪台图像输入动物检测模型,该动物检测模型输出每只猪对应的预测图。基于预测图的个数即可确定售猪台中猪只的数量。

在另一场景下,由于区域内动物种类不同,如牧场区域中同时饲养牛、羊、马等家畜,待检测图像中包括至少两个动物类别的动物。上述步骤s22包括:根据动物检测模型从待检测区域图像中分割出动物个体,识别动物类别,确定每个动物类别对应的动物数量。

通过上述实施例中的训练,该动物检测模型具有识别不同动物类别的能力,因此,可以对不同动物类别的动物分布进行计数。从而实现智能化自动计数,无需人工点数,提高计数效率,并且准确率和可靠性较高,节约人力和时间成本。

下述为本申请装置实施例,可以用于执行本申请方法实施例。

图4为本申请实施例提供的一种图像处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该图像处理装置包括:

获取模块41,用于获取样本图像,样本图像中包括至少一个动物;

确定模块42,用于确定样本图像对应的标注信息,标注信息包括动物的轮廓及类别信息;

训练模块43,用于将样本图像及标注信息输入预设实例分割网络,对预设实例分割网络中特征提取子网络、目标检测子网络及分割子网络的参数进行训练,得到动物检测模型。

图5为本申请实施例提供的一种动物计数装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,该动物计数装置包括:

获取模块51,用于获取待检测区域图像,待检测区域图像中包括至少一个动物;

检测模块52,用于根据预先训练的动物检测模型从待检测区域图像中分割出动物个体,识别动物数量;

生成模块53,用于根据动物数量生成待检测区域图像对应的计数信息。

本申请实施例还提供一种电子设备,如图6所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。

存储器1503,用于存放计算机程序;

处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。

需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1