CN110188634A - 人体体态模型的构建方法、装置、电子设备及存储介质 - Google Patents
人体体态模型的构建方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110188634A CN110188634A CN201910399603.6A CN201910399603A CN110188634A CN 110188634 A CN110188634 A CN 110188634A CN 201910399603 A CN201910399603 A CN 201910399603A CN 110188634 A CN110188634 A CN 110188634A
- Authority
- CN
- China
- Prior art keywords
- key point
- mark
- thermal map
- trunk
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种人体体态模型的构建方法、装置、电子设备及存储介质,其中的方法包括:确定初始模型,所述初始模型包括特征提取网络、中间监督层和激活层;向所述初始模型的特征提取网络输入进行关键点标注前的原始对象,以使所述中间监督层和所述激活层分别生成躯干预测热图和第一关键点预测热图;所述原始对象包括基于被测人体任一角度拍摄的人体图像;基于当前原始对象对应的躯干预测热图和躯干标准热图、以及对应的第一关键点预测热图和关键点标准热图,计算得到当前总损失参数;根据预设时段内的总损失参数确定所述初始模型是否已被构建成为人体体态模型。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及人体体态模型的构建方法、装置、电子设备及存储介质。
背景技术
在人体体态检测的深度学习任务中,通常基于人体主要关节上的单个点的坐标参数去训练得到人体体态模型。但是,由于人体体态一般是基于多个关键点之间的相对关系进行评估的,故目前仅基于单个关键点的位置信息去构建模型的方案构建得到的模型最终输出的预测结果会与实际值存在较大的偏差,体态预测效果不好。
发明内容
基于此,本发明提供一种人体体态模型的构建方法、装置、电子设备及存储介质。
根据本发明实施例的第一方面,本发明提供了一种人体体态模型的构建方法,所述方法包括:
确定初始模型,所述初始模型包括特征提取网络、中间监督层和激活层;
向所述初始模型的特征提取网络输入进行关键点标注前的原始对象,以使所述中间监督层和所述激活层分别生成躯干预测热图和第一关键点预测热图;所述原始对象包括基于被测人体任一角度拍摄的人体图像;
基于当前原始对象对应的躯干预测热图和躯干标准热图、以及对应的第一关键点预测热图和关键点标准热图,计算得到当前总损失参数;所述关键点标准热图和所述躯干标准热图基于原始对象被进行关键点标注后所得的标注对象和预定的模型预测任务得到;一个热图用于记录一个关键点或一个躯干的热图信息,一个躯干由指定的若干关键点之间的连线构成;
根据预设时段内的总损失参数确定所述初始模型是否已被构建成为人体体态模型。
根据本发明实施例的第二方面,本发明提供了一种人体体态模型的构建装置,所述装置包括:
模型结构确定模块,用于确定初始模型,所述初始模型包括特征提取网络、中间监督层和激活层;
输入模块,用于向所述初始模型的特征提取网络输入进行关键点标注前的原始对象,以使所述中间监督层和所述激活层分别生成躯干预测热图和第一关键点预测热图;所述原始对象包括基于被测人体任一角度拍摄的人体图像;
总损失参数计算模块,用于基于当前原始对象对应的躯干预测热图和躯干标准热图、以及对应的第一关键点预测热图和关键点标准热图,计算得到当前总损失参数;所述关键点标准热图和所述躯干标准热图基于原始对象被进行关键点标注后所得的标注对象和预定的模型预测任务得到;一个热图用于记录一个关键点或一个躯干的热图信息,一个躯干由指定的若干关键点之间的连线构成;
构建模块,用于根据预设时间段内的总损失参数确定所述初始模型是否已被构建成人体体态模型。
根据本发明实施例第三方面,本发明提供了一种电子设备,其包括:
处理器;
存储器,用于存储可由所述处理器执行的计算机程序;
其中,所述处理器执行所述程序时实现所述人体体态模型的构建方法的步骤。
根据本发明实施例第四方面,本发明提供了一种机器可读存储介质,其上存储有程序;所述程序被处理器执行时实现所述人体体态模型的构建方法的步骤。
相对于相关技术,本发明实施例至少产生了以下有益技术效果:
通过结合人体关键点和用于表征与预测任务相关的人体躯干去构建人体体态模型,实现模型能够结合关键点的损失和躯干的损失去调整模型内部参数,相比于仅基于关键点的损失调整模型内部参数的方式,有利于提高构建得到的人体体态模型与预测任务相关的预测结果的准确度,例如,有利于提高人体体态模型对关键点位置进行预测的准确性,进而提高后续基于关键点位置信息进行体态计算的计算结果的准确性。另外,由于本发明实施例可以根据预定的模型预测任务去确定对应的躯干类型,则对于不同的被测对象的预测任务,本发明实施例也可以通过上述方案快速地确定能够提高模型预测结果的关键点和与躯干类似的其他结构类型,从而可以提高针对于不同对象和/或不同预测任务的模型的快速构建的效率,实现模型构建具有较高的灵活度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本发明根据一示例性实施例示出的一种人体体态模型的构建方法的流程图;
图2是本发明根据一示例性实施例示出的一种由若干关键点连接构成的躯干的示意图;
图3是本发明根据一示例性实施例示出的另一种由若干关键点连接构成的躯干的示意图;
图4是本发明根据一示例性实施例示出的一种初始模型的网络结构的框图;
图5是本发明根据一示例性实施例示出的另一种初始模型的网络结构的框图;
图6是图5所示的初始模型的网络结构的示意图;
图6a是本发明根据一示例性实施例示出的另一种初始模型的网络结构的示意图;
图6b是本发明基于图6a所示的实施例示出的另一种初始模型的网络结构的框图;
图6c是图6b所示的初始模型的网络结构的示意图;
图7是本发明根据一示例性实施例示出的左面图像所对应的所有关键点的距离相关性的统计示意图;
图8是本发明根据一示例性实施例示出的一种组间相关性的散点图;
图9是本发明根据一示例性实施例示出的一种人体体态模型的构建装置的结构框图;
图10是本发明根据一示例性实施例示出的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例提供了一种人体体态模型的构建方法,所述方法可以应用于终端中,也可以应用于服务器中。所述方法用于实现对与模型预测任务相关的人体体态模型的构建,通过结合人体关键点和用于表征与预测任务相关的人体躯干去构建人体体态模型,实现模型能够结合关键点的损失和躯干的损失去调整模型内部参数,相比于仅基于关键点的损失调整模型内部参数的方式,有利于提高构建得到的人体体态模型与预测任务相关的预测结果的准确度,例如,有利于提高人体体态模型对关键点位置进行预测的准确性,进而提高后续基于关键点位置信息进行体态计算的计算结果的准确性。另外,所述方法允许用户根据自身需求制定与关键点相关的模型预测任务去确定对应的躯干类型,由此对于不同的被测对象的预测任务,本发明实施例也具有快速地确定能够提高模型预测结果的关键点和与躯干类似的其他结构类型,从而可以提高针对于不同对象和/或不同预测任务的模型的快速构建的效率,实现模型构建具有较高的灵活度的有益技术效果。
如图1所示,本发明实施例提供的人体体态模型的构建方法包括:
S011,确定初始模型,所述初始模型包括特征提取网络、中间监督层和激活层;
S012,向所述初始模型的特征提取网络输入进行关键点标注前的原始对象,以使所述中间监督层和所述激活层分别生成躯干预测热图和第一关键点预测热图;
S013,基于当前原始对象对应的躯干预测热图和躯干标准热图、以及对应的第一关键点预测热图和关键点标准热图,计算得到当前总损失参数;
S014,根据预设时间段内的总损失参数确定所述初始模型是否已被构建称为人体体态模型;
其中,所述原始对象包括基于被测人体任一角度拍摄的人体图像;所述关键点标准热图和所述躯干标准热图基于原始对象被进行关键点标注后所得的标注对象和预定的模型预测任务得到;一个热图用于记录一个关键点或一个躯干的热图信息,躯干一个躯干由指定的若干关键点之间的连线构成。
上述中,所述原始对象可以包括基于被测人体的任一角度拍摄所得的人体图像,如,包括若干人体的正面图像、侧面图像和/或背面图像。
需要说明的是,本发明实施例所提供的方法不限于对与人体体态检测任务相关的人体体态模型的构建,本发明实施例所提供的方法还能应用于与人体体态检测人任务相似的其他任务相关的人体体态模型的构建,只要模型预测任务的预测结果与受测对象的关键点相关、受测对象的关键点存在连接构造、且连接构造与模型预测任务所关注的预测结果相关联,例如,对除了人体以外的其他动物的体姿进行预测的任务,都可以应用本发明实施例所提供的方法,将受测对象的关键点位置信息和由指定的若干关键点连接形成的连接结构的信息输入到所述初始模型中进行训练,以构建得到可以对关键点的位置预测结果进行优化的其他模型,进而达到优化基于模型的预测结果进行计算的计算结果的目的。
上述中,标注对象是指标注人员基于关键点定义对原始对象的各关键点进行标注所得的带有关键点位置标注信息的对象,用于获取所述关键点标准热图和所述躯干标准热图。所述原始对象、以及所述原始对象对应的关键点标准热图和躯干标准热图用于作为训练所述初始模型用的训练样本。
其中,所述关键点定义用于表示标注人员对原始对象中所需标注的所有关键点各自对应的定义,例如,对于人体正面部位,可以包含有被预先定义的20个关键点;对于人体侧面部位,可以包含有被预先定义的13个关键点;对于人体背面部位,可以包含有被预先定义的18个关键点。可以理解为:每个标注人员可以基于人体正面被预定义的20个关键点的定义,从每张正面图像中标注出20个关键点;可以基于人体侧面被预定义的13个关键点定义,从每张侧面图像标注出13个关键点;可以基于人体背面被预定义的18个关键点定义,从每张背面图像标注出18个关键点。
需要说明的是,上述各个面所包含的关键点的数量不限,可以依需增加或减少。另外,上述所有关键点可以根据所需计算的体态指标进行定义,例如,在人体体态检测中,人体左右肩部上的点可以被用于量化高低肩程度,而耳孔上的某个点和肩部上的某个点可以被用于量化头部倾斜程度。基于此,可以根据上述需求,预先定义左肩部、右肩部、耳孔上的关键点。由此,在实际应用中,可以根据所需评价的体态指标标注定义相应的关键点,故在本发明实施例中不对关键点的选取和定义进行一一赘述。
由上述可知,以图形的形式可以将所述躯干表达为:由指定的若干关键点之间的连线构成,基于此,当一个躯干对应的关键点有两个时,所述躯干可以表达为一条线段,例如,人体左肩上的某个关键点与人体右肩上的某个关键点之间的连线,如图2中的线段L1所示,图2是本发明根据一示例性实施例示出的一种由若干关键点连接构成的躯干的示意图;当一个躯干对应的关键点有三个时,所述躯干可以表达为一个三角形或一个夹角,例如,人体右腿根部正面上的某个点、人体右膝盖正面上的某个点、人体脚踝正面上的某个点依次相连,可以形成一个夹角α,如图3所示,图3是本发明根据一示例性实施例示出的另一种由若干关键点连接构成的躯干的示意图。
由此可知,在进行模型训练之前,为获取训练样本中的躯干标准热图,标注人员可以在对原始对象进行关键点标注的过程中对指定的若干关键点进行连接的操作,以获得训练所需的躯干,例如,对于人体的每一个面,标注人员可以在标注的过程中将与体态检测相关的关键点连接,形成计算体态指标时需要用到的躯干连接信息;在一个实施例中,可以在人体正面图像构建8条躯干,在人体侧面图像构建7条躯干,在人体背面图像构建8条躯干。构建得到的躯干与所需计算的体态指标相关,可以根据实验或经验所得,在此不对躯干有哪些进行赘述。
但需要说明的是,当一个躯干对应的关键点超出三个时,不是每两个关键点之间都要连接,而是要保证关键点连接后形成的躯干具有用于评估所需的预测结果的价值,如何判断一个躯干对所需预测的结果是否具备评估价值,可根据实验或经验所得,在此不进行赘述。
但如果躯干对应的关键点很多,则其涉及的运算也将具有较高的复杂度,不利于提高系统运算效率,因此,为降低躯干的复杂度,进而降低系统在进行与躯干相关的运算时的运算复杂度,提高运算效率,本实施例中,一个躯干对应两个或三个关键点。
由此,可以根据所需实现的模型预测任务,通过上述记载获得所述原始对象和所述标注对象,并基于所述标注对象获得对应的原始对象的所有关键点对应的关键点标准热图和所有躯干对应的躯干标准热图。
在一实施例中,本发明实施例还提供一种获取关键点标准热图的方案,也即:对于每个标注对象的每个关键点,该关键点的标准热图的得到过程包括:根据关键点被标注的坐标参数,计算得到标注对象中每个像素点灰度值;根据计算得到的所有灰度值生成关键点的关键点标准热图。需要说明的是,所述灰度值被归一化到区间[0,1],也即,所述灰度值的取值范围为[0,1]。
以下,对于任一关键点(以下称为关键点P),举个例子说明一下通过本发明实施例提供的上述方案计算得到其对应的关键点标准热图的过程:
关键点标准热图是基于关键点被标注的坐标生成的,在关键点标准热图中,每个像素点的真实值(即被归一化到区间[0,1]的灰度值)在区间[0,1],并随着其到关键点被标注所得的坐标所指示的标注点的距离的变化而变化,同时服从正态分布。因此,对于关键点P,用于生成其关键点标准热图的概率密度函数可以表示:——公式(1),其中,表示在标注对象中坐标为(i,j)处的像素点在关键点标准热图中的真实值;(x,y)表示所述关键点P在标注对象中被标注的坐标,σ为标注对象中各像素点随着关键点P在标注对象中的标注点的分布的标准差。由此,对于关键点P,根据标注对象中所有像素点在关键点标准热图中的真实值就可以得到关键点P的关键点标准热图。
在一实施例中,本发明实施例还提供一种获取躯干标准热图的方案,也即:对于每个标注对象的每个躯干,该躯干的标准热图的得到过程包括:根据躯干的线段集合,计算得到标注对象中每个像素点与所述躯干之间的最短距离;基于每个像素点与所述躯干之间的最短距离计算得到每个像素点的灰度值;根据计算得到的所有灰度值生成躯干的躯干标准热图。需要说明的是,所述灰度值被归一化到区间[0,1],也即,所述灰度值的取值范围为[0,1]。其中,所述线段集合可以记录有一个躯干对应的所有线段上的点的坐标参数,或者,记录有一个躯干对应的所有线段的长度、斜率和各线段上任一点的坐标参数。
以下,对于任一躯干(以下称为躯干L),举个例子说明一下通过本发明实施例提供的上述方案计算得到其对应的躯干标准热图的过程:
躯干标准热图是基于其对应的若干关键点被标注的坐标生成的,对于躯干L,用于生成其躯干标准热图的概率密度函数可以表示:——公式(2),其中,表示在标注对象中坐标为(i,j)处的像素点在躯干标准热图中的真实值;S表示所述躯干L对应的线段集合;函数用于计算得到所述坐标(i,j)到线段集合S的最短距离,并将所述最短距离的值返回到上述公式(2)中;σ为标注对象中各像素相对于躯干L的距离分布的标准差。由此,对于躯干L,根据标注对象中所有像素点在躯干标准热图中的真实值就可以得到躯干L的躯干标准热图。
上述标准热图可以在构建人体体态模型之前获取,或者,在确定初始模型的过程中获取,或者,在确定初始模型之后且在训练初始模型之前获取。
在构建人体体态模型的过程中,先确定好所需构建的人体体态模型的网络结构,也即,确定好所述初始模型的网络结构。如图4所示,图4是本发明根据一示例性实施例示出的一种初始模型的网络结构的框图,本实施例所采用的初始模型的网络结构包括三个部分,第一部分为特征提取网络,第二部分为中间监督层,第三部分为激活层。所述特征提取网络用于提取输入图像的图像特征,所述中间监督层用于提取输入图像中的躯干信息并输出躯干预测热图,所述激活层用于提取输入图像中的关键点信息并输出关键点预测热图。其中,如果需要将一张人体图像中的n个关键点和m个躯干都预测出来,则针对于该人体图像,经中间监督层对特征提取网络提取到的图像特征进行处理之后,所述中间监督层的输出可以包括所述m个躯干的躯干预测热图,即包括m张躯干预测热图;以及,所述激活层通过对特征提取网络和中间监督层向其输入的信息进行处理之后,所述激活层的输出可以包括所述n个关键点的第一关键点预测热图,即包括n张第一关键点预测热图。后续中,可以基于所述激活层输出的各关键点对应的第一关键点预测热图来预测各关键点的坐标信息。
虽然可以采用任一种网络结构的特征提取网络实现对图像特征的提取,但由于一般用于提取图像特征的特征提取网络的运算过程较为复杂,因此可能导致难以应用于移动终端,或导致移动终端在工作过程中出现卡顿现象。故为解决这一技术问题,以使本发明实施例所提供的所述方法在确保模型预测精确度的同时,能够轻易地应用于移动终端,减少模型训练和预测对移动终端运行内存的占用,提高模型训练和预测效率,在一实施例中,所述特征提取网络为Mobilenet V2网络,其中,所述Mobilenet V2网络可以采用姿态矫正系统中精简后的Mobilenet V2网络结构,其中,精简的意思可以理解为:对于原Mobilenet V2网络结构中功能不同的各个网络层,从各个网络层所包含的若干层中抽取出其中几层,而不选取所有层。其中,在人体姿态检测任务中,所述Mobilenet V2网络可以采用瑜伽姿态矫正系统中精简后的Mobilenet V2网络结构,其中,相关技术中已有实验表明瑜伽姿态矫正系统中精简后的Mobilenet V2网络结构可以在精度和速度上很好地满足瑜伽姿态检测的要求。
另外,为提高初始模型在训练时的收敛速度和梯度的稳定性,在一实施例中,可以根据DenseNet(密集卷积网络)的思想在所述初始模型的第二部分和第三部分中引入密集连接,引入密集连接后的初始模型的网络结构如图5和图6所示,图5是本发明根据一示例性实施例示出的另一种初始模型的网络结构的框图,图6是图5所示的初始模型的网络结构的示意图,此时,所述第二部分和第三部分中的每一层的输入都是由前面多层的输出组成。其中,相关技术中已有实验表明在模型训练中,加入密集连接的模型会比应用ResNet(Residual Neural Network,残差网络)的模型具有更稳定的梯度和更快的收敛速度,故在此不对引入密集连接之后的模型具有更稳定的梯度和更快的收敛速度的原因进行赘述。
由此,可以根据上述记载构建得到具有多种不同的初始模型,可以选取上述任一种结构的初始模型对人体体态模型进行构建。在一实施例中,为达到更好的训练效果,选取的初始模型包括精简后的Mobilenet V2网络、引入密集连接的中间监督层和激活层。
在初始模型模型确定好后,可以通过损失函数来定义模型训练的方向,本实施例中,通过损失函数基于初始模型输出的各第一关键点预测热图及其对应的关键点标准热图、以及各躯干预测热图及其对应的躯干标准热图去计算得到一个总损失参数。由此,可以在初始模型的训练过程中,通过损失函数计算所得的总损失参数去更新初始模型的内部参数,直至初始模型的预测结果满足预设的训练要求并趋于稳定。由于模型的训练原理可参见相关技术,故在本发明实施例中不对模型训练过程进行详细的说明。
确定好初始模型和损失函数之后,可以将已经获得的原始对象输入到所述初始模型中,以使所述初始模型的中间监督层生成当前原始对象包含的所有躯干的躯干预测热图、以及所述激活层生成当前原始对象包含的所有关键点的第一关键点预测热图。
所述初始模型基于当前原始对象输出各躯干的躯干预测热图和各关键点的第一关键点预测热图之后,由于对于每个预测热图,都对应有其标准热图,故所述损失函数可以基于各躯干预测热图及其对应的躯干标准热图,计算得到各个躯干的预测热图和标准热图之间的L2损失,即预测热图和标准热图所有对应像素点的偏差平方和;以及,所述损失函数可以基于各第一关键点预测热图及其对应的关键点标准热图计算得到各个关键点的预测热图和标准热图之间的L2损失。基于此,在一实施例中,对于每个原始对象,其对应的总损失参数的计算过程包括:
S0131,对于每个关键点,根据该关键点的关键点标准热图和第一关键点预测热图,计算得到关键点标准热图和第一关键点预测热图中所有对应的像素点的偏差平方和;
S0132,对于每个躯干,根据该躯干的躯干标准热图和躯干预测热图,计算得到躯干标准热图和躯干预测热图中所有对应的像素点的偏差平方和;
S0133,基于所有关键点的偏差平方和及所有躯干的偏差平方和,计算得到总损失参数。
以下,对于任一关键点,举个例子说明一下通过所述步骤S0131计算得到其对应的关键点标准热图和第一关键点预测热图之间的L2损失的过程:
对于任一关键点(以下称为关键点P),其对应的L2损失可以通过公式(3)—— 计算得到,其中,P1表示关键点P的预测热图或标准热图所包含的像素点的总数,预测热图及其对应的标准热图所包含的像素点的总数相同;p为整数且1≤p≤P1;P1p,pred表示像素点p在关键点预测热图中的预测值;P1p,gt表示像素点p在关键点标准热图中的真实值;对于任一像素点,其对应的预测值和真实值的取值范围为[0,1]。
以下,对于任一躯干,举个例子说明一下通过所述步骤S0132计算得到其对应的躯干标准热图和躯干预测热图之间的L2损失的过程:
对于任一躯干(以下称为躯干L),其对应的L2损失可以通过公式(4)—— 计算得到,其中,P2表示躯干L的预测热图或标准热图所包含的像素点的总数,预测热图及其对应的标准热图所包含的像素点的总数相同;p为整数且1≤p≤P2;P2p,pred表示像素点p在躯干预测热图中的预测值;P2p,gt表示像素点p在躯干标准热图中的真实值;对于任一躯干,其对应的预测值和真实值的取值范围为[0,1]。
对于任一原始对象,所述损失函数计算得到其对应的所有关键点的损失和所有躯干的损失之后,继续基于所有关键点的损失和所有躯干的损失计算得到总损失参数,例如,将所有关键点的损失与所有躯干的损失之和作为总损失参数。但是,由于关键点和躯干对模型预测结果的影响程度不同,如果直接将两者之和作为总损失参数,可能导致计算结果不太准确,由此会影响模型预测精度,因此,为解决这一技术问题,进一步提高总损失参数的计算精度和模型预测精度,在一实施例中,对于每个原始对象,其总损失参数等于其所有关键点的损失参数之和与其所有躯干的损失参数之和的加权和,例如,可以通过公式(5)——Lt=L1a+ωL2a计算得到总损失参数,其中,Lt为当前原始对象对应的总损失参数,L1a为当前原始对象对应的所有关键点的损失参数之和,ω为躯干损失的权重系数,L2a为当前原始对象对应的所有躯干的损失参数之和。由此,通过加入躯干损失的权重系数对关键点损失和躯干损失在总损失中的占比进行调整,有利于防止躯干损失在总损失中占比失衡,并有利于提高训练得到的模型的预测精度。
由于在训练的过程中,每计算得到一个总损失参数,就会根据总损失参数对初始模型的内部参数进行更新,内部参数得到更新后的初始模型输出的预测热图与真实热图之间的损失也会逐步降低。随着损失的降低,模型预测的热图和其对应的标准热图会越来越接近,则模型预测所得关键点的预测坐标也会更接近关键点的真实坐标,预测所得的躯干坐标集合也会更接近躯干的真实坐标集合。因此,经过一段时间的训练之后,可以判断预设时间段内的总损失参数的波动是否满足预设的波动范围,并判断预设时间段内的总损失参数是否满足预设的阈值范围,如果都满足,则可以认为初始模型输出的预测结果已满足预设的训练要求并趋于稳定,此时,可以确定所述初始模型已经被构建成所述人体体态模型。如果不满足,则继续根据当前总损失参数对所述初始模型的内部参数进行更新。
由此,通过上述过程,最终可以构建得到与预定的模型预测任务对应的人体体态模型。
上述中,所述波动范围和所述阈值范围可以根据经验或实验获得,在此不进行赘述。
另外,由于所述初始模型的激活层首次输出的热图一般会比后续输出的热图的精度低,如果仅允许所述激活层基于一个原始对象的一个关键点输出一张关键点预测热图,则可能会影响模型预测精度,因此,为解决这一技术问题,并进一步提高模型预测精度和对预测热图的损失计算的准确度,在一实施例中,所述激活层还迭代生成每个关键点的多张第一关键点预测热图。在一个例子中,对于每个关键点,所述激活层可以基于其针对该关键点输出的第一关键点预测热图进行多次迭代运算,迭代输出该关键点的多张第一关键点预测热图,这样激活层可以在一定程度上提高输出的结果的精度。
但是,如果激活层进行过多的迭代运算,不仅会导致运算效率降低,而且可能还会导致运算结果的精度下降,因此,为解决这一技术问题,在保证运算效率和运算精度的同时,对于每个关键点,所述激活层进行3次迭代运算,生成每个关键点的3张第一关键点预测热图,如图6a所示,图6a是本发明根据一示例性实施例示出的另一种初始模型的网络结构的示意图。基于此,所述损失参数还会分别计算所述3张第一关键点预测热图和对应的一张关键点标准热图之间的损失。
在一实施例中,为进一步提高损失计算的准确度,以更好地训练初始模型,向所述初始模型的特征提取网络输入原始对象之后,所述中间监督层还生成第二关键点预测热图;所述当前总损失参数基于当前原始对象对应的躯干预测热图和躯干标准热图、对应的第一关键点预测热图和关键点标准热图、以及对应的第二关键点预测热图和关键点标准热图计算得到。可以理解为:在此实施例中,对于每个原始对象,所述中间监督层除了生成所有躯干的躯干热图之外,还生成所有关键点的第二关键点预测热图,这些热图都被用于计算总损失参数,如图6b和图6c所示,图6b是本发明基于图6a所示的实施例示出的另一种初始模型的网络结构的框图;图6c是图6b所示的初始模型的网络结构的示意图。
构建得到人体体态模型之后,为获知所述人体体态模型的预测效果,发明人将未被作为训练样本用的其他图像作为测试样本,并利用测试样本对所述人体体态模型进行测试。在测试过程中,发明人采用了业内常用的指标APOKS,其中OKS为Object KeypointSimilarity的简称,是表征任意关键点预测值和真实值的相似度的指标;AP是AveragePrecision的简称,即平均准确度;APOKS用于表征在特定OKS阈值下关键点预测准确的概率,在本测试中采用的是多OKS阈值下的平均准确度,其中OKS阈值的取值为0.5到0.95间步长为0.05的序列。经测试发现,所述人体体态模型在人体正面图像、人体背面图像和人体侧面图像的APOKS超过了0.85,这一结果表明所述人体体态模型在大多数情况下预测所得的结果可以接近或达到人工标注的水平。并且,在速度方面,由于应用了Mobilenet V2网络,该模型在绝大多数低端移动终端上如低端安卓机型的终端,能在5s之内完成预测。
虽然通过上述任一实施例所记载的技术方案可以训练得到预测精度高的人体体态模型,但由于训练样本中的各标准热图是基于人工标注的坐标所得,即使是由经过专业培训的标注人员标注所得,也不能保证人工标注的结果全部具有不可置疑的准确性。因此,为避免人工标注的结果发生偏差的现象,进一步提高最终获得的训练样本中各标准热图的准确性和模型预测精度,在一实施例中,对于每个标注对象,其目的标注集合基于不同标注人员对该标注对象对应的原始对象进行关键点标注所得;一个标注对象对应一个目的标注集合,一个目的标注集合用于记录其对应的标注对象的各关键点的坐标参数。对于每个标注对象,其目标集合的获得过程包括:
S021,获取不同标注人员对原始对象进行关键点标注所得的标注集合;一个标注集合用于记录其中一个标注人员对一个标注对象的各关键点标注的坐标参数,每个标注对象对应至少两个标注集合;
S022,根据每个关键点在所述至少两个标注集合中的坐标参数,判断每个关键点的标注距离是否满足预设的合格阈值;
S023,当所有关键点的标注距离满足合格阈值时,基于关键点的坐标参数获取对应的目标集合;
S024,当关键点的标注距离不满足合格阈值时,输出提示信息,所述提示信息用于提示所有标注人员对标注距离不满足合格阈值的关键点进行重新标注。
由于标注对象是指标注人员基于关键点定义对原始对象的各关键点进行标注所得的带有关键点位置标注信息的对象,则可知,各标注人员可以基于预先定义好的关键点定义来对原始对象进行标注,以下,以原始对象包括N个被测人体的正面图像(即有N张正面图像)、正面图像对应有n个关键点为例说明一下一个标注人员对原始对象的标注过程:
对于每张正面图像,一个标注人员可以根据被测人体正面所定义的n个关键点定义,对一张正面图像进行关键点标注得到n个关键点的坐标参数。随后,可以将一张正面图像被一个标注人员标注所得的n个关键点的坐标参数保存为一个标注集合。
由此可知,一个标注人员对N张正面图像进行关键点标注之后,可以得到与所述N张正面图像一一对应的N个标注集合,每个标注集合包含n个关键点的坐标参数。并且,一张正面图像被Z个标注人员分别进行关键点标注之后,可以得到与所述Z个标注人员一一对应的Z个标注集合,每个标注集合包含n个关键点的坐标参数,基于此,一张正面图像可以对应有由不同标注人员标注所得的Z个标注集合。
在一实施例中,还可以对所述N个被测人体的侧面图像和背面图像进行关键点标注,以分别得到各被测人体的侧面图像和背面图像中的关键点的标注集合。
在一实施例中,可以通过摄像设备分别获取N个被测人体的正面图像、侧面图像和背面图像,并在获得所有图像之后,将图像传输到可以被标注人员进行标注处理的终端中。由此,所有标注人员可以根据关键点定义各自对所有图像或部分图像进行关键点标注,随后,本发明实施例所述方法的执行主体即可根据每个标注人员所标注的图像,识别得到各图像中所有关键点的坐标参数,并存储为对应的标注集合。每个标注集合记录一个标注人员对一张图像中的各关键点标注的坐标参数。
在本实施例中,为减少关键点标注数据审核的处理量,所述多个标注集合由基于已经接受过培训的两位标注人员对所有图像总量的5%~10%进行预标注所得。基于此,每个标注对象对应两个标注集合,每个关键点的标注距离基于每个关键点在所述两个标注集合中的坐标参数计算得到。
由此可知,获得所述多个标注集合之后,每个标注对象将产生由两个标注人员分别进行关键点标注所得的两组标注结果,例如,假设正面图像有N张,N张的5%~10%为R,则对于R张正面图像中的第j张图像,两个标注人员对该第j张正面图像进行n个关键点预标注后得到的两个标注集合可以分别记录为Aj和Bj,Aj=[(xaj1,yaj1),(xaj2,yaj2)…(xajn,yajn)],Bj=[(xbj1,ybj1),(xbj2,ybj2)…(xbjn,ybjn)],其中,j为整数且1≤j≤R;n为整数且n≥1;(xajn,yajn)表示第一标注人员对第j张正面图像的第n个关键点进行标注得到的位置坐标,(xbjn,ybjn)表示第二标注人员对第j张正面图像的第n个关键点进行标注得到的位置坐标。
由此,R张图像被两个标注人员分别标注之后,都会产生两组标注集合,通过比对每张图像的这两组标注集合,即可得到这两组标注集合中每个关键点的两个坐标参数之间的标注距离,例如,以第j张正面图像的关键点i距离说明一下每个关键点的标注距离的计算过程,i为整数且1≤i≤n:
由于第j张正面图像的关键点i在第j张正面图像的两个标注集合中的坐标参数分别为(xaji,yaji)和(xbji,ybji),则可以通过公式(6)——计算得到所述第j张正面图像的关键点i被两次标注得到的点之间的标注距离。因此,可以通过上述公式(6)计算得到每张图像中每个关键点的标注距离。
需要说明的是,在另一实施例中,标注人员的人数可以多于两个,基于此,对于每张图像的关键点i,可以先计算出每两个标注人员所标注的关键点i的标注距离,随后求取关键点i在一张图像中被多次标注所得的所有标注距离的均值,并将该均值作为关键点i最终的标注距离。
通过上述计算方式得到每个标注对象的每个关键点的标注距离之后,即可判断每个关键点的标注距离是否满足预设的合格阈值,并根据判断结果确定关键点的坐标参数的审核结果。也就是说,当所有关键点的标注距离满足合格阈值时,表明所有关键点的审核结果为审核合格,可以理解为,对于审核合格的关键点,其被标注所得的所有坐标参数之间的误差较小,则可以从中选取任一作为关键点最终的坐标参数,此时,可以直接将其中一个标注人员对标注对象标注所得的标注集合作为对应的标注对象的目标集合。然而,当关键点的标注距离不满足合格阈值时,表明标注距离不满足合格阈值的关键点的人工标注的坐标参数不准确,可以理解为,对于审核不合格的关键点,其被标注所得的所有坐标参数之间的误差较大,此时可以输出提示信息,以提示所有标注人员对标注距离不满足合格阈值的关键点进行重新标注;但对于标注距离满足合格阈值的关键点,不需要重新标注。
由此,通过将每个关键点的标注距离与合格阈值进行比对,以确定对关键点进行审核的审核结果,有利于快速地识别出标注位置合理和不合理的关键点,降低内容复杂的图片中错误标注被发现的难度,并有利于后续可以根据审核结果对关键点的标注位置进行相应的处理,使得标注人员根据审核结果得知关键点标注的情况,避免因不同标注人员对关键点位置理解的差异所导致的一批数据中出现不同的标注结果和客观因素带来的随机差异。
在一实施例中,所述合格阈值可以是根据经验或实验所得的一个恒值,其中,为提高审核的合理性,不同的关键点对应的合格阈值不同。
在另一实施例中,为提高合格阈值的合理性,以进一步提高审核的合理性和判断结果的准确性,所述合格阈值基于关键点定义相同的若干关键点的标注距离计算得到,计算过程包括:
S031,对于所有标注对象,根据定义相同的若干关键点的标注距离,计算得到所述定义相同的若干关键点的标注距离的均值和标注距离标准差;
S032,根据计算所得的标注距离均值和标注距离标准差,计算得到每个关键点的标注距离的合格阈值。
以下,举个例子说明一下所述步骤S031的计算过程:
以两个标注人员对R张正面图像进行n个关键点标注为例,对于关键点i,其在R张正面图像中由其中一标注人员标注所得的坐标参数分别为(xa1i,ya1i),(xa2i,ya2i)…(xaRi,yaRi),其在R张正面图像中由另一标注人员标注所得的坐标参数分别为(xb1i,yb1i),(xb2i,yb2i)…(xbRi,ybRi)。因此,定义相同的若干关键点可以理解为关键点i在R张图像中被标注所得的点。
接着,通过公式(6)可以计算得到关键点i对应于R张正面图像的标注距离分别为:
…
基于此,可以通过公式(7)——计算得到关键点i在R张正面图像中的标注点的标注距离均值。可以通过公式(8)——计算得到关键点i对应的所有标注距离的标准差。
通过公式(7)和(8)计算得到各个关键点的标注距离均值和标注距离标准差之后,在一实施例中,可以通过以下步骤计算得到每个关键点的标注距离的合格阈值:
S0321,获取每个关键点定义对应的审核系数,定义相同的若干关键点的审核系数相同,所述审核系数为预设值,或为基于其所对应的关键点定义的审核通过率计算得到的值;
S0322,计算所述审核系数和所述标注距离标准差之积与所述标注距离均值之和,以获得合格阈值;定义相同的各关键点的标注距离的合格阈值相同。
以下,沿用上述用于说明所述步骤S031的例子,说明一下所述步骤S0321和所述步骤S0322的计算过程:
假设对于关键点i,其对应的审核系数为zi,则可以通过公式(9)——计算得到每个关键点的标注距离的合格阈值;Dbi表示关键点i的标注距离的合格阈值。
由上述可知,对于某一张图像,如第j张图像,当其关键点i在两个标注集合对应的坐标参数所指向的标注点之间的标注距离dji满足时,即小于标准距离均值与zi个标准差之和时,该关键点i在第j张图像的标注位置被判定为审核通过,即审核合格;否者被判定为审核不通过,即审核不合格。
上述中,可以将人为设定的预设值作为审核系数,以设定对标注位置的审核严格程度,本例中,所述审核系数与审核严格程度呈负相关关系,因为,合格阈值越小,要求关键点被标注所得的标注点之间的距离偏差越小,则关键点对应的标注距离需要更小才能满足审核通过的要求,审核严格程度提高了;并由合格阈值可知,zi越小,合格阈值Dbi也会越小;故所述审核系数与审核严格程度呈负相关关系。该预设值可以根据实验或经验所得,在本实施例中不进行赘述。
但由于实际操作中,如果审核过严,则会影响标注效率;如果审核过松,则会影响标注质量。所以,仅依据人为自定义的审核系数对标注位置进行判断,很容易导致标注效率和标注质量不能满足实际需求。故为了获取一个合理的审核严格程度,本实施例还提供了根据项目需求来对审核严格程度,即审核系数进行调控的技术方案,通过在部分图片的标注距离分布已知的情况下,根据标注距离的概率密度分布图预测每个关键点的审核通过率,并基于审核通过率来计算所述审核系数。基于此,在一实施例中,对于每个关键点定义,基于其审核通过率对审核系数进行计算的过程包括:
S041,通过关键点定义相同的若干关键点的标注距离的概率密度分布函数,基于关键点定义的审核通过率计算得到对应的标准标注距离;
S042,根据关键点定义相同的若干关键点的标注距离均值和标注距离标准差、以及所述标准标注距离,计算得到对应的审核系数。
上述中,所述关键点定义的审核通过率可以根据经验或实验获得,例如,可以为各关键点定义预设对应的审核通过率,不同关键点定义对应的审核通过率可以相同,也可以不同,或者,部分关键点定义对应的审核通过率相同,其余关键点定义对应的审核通过率不同。
为提高审核通过率的计算效率和审核效率,在一实施例中,所有关键点定义的审核通过率相同,所述审核通过率的计算过程包括:
S030,根据预设的总审核通过率和所有关键点定义的总数,计算得到所述审核通过率。
在所述步骤S030中,可以根据实际标注情况设定所有关键点定义的总审核通过率P,并基于一个总审核通过率P确定每个关键点的审核通过率,以下举个例子说明一下根据总审核通过率计算得到每个关键点的审核通过率的过程:
对于基于同一角度所拍摄的受测者的任一图像,假设其所包含的关键点共有n个,则对于任一图像,其所有关键点的总审核通过率——公式(10);由于所述任一图像中的所有关键点的审核通过率相同,则基于上述公式(10),可以计算得到每个关键点定义对应的审核通过率
获得每个关键点定义对应的审核通过率之后,对于每个关键点定义,可以基于关键点定义相同的若干关键点的标注距离(如关键点i对应R张图像的标注距离为d1i~dRi),获得定义相同的若干关键点的标注距离的概率密度分布函数对于关键点i,由于其审核通过率为Pi,这么一来,可以根据公式(11)——计算得到所述概率密度分布函数中对应于审核通过率Pi时的x值(该x值即上述所提及的标准标注距离),公式(11)中,μ表示关键点i对应的所有标注距离的均值(即上述所提及的)。计算得到x值后,可以通过公式(12)——x=μ+zi*σi计算得到审核系数zi的值。
由此,可以通过上述计算方式计算得到每个关键点定义所对应的审核系数,并进一步基于审核系数、标注距离标注差和标注距离均值计算得到定义相同的各关键点的标注距离对应的合格阈值。
由于在根据判断结果确定关键点的标注距离满足合格阈值,即确定关键点审核合格时,通过选取所有坐标参数中的任一坐标参数作为审核合格的关键点最终的坐标参数的这一方式,不能很好地平衡所有坐标参数之间的偏差,最终选取得到的坐标参数并不是最理想的,如果直接使用可能会导致后续处理结果的精度降低,因此,为解决这一技术问题,以提高最终获取的关键点的坐标参数的准确度,在一实施例中,所述方法可以包括:
S0231,当所述审核结果表示审核合格时,计算审核合格的关键点在所述至少两个标注集合中的水平坐标参数的均值和垂直坐标参数的均值;
S0232,根据审核合格的关键点的水平坐标参数的均值和垂直坐标参数的均值更新审核合格的关键点的坐标参数。
以下举个例子说明所述步骤S0231和所述步骤S0232对审核合格的关键点的坐标参数更新的过程:
假设在第j张图像中,关键点i在所述第j张图像对应的两个标注集合的标注点之间的标注距离被判定为审核通过,这么一来,可以将关键点i在所述第j张图像对应的两个标注集合中的坐标参数的均值作为关键点i的最终标注位置,即,关键点i更新之后的坐标参数为(xaji+xbji/2,yaji+ybji/2)。
由此可知,在所有关键点都被审核合格后,得到的所述目标集合中,各个关键点对应的坐标参数都为关键点更新后的坐标参数。
对于审核不合格的关键点,虽然其可以被重新标注,但不能保证重新标注后的关键点的坐标参数就具备很好的准确性,故为提高重新标注所得的关键点的坐标参数的准确性,在一实施例中,所述方法还可以包括:获取重新标注所得的关键点的标注集合,并通过所述步骤S022对重新标注的关键点的坐标参数进行审核。
由于所述标注对象由标注人员基于关键点定义对原始对象的各关键点进行标注所得,因此在另一实施例中,为提高标注人员基于关键点定义对原始对象进行关键点标注所得的坐标参数的准确度,减小不同标注人员对同一关键点定义理解的偏差,精确定义人体各部位的关键点,提高关键点定义的可用性,在标注人员基于关键点定义对原始对象的各关键点进行标注之前,所述方法还可以包括:
S001,获取基于初始关键点定义标注的多个初始标注集合,其中,所述初始标注集合用于记录其中一个标注人员对一个原始对象的各关键点标注的坐标参数;
S002,根据获得的初始标注集合计算关键点的坐标参数之间的相关性;
S003,根据计算得到的相关性确定是否更新所述初始关键点定义。
需要说明的是,确定更新所述初始关键点定义时,所述关键点定义为更新后的初始关键点定义,因此,所述步骤S021中,所述标注集合是标注人员基于更新后的初始关键点定义对原始对象进行关键点标注所得。
对多个初始标注集合获取的过程可参见前述对多个标注集合获取的过程,在此不进行赘述。
获得所述多个初始标注集合之后,就可以执行步骤S002,即根据获得的初始标注集合计算关键点的坐标参数之间的相关性,在一实施例中,所述相关性可以包括距离相关性,基于此,在每个标注对象对应两个初始标注集合的前提下,可以理解为在每个对象被两个标注人员进行关键点标注的前提下,所述根据获得的初始标注集合计算关键点的坐标参数之间的相关性,包括:
S0021,对于每个标注对象,根据每个关键点在两个初始标注集合中的坐标参数,计算每个关键点的距离;
S0022,基于所有标注对象定义相同的关键点的距离,计算定义相同的关键点的距离之间的距离相关性。
以下,举个例子说明一下通过所述步骤S0021和所述步骤S0022对距离相关性的计算过程:
假设有N个被测人体,对于每个被测人体,分别摄取了其正面图像、左面图像、右面图像和背面图像;则可知,对于N个被测人体,一共有N张正面图像、N张左面图像、N张右面图像和N张背面图像。假设两个标注人员根据各自对关键点定义的理解,独立(即相互毫无交流地)对所有摄取的图像进行标注得到每张图像的初始标注集合。以N张正面图像中的第j张图像为例,假设其中一个标注人员对第j张正面图像进行n个关键点标注得到的初始标注集合为[(xaj1,yaj1),(xaj2,yaj2)…(xajn,yajn],另一标注人员对第j张正面图像进行n个关键点标注得到的初始标注集合为[(xbj1,ybj1),(xbj2,ybj2)…(xbjn,ybjn)];其中,j为整数且1≤j≤N;n为整数且n≥1;(xajn,yajn)表示第一标注人员对第j张正面图像的第n个关键点进行标注得到的坐标,(xbjn,ybjn)表示第二标注人员对第j张正面图像的第n个关键点进行标注得到的坐标。
由此,每张图像被两个标注人员分别标注之后,都会产生两组初始标注集合,通过比对每张图像的这两组初始标注集合,即可得到这两组初始标注集合中每个关键点的两个坐标参数之间的距离,所述距离包括欧式距离,水平距离和垂直距离。其中,以第j张正面图像的关键点n举例说明一下每个关键点的所述距离的计算过程:
由于所述第j张正面图像的关键点n在第j张正面图像的两个初始标注集合中的坐标参数分别为(xajn,yajn)和(xbjn,ybjn);基于此,可以通过公式(12)——计算得到所述第j张正面图像的关键点n被两次标注得到的点之间的欧式距离dljn,可以通过公式(13)——dxjn=|xajn-xbjn|计算得到所述第j张正面图像的关键点n被两次标注得到的点之间的水平距离dxjn,可以通过公式(14)——dyjn=|yajn-ybjn|计算得到所述第j张正面图像的关键点n被两次标注得到的点之间的垂直距离dyjn。
由上述可知,可以根据上述公式(12)、公式(13)和公式(14)计算得到每张图像中的每个关键点被进行两次标注后得到的点之间的欧式距离、水平距离和垂直距离。
得到每张图像中的每个关键点的欧式距离、水平距离和垂直距离之后,可以计算定义相同的关键点的所有距离之间的距离相关性,在本实施例中,所述距离相关性包括欧式距离均值,水平距离均值和垂直距离均值,可以理解为:对于关键点n,基于其在N张正面图像中被标注所得的点的坐标计算得到的欧式距离分别为dl1n、dl2n…dlNn,水平距离分别为dx1n、dx2n…dxNn,垂直距离分别为dy1n、dy2n…dyNn;则可以通过公式(15)——计算得到该关键点n的欧式距离均值可以通过公式(16)——计算得到该关键点n的水平距离均值可以通过公式(17)——计算得到该关键点n的垂直距离均值
由上述可知,可以通过公式(15)、公式(16)和公式(17)计算得到所述N张正面图像中定义相同的关键点的欧式距离均值、水平距离均值和垂直距离均值,每个关键点的欧式距离均值、水平距离均值和垂直距离均值用于表征该关键点对应于所有图像的距离相关性。
同理,可以根据上述计算过程计算得到N张背面图像中每个关键点的距离相关性、N张左面图像中每个关键点的距离相关性、以及N张右面图像中每个关键点的距离相关性。
在另一个实施例中,标注人员的人数可以不限于两个,例如,可以为两个以上。基于此,对于每张正面图像的关键点n,可以先计算出每两个标注人员所标注的关键点n之间的欧式距离、水平距离和垂直距离,随后求取关键点n在一张图像中被多次标注所得的所有欧式距离的第一均值、所有水平距离的第二均值和所有垂直距离的第三均值;随后,对于N张正面图像的关键点n,根据公式(15)基于所述关键点n的所有第一均值,计算得到欧式距离均值,根据公式(16)基于所述关键点n的所有第二均值,计算得到水平距离均值,根据公式(17)基于所述关键点n的所有第三均值,计算得到垂直距离均值。
得到每个关键点的距离相关性之后,在一实施例中,为了提高各关键点的距离相关性的可视化程度,可以将基于同一角度拍摄所得的图像计算得到的所有关键点的距离相关性绘制成统计图,例如,如图7所示,图7是本发明根据一示例性实施例示出的左面图像所对应的所有关键点的距离相关性的统计示意图,从图7中可以清楚地得知各关键点的距离相关性的大小情况。在一实施例中,还可以在统计图中以一定的排列规律排布各关键点的距离相关性,如图7所示,在图7中,是以各关键点的距离相关性中的欧式距离均值的大小为依据,按照欧式距离均值从小到大的顺序,依序排列各关键点的距离相关性。
得到每个关键点的距离相关性之后,可以基于每个关键点的距离相关性确定对应的关键点定义是否准确,可以理解为:可以基于每个关键点的距离相关性来了解各个关键点的标注精确程度,同时也可以得知标注差异的来源方向。其中,可以先根据各关键点的欧式距离均值的大小来判断各关键点的标注精确程度,例如,如果关键点的欧式距离均值小于预设的第一阈值,则可以表示关键点的误差较小,属于可以忽略不计的误差,那么可以认为该关键点的定义足够精准,不需要进行更新。但如果关键点的欧式距离均值大于或等于所述第一阈值,则可以表示关键点的误差较大,属于不可忽略的误差,那么可以认为该关键点的定义不够精准,需要进行更新。另外,对于欧式距离均值大于或等于第一阈值的关键点,可以进一步根据关键点的水平距离均值和垂直距离均值的大小来得知引起关键点误差较大的来源,例如,如果关键点的水平距离均值远大于垂直距离均值或预设的第二阈值,则表示误差来源主要是水平方向。
基于此,在一实施例中,可以输出更新误差较大的关键点定义的提示,输出提示的内容可以包括以下至少之一:关键点名称、关键点定义、关键点的误差来源。在另一实施例中,还可以自行对关键点的定义进行更新。其中,为提高关键点定义的明确性和精准度,在一实施例中,所述关键点定义可以包括所述关键点的水平坐标参数的定义和/或垂直坐标参数的定义;确定更新所述关键点定义时,所述方法还可以包括:S0041,根据所述距离相关性更新所述关键点的水平坐标参数的定义和/或垂直坐标参数的定义。
所述步骤S0041中,对于欧式距离均值大于或等于第一阈值的关键点,如果其水平距离均值大于或等于第二阈值和垂直距离均值大于或等于第三阈值,则对所述关键点的水平坐标参数的定义和垂直坐标参数的定义进行更新;如果水平距离均值大于或等于第二阈值且垂直距离均值小于第三阈值,则只对所述关键点的水平坐标参数的定义进行更新;如果垂直距离均值大于或等于第三阈值且水平距离均值小于第二阈值,则只对所述关键点的垂直坐标参数的定义进行更新。
上述中,可以通过缩小关键点的水平坐标参数的定义范围和/或垂直坐标参数的定义范围,比如在水平坐标参数的定义和/或垂直坐标参数的定义中加入该关键点与其附近参照物之间的位置关系的描述,以使关键点的水平坐标参数的定义和垂直坐标参数的定义趋于精准,以使不同标注人员对同一关键点定义具有相同的理解,这样可以保证任何人基于关键点定义都可以在图像中标注得到准确的关键点,从而得到准确的模型训练用的标签。
在另一个实施例中,可以直接通过人工判断是否需要进行关键点定义的更新。以下基于图7进行说明如何通过人工判断是否需要进行关键点定义的更新:从图7可知,在图7所示的12个关键点中,关键点10、11和12的欧式距离均值相对较大,且这3个关键点的垂直距离均值与欧式距离均值差不多大,而水平距离均值却比垂直距离均值小很多。因此,通过人工观察图7,可以直接得知关键点10、11和12存在较大的误差,且这些误差主要来源于关键点垂直方向上所存在的距离偏差,由此判断得到这些关键点的垂直坐标参数的定义不够精准。随后,可以通过人工对这些关键点的垂直坐标参数的定义进行更新,比如在垂直坐标参数的定义中加入该关键点与其附近参照物之间的位置关系的描述,以提高关键点定义的精准性。
虽然可以通过上述各实施例提高关键点定义的明确性,减少不同标注人员对同一关键点定义理解的偏差,提高关键点定义的可用性和基于关键点定义得到的标签训练得到的模型的预测效果,但是,在体态检测任务,在得到关键点坐标之后,还需要根据多个关键点的位置关系计算出体态指标。因此体态检测的结果不仅取决于单个关键点的位置精度,而且还会受到多个关键点之间的相对位置的影响,比如,人体左右肩膀的水平程度是由左右肩膀上的两个关键点的坐标计算得到,这就还要求两个关键点的相对位置满足要求。因此,为更好地提高关键点的可用性和模型的预测效果,在一实施例中,除了距离相关性以外,所述相关性还包括组间相关性,所述组间相关性用于评估不同标注人员所标注的多个关键点的相对位置的相似度,例如,假设其中一标注人员所标注的关键点中的关键点A和关键点B可以用于评估体态指标a,同理,另一标注人员所标注的关键点中的关键点A和关键点B也可以用于评估体态指标a,这么一来,所述相对位置的相似度可以理解为:基于其中一标注人员所标注的关键点A和关键点B计算得到的体态指标a与基于另一标注人员所标注的关键点A和关键点B计算得到的体态指标a之间的相似度,这可以视为一种结果相似度。基于此,所述步骤S002中,根据获得的初始标注集合计算关键点的坐标参数之间的相关性,还包括:
S0023,对于每个标注对象的每个初始标注集合,根据指定的若干关键点的坐标参数计算得到对应的指标评价参数;
S0024,基于计算得到的指标评价参数获得不同标注人员的指标评价参数之间的组间相关性。
上述中,指定的若干关键点用于计算指标评价参数,需要说明的是,所需计算的指标评价参数的数量与所述指定的若干关键点的组数相同,例如,假设所需计算的指标评价参数有3个,则可以指定3组关键点,每组关键点至少包括两个关键点,由此可以基于3组关键点的坐标参数分别计算得到3个指标评价参数。
以下,举个例子说明一下通过所述步骤S0023和所述步骤S0024对组间相关性的计算过程:
假设对于N张人体侧面图像中的每张侧面图像(左面图像或右面图像),可以检测得到I个体态指标评价参数,I为整数,且I≥1;在一个例子中,I的值可以为7。这些体态指标评价参数可以表现为侧面图像中的两个关键点的连线和水平线之间的夹角,和/或侧面图像中的三个关键点的连线所形成的夹角。其中的任一种夹角都可以基于相应的关键点的坐标参数计算得到,具体的计算方式可参见相关技术,在此不进行赘述。
基于此,假设标注人员的数量为2个,基于其中一标注人员对第j张侧面图像标注得到的所述指定的若干关键点,计算得到的I个体态指标评价参数分别为a1j1、a2j1、…aIj1。基于另一个标注人员对第j张侧面图像标注得到的所述指定的若干关键点,计算得到的I个体态指标评价参数分别为a1j2、a2j2、…aIj2。其中,aIj1中的aI表示第I个体态指标评价参数,aIj1中的aIj表示第j张侧面图像的第I个体态指标评价参数,aIj1表示第一个标注人员的第j张侧面图像的第I个体态指标评价参数,可以基于此对任一体态指标评价参数的标号进行理解。
由此可知,对于任一个体态指标评价参数,基于任一标注人员对N张侧面图像标注所得的指定关键点分别计算得到的结果有N个,例如,对于其中一个体态指标评价参数ak,k为整数且1≤k≤I;基于N张侧面图像,任一标注人员产生的结果有N个,对应于其中一个标注人员的N个结果为:ak11,ak21,ak31,…akj1,ak(j+1)1…akN1;对应于另一个标注人员的N个结果为:ak12,ak22,ak32,…akj2,ak(j+1)2…akN2。
由上述可知,基于K个标注人员对N张人体侧面图像所标注的指定关键点,K为整数且K≥2,得到的体态指标评价参数ak的K×N个数据结果可见表1:
表1体态指标评价参数ak的数据表
需要说明的是,在表1中,将同一个标注人员产生的体态指标评价参数ak的N个结果数据作为同一列中的列数据,将K个标注人员基于同一侧面图像产生的体态指标评价参数ak的K个结果数据作为同一行中的行数据。
由此,基于一个体态指标评价参数ak的N×K个结果数据,可以通过公式(18)——计算得到体态指标评价参数ak的组间相关性ICCk。公式(18)中,MSR为行因素的均方,MSRk为体态指标评价参数ak的行因素的均方;MSE为误差的均方,MSEk为体态指标评价参数ak的误差的均方;MSC为列因素的均方,MSCk为体态指标评价参数ak的列因素的均方。由此通过公式(18)计算得到的任一体态指标评价参数对应的组间相关性,本例中用ICC(Intraclass Correlation Coefficient,组内相关系数)来表示组间相关性,其取值范围为[0,1],用于表征个体变异度与总变异度的比例,其中,当ICC的值为0时,表示对应的体态指标评价参数的所有结果之间无关联;ICC的值为1时,表示对应的体态指标评价参数的所有结果之间强关联。
同理,可以根据上述计算过程计算得到N张正面图像所涉及的指标评价参数之间的组间相关性,N张背面图像所涉及的指标评价参数之间的组间相关性。
得到不同标注人员的指标评价参数之间的组间相关性之后,可以基于组件相关性和距离相关性确定是否更新关键点定义,基于此,在一实施例中,所述步骤S003中,根据计算得到的相关性确定是否更新所述关键点定义,可以包括:
S0031,从指定的若干关键点中获取所述组间相关性小于预设的第四阈值的关键点;
S0032,根据获取的每个关键点对应的距离相关性确定是否更新关键点定义。
上述中,各阈值可以根据经验或实验所得,在此不进行赘述。
在一个例子中,所述第四阈值可以为0.5。
以下,举个例子说明根据组间相关性和距离相关性来确定是否对关键点定义进行更新的过程:
当组间相关性小于所述第四阈值时,表示该组间相关性对应的指标评价参数(以下简称为目标指标评价参数)的所有结果之间无关联或弱关联(可以理解为所有结果的一致性不满足要求),则进一步确定计算所述目标指标评价参数所用到的关键点的距离相关性确定关键点定义是否准确,其中,根据关键点的距离相关性确定关键点定义是否准确的实现过程可见上述相关记载,在此不进行赘述。
确定存在定义不准确的关键点定义时,表示所述目标指标评价参数的所有结果之间的无关联或弱关联现象有可能是因为关键点定义不准确所引起的,基于此,可以根据上述步骤S0041对定义不准确的关键点定义进行更新,以提高所述目标指标评价参数的所有结果之间的一致性,进而提高模型的预测效果。
但在实际中,也存在根据关键点的距离相关性确定得到所有关键点的定义都准确的情况,也即,不存在定义不准确的关键点定义。此时,表示所述目标指标评价参数的所有结果之间的无关联或弱关联现象不是因为关键点定义不准确所引起的,有可能是因为关键点选取不对或该目标指标评价参数对关键点标注的准确性要求过高所引起的,基于此,在一实施例中,可以重新选取用于计算所述目标指标评价参数的关键点,或者,将所述目标指标评价参数删除。与此相应,在一实施例中,所述方法还包括:
S0042,确定不更新从所述指定的若干关键点中所获取的关键点的定义时,输出用于指示所述指标评价参数不适用于评价被测人体的提示信息,或更新所述指标评价参数计算所需的关键点。
由此,本发明实施例通过结合距离相关性和组间相关性来确定是否更新关键点定义、指标评价参数之间的一致性、和指标评价参数是否合理,有利于更好地提高最终确定得到的关键点定义的明确性和可用性、以及指标评价参数的合理性和可靠性,进而更好地提高了最终训练得到的模型的预测准确性和可靠性,为深度学习项目的开发效率和模型质量的提高奠定了坚实的基石。
在另一实施例中,为提高各指标评价参数的所有结果的组间相关性的直观性,还可以生成各指标评价参数对应的组间相关性的散点图,如图8所示,图8是本发明根据一示例性实施例示出的一种组间相关性的散点图,图8是以基于人体侧面图像中被标注的指定的若干关键点的坐标计算得到的7个指标评价参数所对应的组间相关性为例示出的一种散点图,从图8可知,可以依据结果之间的关联性的强弱程度,将组间相关性的大小划分为4个级别,以用于表示结果之间的关联性的强弱程度。第一级别对应的值域为[0.00,0.25),第二级别对应的值域为[0.25,0.50),第三级别对应的值域为[0.50,0.75),第四级别对应的值域为[0.75,1]。其中,如果组间相关性属于第一级别,则表示其对应的指标评价参数的所有结果之间没有关联或关联性很弱;如果组间相关性属于第二级别,则表示其对应的指标评价参数的所有结果之间存在一定关联,但关联性较弱;如果组间相关性属于第三级别,则表示其对应的指标评价参数的所有结果之间的关联性中等;如果组间相关性属于第四级别,则表示其对应的指标评价参数的所有结果之间的关联性较好或关联性强。
并且,从图8所展示的各指标评价参数的组间相关性可知,“指标7”的组间相关性为0.389,属于第二级别,则可直接知道“指标7”对应的指标评价参数的所有结果之间的关联性较弱,这么一来,可以根据上述相关记载去更新关键点定义,或选取新的关键点,或删除“指标7”并输出用于指示所述“指标7”不适用于评价标注对象的提示信息。
需要说明的是,虽然上述中以人体体态检测任务为例对本发明实施例所提供的方法进行说明,但不表示本发明实施例所提供的方法只能应用于人体体态检测任务中,本发明实施例所提供的方法还可以应用于人体体态检测任务以外的其他关键点检测任务中,例如,涉及关键点的坐标、和/或指标评价参数是基于关键点的坐标计算得到的检测任务。
与前述人体体态模型的构建方法对应,本发明还提供了一种人体体态模型的构建装置,所述人体体态模型的构建装置可以应用于终端,也可以应用于服务器中。如图9所示,图9是本发明根据一示例性实施例示出的一种人体体态模型的构建装置的结构框图,所述人体体态模型的构建装置200包括:
模型结构确定模块201,用于确定初始模型,所述初始模型包括特征提取网络、中间监督层和激活层;
输入模块202,用于向所述初始模型的特征提取网络输入进行关键点标注前的原始对象,以使所述中间监督层和所述激活层分别生成躯干预测热图和第一关键点预测热图;所述原始对象包括基于被测人体任一角度拍摄的人体图像;
总损失参数计算模块203,用于基于当前原始对象对应的躯干预测热图和躯干标准热图、以及对应的第一关键点预测热图和关键点标准热图,计算得到当前总损失参数;所述关键点标准热图和所述躯干标准热图基于原始对象被进行关键点标注后所得的标注对象和预定的模型预测任务得到;一个热图用于记录一个关键点或一个躯干的热图信息,一个躯干由指定的若干关键点之间的连线构成;
构建模块204,用于根据预设时间段内的总损失参数确定所述初始模型是否已被构建成人体体态模型。
在一实施例中,所述总损失参数计算模块203包括:
关键点损失计算单元,用于对于每个原始对象的每个关键点,根据该关键点的关键点标准热图和第一关键点预测热图,计算得到关键点标准热图和第一关键点预测热图中所有对应的像素点的偏差平方和;
躯干损失计算单元,用于对于每个原始对象的每个躯干,根据该躯干的躯干标准热图和躯干预测热图,计算得到躯干标准热图和躯干预测热图中所有对应的像素点的偏差平方和;
总损失计算单元,用于基于所有关键点的偏差平方和及所有躯干的偏差平方和,计算得到总损失参数。
在一实施例中,所述输入模块202向所述初始模型的特征提取网络输入原始对象之后,所述中间监督层还生成第二关键点预测热图;所述总损失参数计算模块203基于当前原始对象对应的躯干预测热图和躯干标准热图、对应的第一关键点预测热图和关键点标准热图、以及对应的第二关键点预测热图和关键点标准热图计算得到当前总损失参数。
在一实施例中,所述激活层还迭代生成每个关键点的多张第一关键点预测热图。
在一实施例中,所述装置200还包括:
关键点标准热图获取模块,用于对于每个标注对象的每个关键点,根据关键点被标注的坐标参数,计算得到标注对象中每个像素点的灰度值;根据计算得到的所有灰度值生成关键点的关键点标准热图。
在一实施例中,所述装置200还包括:
躯干标准热图获取模块,用于对于每个标注对象的每个躯干,根据躯干的线段集合,计算得到标注对象中每个像素点与所述躯干之间的最短距离;基于每个像素点与所述躯干之间的最短距离计算得到每个像素点的灰度值;根据计算得到的所有灰度值生成躯干的躯干标准热图。
在一实施例中,对于每个原始对象,其总损失参数等于其所有关键点的损失参数之和与其所有躯干的损失参数之和的加权和。
在一实施例中,所述中间监督层和所述激活层通过DenseNet网络密集连接,和/或,所述特征提取网络为Mobilenet V2网络。
在一实施例中,对于每个标注对象,其目标集合基于不同标注人员对该标注对象对应的原始对象进行关键点标注所得;一个标注对象对应一个目标集合,一个目标集合用于记录其对应的标注对象的各关键点的坐标参数。所述装置200还包括目标集合获取模块,所述目标集合获取模块包括:
标注集合获取单元,用于获取不同标注人员对原始对象进行关键点标注所得的标注集合;一个标注集合用于记录其中一个标注人员对一个标注对象的各关键点标注的坐标参数,每个标注对象对应至少两个标注集合;
判断单元,用于根据每个关键点在所述至少两个标注集合中的坐标参数,判断每个关键点的标注距离是否满足预设的合格阈值;
目标集合获取单元,用于在所有关键点的标注距离满足合格阈值时,基于关键点的坐标参数获取对应的目标集合;
提示单元,用于在关键点的标注距离不满足合格阈值时,输出提示信息,所述提示信息用于提示所有标注人员对标注距离不满足合格阈值的关键点进行重新标注。
在一实施例中,每个标注对象对应两个标注集合;所述判断单元包括:
标注距离计算子单元,用于对于每个标注对象,根据每个关键点在所述两个标注集合中的坐标参数,计算得到每个关键点的标注距离;
判断子单元,用于判断每个关键点的标注距离是否满足预设的合格阈值。
在一实施例中,所述合格阈值基于关键点定义相同的若干关键点的标注距离计算得到,基于此,所述装置200还包括:
中间值计算模块,用于对于所有标注对象,根据定义相同的若干关键点的标注距离,计算得到所述定义相同的若干关键点的标注距离均值和标注距离标准差;
阈值计算模块,用于根据中间值计算模块计算所得的标注距离均值和标注距离标准差,计算得到每个关键点的标注距离的合格阈值。
在一实施例中,所述阈值计算模块包括:
审核系数获取单元,用于获取每个关键点定义对应的审核系数;其中,定义相同的若干关键点的审核系数相同,所述审核系数为预设值,或为基于其所对应的关键点定义的审核通过率计算得到的值;
阈值计算单元,用于计算所述审核系数和所述标注距离标准差之积与所述标注距离均值之和,以获得合格阈值;定义相同的各关键点的标注距离的合格阈值相同。
在一实施例中,对于每个关键点定义,其审核系数基于其所对应的审核通过率计算得到,基于此,所述装置200还包括:
标准标注距离计算模块,用于通过关键点定义相同的若干关键点的标注距离的概率密度分布函数,基于关键点定义的审核通过率计算得到对应的标准标注距离;
审核系数计算模块,用于根据关键点定义相同的若干关键点的标注距离均值和标注距离标准差、以及所述标准标注距离,计算得到对应的审核系数。
在一实施例中,所有关键点定义的审核通过率相同,为获取每个关键点定义的审核通过率,所述装置200还包括:
审核通过率计算模块,用于根据预设的总审核通过率和所有关键点定义的总数,计算得到所述审核通过率。
在一实施例中,目标集合获取单元包括:
坐标参数计算子单元,用于在所述审核结果表示审核合格时,计算审核合格的关键点在所述至少两个标注集合中的水平坐标参数的均值和垂直坐标参数的均值;
坐标更新子单元,用于根据审核合格的关键点的水平坐标参数的均值和垂直坐标参数的均值更新审核合格的关键点的坐标参数。
在一实施例中,所述装置200还包括:
第一获取模块,用于在所述标注集合获取单元获取标注集合之前,获取基于初始关键点定义标注的多个初始标注集合,其中,所述初始标注集合用于记录其中一个标注人员对一个原始对象的各关键点标注的坐标参数;
计算模块,用于根据获得的初始标注集合计算关键点的坐标参数之间的相关性;
第一确定模块,用于根据计算得到的相关性确定是否更新所述初始关键点定义。
由此,在所述第一确定模块确定更新所述初始关键点定义时,所述标注集合获取单元获得的标注集合是基于更新后的初始关键点定义获得的集合。
在一实施例中,在每个标注对象对应两个初始标注集合的前提下,所述相关性包括距离相关性时,所述计算模块包括:
第一计算单元,用于对于每个标注对象,根据每个关键点在两个初始标注集合中的坐标参数,计算每个关键点的距离;
第二计算单元,用于基于所有标注对象中定义相同的关键点的距离,计算定义相同的关键点的距离之间的距离相关性。
在一实施例中,基于上一实施例,所述关键点定义包括所述关键点的水平坐标参数的定义和/或垂直坐标参数的定义;所述装置200还包括:
第一更新模块,用于在所述第一确定模块确定更新所述关键点定义时,根据所述距离相关性更新所述关键点的水平坐标参数的定义和/或垂直坐标参数的定义。
在一实施例中,在每个标注对象对应两个初始标注集合的前提下,所述相关性包括距离相关性和组间相关性时,所述计算模块除了包括第一计算单元和第二计算单元之外,还包括:
第三计算单元,用于对于每个标注对象的每个初始标注集合,根据指定的若干关键点的坐标参数计算得到对应的指标评价参数;
第四计算单元,用于基于计算得到的指标评价参数获得不同标注人员的指标评价参数之间的组间相关性。
在一实施例中,基于上一实施例,所述关键点定义包括所述关键点的水平坐标参数的定义和/或垂直坐标参数的定义;所述装置200还包括:
第二更新模块,用于在所述第一确定模块确定不更新从所述指定的若干关键点中所获取的关键点的定义时,输出用于指示所述指标评价参数不适用于评价被测人体的提示信息,或更新所述指标评价参数计算所需的关键点。
上述装置200中各个模块和单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
与前述人体体态模型的构建方法对应,本发明还提供了一种人体体态模型的构建装置的电子设备,所述电子设备可以包括:
处理器;
存储器,用于存储可由所述处理器执行的计算机程序;
其中,所述处理器执行所述程序时实现前述任一方法实施例中的人体体态模型的构建方法的步骤。
本发明实施例所提供的人体体态模型的构建装置的实施例可以应用在所述电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图10所示,图10是本发明根据一示例性实施例示出的一种电子设备的硬件结构图,除了图10所示的处理器、内存、网络接口、以及非易失性存储器之外,所述电子设备还可以包括实现前述人体体态模型的构建方法的其他硬件,如摄像模块;或通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
与前述方法实施例对应,本发明实施例还提供一种机器可读存储介质,其上存储有程序,所述程序被处理器执行时实现前述任一方法实施例中的人体体态模型的构建方法的步骤。
本发明实施例可采用在一个或多个包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。所述机器可读存储介质可以包括:永久性或非永久性的可移动或非可移动媒体。所述机器可读存储介质的信息存储功能可以由任何可以实现的方法或技术实现。所述信息可以是计算机可读指令、数据结构、程序的模型或其它数据。
另外,所述机器可读存储介质包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术的记忆体、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其它光学存储器、磁盒式磁带、磁带磁盘存储或其它磁性存储设备或可用于存储可被计算设备访问的信息的其它非传输介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (13)
1.一种人体体态模型的构建方法,其特征在于,包括:
确定初始模型,所述初始模型包括特征提取网络、中间监督层和激活层;
向所述初始模型的特征提取网络输入进行关键点标注前的原始对象,以使所述中间监督层和所述激活层分别生成躯干预测热图和第一关键点预测热图;所述原始对象包括基于被测人体任一角度拍摄的人体图像;
基于当前原始对象对应的躯干预测热图和躯干标准热图、以及对应的第一关键点预测热图和关键点标准热图,计算得到当前总损失参数;所述关键点标准热图和所述躯干标准热图基于原始对象被进行关键点标注后所得的标注对象和预定的模型预测任务得到;一个热图用于记录一个关键点或一个躯干的热图信息,一个躯干由指定的若干关键点之间的连线构成;
根据预设时段内的总损失参数确定所述初始模型是否已被构建成为人体体态模型。
2.根据权利要求1所述的方法,其特征在于,对于每个原始对象,其对应的总损失参数的计算过程包括:
对于每个关键点,根据该关键点的关键点标准热图和第一关键点预测热图,计算得到关键点标准热图和第一关键点预测热图中所有对应的像素点的偏差平方和;
对于每个躯干,根据该躯干的躯干标准热图和躯干预测热图,计算得到躯干标准热图和躯干预测热图中所有对应的像素点的偏差平方和;
基于所有关键点的偏差平方和及所有躯干的偏差平方和,计算得到总损失参数。
3.根据权利要求1所述的方法,其特征在于,向所述初始模型的特征提取网络输入原始对象之后,所述中间监督层还生成第二关键点预测热图;所述当前总损失参数基于当前原始对象对应的躯干预测热图和躯干标准热图、对应的第一关键点预测热图和关键点标准热图、以及对应的第二关键点预测热图和关键点标准热图计算得到。
4.根据权利要求1或3所述的方法,其特征在于,所述激活层还迭代生成每个关键点的多张第一关键点预测热图。
5.根据权利要求1所述的方法,其特征在于,对于每个标注对象的每个关键点,该关键点的关键点标准热图的得到过程包括:
根据关键点被标注的坐标参数,计算得到标注对象中每个像素点的灰度值;
根据计算得到的所有灰度值生成关键点的关键点标准热图。
6.根据权利要求1所述的方法,其特征在于,对于每个标注对象的每个躯干,该躯干的躯干标准热图的得到过程包括:
根据躯干的线段集合,计算得到标注对象中每个像素点与所述躯干之间的最短距离;
基于每个像素点与所述躯干之间的最短距离计算得到每个像素点的灰度值;
根据计算得到的所有灰度值生成躯干的躯干标准热图。
7.根据权利要求1所述的方法,其特征在于,对于每个原始对象,其总损失参数等于其所有关键点的损失参数之和与其所有躯干的损失参数之和的加权和。
8.根据权利要求1所述的方法,其特征在于,所述中间监督层和所述激活层通过DenseNet网络密集连接,和/或,所述特征提取网络为Mobilenet V2网络。
9.根据权利要求1或5或6所述的方法,其特征在于,对于每个标注对象,其目的集合基于不同标注人员对该标注对象对应的原始对象进行关键点标注所得;一个标注对象对应一个目的集合,一个目的集合用于记录其对应的标注对象的各关键点的坐标参数;
对于每个标注对象,其目标集合的获得过程包括:
获取不同标注人员对原始对象进行关键点标注所得的标注集合;一个标注集合用于记录其中一个标注人员对一个标注对象的各关键点标注的坐标参数,每个标注对象对应至少两个标注集合;
根据每个关键点在所述至少两个标注集合中的坐标参数,判断每个关键点的标注距离是否满足预设的合格阈值;
当所有关键点的标注距离满足合格阈值时,基于关键点的坐标参数获取对应的目标集合;
当关键点的标注距离不满足合格阈值时,输出提示信息,所述提示信息用于提示所有标注人员对标注距离不满足合格阈值的关键点进行重新标注。
10.根据权利要求1或9所述的方法,其特征在于,所述标注对象由标注人员基于关键点定义对原始对象的各关键点进行标注所得;在标注人员基于关键点定义对原始对象的各关键点进行标注之前,所述方法还包括:
获取基于初始关键点定义标注的多个初始标注集合,其中,所述初始标注集合用于记录其中一个标注人员对一个标注对象的各关键点标注的坐标参数;
根据获得的初始标注集合计算关键点的坐标参数之间的相关性;以及
根据计算得到的相关性确定是否更新所述初始关键点定义;
确定更新所述初始关键点定义时,所述关键点定义为更新后的初始关键点定义。
11.一种人体体态模型的构建装置,其特征在于,包括:
模型结构确定模块,用于确定初始模型,所述初始模型包括特征提取网络、中间监督层和激活层;
输入模块,用于向所述初始模型的特征提取网络输入进行关键点标注前的原始对象,以使所述中间监督层和所述激活层分别生成躯干预测热图和第一关键点预测热图;所述原始对象包括基于被测人体任一角度拍摄的人体图像;
总损失参数计算模块,用于基于当前原始对象对应的躯干预测热图和躯干标准热图、以及对应的第一关键点预测热图和关键点标准热图,计算得到当前总损失参数;所述关键点标准热图和所述躯干标准热图基于原始对象被进行关键点标注后所得的标注对象和预定的模型预测任务得到;一个热图用于记录一个关键点或一个躯干的热图信息,一个躯干由指定的若干关键点之间的连线构成;
构建模块,用于根据预设时间段内的总损失参数确定所述初始模型是否已被构建成人体体态模型。
12.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储可由所述处理器执行的计算机程序;
其中,所述处理器执行所述程序时实现权利要求1~10任一项所述方法的步骤。
13.一种机器可读存储介质,其上存储有计算机程序;其特征在于,所述程序被处理器执行时实现权利要求1~10任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910399603.6A CN110188634B (zh) | 2019-05-14 | 2019-05-14 | 人体体态模型的构建方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910399603.6A CN110188634B (zh) | 2019-05-14 | 2019-05-14 | 人体体态模型的构建方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188634A true CN110188634A (zh) | 2019-08-30 |
CN110188634B CN110188634B (zh) | 2022-11-01 |
Family
ID=67716273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910399603.6A Active CN110188634B (zh) | 2019-05-14 | 2019-05-14 | 人体体态模型的构建方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188634B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866481A (zh) * | 2019-11-07 | 2020-03-06 | 北京小龙潜行科技有限公司 | 一种母猪发情检测方法及装置 |
CN110992371A (zh) * | 2019-11-20 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 一种基于先验信息的人像分割方法、装置及电子设备 |
CN112101162A (zh) * | 2020-09-04 | 2020-12-18 | 沈阳东软智能医疗科技研究院有限公司 | 图像识别模型的生成方法、装置、存储介质和电子设备 |
CN114429554A (zh) * | 2021-12-28 | 2022-05-03 | 深圳市优必选科技股份有限公司 | 一种人体姿态估计的数据增强方法、装置及终端设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017133009A1 (zh) * | 2016-02-04 | 2017-08-10 | 广州新节奏智能科技有限公司 | 一种基于卷积神经网络的深度图像人体关节定位方法 |
CN109508681A (zh) * | 2018-11-20 | 2019-03-22 | 北京京东尚科信息技术有限公司 | 生成人体关键点检测模型的方法和装置 |
CN109657631A (zh) * | 2018-12-25 | 2019-04-19 | 上海智臻智能网络科技股份有限公司 | 人体姿态识别方法及装置 |
-
2019
- 2019-05-14 CN CN201910399603.6A patent/CN110188634B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017133009A1 (zh) * | 2016-02-04 | 2017-08-10 | 广州新节奏智能科技有限公司 | 一种基于卷积神经网络的深度图像人体关节定位方法 |
CN109508681A (zh) * | 2018-11-20 | 2019-03-22 | 北京京东尚科信息技术有限公司 | 生成人体关键点检测模型的方法和装置 |
CN109657631A (zh) * | 2018-12-25 | 2019-04-19 | 上海智臻智能网络科技股份有限公司 | 人体姿态识别方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866481A (zh) * | 2019-11-07 | 2020-03-06 | 北京小龙潜行科技有限公司 | 一种母猪发情检测方法及装置 |
CN110992371A (zh) * | 2019-11-20 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 一种基于先验信息的人像分割方法、装置及电子设备 |
CN110992371B (zh) * | 2019-11-20 | 2023-10-27 | 北京奇艺世纪科技有限公司 | 一种基于先验信息的人像分割方法、装置及电子设备 |
CN112101162A (zh) * | 2020-09-04 | 2020-12-18 | 沈阳东软智能医疗科技研究院有限公司 | 图像识别模型的生成方法、装置、存储介质和电子设备 |
CN112101162B (zh) * | 2020-09-04 | 2024-03-26 | 沈阳东软智能医疗科技研究院有限公司 | 图像识别模型的生成方法、装置、存储介质和电子设备 |
CN114429554A (zh) * | 2021-12-28 | 2022-05-03 | 深圳市优必选科技股份有限公司 | 一种人体姿态估计的数据增强方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110188634B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188634A (zh) | 人体体态模型的构建方法、装置、电子设备及存储介质 | |
CN110188633B (zh) | 人体体态指标预测方法、装置、电子设备及存储介质 | |
CN110188769A (zh) | 关键点标注的审核方法、装置、设备及存储介质 | |
CN110175544B (zh) | 目标模型的构建方法、装置、电子设备及存储介质 | |
CN109829436A (zh) | 一种基于深度表观特征和自适应聚合网络的多人脸跟踪方法 | |
CN1871622B (zh) | 图像比较系统和图像比较方法 | |
CN108776796B (zh) | 一种基于全局时空注意力模型的动作识别方法 | |
CN109165664A (zh) | 一种基于生成对抗网络的属性缺失数据集补全与预测方法 | |
CN109063742A (zh) | 蝴蝶识别网络构建方法、装置、计算机设备及存储介质 | |
CN108229268A (zh) | 表情识别及卷积神经网络模型训练方法、装置和电子设备 | |
CN108805137A (zh) | 牲畜特征向量的提取方法、装置、计算机设备和存储介质 | |
CN108389192A (zh) | 基于卷积神经网络的立体图像舒适度评价方法 | |
CN110009614A (zh) | 用于输出信息的方法和装置 | |
CN106068514A (zh) | 用于在不受约束的媒体中识别面孔的系统和方法 | |
US10771994B2 (en) | Method and test system for mobile network testing as well as a network testing system | |
CN109242825A (zh) | 一种基于深度学习技术的钢铁表面缺陷识别方法和装置 | |
US20220004912A1 (en) | Training method for multi-output land cover classification model, classification method, and device | |
CN108230291A (zh) | 物体识别系统训练方法、物体识别方法、装置和电子设备 | |
CN114004817A (zh) | 一种分割网络半监督训练方法、系统、设备及存储介质 | |
CN110070116A (zh) | 基于深度树状训练策略的分段式选择集成图像分类方法 | |
JP2021530773A (ja) | 画像に基づく関係分析の方法およびそのシステム | |
CN110211670B (zh) | 指标预测方法、装置、电子设备及存储介质 | |
CN110109543A (zh) | 基于被试迁移的c-VEP识别方法 | |
CN110543916A (zh) | 一种缺失多视图数据的分类方法及系统 | |
CN110069992A (zh) | 一种人脸图像合成方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |