一种基于生成对抗网络的群猪姿态识别方法

文档序号:33273731发布日期:2023-02-24 19:07阅读:132来源:国知局
一种基于生成对抗网络的群猪姿态识别方法

1.本发明涉及的群猪姿态识别的技术领域,尤其涉及基于生成对抗网络的群猪姿态识别方法。


背景技术:

2.动物的行为与其健康和福利有着密切的联系,然而在大规模农场进行人工的动物行为观察,不仅费时费力,还会产生巨大的人工成本。近年来深度卷积神经网络在人体姿态估计上取得了显著的成效。例如最近利用连续的多分辨率语义融合和高分辨率的热图表示有效的推断出了多人的姿态,以及在主干网络后添加了反卷积模块来预测热图,通过简单的设计获得了出色的性能。这些方法主要遵循深度神经网络回归人体各部位热图的策略,并表现出了较好的特征表示学习能力。
3.也有将人体姿态估计方法运用到动物上,如鸡和牛,小鼠等。然而有很少的研究关注群猪,仅有方法对猪背部的关键点进行了检测,而规避了具有难度但十分重要的四肢肘蹄关键点的检测。这可能是因为在实际的群养猪环境下进行群猪的姿态估计时,往往会存在如下问题:猪的体态毛色相近,四肢形体相似度大,难以区分;猪舍面积狭小且群猪具有聚集性的特点,导致肘蹄遮挡严重;猪作为四肢哺乳动物,其远离摄像机一侧的肢体易被自身遮挡。而遮挡一直是姿态估计中一个难以解决的问题,因为模型会缺少遮挡关键点的可视化信息而难以检测。


技术实现要素:

4.本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
5.鉴于上述现有存在的问题,提出了本发明。
6.因此,本发明解决的技术问题是:群猪的聚集性会产生遮挡,导致群猪姿态估计难度大。
7.为解决上述技术问题,本发明提供如下技术方案:一种基于生成对抗网络的群猪姿态识别方法,包括以下步骤,采集群猪初始数据集并对所述初始数据集进行预处理;构建包括依次设置的生成器、辨别器以及姿态估计模块三个部分的生成对抗网络模型,并利用预处理的数据集训练所述生成对抗网络模型;待识别数据输入至训练完成的所述生成对抗网络模型中,所述生成器输出热图,所述辨别器分析所述热力图与实际结果的差异,学习骨架的几何拓扑结构特征,进而根据骨架几何结构推测出被遮挡的关键点;所述姿态估计模块对所述生成器所输出的热图进行解码,并在图中提取出推测出的相应关键点位置,按照比例映射回原图;最后根据关键点位置的分布情况,组装成独立的群猪姿态完成识别。
8.优选的,所述生成器把hrnetv2作为生成器的主干网络,网络共分为4个阶段,包括以下步骤,网络在输入rgb图像后,经过含有2个3*3卷积层和池化层的初始阶段,产生尺度
大小为原图1/8的高分辨率子网;每个阶段通过下采样的方式逐步增加分辨率由高到低的所述子网,并将多分辨率的子网并行连接,在整个过程中,并行多分辨率子网通过1个3*3卷积层和1个残差块来提取特征,并利用卷积层相加的方式反复交换信息;最后网络在输出阶段将其它几个低分辨卷积上采样连接后也作为特征输出,并用信息冗余小,映射能力大的转置卷积层将特征上采样得到用于编码关键点置信度信息的热力图和用于编码关键点连接关系的部分亲和场(paf)。
9.优选的,所述热力图大小为原图分辨率的1/4,通道数为k,k表示关键点个数,所述paf通过编码每个关节向量来捕获部位之间的关系,其分辨率大小与热力图相同,通道数为k*2,代表x,y平面上的每个关节分量。
10.优选的,所述生成对抗网络的训练为所述生成器和所述辨别器的对抗过程,表现如下式(1)和式(2)的损失函数:
[0011][0012]
l
discriminator
=l
real
(g,x)-gt*l
fake
(s,x)
ꢀꢀꢀ
(2)
[0013]
网络中引入一个区间大小为[0,1]的权值变量gt,如下式(3),所述gt表示了对于l
fake
的强调程度,当生成器的表现要好于辨别器时(l
fake
《βl
real
)gt会增大,使损失函数l
fake
在训练过程中的权重占比更高,导致所述辨别器将在识别生成的热图方面得到更多训练,当辨别器的表现要好于生成器时(l
fake
》βl
real
),gt会减小,以放慢辨别器的训练速度,让所述生成器能够追上辨别器的脚步。
[0014]gt+1
=g
t
+μ(βl
real
(s,c)-l
fake
(s,x))
ꢀꢀꢀ
(3)
[0015]
式中c表示为生成的热力图,x表示为ground truth,s表示fake热图,g表示real热图,μ,β为超参数,分别设置为0.0001,0.5,0.001,用于控制相应的权重。
[0016]
优选的,所述姿态估计模块包括以下步骤,在获得经过对抗博弈重新生成的热力图后,则首先需要在图中提取关键点对应的位置,即热力图中置信度为峰值的像素点;通过非极大值抑制的方式来找到热力图中的局部最高峰,并根据热力图缩放的大小将位置映射回原始的坐标空间;其中利用dark方法作优化位置映射过程中因尺度变化而产生的偏移误差,只需对热图上的每个像素位置求其一阶导数和二阶导数便可获得更为准确的像素位置,映射时的具体公式定义如下式(4)和(5):
[0017]
loc
p
=stride*(peaks+offsets
p
)+stride/2
ꢀꢀꢀ
(4)
[0018]
offsets
p
=(d

(p))-1d′
(p)
ꢀꢀꢀ
(5)
[0019]
其中loc
p
表示预测关键点p在原始图像上的位置,peaks表示在热力图上关键点p的局部最高峰,offsets
p
表示利用dark方法计算的偏移,d

和d

分别表示一阶导和二阶导,stride表示缩放的大小且为4。
[0020]
优选的,所述姿态估计模块中对于关键点与个体之间的匹配部分,包括以下步骤,利用先前在所述生成器训练得到的部分亲和场,通过线积分的方式计算每对关键点之间的paf得分,得到每对关键点的代价矩阵,并根据匈牙利算法获得每个关键点的最佳匹配;取最小的数据驱动图作为最大生成树,对于网络评估后的图进行搜索,通过边分离两个分布的能力大小的顺序逐步扩展具有强识别边的最小骨架,形成多达9个日益冗余的图;选择纯度和连接关键点的分数共同最大化的图保留作为动物装配的图;最后通过搜索图中的连通分量来寻找属于某个个体的节点,得到最终的群猪位姿。
[0021]
优选的,对于每个训练图像,所述生成对抗网络模型通过端到端的训练预测输出,在训练结束后,所述辨别器部分将会被去除,并把所述生成器收敛后的输出送入所述姿态估计模块中。
[0022]
优选的,所述初始数据集进行预处理包括以下步骤,利用k-means聚类方法将采集数据中的相似帧归为一簇,依次从每簇中选取一帧作为关键帧图像,构建生猪各类姿态的初始数据集;对所述初始数据集中的每个猪体进行关键点的标注,包括区分左右的肘、蹄共14个关键点,并将标注的关键点分为可见关键点和遮挡关键点两类;按照8:2的比例划分训练集和测试集。
[0023]
优选的,所述生成对抗网络模型能够以74.09%的map检测群猪的关键点,并对于被遮挡的关键点,pck指标最高可达82.0%。
[0024]
本发明的有益效果:提出生成对抗网络模型去解决群猪的姿态估计问题,特别是对于猪体的遮挡、重叠和扭曲具有更强的鲁棒性,由相似结构的生成器和辨别器构成,意味着之间的零和博弈,生成器采用hrnet作为骨架网络,负责基于图像特征预测猪体关键点的热图,而辨别器则采取更为简单的网络结构,能够区分不合理的姿势,并为生成器提供有用的提示以改进热图;在最后的推断环节,使用dark方法改进热图解码过程中的误差损失,并采用paf部分亲和场和最小生成树方法将各个关键点组装,实验结果表明,能够以74.09%的map检测群猪的关键点,并对于被遮挡的关键点,pck指标最高可达82.0%。
附图说明
[0025]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
[0026]
图1为本发明所述实际猪舍场景和摄像机位置分布的示意图;
[0027]
图2为本发明所述关键点分布图的示意图;
[0028]
图3为本发明所述关键点标注示例的示意图;
[0029]
图4为本发明所述发生相互遮挡的情况时,关键点的标注情况的示意图;
[0030]
图5为本发明所述发生自遮挡的情况时,关键点的标注情况的示意图;
[0031]
图6为本发明所述整体关键点分布的示意图;
[0032]
图7为本发明所述“肘”关键点分布的示意图;
[0033]
图8为本发明所述“蹄”关键点的分布的示意图;
[0034]
图9为本发明所述姿态估计流程图的示意图;
[0035]
图10为本发明所述生成器的网络结构的示意图;
[0036]
图11为本发明所述生成器损失函数曲线的示意图;
[0037]
图12为本发明所述鉴别器损失函数曲线示意图;
[0038]
图13为本发明所述高度扭曲和阶段的情形示意图;
[0039]
图14为本发明所述遮挡的情形示意图;
[0040]
图15为本发明所述曝光严重的情形示意图;
[0041]
图16为本发明所述猪个体模糊的情形示意图;
[0042]
图17为本发明所述两个身体部位被严重遮挡示意图;
[0043]
图18为本发明所述具有挑战性的场景一些失败的结果示意图。
具体实施方式
[0044]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
[0045]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0046]
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0047]
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
[0048]
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0049]
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0050]
实施例1
[0051]
姿态估计作为一种行为检测的有效方法近些年来在动物健康和福利检测领域引起了广泛的关注。通过监测猪的个体行为随时间的变化,将有助于疾病的早期发现,允许更早和更有效的干预。然而,对群猪进行姿态估计是一个具有挑战性的计算机视觉问题,因为在实际的养殖场景中,群猪的聚集性会产生遮挡,导致模型因缺乏足够的语义而难以识别。本实施例提出了一种基于生成对抗网络的群猪姿态估计模型。模型中的生成器和辨别器以对抗博弈的方式促使学习到关于猪体结构的先验信息,从而输出骨架结构合理的姿态。此外还建立了一个全新的生猪姿态估计数据集,该数据集不仅包含了基础的背部关键点,还包含了肘、蹄、尾部等小关键点以及具有挑战性的遮挡关键点的标注。
[0052]
在实际的群养猪环境下进行群猪的姿态估计时,往往会存在如下挑战:猪的体态毛色相近,四肢形体相似度大,难以区分;猪舍面积狭小且群猪具有聚集性的特点,导致肘蹄遮挡严重;猪作为四肢哺乳动物,其远离摄像机一侧的肢体易被自身遮挡。而在上述问题中,遮挡一直是姿态估计中一个难以解决的问题,因为模型会缺少遮挡关键点的可视化信
息而难以检测。但是人类的视觉却能够从观察中学习到物体形状结构的多样性和无限性。即使在极端的遮挡下,也可以推断出潜在的姿态,并排除不可信的。本实施例提出一个有效的对抗生成网络框架来推断图中的遮挡关键点。意图通过对抗生成网络中的鉴别器来判断预测的位姿在几何上是否合理,如果预测的位姿能够“欺骗”鉴别器,让它相信自己的预测都是合理的,那么这个网络就成功地学习到关于猪体骨架结构的几何特征。此外,采用hrnetv2作为生成器主干网络,并利用dark方法优化热图的解码过程。可以有效解决毛色相近,四肢相似度大的问题。
[0053]
本实施例中提出一种实现这一目标的流程,包括图像采集、数据集准备和姿态估计模型的构建,创新性地设计了一个以生成对抗网络为基本架构的模型来应对实际猪养殖环境下高度遮挡的场景,这在动物姿态估计中是首次。模型通过生成对抗网络学习猪体的隐式几何结构,实现对遮挡关键点的位置推断,显著优于其他姿态估计方法。此外使用hrnetv2作为模型的骨架网络,并在此基础上进行了改进,也针对热力图的解码部分进行了改进。
[0054]
具体的,本实施例由包括以下几个部分进行说明:数据集的采集、数据集的准备(即预处理)、姿态估计模型,生成对抗网络模型通过生成对抗网络学习猪体的隐式几何结构,实现对遮挡关键点的位置推断,显著优于其他姿态估计方法,如下:
[0055]
(1)采集环境。
[0056]
本实施例的实验场地为浙江清渚农牧有限公司,共采集了2021年7月-10月的视频数据,作为研究的基础数据。该测定站主要负责种猪性状的评定和登记,共配有20个栏位,每个栏位的实际场景如图1所示。猪栏的大小为3.5m*5m,高度从2.2m到2.8米,整体空间呈梯形状。每个猪栏设有窗户,白天时的光照条件较为良好,但也会存在曝光过多的情况。除中间的活动区域外,分别在左边和右边配备了自动化的饮水槽和饲喂装置(容易发生遮挡的区域),为便于全方位的采集到猪体的各类姿态,我们选取其中的两栏并在每栏顶部的四个不同方位分别安装了4个型号为hikvision smart256摄像头,该设备能够采集帧数为30帧/s,分辨率为1920x1280像素的视频。
[0057]
(2)数据集。
[0058]
在本实施例中,对上述实验环境中的共14头(每栏7头)日龄为60天日龄的长白猪作为实验对象,在07:00-17:00的时间段采集了200段时长为5分钟左右的视频作为基础数据。并从基础数据里选取40段猪群在摄像机视野范围内、行为活跃的视频。利用k-means聚类方法将视频中的相似帧归为一簇,依次从每簇中选取一帧作为关键帧图像,从而构建生猪各类姿态的原始数据集,共2000张。对数据集中的每个猪体进行关键点的标注,如图2所示,每副骨架包含头、鼻、尾、肩、背等基本关键点外,还包括了区分左右的肘、蹄共14个关键点。关键点名称映射表如下表1:
[0059]
表1:关键点名称映射表。
[0060][0061]
特别的是,本数据集为评估模型对于遮挡情况下的关键点检测能力,对于遮挡的关键点,只要它还能够被推测出大概位置,仍然会对其进行标注,如图3~5所示,并将标注的关键点分为可见关键点和遮挡关键点两类。
[0062]
总的来说,生猪数据集共包含2000张图片以及74203个标注的关键点,并按照8:2的比例划分训练集和测试集。特别的是,数据集包含了具有挑战性的肘蹄关键点和不同场景遮挡下的关键点,可以有效验证模型对于遮挡的检测效果。如图6所示,被遮挡的关键点占了整体的12.308%(9133),可见关键点占整体的87.692%(65070)。对于易被遮挡的肘和蹄关键点,如图7~8所示,数据集中被遮挡的比例分别到达了20.362%(3989)和19.975%(3869)。
[0063]
(3)姿态估计模型。
[0064]
已有的动物姿态估计方法取得了不错的效果,但在实际养殖场景中进行群猪姿态估计时,由于受到摄像机视角以及群猪生活习性等因素的影响,关键点十分容易被遮挡。针对这个问题,本实施例引入了对抗生成网络(gan)来提高模型对遮挡关键点的识别精度。由图9可知,该模型总共由3部分组成,关键点生成器、关键点辨别器、以及最后的姿态估计部分。关键点生成器是一个以hrnetv2作为基本骨架的,高分辨率表示的神经网络。在输入rgb图像后,该网络会输出一个分辨率大小为原图的1/4,通道数为k的热图(k为关键点的个数)该热图上的每个像素点表示各关键点出现在该像素位置的置信度,区间大小为[0,1]。关键点辨别网络d的网络结构与生成网络的结构类似,但与生成器g不同,该网络需输入生成器所输出的“假”热图(fake heatmap)和真实的热图(real heatmap),其目的是分析生成器所预测的热力图与实际结果的差异,学习骨架的几何拓扑结构特征,进而根据骨架几何结构更好的推测出被遮挡的关键点。姿态估计部分则负责对生成器所输出的热图进行解码,在其中提取出相应的关键点位置,并按照比例映射回原图。最后根据关键点位置的分布情况,将其组装成独立的群猪姿态。
[0065]
图9描述了猪的姿态估计的三个阶段。不同的阶段由不同的背景颜色表示。将一个基于hrnetv2的位姿估计网络作为生成器,并带有一个鉴别器,通过重构输入热图来区分生成的“假”热图和真实热图。最后,将产生器和鉴别器得到的结果发送到姿态估计模块,通过dark和paf方法得到猪的最终姿态。
[0066]
更加具体的,如下:
[0067]
生成器:生成器的目标是学习从rgb图像到群猪骨架关键点热图的映射,尽可能的生成真实准确的关键点热图。而生猪骨架的关键点诸如尾、鼻等部位占全身的比例较小,四肢形体相似度大,因此生成器在对图像特征提取时需要充分理解全局和局部的语义信息。因此,本实施例把hrnetv2作为生成器的主干网络,并进行了微调,如图10所示。该网络共分为4个阶段,在输入rgb图像后,需经过含有2个3*3卷积层和池化层的初始阶段,产生尺度大
热力图与标签得到的损失。两部分之所以相减,是因为我们期望real loss足够小,使得辨别器分辨从生成器的生成热图中分辨出真实热图的能力越强。期望fake loss足够大,使得生成器的生成热图越接近真实热图以欺骗辨别器。此外,为防止辨别器过快的收敛,对fake loss部分引入一个区间大小为[0,1]的权值变量gt,该变量用于控制生成器与辨别器训练时的平衡,以提高生成对抗网络的训练稳定性。如式(3)所示,gt表示了对于l
fake
的强调程度,当生成器的表现要好于辨别器时(l
fake
《βl
real
)gt会增大,使损失函数l
fake
在训练过程中的权重占比更高,导致鉴别器将在识别生成的热图方面得到更多训练。同样,当辨别器的表现要好于生成器时(l
fake
》βl
real
),gt会减小,以放慢辨别器的训练速度,让生成器追上辨别器的脚步。
[0071][0072]
l
discriminator
=l
real
(g,x)-gt*l
fake
(s,x)
ꢀꢀꢀ
(2)
[0073]gt+1
=g
t
+μ(βl
real
(s,c)-l
fake
(s,x))
ꢀꢀꢀ
(3)
[0074]
其中c表示为生成的热力图,x表示为ground truth,s表示fake热图,g表示real热图。μ,β为超参数,分别设置为0.0001,0.5,0.001。用于控制相应的权重。
[0075]
推断:对于每个训练图像,本实施例提出的模型通过端到端的训练预测这些输出。训练结束后,辨别器部分将会被去除,并把生成器收敛后的输出送入姿态估计模块。姿态估计模块在获得经过对抗博弈重新生成的热力图(regenerated heatmap)后则首先需要在regenerated heatmap中提取关键点对应的位置,也就是热图中置信度为峰值的像素点,但由于图像中可能有多个关键点,而产生多个高峰。因此通过非极大值抑制的方式来找到热图中的局部最高峰,然后根据热力图缩放的大小将位置映射回原始的坐标空间。除此之外,将其中的dark用作优化位置映射过程中因尺度变化而产生的偏移误差,该方法只需对热图上的每个像素位置求其一阶导数和二阶导数便可获得更为准确的像素位置。映射时的具体公式定义如下:
[0076]
loc
p
=stride*(peaks+offsets
p
)+stride/2
ꢀꢀꢀ
(4)
[0077]
offsets
p
=(d

(p))-1d′
(p)
ꢀꢀꢀ
(5)
[0078]
其中loc
p
表示预测关键点p在原始图像上的位置,peaks表示在热力图上关键点p的局部最高峰,offsets
p
表示利用dark方法计算的偏移,d

和d

分别表示一阶导和二阶导,stride表示缩放的大小,本实施例中为4。
[0079]
对于关键点与个体之间的匹配部分,需要利用先前在生成器训练得到的part affinity field向量场,通过线积分的方式计算每对关键点之间的paf得分,得到每对关键点的代价矩阵,并根据匈牙利算法获得每个关键点的最佳匹配。然后参考中的处理方式,取最小的数据驱动图作为最大生成树(即覆盖所有关键点的子图,其边的数量最少,且部分关联代价最大)。对于网络评估后的图进行搜索,通过边分离两个分布的能力大小的顺序逐步扩展具有强识别边的最小骨架,形成多达9个日益冗余的图。并选择纯度和连接关键点的分数共同最大化的图保留作为动物装配的图。最后通过搜索图中的连通分量来寻找属于某个个体的节点(在图论中,这些是关键点的子集,它们彼此都可到达,但不与其他任何关键点共享连接),得到最终的群猪位姿。
[0080]
实施例2
[0081]
评价方法:本实施例使用oks(关键点相似度)作为模型的评价指标,在已知的工作
中广泛被使用,该评价方法启发于目标检测中的iou指标,目的就是为了计算真值和预测人体关键点的相似度,oks的定义如下所示:
[0082][0083]
di表示检测到的关键点及其对应的标签之间的欧式距离,vi表示该点是否为可见点,s表示了猪体的尺度,k则为人工标注位置偏移。根据oks分数,计算出相应的map、ap50、ap75,a90指标,如ap50则表示oks分数大于阈值0.5时占所有oks分数中的比值。
[0084]
除此之外,采用正确关键点百分比(pckh)作为评价标准,具体分析遮挡时模型对各关键点识别精度。pck通过度量预测的关键点到标签的距离小于头部长度的某一阈值,来评价预测结果。例如,pckh@0.5则表明距离差值在头部长度的一半阈值内的关键点所占百分比,pckh被定义为:
[0085][0086]
其中di表示第i个关键点的预测值与真实值的欧式距离。d
def
表示尺度因子,本实施例中为猪的头部大小。δ(*)表示条件成立时为1,否则为0。tm为人工设定的阈值,该值设定越小,评价标准就越严格。不同动物和大小的pckh度量标准是不同的,需要选择正确的阈值。使用t=0.5为一个较为合理的阈值。
[0087]
实施例3
[0088]
为验证本发明的实际效果,本实施例进行实验验证,具体的如下:
[0089]
(1)实验设置。
[0090]
在生猪数据集上使用本文模型进行训练,训练前先对数据集进行数据增强,批量大小(batch size)为1,使用一阶adam优化器进行优化。生成器的学习率采用分段策略,初始学习速率为1e-4,并在第7500次迭代和第12000次迭代衰减到5e-5和1e-5,epoch的总数是15000个。而辨别器由于在训练过程中更容易收敛,设置辨别器的学习率为1e-5。本文中所有实验均在gpu为nvidia telsa p100的服务器上进行。
[0091]
(2)模型训练。
[0092]
图11~12展示了ganpose在数据集上的训练过程,所有的生成器损失和辨别器损失都达到了一种平衡,并保持稳定状态。在图11中,在迭代1000次时loss有一个显著的跳变,因为在这里把超参数从0.01设置为0.1,这样做的好处是在训练初期生成器能够更关注于关键点热图特征的提取,等到理解更充分后,再去根据辨别器的意见对结果进行调整。在图12中,可以看到real loss和fake loss一开始保持在一个很高的水平,但随着训练次数的增加,real loss与fake loss之间的差距逐步扩大,直到稳定在一个较高水平,这说明权值变量gt起到了一定的作用,使得辨别器能够充分辨别出生成器所产生的fake热力图与真实热力图的差异,达到纳什均衡。
[0093]
(3)姿态估计模型的定量评价。
[0094]
对经典的和当前先进的动物姿态估计方法在相同的测试环境和本实施例数据集下进行了对比,不同方法在oks评价指标上的表现如表2所示。对于指标map,本方法相较于deeplabcut有了23.15的提高,这充分证明了与其他方法相比,本方法具有较强的推理能力,尤其是对高遮挡程度的推理。特别的是,也发现对于指标ap75,模型相较于其他方法也
有显著的提升。
[0095]
表2:猪数据集上oks性能的比较。
[0096][0097]
(4)姿态估计模型的可视化结果:
[0098]
为了理解提出的方法是如何在生成式对抗网络的帮助下实现姿态估计的目标,本实施例在真实场景中验证了本实施例的模型的有效性,并与deeplabcut进行了比较。如图13-16所示,可以看到本实施例的模型对猪的身体图像有了更好的理解,从而减少了奇怪的位姿.它能够估计被遮挡的关节,特别是容易被自身遮挡的肘蹄关键点,同时保持对可见关节的高性能。图13为高度扭曲和阶段的情形。其中左(a1,b1)、中(a2,b2)、右(a3,b3)分别表示sleap、deeplabcut和ganpose的关键的提取结果。
[0099]
在figure 8的例子中,猪的身体扭曲或被截断,导致图像中出现了一些看不见的肢体或难以辨认。在这些情况下,deeplabcut、sleap无法理解一些姿势,而本实施例的方法成功了。这可能是由于本实施例隐式地将身体约束嵌入到本实施例的鉴别器中,模型即便在猪体扭曲的情况下也能够推断出正确的位姿。本实施例的模型在训练过程中融合了多分辨率的语义特征,对于扭曲或截断的个体有更好的全局理解。在figure 9的例子中,猪的肢体被自动饲喂装置或者栏杆遮挡,由于没有对猪体骨架结构有着充分了解,deeplabcut、sleap无法很好的将被遮挡的关键点预测出来,而本实施例的模型在训练过程中融合了多分辨率的语义特征,对于被遮挡的部位有更好的全局理解。即使在一些困难的情况下也能成功地预测正确的关键点位置。在figure 10与11的例子中,图像受到了光照和模糊(这可能是因为实际场地的蝇虫污染了相机)的影响,导致猪体难以辨认,但本实施例的模型因为对纹理特征和全局骨架结构的高度认知,在具有挑战性的猪舍环境下依旧能够胜任。
[0100]
(5)遮挡分析:
[0101]
在这里,本实施例提出了一个详细的分析当图像被遮挡时的模型输出结果。
[0102]
首先,本实施例比较了本实施例的方法在遮挡下与deeplabcut的性能。在本实施例的猪数据集中,大约20%的带有标注的关键点被标记为不可见。本实施例将各关键点的不可见样本的结果显示在表3中。对于没有遮挡的身体部位,本实施例的方法提高了基线约9.08%的检出率。特别的是,本实施例的方法提高了16%和18.4%对于看不见的肘部和蹄部的检出率。这显示了本实施例的方法在处理身体部位的优势。
[0103]
接下来,在图17中给出了两个身体部位被严重遮挡的例子。在第一个样本中,一只猪骑跨在另一只猪上面,在相应的热图中,遮挡部分得到了很好的预测。尽管有遮挡,由本实施例的方法生成的姿态热图大部分是清晰的,高斯中心的。图17中热图可视化在我们的数据集。其中(a1),(b1)的方法进一步细化了热图并修正了位置。(a2),(b2)deeplabcut的预测大多是准确的,但热图显示该模型对其答案不是很确定。
[0104]
在第二个样本中,在图像中间的两只猪相互黏连,本实施例的方法也成功地产生了较为清晰的热图,虽然被遮挡的身体部位的置信度得分相对较低,但总体上仍处于较高水平。这表明,由于本实施例的网络在训练中学习了一些猪体骨架结构的先验知识。因此,即使在一些遮挡下,它也有能力预测合理的姿势。这验证了本实施例用gan设计鉴别器的动
机。
[0105]
表3:各模型对于不可见关键点的检测结果(pck)。
[0106][0107]
(6)消融实验
[0108]
为更细致的分析本实施例的模型,本实施例进行了综合详细的消融实验来评价本实施例提出的方法。如表4所示,本实施例研究了不同模块对于模型的影响。
[0109]
首先本实施例分析了对抗生成网络架构对于模型性能的影响,本实施例与原生方法hrnet进行比较,由表4可知,增加对抗生成网络后与骨干网络相比提升了7.13map,这充分的表明了对抗生成网络架构对模型性能的显著提升,同时本实施例也关注到ap90指标也有较大的提升,这说明模型利用学习到的骨架特征,能够对于高度遮挡的关键点有不俗的表现,可以使预测的关键点更偏向合理的骨架结构。
[0110]
其次,本实施例也分析了dark模块,通过taylor展开对关键点热力图编码方式的改进,可以发现map在原先的基础上有了细微的提升。除此之外,本实施例同样分析了改进后的hrnetv2网络对于模型精度的影响,可以看到在使用hrnetv2-deconv网络后,模型对于骨架的语义信息有了进一步的理解,不同分辨率的融合效率有了进一步的提高。总的来说,这些消融实验压倒性地证实了每个部件都是有效的,并且这些线索对隐形关节的推断是有益的。
[0111]
表4:消融实验结果。
[0112][0113]
本实施例制作了一个由多视角相机拍摄的用于姿态估计的生猪数据集,其中涵盖了生猪的多种姿态,遮挡情况以及光照影响。通过几组实验的对比与分析,本实施例验证本文算法在实际猪舍环境下对于姿态的有效估计,目前人体的姿态估计数据集已被广泛研究使用。然而,这在生猪姿态估计领域还是空白。因此,本实施例做出了拥有多姿态和遮挡的生猪图像数据集希望能为其他研究人员提供一定的支持。
[0114]
在耗时方面,由于本实施例的模型只需要在训练时使用辨别器,而在推理阶段会将辨别器部分去除,因此推理速度仅取决于生成器网络的复杂度,与其他方法对比的结果如表5所示。特别的是,与自顶向下方法相比,在保证精度的同时参数量更少。
[0115]
表5:各模型的耗时。
[0116][0117]
在实际应用过程中,本实施例发现模型对于个体自身部位遮挡时的表现较好,如行走、蹲伏时肘、蹄被遮挡。而当猪发生交互性行为,如骑跨、聚集这类具有挑战性的场景
时,如图18的示意(为具有挑战性的场景一些失败的案例,其中(a)deeplabcut的结果,(b)ganpose的结果),可能会因为严重的相互遮挡和扭曲的形体而导致模型精度有所下降。这可能是因为模型虽学习了隐式的骨架结构,但当两个个体连接紧密且姿态复杂时,模型可能会对骨架特征产生困惑,导致无法很好地将关键点合理的配对到同一个猪身上。然而,即使本实施例的方法在这种情况下失败了,本实施例的方法也比之前的方法获得了更合理的姿势。在这些复杂的情况下,前面的方法由于缺乏形状约束,最终会产生一些不合理的结果。
[0118]
本实施例的方法也适用于其他四肢哺乳动物,与猪一样,在对牛进行姿态估计时,也同样存在肘蹄关键点难以识别,易被遮挡的问题。通过时序信息对于牛个体的肘蹄遮挡问题进行了处理,但是本实施例的方法具有以下两个优势:1、由于时序信息需要获得前后帧的内容,因此在本质上便失去了实时监测的能力,而本实施例无需利用时序信息便可实现对遮挡关键点的推断。2、本实施例可以在群体环境下实现姿态估计,相较于单人姿态估计,群体姿态估计不仅需要找到图像中的多个关键点,还需将关键点与个体相匹配。
[0119]
本实施例提出了一个生成对抗网络模型去解决群猪的姿态估计问题,特别是对于猪体的遮挡、重叠和扭曲具有更强的鲁棒性。由相似结构的生成器和辨别器构成,意味着之间的零和博弈。生成器采用hrnet作为骨架网络,负责基于图像特征预测猪体关键点的热图,而鉴别器则采取更为简单的网络结构,能够区分不合理的姿势,并为生成器提供有用的提示以改进热图。在最后的推断环节,本实施例使用dark方法改进热图解码过程中的误差损失,并采用paf部分亲和场和最小生成树方法将各个关键点组装。实验结果表明,本实施例提出的模型在数据集上取得了十分显著的效果。
[0120]
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
[0121]
此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
[0122]
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器
或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
[0123]
如在本技术所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。
[0124]
还应当理解的是,本发明通过实施方式加以描述,实施例仅为针对本发明权利要求所提出技术方案能够实现所给出清楚完整的说明,即对权利要求的解释说明,因此当评判本发明说明书记载的技术方案是否公开充分时,应当予以充分考虑权利要求所限定方案的旨在核心要义,而在说明书中必然存在与本实施例所提出解决核心技术问题相无关的其他技术问题,其对应的技术特征、技术方案均不属于本实施例要义所指,属于非必要技术特征,故可参照隐含公开,本领域技术人员完全可以结合现有技术和公知常识进行实现,因此无任何必要做详述。
[0125]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1