CN111931635A - 一种关键点真值生成方法、装置、设备和存储介质 - Google Patents
一种关键点真值生成方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111931635A CN111931635A CN202010785618.9A CN202010785618A CN111931635A CN 111931635 A CN111931635 A CN 111931635A CN 202010785618 A CN202010785618 A CN 202010785618A CN 111931635 A CN111931635 A CN 111931635A
- Authority
- CN
- China
- Prior art keywords
- zero matrix
- value
- key point
- pixel
- truth
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims abstract description 276
- 238000006073 displacement reaction Methods 0.000 claims description 171
- 238000010586 diagram Methods 0.000 claims description 78
- 238000004891 communication Methods 0.000 claims description 19
- 230000000873 masking effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012549 training Methods 0.000 description 14
- 238000013135 deep learning Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供了一种关键点真值生成方法、装置、设备和存储介质。该方法包括:获取已经识别出关键点的原始图像;初始化关键点对应的零矩阵;根据关键点在原始图像中的位置信息,零矩阵与原始图像的尺寸比例以及待生成的真值特征图的种类,为零矩阵赋值;根据被赋值的零矩阵,生成关键点对应的种类的真值特征图,以便利用真值特征图,训练关键点识别模型;该种类的真值特征图与关键点的其他种类的真值特征图的像素点取值范围相同。本发明通过初始化关键点对应的零矩阵;根据待生成的真值特征图的种类,结合关键点在原始图像中的位置以及零矩阵与原始图像的尺寸比例,为零矩阵赋值,使得关键点对应的多种真值特征图的像素取值范围相同。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种关键点真值生成方法、装置、设备和存储介质。
背景技术
随着计算机算力的提升和深度学习技术的发展,基于深度学习的关键点识别算法被提出,通过使用大量带有标注的数据训练深度学习网络,使得深度学习网络可以对各种姿势的人体关键点进行识别且泛化能力很强,如图1所示,为利用深度学习网络识别出的人体关键点的示意图。
但是,大部分基于深度学习的关键点识别算法存在算力和精度不协调的问题,想要降低计算复杂度就必然会降低精度,这使得关键点识别算法无法在移动端部署。为了解决算力和精度不协调的问题,提出了一种通过热度图和位移图来间接识别关键点的方法,相对于传统的基于单热度图的关键点识别方式,通过位移图在热度图中定位关键点的算法更为简单,所以,通过热度图和位移图来识别关键点的方法可以降低深度学习网络的复杂度,而且识别精度较高。
具体来说,可以使用一张热度图和两种位移图(x方向和y方向)来表示一个关键点。热度图是一种类高斯的分布,位移图是表示当前位置与真值点的位移。热度图和位移图的像素点取值范围不同,而且热度图的像素点取值范围远小于位移图的像素点取值范围。由于热度图的像素点取值范围远小于位移图的像素点取值范围,又引发了新的技术问题。关键点识别模型是多任务学习网络,在训练关键点识别模型时,关键点识别模型需要同时学习热度图和位移图,而位移图的像素点取值范围远大于热度图的像素点取值范围,造成位移图的损失值远大于热度图的损失值,使得调整后的关键点识别模型更加关注位移图,而影响热度图的学习效果。而且,也由于位移图的像素点取值范围和热度图的像素点取值范围不相同,使得关键点识别模型无法使用常用的ReLU(Rectified Linear Unit,线性整流)激活函数和Sigmoid(S型生长曲线)激活函数,影响关键点识别模型的训练效果。
发明内容
本发明实施例的目的在于提供一种关键点真值生成方法、装置、设备和存储介质,以解决热度图和位移图的像素点取值范围不同的问题。
针对上述技术问题,本发明实施例的具体技术方案如下:
在本发明实施的第一方面,首先提供了一种关键点真值生成方法,包括:获取已经识别出关键点的原始图像;初始化所述关键点对应的零矩阵;根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值;根据被赋值的所述零矩阵,生成所述关键点对应的所述种类的真值特征图,以便利用根据所述零矩阵生成的所述真值特征图,训练预设的关键点识别模型;其中,所述种类的真值特征图与所述关键点的其他种类的真值特征图的像素点取值范围相同。
其中,当所述真值特征图像为真值热度图时,所述根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值,包括:根据所述关键点在所述原始图像中的坐标以及所述零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述零矩阵中的坐标;根据所述关键点在所述零矩阵中的坐标以及所述零矩阵中待赋值的像素点的坐标,确定所述待赋值的像素点是否处于所述关键点的预设范围内;如果所述待赋值的像素点处于所述预设范围内,则将所述待赋值的像素点赋值为第一像素值;反之,则将所述待赋值的像素点赋值为第二像素值。
其中,所述第一像素值为:
e为自然底数,d2为所述关键点在所述零矩阵中的坐标与所述零矩阵中待赋值的像素点的坐标之间的距离的平方;α表示预设参数值;r为以所述关键点为中心的所述预设范围的半径。
其中,所述真值特征图像包括:蒙版位移图;所述蒙版位移图包括:蒙版横轴位移图和蒙版纵轴位移图;所述初始化所述关键点对应的零矩阵,包括:初始化所述关键点对应的横轴零矩阵,以及初始化所述关键点对应的纵轴零矩阵;其中,所述横轴零矩阵用于生成蒙版横轴位移图,所述纵轴零矩阵用于生成蒙版纵轴位移图。
其中,所述根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值,包括:根据所述关键点在所述原始图像中的坐标以及所述零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述横轴零矩阵中的坐标以及所述关键点在所述纵轴零矩阵中的坐标;根据所述关键点在所述原始图像中的横坐标,所述横轴零矩阵与所述原始图像的尺寸比例以及所述横轴零矩阵中的待赋值的像素点的横坐标,为所述横轴零矩阵中的待赋值的像素点赋值;根据所述关键点在所述原始图像中的纵坐标,所述纵轴零矩阵与所述原始图像的尺寸的比例以及所述纵轴零矩阵中的待赋值的像素点的纵坐标,为所述横轴零矩阵中的待赋值的像素点赋值。
其中,所述为所述横轴零矩阵中的待赋值的像素点赋值,包括:采用如下公式确定所述横轴零矩阵中的待赋值的像素点的值:wxab=a×s-xk;其中,wxab表示为所述横轴零矩阵中的所述待赋值的像素点的值;a为所述横轴零矩阵中的所述待赋值的像素点的横坐标;s表示所述原始图像的尺寸是所述横轴零矩阵的尺寸的s倍;xk为所述关键点在所述原始图像中的横坐标;和/或,所述为所述纵轴零矩阵中的待赋值的像素点赋值,包括:采用如下公式确定所述纵轴零矩阵中的待赋值的像素点的值:wyab=b×s-yk;其中,wyab表示为所述纵轴零矩阵中的所述待赋值的像素点的值;b为所述纵轴零矩阵中的所述待赋值的像素点的纵坐标;s表示所述原始图像的尺寸是所述纵轴零矩阵的尺寸的s倍;yk为所述关键点在所述原始图像中的纵坐标。
其中,所述根据像素点被赋值之后的所述零矩阵,生成所述关键点对应的真值特征图,包括:根据被赋值的所述横轴零矩阵,生成所述关键点对应的原始横轴位移图;根据被赋值的所述纵轴零矩阵,生成所述关键点对应的原始纵轴位移图;生成所述关键点对应的真值蒙版图;其中,所述真值蒙版图、所述横轴零矩阵和所述纵轴零矩阵的尺寸相同,所述真值蒙版图中处于所述关键点的预设范围内的像素点被赋值为第三像素值,其余像素点被赋值为第四像素值;根据所述原始横轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版横轴位移图;根据所述原始纵轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版纵轴位移图。
其中,所述根据所述原始横轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版横轴位移图,包括:采用如下公式生成所述蒙版横轴位移图:
Mmx表示所述蒙版横轴位移图,Mh表示所述真值蒙版图;Mx表示所述原始横轴位移图;max(Mh·Mx)表示所述关键点预设范围内的最大像素值;min(Mh·Mx)表示所述关键点预设范围内的最小像素值;
和/或,所述根据所述原始纵轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版纵轴位移图,包括:
采用如下公式生成所述蒙版纵轴位移图:
Mmy表示所述蒙版纵轴位移图,Mh表示所述真值蒙版图;My表示所述原始纵轴位移图;max(Mh·My)表示所述关键点预设范围内的最大像素值;min(Mh·My)表示所述关键点预设范围内的最小像素值。
其中,在所述初始化所述关键点对应的零矩阵之前,还包括:读取所述关键点识别模型中的步长参数值,并将所述步长参数值的倒数作为预设比例;根据所述预设比例以及所述原始图像的尺寸,确定所述零矩阵的尺寸。
在本发明实施的第二个方面,还提供了一种关键点真值生成装置,包括:获取模块,用于获取已经识别出关键点的原始图像;初始化模块,用于初始化所述关键点对应的零矩阵;赋值模块,用于根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值;生成模块,用于根据被赋值的所述零矩阵,生成所述关键点对应的所述种类的真值特征图,以便利用根据所述零矩阵生成的所述真值特征图,训练预设的关键点识别模型;其中,所述种类的真值特征图与所述关键点的其他种类的真值特征图的像素点取值范围相同。
在本发明实施的第三个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法步骤。
在本发明实施的第四个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
在本发明实施的第五个方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
本发明实施例提供的一种关键点真值生成方法、装置、设备和存储介质,通过初始化关键点对应的零矩阵;根据待生成的真值特征图的种类,结合关键点在原始图像中的位置信息以及零矩阵与原始图像的尺寸比例,为零矩阵赋值,使得关键点对应的多种真值特征图的像素取值范围相同。使用本发明实施例生成的真值特征图训练关键点识别模型时,由于不同种类的真值特征图的像素点取值范围相同,所以不同种类的真值特征图的损失范围也相同,这使得关键点识别模型会均衡的关注每种真值特征图,关键点识别模型输出的预测特征图会更加趋近于真值特征图,关键点识别的准确性更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术中利用深度学习网络识别出的人体关键点的示意图;
图2为根据本发明一实施例的关键点真值生成方法的流程图;
图3是根据本发明一实施例的真值热度图的生成步骤流程图;
图4是根据本发明一实施例的真值热度图的示意图;
图5是根据本发明一实施例的真值热度图的生成步骤流程图;
图6是根据本发明一实施例的原始位移图的示意图;
图7是根据本发明一实施例的真值蒙版图的示意图;
图8是根据本发明一实施例的蒙版位移图的示意图;
图9是根据本发明一实施例的关键点识别模型的训练系统结构图;
图10是根据本发明一实施例的关键点识别模型的结构图;
图11是根据本发明一实施例的关键点真值生成装置的结构图;
图12是根据本发明一实施例的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供了一种关键点真值生成方法。如图2所示,为根据本发明一实施例的关键点真值生成方法的流程图。
步骤S210,获取已经识别出关键点的原始图像。
关键点用于定位人体的身体关键部位,例如:头部、颈部、肩部、手部、腿部和/或脚部等部位。针对任一身体关键部位,在定位该身体关键部位时,所需要的关键点可以为一个或多个。
在获取已经识别出关键点的原始图像之前,可以通过预设的关键点识别算法识别原始图像中的关键点,也可以通过人工的方式识别原始图像纵的关键点。
步骤S220,初始化所述关键点对应的零矩阵。
零矩阵是指像素值都为0的图像矩阵。进一步地,为关键点对应生成具有预设尺寸的图像矩阵,将该图像矩阵中的各个像素值初始化为0。
如果原始图像中包括多个关键点,则为每个关键点对应初始化一个零矩阵。
具体而言,在初始化(每个)所述零矩阵时,使所述零矩阵的尺寸占所述原始图像的尺寸的比例为预设比例。其中,所述预设比例小于1。也即是说,零矩阵的尺寸小于原始图像的尺寸。
进一步地,在初始化(每个)所述关键点对应的零矩阵之前,还包括:读取预设的关键点识别模型中的步长参数值(stride参数值),并将所述步长参数值的倒数作为所述预设比例;其中,所述预设比例为所述零矩阵的尺寸占所述原始图像的尺寸的比例;根据所述预设比例以及所述原始图像的尺寸,确定所述零矩阵的尺寸。关键点识别模型是用于识别关键点的深度学习网络。真值特征图的种类包括但不限于:真值热度图和蒙版位移图。根据零矩阵生成的真值特征图可以作为关键点识别模型的训练样本,这样,原始图像的尺寸是训练样本的尺寸s倍,即:训练样本的长度占原始图像的长度的1/s,训练样本的宽度占原始图像的宽度的1/s,s为stride参数值。如何根据零矩阵生成多种真值特征图的步骤将在后续进行介绍,故在此不做赘述。
步骤S230,根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值。
位置信息可以是位置坐标。进一步地,该位置坐标可以使用像素点在原始图像和零矩阵中的行(横轴)和列(纵轴)表示。如:像素点在原始图像中的第2行第3列,则该像素点的坐标为(2,3)。
真值特征图的种类包括但不限于:真值热度图和蒙版位移图。其中,蒙版位移图的种类包括:蒙版横轴位移图和蒙版纵轴位移图。
真值热度图,是指关键点的真实的热度图。
蒙版位移图,是指关键点的位移图的蒙版。
蒙版横轴位移图,表示横轴方向(x方向)对应的位移图的蒙版。
蒙版纵轴位移图,表示纵轴方向(y方向)对应的位移图的蒙版。
为零矩阵赋值,包括:为零矩阵中的每个像素点赋值。为每个像素点赋值,是指更新零矩阵中每个像素点的像素值。
具体而言,可以初始化所述关键点对应的多个零矩阵;多个零矩阵的尺寸相同,每个零矩阵对应一种待生成的真值特征图;根据关键点在原始图像中的位置信息以及零矩阵与所述原始图像的尺寸比例,确定关键点在零矩阵中的位置信息;根据关键点在零矩阵中的位置信息以及每种待生成的真值特征图的种类,分别为每种待生成的真值特征图对应的零矩阵进行赋值。
进一步地,在分别为每种待生成的真值特征图对应零矩阵赋值时,使多种待生成的真值特征图分别对应的零矩阵的像素点取值范围相同。
步骤S240,根据被赋值的所述零矩阵,生成所述关键点对应的所述种类的真值特征图,以便利用根据所述零矩阵生成的所述真值特征图,训练预设的关键点识别模型;其中,所述种类的真值特征图与所述关键点的其他种类的真值特征图的像素点取值范围相同。
换而言之,所述关键点对应的多个种类的真值特征图的像素点取值范围相同。多个种类的真值特征图包括但不限于:真值热度图和蒙版位移图。进一步地,真值热度图和蒙版位移图分别对应的像素点取值范围都在0至1之间。
如果被赋值的零矩阵对应的待生成的真值特征图为真值热度图,则根据被赋值的所述零矩阵,直接生成该关键点对应的真值热度图。
如果被赋值的零矩阵对应的待生成的真值特征图为蒙版位移图,则先根据被赋值的所述零矩阵,生成原始位移图,再根据原始位移图和真值热度图,生成该关键点对应的蒙版位移图。
进一步地,原始位移图的种类包括原始横轴位移图和原始纵轴位移图。其中,原始横轴位移图表示横轴方向对应的位移图。原始纵轴位移图表示纵轴方向对应的位移图。根据被赋值的横轴零矩阵,生成原始横轴位移图,再根据原始横轴位移图和真值热度图,生成关键点对应的蒙版横轴位移图。根据被赋值的纵轴零矩阵,生成原始纵轴位移图,再根据原始纵轴位移图和真值热度图,生成关键点对应的蒙版纵轴位移图。对于蒙版横轴位移图和蒙版纵轴位移图的具体生成步骤将在后续进行描述,故在此不做赘述。
在本实施例中,生成的真值特征图作为训练关键点识别模型的真值样本。
在本发明实施例中,通过初始化关键点对应的零矩阵;根据待生成的真值特征图的种类,结合关键点在原始图像中的位置信息以及零矩阵与原始图像的尺寸比例,为零矩阵赋值,使得关键点对应的多种真值特征图的像素取值范围相同。
进一步地,关键点识别模型在学习本实施例生成的真值特征图时,不会因为不同种类的真值特征图的像素点取值范围不同,造成的训练后的关键点识别模型更加关注其中一种真值特征图,而忽略对其他种类的真值特征图的学习。使用本实施例生成的真值特征图训练关键点识别模型时,由于不同种类的真值特征图的像素点取值范围相同,所以不同种类的真值特征图的损失范围也相同,这使得关键点识别模型会均衡的关注每种真值特征图,关键点识别模型输出的预测特征图会更加趋近于真值特征图,关键点识别的准确性更高。
进一步地,本实施例初始化的零矩阵的尺寸小于原始图像的尺寸,使得真值特征图的尺寸小于原始图像的尺寸,这样可以降低关键点识别模型学习真值特征图时的开销,也可以降低关键点识别模型的复杂度。
进一步地,通过本实施例生成的不同种类的真值特征图的像素点取值范围相同,使得关键点识别模型可以应用ReLU激活函数和Sigmoid激活函数,增加关键点识别的精度。
下面针对为零矩阵赋值之后,如何生成关键点对应的真值热度图的步骤进行进一步地描述。
如图3所示,为根据本发明一实施例的真值热度图的生成步骤流程图。
步骤S310,根据关键点在原始图像中的坐标以及零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述零矩阵中的坐标。
原始图像的尺寸是wi×hi,零矩阵的尺寸为wh×hh;其中,wh=wi/s、hh=hi/s,关键点识别模型的步长参数值为s;关键点在原始图像中的坐标为(x,y);该关键点在真值热度图中的坐标(xh,yh)为:
xh=int(round(x/s));
yh=int(round(y/s));
其中,round(z)表示对z进行四舍五入,int(z)表示对z进行取整。
步骤S320,根据所述关键点在所述零矩阵中的坐标以及所述零矩阵中待赋值的像素点的坐标,确定所述待赋值的像素点是否处于所述关键点的预设范围内;如果是,则执行步骤S330;如果否,则执行步骤S340。
预设范围可以是:以关键点为中心的预设范围。预设范围的半径r可以是经验值或者通过实验获得的值。
遍历零矩阵中的每个位置(像素点),针对每个待赋值的像素点(a,b)位置,即第a行第b列的像素值,计算零矩阵中的关键点(xh,yh)和待赋值的像素点(a,b)的距离的平方d2:
d2=(xh-a)2+(yh-b)2
将该距离的平方d2与以该关键点为中心的预设范围的半径的平方r2进行比较;如果d2≤r2,则表示像素点处于关键点的预设范围内,执行步骤S330;如果d2>r2,则表示像素点没有处于关键点的预设范围内,执行步骤S340。
步骤S330,如果所述待赋值的像素点处于所述预设范围内,则将所述待赋值的像素点赋值为第一像素值。
第一像素值可以是根据所述待赋值的像素点的坐标与所述关键点在所述零矩阵中的坐标之间的距离以及所述预设范围的半径确定的值。
所述第一像素值可以采用如下公式进行计算:
其中,e为自然底数,d2为所述关键点在所述零矩阵中的坐标与所述零矩阵中待赋值的像素点的坐标之间的距离的平方;α表示预设参数值;r为以所述关键点为中心的所述预设范围的半径。α可以是经验值或者通过实验获得的值。
这样,如果关键点的预设范围内存在多个待赋值的像素点,则多个待赋值的像素点分别对应的第一像素值大小可能不同。
步骤S340,如果所述待赋值的像素点没有处于所述预设范围内,则将所述待赋值的像素点赋值为第二像素值。
第二像素值可以是预设的定值。在本实施例中,第二像素值可以设置为0。
步骤S350,判断零矩阵中待赋值的像素点是否都已经完成赋值;如果是,则执行步骤S360;如果否,则确定下一个待赋值的像素点,并跳转到步骤S320。
步骤S360,根据被赋值的所述零矩阵,生成所述关键点对应的真值热度图。
如图4所示,为根据本发明一实施例的真值热度图的示意图。图4为原始图像中的14个关键点分别对应的真值热度图,其中的空图表示关键点的真值为空值。
下面针对获取已经识别出关键点的原始图像之后,如何生成关键点对应的蒙版位移图的步骤进行进一步地描述。
如图5所示,为根据本发明一实施例的真值热度图的生成步骤流程图。
步骤S510,初始化关键点对应的横轴零矩阵,以及初始化关键点对应的纵轴零矩阵;其中,所述横轴零矩阵用于生成蒙版横轴位移图,所述纵轴零矩阵用于生成蒙版纵轴位移图。
为该关键点初始化的横轴零矩阵和纵轴零矩阵的尺寸相同。进一步地,为该关键点初始化的横轴零矩阵和纵轴零矩阵尺寸以及为该关键点初始化的用于生成真值热度图的零矩阵的尺寸都相同。
步骤S520,根据所述关键点在所述原始图像中的坐标以及所述零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述横轴零矩阵中的坐标以及所述关键点在所述纵轴零矩阵中的坐标。
由于横轴零矩阵、纵轴零矩阵以及用于生成真值热度图的零矩阵的尺寸相同,所以可以参考步骤S310中的确定方式,分别确定所述关键点在所述横轴零矩阵中的横坐标xk以及所述关键点在所述纵轴零矩阵中的纵坐标yk。
步骤S530,根据所述关键点在所述原始图像中的横坐标,所述横轴零矩阵与所述原始图像的尺寸比例以及所述横轴零矩阵中的待赋值的像素点的横坐标,为所述横轴零矩阵中的待赋值的像素点赋值。
可以采用如下公式确定所述横轴零矩阵中的待赋值的像素点(a,b)的值:
wxab=a×s-xk;
其中,wxab表示为所述横轴零矩阵中的所述待赋值的像素点的值;a为所述横轴零矩阵中的所述待赋值的像素点的横坐标;d表示所述原始图像的尺寸是所述横轴零矩阵的s倍;xk为所述关键点在所述原始图像中的横坐标。
步骤S540,根据所述关键点在所述原始图像中的纵坐标,所述纵轴零矩阵的尺寸占所述原始图像的尺寸的比例以及所述纵轴零矩阵中的待赋值的像素点的纵坐标,为所述横轴零矩阵中的待赋值的像素点赋值。
可以采用如下公式确定所述纵轴零矩阵中的待赋值的像素点的值:
wyab=b×s-yk;
其中,wyab表示为所述纵轴零矩阵中的所述待赋值的像素点的值;b为所述纵轴零矩阵中的所述待赋值的像素点的纵坐标;s表示所述原始图像的尺寸是所述纵轴零矩阵的s倍;yk为所述关键点在所述原始图像中的纵坐标。
步骤S550,根据被赋值的所述横轴零矩阵,生成所述关键点对应的原始横轴位移图;根据被赋值的所述纵轴零矩阵,生成所述关键点对应的原始纵轴位移图。
如图6所示,为根据本发明一实施例的原始位移图的示意图。在图6中,前14张图像为原始图像中的14个关键点分别对应的原始横轴位移图,后14张图像为原始图像中的14个关键点分别对应的原始纵轴位移图。在图6中的28张图像中,空图表示关键点的真值为空值。
步骤S560,生成所述关键点对应的真值蒙版图;其中,所述真值蒙版图、所述横轴零矩阵和所述纵轴零矩阵的尺寸相同,所述真值蒙版图中处于所述关键点的预设范围内的像素点被赋值为第三像素值,其余像素点被赋值为第四像素值。
真值蒙版图,是指真值热度图的蒙版。
第三像素值和第四像素值都可以是预设的定值。在本实施例中,第三像素值可以是1。第四像素值可以是0。进一步地,将真值热度图中大于零的像素值都设置为1,形成该真值热度图对应的真值蒙版图。生成关键点对应的真值热度图的步骤可以参考图3所示的步骤。
如图7所示,为根据本发明一实施例的真值蒙版图的示意图。在图7中包括相同的两组真值蒙版图,每组包括14个真值蒙版图,也即是说,图7中的第n个图像和第n+14个图像是相同。每组中的每个真值蒙版图为图4中对应位置的真值热度图的蒙版。
步骤S570,根据所述原始横轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版横轴位移图;根据所述原始纵轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版纵轴位移图。
采用如下公式生成所述蒙版横轴位移图:
其中,Mmx表示所述蒙版横轴位移图,Mh表示所述真值蒙版图;Mx表示所述原始横轴位移图;max(Mh·Mx)表示所述关键点预设范围内的最大像素值;min(Mh·Mx)表示所述关键点预设范围内的最小像素值。
采用如下公式生成所述蒙版纵轴位移图:
其中,Mmy表示所述蒙版纵轴位移图,Mh表示所述真值蒙版图;My表示所述原始纵轴位移图;max(Mh·My)表示所述关键点预设范围内的最大像素值;min(Mh·My)表示所述关键点预设范围内的最小像素值。
如图8所示,为根据本发明一实施例的蒙版位移图的示意图。在图8中,前14个图像为原始图像中14个关键点分别对应的蒙版横轴位移图,后14个图像为原始图像中的14个关键点分别对应的蒙版纵轴位移图。图8中的空图表示关键点的真值为空值。
例如:原始图像的像素为100×100,该原始图像中的关键点P的坐标为(80,60),初始化的零矩阵的像素为10×10,那么原始图像的尺寸是零矩阵尺寸的10倍,即s=10。零矩阵中的像素点坐标表示为(a,b)。
确定关键点P在真值热度图中的横坐标xh=int(round(x/s))=int(round(80/10))=8,关键点P在真值热度图中的纵坐标yh=int(round(y/s))=int(round(60/8))=8,这样,关键点P在真值热度图中的坐标为(8,8)。
使用如下表1来表示零矩阵,表1中P所在的位置为关键点P的位置。将零矩阵中处于关键点P预设范围内的像素点赋值为第一像素值,将零矩阵中未处于关键点P预设范围内的像素点赋值为0。其中,预设范围为以关键点P为中心半径为1的范围。
表1
将表1所表示的真值热度图中的非0像素点的值置为1,得到真值热度图对应的蒙版热度图,蒙版热度图可以使用表2来表示。
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1(P) | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表2
初始化关键点P对应的横轴零矩阵,该横轴零矩阵的尺寸与真值热度图对应的零矩阵尺寸相同。为该横轴零矩阵中的各个像素点赋值,每个像素点的值可以通过公式wxab=a×s-xk确定,进而得到表3所示的横轴原始位移图。
表3
将表2的蒙版热度图和表3的横轴原始位移图进行点乘,可以将未处于关键点预设范围内的像素值都置为0,只保留关键点预设范围内的像素值,确定关键点预设范围内的最大像素值为10,最小像素值为-10,这样,可以得到如表4所示的蒙版横轴位移图。
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0.5 | 0.5(P) | 0.5 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表4
初始化关键点P对应的纵轴零矩阵,该纵轴零矩阵的尺寸与真值热度图对应的零矩阵尺寸相同。为该纵轴零矩阵中的各个像素点赋值,每个像素点的值可以通过公式wyab=b×s-yk确定,进而得到表5所示的纵轴原始位移图。
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0(P) | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
-70 | -60 | -50 | -40 | -30 | -20 | -10 | 0 | 10 | 20 |
表5
将表2的蒙版热度图和表5的纵轴原始位移图进行点乘,可以将未处于关键点预设范围内的像素值都置为0,只保留关键点预设范围内的像素值,确定关键点预设范围内的最大像素值为10,最小像素值为-10,这样,可以得到如表6所示的蒙版纵轴位移图。
表6
本实施例采用同步执行的方式生成蒙版横轴位移图的步骤和蒙版纵轴位移图。本领域技术人员应该知道的是生成蒙版横轴位移图的步骤和生成蒙版纵轴位移图的步骤也可以分开执行。在执行顺序上,步骤S530和步骤S540可以并行执行,也可以采用一先一后的方式执行,本实施例对执行先后顺序不做限定。
在本发明实施例中,真值热度图的像素点取值范围可以在0至1之间,蒙版位移图中的像素点取值也可以在0至1之间,真值热度图和蒙版位移图的像素点取值范围相同。例如:如果热度图的像素点取值范围可以在0至1之间,原始图像的像素为1000×800,那么位移图中的像素点取值可以处于-1000和1000之间,那么热度图的最大损失值为1(如:真值热度图的像素值为1,预测热度图的像素值为0),位移图的最大损失值为2000(真值位移图的像素值为1000,预测位移图的像素值为-1000),这样关键点识别模型必然会因为位移图的损失过大而调整参数,如此往复,关键点识别模型将更加关注对真值位移图(对应本发明实施例的蒙版位移图)的学习,而忽略对真值热度图的学习,这也避免会降低关键点识别的准确性。然而,本实施例真值热度图和蒙版位移图的像素点取值范围相同,关键点识别模型可以均衡地学习真值热度图和蒙版位移图,使得关键点识别模型输出的预测热度图和预测位移图更加趋近于真实值。
通过本发明实施例生成的真值特征图可以应用到关键点识别模型的训练中。如图9所示,为根据本发明一实施例的关键点识别模型的训练系统结构图。
该训练系统包括:人体检测网络910、关键点修正单元920、真值生成单元930、关键点识别模型940和损失确定单元950。关键点修正单元920的输出端分别连接真值生成单元930的输入端和人体检测网络910的输出端,关键点识别模型940的输入端连接人体检测网络910的输出端,真值生成单元930的输出端和关键点识别模型940的输出端分别连接损失确定单元950的输入端。
人体检测网络910,用于接收图像,对图像进行人体识别,输出人体图像以及人体图像中的边界框(Bounding Box,简称BBox)信息。
关键点修正单元920,用于接收图像中的关键点的坐标,并获取人体检测网络910输出的人体图像以及BBox信息;根据图像中的关键点的坐标,将各个关键点映射到人体图像上,并根据BBox信息修正映射到人体图像上的各个关键点的坐标。
真值生成单元930,用于接收已经修正关键点坐标的人体图像,生成每个修正后的关键点分别对应的真值特征图。
关键点识别模型940,用于接收人体检测网络910输出的人体图像,并根据该人体图像进行关键点识别,输出每个关键点分别对应的预测特征图。
损失确定单元950,用于接收真值生成单元930输出每个关键点分别对应的真值特征图和关键点识别模型940输出每个关键点分别对应的预测特征图,根据同一关键点对应的真值特征图和预测特征图,确定特征图损失。该特征图损失用于确定关键点识别模型940是否需要进行参数调整。
下面针对上述各个部件进行进一步地描述。
在图像中包括多个关键点,该多个关键点的坐标表示为P={P1,P2,P3,...,Pn};其中,n为关键点的个数,Pi=(xi,yi)为第i个关键点坐标,xi为横坐标,yi为纵坐标。
在训练关键点识别模型的过程中,上述各个部件执行以下步骤:
步骤1,人体检测网络910在图像中识别人体图像,并确定出人体图像的BBox信息。BBox信息可以表示为(xbbox,ybbox,wbbox,hbbox),xbbox和ybbox分别表示人体边框左上角的顶点横坐标和顶点纵坐标,wbbox表示人体图像的宽度,hbbox表示人体图像的高度。
步骤2,关键点修正单元920根据关键点坐标P={P1,P2,P3,...,Pn}将n个关键点分别映射到人体图像上,并根据人体图像的BBox信息分别修正n个关键点的坐标。进一步地,修正后的关键点坐标为P′={P′1,P′2,P′3,...,P′n}。P′i=(x′i,y′i)为第i个关键点的坐标,x′i=xi-xbbox为修正后的横坐标,y′i=yi-ybbox为修正后的纵坐标。可以根据映射有关键点并且关键点坐标被修正后的人体图像,生成真值生成单元930使用的原始图像。原始图像的数量与关键点的数量相同,每个原始图像中包括一个关键点,该关键点的坐标为修正后的坐标。
步骤3,真值生成单元930根据本发明实施例的关键点真值生成方法生成每个关键点对应的真值特征图。该真值特征图包括真值热度图和蒙版位移图。
步骤4,关键点识别模型940接收人体检测网络910输出的人体图像,并根据该人体图像预测每个关键点对应的预测特征图。预测特征图包括:预测热度图和预测位移图。
具体而言,关键点识别模型940的结构如图10所示。该关键点识别模型940包括:特征提取网络1010、第一卷积组1020和第二卷积组1030。特征提取网络1010的输出端分别连接第一卷积组1020的输入端和第二卷积组1030的输入端。
特征提取网络1010对人体图像进行特征提取,得到特征矩阵,并将该特征矩阵分别输入至第一卷积组1020和第二卷积组1030,使得第一卷积组1020对特征矩阵进行卷积处理,得到该人体图像中每个关键点对应的预测热度图,同时,使得第二卷积组1030对特征矩阵进行卷积处理,得到该人体图像中每个关键点对应的预测位移图。
进一步地,特征提取网络1010包括但不限于如下网络类型:LeNet,AlexNet,VGG(Visual Geometry Group Network),GoogLeNet,残差网格(Residual Network,简称ResNet)和MobileNet。
可以将wf×hf×3的人体图像输入至特征提取网络1010,输出(wf/σ)×(hf/σ)×512的特征矩阵,其中,wf×hf为人体图像的尺寸,3为人体图像的通道数,512为特征矩阵的数量,σ为预设的缩小系数,σ越小网络精度越高。例如:σ可以取16。将(wf/σ)×(hf/σ)×512的特征矩阵输入至第一卷积组1020,第一卷积组1020输出n张的预测热度图;将(wf/σ)×(hf/σ)×512的特征矩阵输入至第二卷积组1030,第二卷积组1030输出即输出n张的x轴方向的预测位移图(预测横轴位移图)以及n张的y轴方向的预测位移图(预测纵轴位移图)。
步骤5,损失确定模型接收n个关键点分别对应的真值热度图、蒙版横轴位移图和蒙版纵轴位移图,以及接收关键点识别模型940输出的n个关键点分别对应的预测热度图、预测横轴位移图和预测纵轴位移图;针对同一关键点,利用预设的损失函数计算真值热度图和预测热度图之间的第一损失值,计算蒙版横轴位移图和预测横轴位移图之间的第二损失值,以及计算蒙版横轴位移图和预测横轴位移图之间的第三损失值。确定第一损失值、第二损失值和第三损失值的加权和,作为图像综合损失值。
在本实施例中,可以根据图像综合损失值对关键点识别模型940中的参数进行调整,以便关键点识别模型940可以输出更为准确的预测特征图。如果需要继续对关键点识别模型940进行训练,可以重复执行步骤1至步骤5。
本发明实施例还提供了一种关键点真值生成装置。如图11所示,为根据本发明一实施例的关键点真值生成装置的结构图。
该关键点真值生成装置包括:获取模块1110,初始化模块1120,赋值模块1130和生成模块1140。
获取模块1110,用于获取已经识别出关键点的原始图像。
初始化模块1120,用于初始化所述关键点对应的零矩阵。
赋值模块1130,用于根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值。
生成模块1140,用于根据被赋值的所述零矩阵,生成所述关键点对应的所述种类的真值特征图,以便利用根据所述零矩阵生成的所述真值特征图,训练预设的关键点识别模型;其中,所述种类的真值特征图与所述关键点的其他种类的真值特征图的像素点取值范围相同。
本发明实施例所述的装置的功能已经在上述方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本发明实施例还提供了一种电子设备,如图12所示,包括处理器1210、通信接口1220、存储器1230和通信总线1240,其中,处理器1210,通信接口1220,存储器1230通过通信总线1240完成相互间的通信。
存储器1230,用于存放计算机程序。
处理器1210,用于执行存储器1230上所存放的程序时,实现如下步骤:获取已经识别出关键点的原始图像;初始化所述关键点对应的零矩阵;根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值;根据被赋值的所述零矩阵,生成所述关键点对应的所述种类的真值特征图,以便利用根据所述零矩阵生成的所述真值特征图,训练预设的关键点识别模型;其中,所述种类的真值特征图与所述关键点的其他种类的真值特征图的像素点取值范围相同。
其中,当所述真值特征图像为真值热度图时,所述根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值,包括:根据所述关键点在所述原始图像中的坐标以及所述零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述零矩阵中的坐标;根据所述关键点在所述零矩阵中的坐标以及所述零矩阵中待赋值的像素点的坐标,确定所述待赋值的像素点是否处于所述关键点的预设范围内;如果所述待赋值的像素点处于所述预设范围内,则将所述待赋值的像素点赋值为第一像素值;反之,则将所述待赋值的像素点赋值为第二像素值。
其中,所述第一像素值为:
e为自然底数,d2为所述关键点在所述零矩阵中的坐标与所述零矩阵中待赋值的像素点的坐标之间的距离的平方;α表示预设参数值;r为以所述关键点为中心的所述预设范围的半径。
其中,所述真值特征图像包括:蒙版位移图;所述蒙版位移图包括:蒙版横轴位移图和蒙版纵轴位移图;所述初始化所述关键点对应的零矩阵,包括:初始化所述关键点对应的横轴零矩阵,以及初始化所述关键点对应的纵轴零矩阵;其中,所述横轴零矩阵用于生成蒙版横轴位移图,所述纵轴零矩阵用于生成蒙版纵轴位移图。
其中,所述根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值,包括:根据所述关键点在所述原始图像中的坐标以及所述零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述横轴零矩阵中的坐标以及所述关键点在所述纵轴零矩阵中的坐标;根据所述关键点在所述原始图像中的横坐标,所述横轴零矩阵与所述原始图像的尺寸比例以及所述横轴零矩阵中的待赋值的像素点的横坐标,为所述横轴零矩阵中的待赋值的像素点赋值;根据所述关键点在所述原始图像中的纵坐标,所述纵轴零矩阵与所述原始图像的尺寸比例以及所述纵轴零矩阵中的待赋值的像素点的纵坐标,为所述横轴零矩阵中的待赋值的像素点赋值。
其中,所述为所述横轴零矩阵中的待赋值的像素点赋值,包括:采用如下公式确定所述横轴零矩阵中的待赋值的像素点的值:wxab=a×s-xk;其中,wxab表示为所述横轴零矩阵中的所述待赋值的像素点的值;a为所述横轴零矩阵中的所述待赋值的像素点的横坐标;s表示所述原始图像的尺寸是所述横轴零矩阵的尺寸的s倍;xk为所述关键点在所述原始图像中的横坐标;和/或,所述为所述纵轴零矩阵中的待赋值的像素点赋值,包括:采用如下公式确定所述纵轴零矩阵中的待赋值的像素点的值:wyab=b×s-yk;其中,wyab表示为所述纵轴零矩阵中的所述待赋值的像素点的值;b为所述纵轴零矩阵中的所述待赋值的像素点的纵坐标;s表示所述原始图像的尺寸是所述纵轴零矩阵的尺寸的s倍;yk为所述关键点在所述原始图像中的纵坐标。
其中,所述根据像素点被赋值之后的所述零矩阵,生成所述关键点对应的真值特征图,包括:根据被赋值的所述横轴零矩阵,生成所述关键点对应的原始横轴位移图;根据被赋值的所述纵轴零矩阵,生成所述关键点对应的原始纵轴位移图;生成所述关键点对应的真值蒙版图;其中,所述真值蒙版图、所述横轴零矩阵和所述纵轴零矩阵的尺寸相同,所述真值蒙版图中处于所述关键点的预设范围内的像素点被赋值为第三像素值,其余像素点被赋值为第四像素值;根据所述原始横轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版横轴位移图;根据所述原始纵轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版纵轴位移图。
其中,所述根据所述原始横轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版横轴位移图,包括:采用如下公式生成所述蒙版横轴位移图:
Mmx表示所述蒙版横轴位移图,Mh表示所述真值蒙版图;Mx表示所述原始横轴位移图;max(Mh·Mx)表示所述关键点预设范围内的最大像素值;min(Mh·Mx)表示所述关键点预设范围内的最小像素值;
和/或,所述根据所述原始纵轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版纵轴位移图,包括:
采用如下公式生成所述蒙版纵轴位移图:
Mmy表示所述蒙版纵轴位移图,Mh表示所述真值蒙版图;My表示所述原始纵轴位移图;max(Mh·My)表示所述关键点预设范围内的最大像素值;min(Mh·My)表示所述关键点预设范围内的最小像素值。
其中,所述初始化所述关键点对应的零矩阵,包括:在初始化所述零矩阵时,使所述零矩阵的尺寸占所述原始图像的尺寸的比例为预设比例;其中,所述预设比例小于1。
其中,在所述初始化所述关键点对应的零矩阵之前,还包括:读取所述关键点识别模型中的步长参数值,并将所述步长参数值的倒数作为所述预设比例;其中,所述预设比例为所述零矩阵的尺寸占所述原始图像的尺寸的比例;根据所述预设比例以及所述原始图像的尺寸,确定所述零矩阵的尺寸。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的关键点真值生成方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的关键点真值生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种关键点真值生成方法,其特征在于,包括:
获取已经识别出关键点的原始图像;
初始化所述关键点对应的零矩阵;
根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值;
根据被赋值的所述零矩阵,生成所述关键点对应的所述种类的真值特征图,以便利用根据所述零矩阵生成的所述真值特征图,训练预设的关键点识别模型;其中,所述种类的真值特征图与所述关键点的其他种类的真值特征图的像素点取值范围相同。
2.根据权利要求1所述的方法,其特征在于,
当所述真值特征图像为真值热度图时,所述根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值,包括:
根据所述关键点在所述原始图像中的坐标以及所述零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述零矩阵中的坐标;
根据所述关键点在所述零矩阵中的坐标以及所述零矩阵中待赋值的像素点的坐标,确定所述待赋值的像素点是否处于所述关键点的预设范围内;
如果所述待赋值的像素点处于所述预设范围内,则将所述待赋值的像素点赋值为第一像素值;反之,则将所述待赋值的像素点赋值为第二像素值。
4.根据权利要求1所述的方法,其特征在于,
所述真值特征图像包括:蒙版位移图;所述蒙版位移图包括:蒙版横轴位移图和蒙版纵轴位移图;
所述初始化所述关键点对应的零矩阵,包括:
初始化所述关键点对应的横轴零矩阵,以及初始化所述关键点对应的纵轴零矩阵;其中,所述横轴零矩阵用于生成蒙版横轴位移图,所述纵轴零矩阵用于生成蒙版纵轴位移图。
5.根据权利要求4所述的方法,其特征在于,所述根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值,包括:
根据所述关键点在所述原始图像中的坐标以及所述零矩阵与所述原始图像的尺寸比例,确定所述关键点在所述横轴零矩阵中的坐标以及所述关键点在所述纵轴零矩阵中的坐标;
根据所述关键点在所述原始图像中的横坐标,所述横轴零矩阵与所述原始图像的尺寸比例以及所述横轴零矩阵中的待赋值的像素点的横坐标,为所述横轴零矩阵中的待赋值的像素点赋值;
根据所述关键点在所述原始图像中的纵坐标,所述纵轴零矩阵与所述原始图像的尺寸比例以及所述纵轴零矩阵中的待赋值的像素点的纵坐标,为所述横轴零矩阵中的待赋值的像素点赋值。
6.根据权利要求5所述的方法,其特征在于,
所述为所述横轴零矩阵中的待赋值的像素点赋值,包括:
采用如下公式确定所述横轴零矩阵中的待赋值的像素点的值:
wxab=a×s-xk;
其中,wxab表示为所述横轴零矩阵中的所述待赋值的像素点的值;a为所述横轴零矩阵中的所述待赋值的像素点的横坐标;d表示所述原始图像的尺寸是所述横轴零矩阵的尺寸的s倍;xk为所述关键点在所述原始图像中的横坐标;
和/或,所述为所述纵轴零矩阵中的待赋值的像素点赋值,包括:
采用如下公式确定所述纵轴零矩阵中的待赋值的像素点的值:
wyab=b×s-yk;
其中,wyab表示为所述纵轴零矩阵中的所述待赋值的像素点的值;b为所述纵轴零矩阵中的所述待赋值的像素点的纵坐标;s表示所述原始图像的尺寸是所述纵轴零矩阵的尺寸的s倍;yk为所述关键点在所述原始图像中的纵坐标。
7.根据权利要求5所述的方法,其特征在于,所述根据像素点被赋值之后的所述零矩阵,生成所述关键点对应的真值特征图,包括:
根据被赋值的所述横轴零矩阵,生成所述关键点对应的原始横轴位移图;根据被赋值的所述纵轴零矩阵,生成所述关键点对应的原始纵轴位移图;
生成所述关键点对应的真值蒙版图;其中,所述真值蒙版图、所述横轴零矩阵和所述纵轴零矩阵的尺寸相同,所述真值蒙版图中处于所述关键点的预设范围内的像素点被赋值为第三像素值,其余像素点被赋值为第四像素值;
根据所述原始横轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版横轴位移图;根据所述原始纵轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版纵轴位移图。
8.根据权利要求7所述的方法,其特征在于,
所述根据所述原始横轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版横轴位移图,包括:
采用如下公式生成所述蒙版横轴位移图:
其中,Mmx表示所述蒙版横轴位移图,Mh表示所述真值蒙版图;Mx表示所述原始横轴位移图;max(Mh·Mx)表示所述关键点预设范围内的最大像素值;min(Mh·Mx)表示所述关键点预设范围内的最小像素值;
和/或,所述根据所述原始纵轴位移图和所述真值蒙版图,生成所述关键点对应的蒙版纵轴位移图,包括:
采用如下公式生成所述蒙版纵轴位移图:
其中,Mmy表示所述蒙版纵轴位移图,Mh表示所述真值蒙版图;My表示所述原始纵轴位移图;max(Mh·My)表示所述关键点预设范围内的最大像素值;min(Mh·My)表示所述关键点预设范围内的最小像素值。
9.根据权利要求1~8中任一项所述的方法,其特征在于,在所述初始化所述关键点对应的零矩阵之前,还包括:
读取所述关键点识别模型中的步长参数值,并将所述步长参数值的倒数作为预设比例;其中,所述预设比例为所述零矩阵的尺寸占所述原始图像的尺寸的比例;
根据所述预设比例以及所述原始图像的尺寸,确定所述零矩阵的尺寸。
10.一种关键点真值生成装置,其特征在于,包括:
获取模块,用于获取已经识别出关键点的原始图像;
初始化模块,用于初始化所述关键点对应的零矩阵;
赋值模块,用于根据所述关键点在所述原始图像中的位置信息,所述零矩阵与所述原始图像的尺寸比例以及待生成的真值特征图的种类,为所述零矩阵赋值;
生成模块,用于根据被赋值的所述零矩阵,生成所述关键点对应的所述种类的真值特征图,以便利用根据所述零矩阵生成的所述真值特征图,训练预设的关键点识别模型;其中,所述种类的真值特征图与所述关键点的其他种类的真值特征图的像素点取值范围相同。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9中任一所述的方法步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010785618.9A CN111931635A (zh) | 2020-08-06 | 2020-08-06 | 一种关键点真值生成方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010785618.9A CN111931635A (zh) | 2020-08-06 | 2020-08-06 | 一种关键点真值生成方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111931635A true CN111931635A (zh) | 2020-11-13 |
Family
ID=73306861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010785618.9A Pending CN111931635A (zh) | 2020-08-06 | 2020-08-06 | 一种关键点真值生成方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111931635A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417185A (zh) * | 2020-11-27 | 2021-02-26 | 北京爱奇艺科技有限公司 | 一种图像关键点位置计算方法、装置、设备及存储介质 |
CN114051632A (zh) * | 2021-06-22 | 2022-02-15 | 商汤国际私人有限公司 | 人体与人手的关联方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348412A (zh) * | 2019-07-16 | 2019-10-18 | 广州图普网络科技有限公司 | 一种关键点定位方法、装置、电子设备及存储介质 |
CN110909663A (zh) * | 2019-11-20 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN111062261A (zh) * | 2019-11-25 | 2020-04-24 | 维沃移动通信(杭州)有限公司 | 一种图像处理方法及装置 |
CN111160375A (zh) * | 2019-12-31 | 2020-05-15 | 北京奇艺世纪科技有限公司 | 三维关键点预测及深度学习模型训练方法、装置及设备 |
-
2020
- 2020-08-06 CN CN202010785618.9A patent/CN111931635A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110348412A (zh) * | 2019-07-16 | 2019-10-18 | 广州图普网络科技有限公司 | 一种关键点定位方法、装置、电子设备及存储介质 |
CN110909663A (zh) * | 2019-11-20 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 一种人体关键点识别方法、装置及电子设备 |
CN111062261A (zh) * | 2019-11-25 | 2020-04-24 | 维沃移动通信(杭州)有限公司 | 一种图像处理方法及装置 |
CN111160375A (zh) * | 2019-12-31 | 2020-05-15 | 北京奇艺世纪科技有限公司 | 三维关键点预测及深度学习模型训练方法、装置及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417185A (zh) * | 2020-11-27 | 2021-02-26 | 北京爱奇艺科技有限公司 | 一种图像关键点位置计算方法、装置、设备及存储介质 |
CN114051632A (zh) * | 2021-06-22 | 2022-02-15 | 商汤国际私人有限公司 | 人体与人手的关联方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977523B2 (en) | Methods and apparatuses for identifying object category, and electronic devices | |
CN112001406B (zh) | 一种文本区域检测方法及装置 | |
CN111860398B (zh) | 遥感图像目标检测方法、系统及终端设备 | |
CN110070124A (zh) | 一种基于生成式对抗网络的图像扩增方法及系统 | |
CN110929638B (zh) | 一种人体关键点识别方法、装置及电子设备 | |
WO2020253508A1 (zh) | 异常细胞检测方法、装置及计算机可读存储介质 | |
CN109934262B (zh) | 图片差异性判断方法、装置、计算机设备和存储介质 | |
CN111553420B (zh) | 一种基于神经网络的x线影像识别方法及装置 | |
CN111368638A (zh) | 电子表格的创建方法、装置、计算机设备和存储介质 | |
CN111931635A (zh) | 一种关键点真值生成方法、装置、设备和存储介质 | |
CN109858327B (zh) | 一种基于深度学习的字符分割方法 | |
CN110909663A (zh) | 一种人体关键点识别方法、装置及电子设备 | |
CN111814905A (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN112580668B (zh) | 一种背景欺诈检测方法、装置及电子设备 | |
CN110969100B (zh) | 一种人体关键点识别方法、装置及电子设备 | |
CN113012075B (zh) | 一种图像矫正方法、装置、计算机设备及存储介质 | |
CN114038004A (zh) | 一种证件信息提取方法、装置、设备及存储介质 | |
CN113077464A (zh) | 一种医学图像处理方法、医学图像识别方法及装置 | |
CN112232506A (zh) | 网络模型训练方法、图像目标识别方法、装置和电子设备 | |
CN111353325A (zh) | 关键点检测模型训练方法及装置 | |
CN112364974A (zh) | 一种基于激活函数改进的YOLOv3算法 | |
CN109919214B (zh) | 一种神经网络模型的训练方法及训练装置 | |
CN110210279B (zh) | 目标检测方法、装置及计算机可读存储介质 | |
CN113313117B (zh) | 一种识别文本内容的方法及装置 | |
CN112634141A (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 |