CN110929638B - 一种人体关键点识别方法、装置及电子设备 - Google Patents

一种人体关键点识别方法、装置及电子设备 Download PDF

Info

Publication number
CN110929638B
CN110929638B CN201911141025.2A CN201911141025A CN110929638B CN 110929638 B CN110929638 B CN 110929638B CN 201911141025 A CN201911141025 A CN 201911141025A CN 110929638 B CN110929638 B CN 110929638B
Authority
CN
China
Prior art keywords
human body
heat map
key point
level
body key
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.)
Active
Application number
CN201911141025.2A
Other languages
English (en)
Other versions
CN110929638A (zh
Inventor
刘思阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201911141025.2A priority Critical patent/CN110929638B/zh
Publication of CN110929638A publication Critical patent/CN110929638A/zh
Application granted granted Critical
Publication of CN110929638B publication Critical patent/CN110929638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例提供了一种人体关键点识别方法、装置及电子设备。该方法包括:获取待识别人体关键点的目标图像;利用预先训练的神经网络模型,生成目标图像中每个人体关键点的多级热度图;所述多级热度图中各级热度图的尺寸相同且各级热度图对应的映射比值逐级放大;该神经网络模型为基于样本图像,以及样本图像中每个人体关键点的多级真值热度图,所训练得到的模型;按照预定的识别规则,基于目标图像中每个人体关键点的多级热度图,确定目标图像中的每个人体关键点的坐标。通过本方案可以实现在模型复杂度较低的情况下,保证人体关键点识别的识别精准度的目的。

Description

一种人体关键点识别方法、装置及电子设备
技术领域
本发明涉及图像处理技术领域,特别是涉及一种人体关键点识别方法、装置及电子设备。
背景技术
人体关键点识别是动作识别、异常行为检测、安防等的实现基础,其主要用于从给定的图像中定位人体的身体关键部位,例如头部、颈部、肩部、手部等部位。
现有技术中,在识别人体关键点时,获取待识别人体关键点的目标图像,通过预先训练的神经网络模型,生成该目标图像中每个人体关键点的单张的热度图heat map,进而,基于每个人体关键点的单张的热度图,确定每个人体关键点的坐标。其中,任一关键点的热度图为该关键点可能存在的位置的概率分布图。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
人体关键点的识别精度和模型复杂度无法同时保证,具体体现在:如果关键点的识别精准度较高,那么,热度图的尺寸需要较大,这样导致所利用的神经网络模型的复杂度会较高。
因此,如何在模型复杂度较低的情况下,保证人体关键点识别的识别精准度,是一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种人体关键点识别方法、装置及电子设备,以实现在模型复杂度较低的情况下,保证人体关键点识别的识别精准度的目的。
具体技术方案如下:
第一方面,本发明实施例提供了一种人体关键点识别方法,包括:
获取待识别人体关键点的目标图像;
利用预先训练的神经网络模型,生成所述目标图像中每个人体关键点的多级热度图;其中,所述多级热度图中各级热度图的尺寸相同且所述各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值;所述神经网络模型为基于样本图像,以及所述样本图像中每个人体关键点的多级真值热度图,所训练得到的模型;
按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,通过该人体关键点的多级热度图,从所述目标图像中逐级缩小区域以得到该人体关键点的规则。
可选地,所述按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标的步骤,包括:
按照预定的第一计算公式,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;
其中,所述预定的第一计算公式包括:
Figure BDA0002280939870000021
Figure BDA0002280939870000022
其中,(Ix,Iy)为人体关键点I的坐标,n为所述多级热度图的级数,hxj和hyj为所述人体关键点I的第j级热度图中取值最大的像素点的横坐标和纵坐标,hxn和hyn为所述人体关键点I的第n级热度图中取值最大的像素点的横坐标和纵坐标,
Figure BDA0002280939870000023
为所述目标图像的横向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000024
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积。
可选地,所述神经网络模型的训练过程包括:
获取多个样本图像,以及每一样本图像中每个人体关键点的坐标;
针对每一样本图像,利用该样本图像中每个人体关键点的坐标,生成该样本图像中每个人体关键点的多级真值热度图;
分别将每一样本图像输入至训练中的所述神经网络模型,得到每一样本图像中每个人体关键点的多级预测热度图;
基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值;
基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
可选地,生成任一样本图像中每个人体关键点的多级真值热度图的方式包括:
针对该样本图像中每一人体关键点,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
针对该人体关键点的待生成的每一级真值热度图,生成一个矩阵M,所述矩阵M的尺寸与该级真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,如果所述距离大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的更新方式,更新该元素在所述矩阵M中的取值,所述预定的更新方式为该元素与所述目标元素之间的距离越小,更新后的值越大;其中,所述目标元素为在该矩阵M中与该人体关键点对应的元素。
可选地,所述利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标的步骤,包括:
按照预定的第二计算公式,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
其中,所述第二计算公式为:
当j=1时:
Figure BDA0002280939870000041
当n>j>1时:
Figure BDA0002280939870000042
当j=n时:
Figure BDA0002280939870000043
其中,(x′i-j,y′i-j)为第j级真值热度图中人体关键点i的映射坐标;
Figure BDA0002280939870000044
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000045
为所述目标图像横向尺寸与第n-j级热度图对应的映射比值的乘积,n为多级真值热度图的总级数;
并且,j=2时,
Figure BDA0002280939870000046
j大于2时,
Figure BDA0002280939870000047
可选地,所述利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离的步骤,包括:
按照预定的第三计算公式,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离;
所述按照预定的更新方式,更新该元素在所述矩阵M中的取值的步骤,包括:
按照预定的第四计算公式,计算该元素对应的更新值,并以该更新值作为该元素在所述矩阵M中的取值;
其中,所述第三计算公式包括:
Figure BDA0002280939870000051
其中,dab为所述矩阵M中元素P(b,a)与所述目标元素之间的距离,a为所述元素P所在行的序号,b为所述元素P所在列的序号,(x′i-j,y′i-j)为该人体关键点在该级真值热度图中的映射坐标;
所述第四计算公式包括:
Figure BDA0002280939870000052
其中,M[a][b]为所述元素P的取值。
第二方面,本发明实施例提供了一种人体关键点识别装置,包括:
图像获取模块,用于获取待识别人体关键点的目标图像;
热度图生成模块,用于利用预先训练的神经网络模型,生成所述目标图像中每个人体关键点的多级热度图;其中,所述多级热度图中各级热度图的尺寸相同且所述各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值;所述神经网络模型为基于样本图像,以及所述样本图像中每个人体关键点的多级真值热度图,所训练得到的模型;
坐标生成模块,用于按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,通过该人体关键点的多级热度图,从所述目标图像中逐级缩小区域以得到该人体关键点的规则。
可选地,所述坐标生成模块具体用于:
按照预定的第一计算公式,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;
其中,所述预定的第一计算公式包括:
Figure BDA0002280939870000061
Figure BDA0002280939870000062
其中,(Ix,Iy)为人体关键点I的坐标,n为所述多级热度图的级数,hxj和hyj为所述人体关键点I的第j级热度图中取值最大的像素点的横坐标和纵坐标,hxn和hyn为所述人体关键点I的第n级热度图中取值最大的像素点的横坐标和纵坐标,
Figure BDA0002280939870000063
为所述目标图像的横向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000064
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积。
可选地,所述神经网络模型通过训练模块训练完成;所述训练模块包括:
图像获得子模块,用于获取多个样本图像,以及每一样本图像中每个人体关键点的坐标;
真值图生成子模块,用于针对每一样本图像,利用该样本图像中每个人体关键点的坐标,生成该样本图像中每个人体关键点的多级真值热度图;
训练子模块,用于分别将每一样本图像输入至训练中的所述神经网络模型,得到每一样本图像中每个人体关键点的多级预测热度图;
损失值计算子模块,用于基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值;
判断子模块,用于基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
可选地,所述真值图生成子模块生成任一样本图像中每个人体关键点的多级真值热度图的方式包括:
针对该样本图像中每一人体关键点,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
针对该人体关键点的待生成的每一级真值热度图,生成一个矩阵M,所述矩阵M的尺寸与该级真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,如果所述距离大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的更新方式,更新该元素在所述矩阵M中的取值,所述预定的更新方式为该元素与所述目标元素之间的距离越小,更新后的值越大;其中,所述目标元素为在该矩阵M中与该人体关键点对应的元素。
可选地,所述真值图生成子模块利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标,包括:
按照预定的第二计算公式,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
其中,所述第二计算公式为:
当j=1时:
Figure BDA0002280939870000071
当n>j>1时:
Figure BDA0002280939870000072
当j=n时:
Figure BDA0002280939870000073
其中,(x′i-j,y′i-j)为第j级真值热度图中人体关键点i的映射坐标;
Figure BDA0002280939870000074
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000075
为所述目标图像横向尺寸与第n-j级热度图对应的映射比值的乘积,n为多级真值热度图的总级数;
并且,j=2时,
Figure BDA0002280939870000081
j大于2时,
Figure BDA0002280939870000082
可选地,所述真值图生成子模块利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,包括:
按照预定的第三计算公式,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离;
所述按照预定的更新方式,更新该元素在所述矩阵M中的取值的步骤,包括:
按照预定的第四计算公式,计算该元素对应的更新值,并以该更新值作为该元素在所述矩阵M中的取值;
其中,所述第三计算公式包括:
Figure BDA0002280939870000083
其中,dab为所述矩阵M中元素P(b,a)与所述目标元素之间的距离,a为所述元素P所在行的序号,b为所述元素P所在列的序号,(x′i-j,y′i-j)为该人体关键点在该级真值热度图中的映射坐标;
所述第四计算公式包括:
Figure BDA0002280939870000084
其中,M[a][b]为所述元素P的取值。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一人体关键点识别方法的步骤。
第四方面,本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一人体关键点识别方法的步骤。
第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一人体关键点识别方法。
本发明实施例所提供方案中,在识别目标图像中的人体关键点时,通过预先训练的神经网络模型,生成所述目标图像中每个人体关键点的多级热度图,其中,该多级热度图中各级热度图的尺寸相同且各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值;进而,按照预定的识别规则,基于该目标图像中每个人体关键点的多级热度图,确定该目标图像中的每个人体关键点的坐标。本方案中,多级热度图尺寸相同且各级热度图对应的映射比值逐级放大,相应的,多级热度图对应于目标图像中的区域逐级缩小,这样,在识别人体关键点时,可以通过多级热度图不断对候选区域进行逐级缩小,使得在多级热度图的尺寸较小的情况下,也能够保证较高的关键点识别精度。因此,通过本方案可以实现在模型复杂度较低的情况下,保证人体关键点识别的识别精准度的目的。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种人体关键点识别方法的流程图;
图2为本发明实施例所提供的神经网络模型的训练过程的流程图;
图3(a)为示例性给出的神经网络模型的一种结构图;
图3(b)为神经网络模型的训练过程的示意图;
图3(c)为示例性给出的多级热度图逐级缩小区域的界面示意图;
图4为本发明实施例所提供的一种人体关键点识别装置的示意图;
图5为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现在模型复杂度较低的情况下,保证人体关键点识别的识别精准度的目的,本发明实施例提供了一种人体关键点识别方法、装置及电子设备。
下面首先对本发明实施例所提供的一种人体关键点识别方法进行介绍。
其中,本发明实施例所提供的一种人体关键点识别方法的执行主体可以为一种人体关键点识别装置。该人体关键点识别装置可以应用于电子设备中。在具体应用中,该电子设备可以为终端设备或者服务器,这都是合理的。
另外,本发明实施例所涉及的人体关键点用于定位人体的身体关键部位,例如:头部、颈部、肩部、手部、腿部和/或脚部等部位;并且,针对任一身体关键部位,在定位该身体关键部位时,所需要的关键点可以为一个或多个。在不同的场景中,由于需要定位的身体关键部位不同,因此,人体关键点的具体位置以及数量可以不同,本发明实施例对此不做限定。
为了方便理解方案,首先介绍本发明实施例所提供方案的处理思路。为了解决现有技术问题,本方案的处理思路为:通过预先训练的神经网络模型,生成待识别的目标图像中每个人体关键点的多级热度图,该多级热度图的尺寸相同但各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值;进而,通过多级热度图,不断对候选区域进行逐级缩小,从而得到人体关键点。这样,在多级热度图的尺寸较小的情况下,也能够保证较高的关键点识别精度。因此,通过本方案可以实现在模型复杂度较低的情况下,保证人体关键点识别的识别精准度的目的。
如图1所示,本发明实施例所提供的一种人体关键点识别方法,可以包括如下步骤:
S101,获取待识别人体关键点的目标图像;
其中,待识别人体关键的目标图像为包含人体区域的图像。并且,该目标图像的尺寸可以为预先训练的神经网络模型的输入图像的尺寸,这样使得目标图像在输入神经网络模型时,无需尺寸调整,从而后续通过位移图和热度图结合所得到的人体关键点的坐标,为人体关键点在该目标图像中的坐标。
其中,获取待识别人体关键点的目标图像的方式存在多种。示例性的,获取待识别人体关键点的目标图像的方式可以包括:
获取原始图像;其中,该原始图像可以为视频的视频帧,或者,设备采集的图像,或者,通过网络下载的图像,等等;
对原始图像进行人体区域检测;
从该原始图像中提取所检测到的人体区域,并将所提取到的人体区域进行尺寸调整处理,得到待识别人体关键点的目标图像,该尺寸调整处理用于将尺寸调整为该神经网络模型的输入图像的尺寸。其中,对该原始图像进行人体区域检测所采用的具体实现方式可以为任一种能够从图像中检测人体区域的方式。例如:利用预先训练的人体区域检测模型,从该原始图像中检测人体区域,当然并不局限于此。
并且,由于从原始图像中所检测到的人体区域的大小不确定,而神经网络模型的输入图像为固定的尺寸,因此,为了作为神经网络模型的有效输入内容,在从该原始图像中提取所检测到的人体区域后,可以将所提取到的人体区域进行尺寸调整处理,得到待识别人体关键点的目标图像。所谓的尺寸调整处理所采用的算法可以为插值算法,该插值算法可以双线性插值或最邻近插值算法,当然并不局限于此。
S102,利用预先训练的神经网络模型,生成该目标图像中每个人体关键点的多级热度图;
其中,该多级热度图中各级热度图的尺寸相同,并且,各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值。另外,该神经网络模型为基于样本图像,以及该样本图像中每个人体关键点的多级真值热度图,所训练得到的模型。可以理解的是,该目标图像的尺寸与样本图像的尺寸相同;并且,该目标图像中每个人体关键点的多级热度图的尺寸,与样本图像中每个人体关键点的多级真值热度图的尺寸相同。
其中,任一人体关键点的多级热度图中每一级热度图均为:该人体关键点可能存在位置的概率分布图。并且,所谓的各级热度图对应的映射比值逐级放大具体指:相邻两级热度图,上一级热度图对应的映射比值为1/s1,下一级热度图对应的映射比值为1/s2,1/s2为1/s1的n倍,n大于等于2。示例性的,假设多级热度图为三级热度图,第1级热度图对应的映射比值为1/125,第2级热度图对应的映射比值为1/25,第3级热度图对应的映射比值为1/5,可见,第1级热度图对应的映射比值、第2级热度图对应的映射比值和第3级热度图对应的映射比值是逐级放大的,且相邻两级热度图对应的映射比值的放大倍数为5倍。
另外,在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值,可以表征:在横向和纵向中的每一方向上,该级热度图中一像素点映射到目标图像时与该像素点对应的映射点的数量。举例而言,假设目标图像为625*625,第1级热度图对应的映射比值为1/125,第2级热度图对应的映射比值为1/25,第3级热度图对应的映射比值为1/5,第4级热度图对应的映射比值为1/1,那么,在横向和纵向的每一方向上,第1级热度图中的一个像素点a映射到目标图像时与该像素点a相应的映射点的数量为125,第2级热度图中的一个像素点b映射到目标图像时与该像素点b相应的映射点的数量为25,第3级热度图中的一个像素点c映射到目标图像时与该像素点c相应的映射点的数量为5,第4级热度图中的一个像素点d映射到目标图像时与该像素点d相应的映射点的数量为1。也就是说,第1级热度图中一个点对应目标图像中125*125个像素点,第2级热度图中一个点对应目标图像中25*25个像素点,第3级热度图中一个点对应目标图像中5*5个像素点,第4级热度图中一个点对应目标图像中1*1个像素点。在具体应用中,神经网络模型的模型结构可以为多种。示例性的,在一种实现方式中,参见图3(a)所示,神经网络模型可以包括:特征提取网络和n个卷积组,n的取值为多级热度图的级别数量。这样,将一张图像输入特征提取网络,得到图像特征,即特征矩阵,然后,将图像特征分别输入n个卷积组,每一卷积组可以输出:所输入图像中每个人体关键点的一个级别热度图,最终通过n个卷积组,得到所输入图像中每个人体关键点的多级热度图。其中,特征提取网络可以包括但不局限于如下网络:LeNet、AlexNet、VGG、GoogLeNet、ResNet、MobileNet等特征提取网络。而N个卷积组中的每一卷积组可以由多个卷积组成,该多个卷积的具体数量可以根据实际情况设定。
为了方案清楚,以图3(a)所示的神经网络模型为例,示例性的介绍神经网络模型对图像的处理流程:
将wf×hf×3的图像输入至特征提取网络,输出
Figure BDA0002280939870000131
的特征矩阵,其中,3为图像的通道数,512为特征矩阵的数量,α为预设的缩小系数,α越小网络精度越高;
Figure BDA0002280939870000132
的特征矩阵,输入至卷积组1,输出
Figure BDA0002280939870000133
即输出M张
Figure BDA0002280939870000134
的第1级热度图,其中,M是人体关键点的个数;
Figure BDA0002280939870000135
的特征矩阵,输入至卷积组2,输出
Figure BDA0002280939870000136
即输出M张
Figure BDA0002280939870000137
的第2级热度图;
Figure BDA0002280939870000138
的特征矩阵,输入至卷积组n,输出
Figure BDA0002280939870000139
即输出M张
Figure BDA00022809398700001310
第n级热度图。
该示例中,相邻两级热度图,下一级热度相对上一级热度图,尺寸相同,但是精度逐级放大。
上述的介绍的神经网络模型的结构以及对图像的处理流程,仅仅作为示例,并不应该构成对本发明实施例的限定。
S103,按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定该目标图像中的每个人体关键点的坐标。
其中,该预定的识别规则为:针对每一人体关键点,通过该人体关键点的多级热度图,从该目标图像中逐级缩小区域以得到该人体关键点的规则。
示例性的,所述按照预定的识别规则,基于该目标图像中每个人体关键点的多级热度图,确定该目标图像中的每个人体关键点的坐标的步骤,可以包括:
按照预定的第一计算公式,基于该目标图像中每个人体关键点的多级热度图,确定该目标图像中的每个人体关键点的坐标;
其中,所述预定的第一计算公式包括:
Figure BDA0002280939870000141
Figure BDA0002280939870000142
其中,(Ix,Iy)为人体关键点I的坐标,n为该多级热度图的级数,hxj和hyj为该人体关键点I的第j级热度图中取值最大的像素点的横坐标和纵坐标,hxn和hyn为该人体关键点I的第n级热度图中取值最大的像素点的横坐标和纵坐标,
Figure BDA0002280939870000143
为该目标图像的横向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000144
为该目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积。
可以理解的是,任一级热度图中取值最大的像素点为属于人体关键点概率最高的点,因此,在利用多级热度图计算人体关键点的坐标时,可以利用各级热度图中取值最大的像素点,在上一级所确定的候选区域的基础上,进一步进行区域缩小。也就是说,利用第1级热度图可以从人体图中确定关键点所在的一候选区域,通过第2级热度图可以将利用第1级热度图所确定的候选区域进一步缩小,得到关键点所在的新的候选区域,而通过第3级热度图可以将利用第2级热度图所确定的候选区域再次缩小,以此类推,最终将利用最后一级热度图所确定出的候选区域确定为关键点所在的位置点。为了方案清楚,图3(c)示例性的给出了利用三级热度图逐级缩小区域,从而得到人体关键点的原理示意图。
本方案中,多级热度图尺寸相同且各级热度图对应的映射比值逐级放大,相应的,多级热度图对应于目标图像中的区域逐级缩小,这样,在识别人体关键点时,可以通过多级热度图不断对候选区域进行逐级缩小,使得在多级热度图的尺寸较小的情况下,也能够保证较高的关键点识别精度。因此,通过本方案可以实现在模型复杂度较低的情况下,保证人体关键点识别的识别精准度的目的。
为了方案清楚以及布局清晰,下面示例性的介绍神经网络模型的训练过程。
可选地,如图2所示,该神经网络模型的训练过程可以包括:
S201,获取多个样本图像,以及每一样本图像中每个人体关键点的坐标;
其中,样本图像的尺寸为神经网络模型的输入图像的尺寸。并且,样本图像可以为:对人体图进行尺寸调整后所得到的图像,该人体图为从一图像中所提取的人体图像区域。
可以理解的是,样本图像中每个人体关键点的坐标可以通过人工标注方式来确定,即通过人工标注方式,在样本图像中标注出各个人体关键点,从而获得样本图像中各个人体关键点的坐标。当然,由于样本图像可以为:对人体图进行尺寸调整后所得到的图像,因此,在一种实现方式中,样本图像中每个人体关键点的坐标的确定方式可以包括:
步骤一,确定图像库中参考图像的每个人体关键点的坐标:令P={P1,P2,P3,...,Pn}为样本图像的人体关键点的组合,其中,n为人体关键点的个数,Pi=(xi,yi)为第i个坐标;
其中,图像库中参考图像可以为视频中的视频帧,也可以为预先采集或下载的图像。
步骤二,确定参考图像中人体区域的区域信息:令区域信息为(xbbox,ybbox,wbbox,hbbox);
步骤三,将参考图像中每个人体关键点映射到人体区域中,得到人体区域中每个人体关键点的坐标:令P,={P’1,P’2,P’3,...,P’n}为人体区域的每个人体关键点的组合,P’i=(x’i,y’i)为第i个坐标,x’i=xi-xbbox,y’i=yi-ybbox
步骤四,将人体区域中每个人体关键点映射到该人体区域对应的样本图像中,得到样本图像中每个人体关键点的坐标。
其中,将人体区域中每个人体关键点的坐标映射到人体区域对应的样本图像的具体实现方式,可以采用:将两个尺寸的图像之间坐标点进行映射方式。举例而言:人体区域对应的样本图像的尺寸为m*n,人体区域的尺寸为(m/d1)*(n/d1),对于人体区域中的点k1(x1,y1),将k1点映射到人体区域对应的样本图像中,点k1在人体区域对应的样本图像中的映射点的坐标为(x1*d1,y1*d1)。
可以理解的是,参考图像中每个人体关键点的坐标可以通过人工标定方式来得到。
S202,针对每一样本图像,利用该样本图像中每个人体关键点的坐标,生成该样本图像中每个人体关键点的多级真值热度图;
为了布局清楚及方案清晰,后续介绍生成该样本图像中每个人体关键点的多级真值热度图的具体实现方式。
S203,分别将每一样本图像输入至训练中的该神经网络模型,得到每一样本图像中每个人体关键点的多级预测热度图;
在将每一样本图像输入至训练中的该神经网络模型后,该神经网络模型针对每一样本图像进行关键点信息识别。具体的,该神经网络模型对所接收到的样本图像提取特征矩阵,进而基于所提取的特征矩阵,生成该样本图像中每个人体关键点的多级预测热度图。
以图3(a)所示的模型结构为例,对神经网络模型处理所接收到的样本图像的过程进行介绍:
神经网络模型中的特征提取网络对该样本图像进行特征提取,得到特征矩阵,并将该特征矩阵分别输入至卷积组1-卷积组n,使得各个卷积组对特征矩阵进行卷积处理,得到每个人体关键点的多级预测热度图。
S204,基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值;
其中,基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值的具体实现方式存在多种。
示例性的,在一种实现方式中,所述基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值,可以包括:
针对每个多级预测热度图,执行如下操作:针对该多级预测热度图的每一级预测热度图,利用预定的损失函数,计算该级预测热度图与目标热度图的损失值,得到该级预测热度图的损失值;目标热度图为该多级预测热度图的多级真值热度图中相应级别的真值热度图;
针对每个多级预测热度图,将该多级预测热度图的每级预测热度图对应的损失值进行加权,得到该多级预测热度图的损失值;
将每个多级预测热度图的损失值进行加权,计算综合损失值。
其中,预定的损失函数可以包括但不局限于:平方损失函数、对数损失函数或指数损失函数,等等。另外,加权所利用的权重可以根据实际情况设定,在此不做限定。
S205,基于综合损失值,判断训练中的神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整神经网络模型的网络参数,继续训练神经网络模型。
其中,基于该综合损失值,判断训练中的该神经网络模型是否收敛具体可以为:判断该综合损失值是否小于预设阈值,如果小于,判定训练中的该神经网络模型收敛,否则,判定训练中的该神经网络模型未收敛。当判定训练中的该神经网络模型未收敛时,可以调整该神经网络模型的网络参数,继续训练该神经网络模型。所谓继续训练该神经网络模型,即返回执行分别将每一样本图像输入至训练中的该神经网络模型,得到每一样本图像中每个人体关键点的预测热度图和预测位移图的步骤。
关于神经网络模型的训练过程可以参见图3(b)所示的示意图,其中,以一个关键点为例,给出了多级预测热度图与多级真值热度图之间的综合损失值的计算流程。
可选地,在一种实现方式中,任一样本图像中每个人体关键点的多级真值热度图的生成方式,可以包括:
针对该样本图像中每一人体关键点,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
针对该人体关键点的待生成的每一级真值热度图,生成一个矩阵M,该矩阵M的尺寸与该级真值热度图的尺寸相同;
遍历该矩阵M中的每一元素,在遍历到每一元素时,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,如果该距离大于预定阈值,将该元素在该矩阵M中的取值设置为0,否则,按照预定的更新方式,更新该元素在所述矩阵M中的取值,该预定的更新方式为该元素与该目标元素之间的距离越小,更新后的值越大;其中,该目标元素为在该矩阵M中与该人体关键点对应的元素。
其中,该目标元素具体为:在矩阵M中,具有第一坐标的元素,该第一坐标为该人体关键点在该级真值热度图中的映射坐标。并且,矩阵M中各个元素的初始值可以为0,当然并不局限于此,例如:初始值可以为1、10、100等等,这都是合理的。
针对上述实现方式可知,对于一个人体关键点而言,在生成该人体关键点的多级真值热度图时,首先确定该人体关键点在各级真值热度图中的映射坐标;进而,在生成该人体关键点的每一级真值热度图时,初始化一个矩阵,根据矩阵中各个元素与该人体关键点所对应的元素的距离关系,来为矩阵中各个元素进行取值,该取值即为各个元素属于人体关键点的映射坐标的概率,这样,便形成了一级的真值热度图。
示例性的,在一种实现方式中,所述利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标的步骤,可以包括:
按照预定的第二计算公式,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
其中,所述第二计算公式为:
当j=1时:
Figure BDA0002280939870000191
当n>j>1时:
Figure BDA0002280939870000192
当j=n时:
Figure BDA0002280939870000193
其中,(x′i-j,y′i-j)为第j级真值热度图中人体关键点i的映射坐标;
Figure BDA0002280939870000194
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000195
为所述目标图像横向尺寸与第n-j级热度图对应的映射比值的乘积,n为多级真值热度图的总级数;
并且,j=2时,
Figure BDA0002280939870000196
j大于2时,
Figure BDA0002280939870000197
通过该计算公式可知,针对相邻两级热度图而言,在计算人体关键点在下一级热度图中的映射坐标时,利用上一级映射坐标时的余数,这样使得该下一级热度图中的映射坐标为:将该人体关键点在该下一级热度图所对应区域内的坐标映射到该下一级热度图所得的坐标。
另外,所述利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离的步骤,可以包括:
按照预定的第三计算公式,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离;
所述按照预定的更新方式,更新该元素在所述矩阵M中的取值的步骤,包括:
按照预定的第四计算公式,计算该元素对应的更新值,并以该更新值作为该元素在所述矩阵M中的取值;
其中,所述第三计算公式包括:
Figure BDA0002280939870000201
其中,dab为该矩阵M中元素P(b,a)与该目标元素之间的距离,a为元素P所在行的序号,b为元素P所在列的序号,(x′i-j,y′i-j)为该人体关键点在该级真值热度图中的映射坐标;
该第四计算公式包括:
Figure BDA0002280939870000202
其中,M[a][b]为该元素P的取值。
下面结合一个具体示例,对本发明实施例所提供的人体关键点识别方法进行介绍。
假设待识别图像为图像K,预先训练的神经网络模型的输入图像的尺寸为625*625,所输出多级热度图为四级热度图。假设该四级热度图中,各级热度图的尺寸为5*5,并且,第1级热度图对应的映射比值为1/125,第2级热度图对应的映射比值为1/25,第3级热度图对应的映射比值为1/5,第4级热度图对应的映射比值为1/1。
那么,利用本发明实施例所提供的人体关键点识别方法来识别该目标图像中关键点的过程包括:
获得待识别人体关键点的图像K,该图像K的尺寸为625*625;
将目标图像输入至预先训练的神经网络模型,得到该目标图像中每个人体关键点的四级热度图,即尺寸为5*5的第1级热度图、第2级热度图、第3级热度图和第4级热度图;
按照预定的第一计算公式,基于该目标图像中每个人体关键点的四级热度图,确定该目标图像中的每个人体关键点的坐标。
假设目标图像中一人体关键点P的真实坐标为(423,410)。通过神经网络模型生成该人体关键点P的四级热度图,其中,第1级热度图中取值最大的像素点的坐标为(3,3),第2级热度图中取值最大的像素点的坐标为(1,1),第3级热度图中取值最大的像素点的坐标为(4,2),第4级热度图中取值最大的像素点的坐标为(3,0)。那么,按照预定的第一计算公式,基于各级热度图中取值最大的像素点的坐标,对于点P的坐标的计算过程如下:
Figure BDA0002280939870000211
Figure BDA0002280939870000212
综上可见,计算得到的人体关键点P的坐标为(423,410),计算得到的人体关键点P的坐标与真实坐标相同。
其中,各级热度图中取值最大的像素点的确定方式如下:
由上述的任一样本图像中每个人体关键点的多级真值热度图的生成方式,可知:
针对第1级热度图而言,按照上述的第二计算公式,人体关键点P在第1级热度图中的映射坐标(x′i-1,y′i-1)计算过程如下:
Figure BDA0002280939870000213
Figure BDA0002280939870000214
可见,人体关键点P在第1级热度图中的映射坐标(x′i-1,y′i-1)为(3,3),那么,第1级热度图中取值最大的像素点的坐标为(3,3)。
针对第2级热度图而言,按照上述的第二计算公式,人体关键点P在第2级热度图中的映射坐标(x′i-2,y′i-2)计算过程如下:
Figure BDA0002280939870000215
Figure BDA0002280939870000216
可见,人体关键点P在第2级热度图中的映射坐标(x′i-2,y′i-2)为(1,1),那么,第2级热度图中取值最大的像素点的坐标为(1,1)。
针对第3级热度图而言,按照上述的第二计算公式,人体关键点P在第3级热度图中的映射坐标(x′i-3,y′i-3)计算过程如下:
Figure BDA0002280939870000221
Figure BDA0002280939870000222
可见,人体关键点P在第3级热度图中的映射坐标(x′i-3,y′i-3)为(4,2),那么,第3级热度图中取值的像素点的坐标为(4,2);
针对第4级热度图而言,按照上述的第二计算公式,可知人体关键点P在第4级热度图的映射坐标(x′i-4,y′i-4)的计算过程如下:
Figure BDA0002280939870000223
Figure BDA0002280939870000224
可见,第4级热度图中取值最大的像素点的坐标(x′i-4,y′i-4)为(3,0)。
并且,需要说明的是,由于第1级热度图对应的映射比值为1/125,即第1级热度图中一个点对应目标图像中125*125个像素点,且热度图的尺寸为5*5,因此,第1级热度图对应的区域的尺寸为625*625。由于第2级热度图对应的映射比值为1/25,即第2级热度图中一个点对应目标图像中(25*25个像素点,且热度图的尺寸5*5,因此,第2级热度图对应的区域的尺寸为125*125。由于第3级热度图对应的映射比值为1/5,即第3级热度图中一个点对应目标图像中5*5个像素点,且热度图的尺寸为5*5,因此,第3级热度图对应的区域的尺寸为25*25。由于第4级热度图对应的映射比值为1/1,即第4级热度图中一个点对应于目标图像中1*1个像素点,且热度图尺寸为5*5,因此,第4级热度图对应的区域的尺寸为5*5。也就是说,各级热度图所针对的目标图像中的区域逐级缩小。这样,通过人体关键点P的多级热度图,利用第一计算公式,可以从目标图像中逐级缩小区域以得到该人体关键点P。
相应于上述方法实施例,如图4所示,本发明实施例还提供了一种人体关键点识别装置。如图4所示,该人体关键点识别装置,可以包括:
图像获取模块410,用于获取待识别人体关键点的目标图像;
热度图生成模块420,用于利用预先训练的神经网络模型,生成所述目标图像中每个人体关键点的多级热度图;其中,所述多级热度图中各级热度图的尺寸相同且所述各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值;所述神经网络模型为基于样本图像,以及所述样本图像中每个人体关键点的多级真值热度图,所训练得到的模型;
坐标生成模块430,用于按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,通过该人体关键点的多级热度图,从所述目标图像中逐级缩小区域以得到该人体关键点的规则。
可选地,所述坐标生成模块430具体用于:
按照预定的第一计算公式,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;
其中,所述预定的第一计算公式包括:
Figure BDA0002280939870000231
Figure BDA0002280939870000241
其中,(Ix,Iy)为人体关键点I的坐标,n为所述多级热度图的级数,hxj和hyj为所述人体关键点I的第j级热度图中取值最大的像素点的横坐标和纵坐标,hxn和hyn为所述人体关键点I的第n级热度图中取值最大的像素点的横坐标和纵坐标,
Figure BDA0002280939870000242
为所述目标图像的横向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000243
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积。
可选地,所述神经网络模型通过训练模块训练完成;所述训练模块包括:
图像获得子模块,用于获取多个样本图像,以及每一样本图像中每个人体关键点的坐标;
真值图生成子模块,用于针对每一样本图像,利用该样本图像中每个人体关键点的坐标,生成该样本图像中每个人体关键点的多级真值热度图;
训练子模块,用于分别将每一样本图像输入至训练中的所述神经网络模型,得到每一样本图像中每个人体关键点的多级预测热度图;
损失值计算子模块,用于基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值;
判断子模块,用于基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
可选地,所述真值图生成子模块生成任一样本图像中每个人体关键点的多级真值热度图的方式包括:
针对该样本图像中每一人体关键点,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
针对该人体关键点的待生成的每一级真值热度图,生成一个矩阵M,所述矩阵M的尺寸与该级真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,如果所述距离大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的更新方式,更新该元素在所述矩阵M中的取值,所述预定的更新方式为该元素与所述目标元素之间的距离越小,更新后的值越大;其中,所述目标元素为在该矩阵M中与该人体关键点对应的元素。
可选地,所述真值图生成子模块利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标,包括:
按照预定的第二计算公式,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
其中,所述第二计算公式为:
当j=1时:
Figure BDA0002280939870000251
当n>j>1时:
Figure BDA0002280939870000252
当j=n时:
Figure BDA0002280939870000253
其中,(x′i-j,y′i-j)为第j级真值热度图中人体关键点i的映射坐标;
Figure BDA0002280939870000254
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure BDA0002280939870000255
为所述目标图像横向尺寸与第n-j级热度图对应的映射比值的乘积,n为多级真值热度图的总级数;
并且,j=2时,
Figure BDA0002280939870000256
j大于2时,
Figure BDA0002280939870000257
可选地,所述真值图生成子模块利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,包括:
按照预定的第三计算公式,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离;
所述按照预定的更新方式,更新该元素在所述矩阵M中的取值的步骤,包括:
按照预定的第四计算公式,计算该元素对应的更新值,并以该更新值作为该元素在所述矩阵M中的取值;
其中,所述第三计算公式包括:
Figure BDA0002280939870000261
其中,dab为所述矩阵M中元素P(b,a)与所述目标元素之间的距离,a为所述元素P所在行的序号,b为所述元素P所在列的序号,(x′i-j,y′i-j)为该人体关键点在该级真值热度图中的映射坐标;
所述第四计算公式包括:
Figure BDA0002280939870000262
其中,M[a][b]为所述元素P的取值。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例所提供的任一种人体关键点识别方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的任一种人体关键点识别方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本发明实施例所提供的任一种人体关键点识别方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的每个实施例均采用相关的方式描述,每个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、存储介质及程序产品而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (13)

1.一种人体关键点识别方法,其特征在于,包括:
获取待识别人体关键点的目标图像;
利用预先训练的神经网络模型,生成所述目标图像中每个人体关键点的多级热度图;其中,所述多级热度图中各级热度图的尺寸相同且所述各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值;所述神经网络模型为基于样本图像,以及所述样本图像中每个人体关键点的多级真值热度图,所训练得到的模型;
按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,通过该人体关键点的多级热度图,从所述目标图像中逐级缩小区域以得到该人体关键点的规则。
2.根据权利要求1所述的方法,其特征在于,所述按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标的步骤,包括:
按照预定的第一计算公式,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;
其中,所述预定的第一计算公式包括:
Figure FDA0002280939860000011
Figure FDA0002280939860000012
其中,(Ix,Iy)为人体关键点I的坐标,n为所述多级热度图的级数,hxj和hyj为所述人体关键点I的第j级热度图中取值最大的像素点的横坐标和纵坐标,hxn和hyn为所述人体关键点I的第n级热度图中取值最大的像素点的横坐标和纵坐标,
Figure FDA0002280939860000021
为所述目标图像的横向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure FDA0002280939860000022
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积。
3.根据权利要求1或2所述的方法,其特征在于,所述神经网络模型的训练过程包括:
获取多个样本图像,以及每一样本图像中每个人体关键点的坐标;
针对每一样本图像,利用该样本图像中每个人体关键点的坐标,生成该样本图像中每个人体关键点的多级真值热度图;
分别将每一样本图像输入至训练中的所述神经网络模型,得到每一样本图像中每个人体关键点的多级预测热度图;
基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值;
基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
4.根据权利要求3所述的方法,其特征在于,生成任一样本图像中每个人体关键点的多级真值热度图的方式包括:
针对该样本图像中每一人体关键点,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
针对该人体关键点的待生成的每一级真值热度图,生成一个矩阵M,所述矩阵M的尺寸与该级真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,如果所述距离大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的更新方式,更新该元素在所述矩阵M中的取值,所述预定的更新方式为该元素与所述目标元素之间的距离越小,更新后的值越大;其中,所述目标元素为在该矩阵M中与该人体关键点对应的元素。
5.根据权利要求4所述的方法,其特征在于,所述利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标的步骤,包括:
按照预定的第二计算公式,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
其中,所述第二计算公式为:
当j=1时:
Figure FDA0002280939860000031
当n>j>1时:
Figure FDA0002280939860000032
当j=n时:
Figure FDA0002280939860000033
其中,(x′i-j,y′i-j)为第j级真值热度图中人体关键点i的映射坐标;
Figure FDA0002280939860000034
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure FDA0002280939860000035
为所述目标图像横向尺寸与第n-j级热度图对应的映射比值的乘积,n为多级真值热度图的总级数;
并且,j=2时,
Figure FDA0002280939860000036
j大于2时,
Figure FDA0002280939860000037
6.根据权利要求4所述的方法,其特征在于,所述利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离的步骤,包括:
按照预定的第三计算公式,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离;
所述按照预定的更新方式,更新该元素在所述矩阵M中的取值的步骤,包括:
按照预定的第四计算公式,计算该元素对应的更新值,并以该更新值作为该元素在所述矩阵M中的取值;
其中,所述第三计算公式包括:
Figure FDA0002280939860000041
其中,dab为所述矩阵M中元素P(b,a)与所述目标元素之间的距离,a为所述元素P所在行的序号,b为所述元素P所在列的序号,(x′i-j,y′i-j)为该人体关键点在该级真值热度图中的映射坐标;
所述第四计算公式包括:
Figure FDA0002280939860000042
其中,M[a][b]为所述元素P的取值。
7.一种人体关键点识别装置,其特征在于,包括:
图像获取模块,用于获取待识别人体关键点的目标图像;
热度图生成模块,用于利用预先训练的神经网络模型,生成所述目标图像中每个人体关键点的多级热度图;其中,所述多级热度图中各级热度图的尺寸相同且所述各级热度图对应的映射比值逐级放大,每级热度图对应的映射比值为在横向和纵向中的每一方向上,该级热度图中像素点相对于目标图像中像素点的映射比值;所述神经网络模型为基于样本图像,以及所述样本图像中每个人体关键点的多级真值热度图,所训练得到的模型;
坐标生成模块,用于按照预定的识别规则,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,通过该人体关键点的多级热度图,从所述目标图像中逐级缩小区域以得到该人体关键点的规则。
8.根据权利要求7所述的装置,其特征在于,所述坐标生成模块具体用于:
按照预定的第一计算公式,基于所述目标图像中每个人体关键点的多级热度图,确定所述目标图像中的每个人体关键点的坐标;
其中,所述预定的第一计算公式包括:
Figure FDA0002280939860000051
Figure FDA0002280939860000052
其中,(Ix,Iy)为人体关键点I的坐标,n为所述多级热度图的级数,hxj和hyj为所述人体关键点I的第j级热度图中取值最大的像素点的横坐标和纵坐标,hxn和hyn为所述人体关键点I的第n级热度图中取值最大的像素点的横坐标和纵坐标,
Figure FDA0002280939860000053
为所述目标图像的横向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure FDA0002280939860000054
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积。
9.根据权利要求7或8所述的装置,其特征在于,所述神经网络模型通过训练模块训练完成;所述训练模块包括:
图像获得子模块,用于获取多个样本图像,以及每一样本图像中每个人体关键点的坐标;
真值图生成子模块,用于针对每一样本图像,利用该样本图像中每个人体关键点的坐标,生成该样本图像中每个人体关键点的多级真值热度图;
训练子模块,用于分别将每一样本图像输入至训练中的所述神经网络模型,得到每一样本图像中每个人体关键点的多级预测热度图;
损失值计算子模块,用于基于每一样本图像中每个人体关键点的多级真值热度图与多级预测热度图的差异,计算综合损失值;
判断子模块,用于基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
10.根据权利要求9所述的装置,其特征在于,所述真值图生成子模块生成任一样本图像中每个人体关键点的多级真值热度图的方式包括:
针对该样本图像中每一人体关键点,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
针对该人体关键点的待生成的每一级真值热度图,生成一个矩阵M,所述矩阵M的尺寸与该级真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,如果所述距离大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的更新方式,更新该元素在所述矩阵M中的取值,所述预定的更新方式为该元素与所述目标元素之间的距离越小,更新后的值越大;其中,所述目标元素为在该矩阵M中与该人体关键点对应的元素。
11.根据权利要求10所述的装置,其特征在于,所述真值图生成子模块利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标,包括:
按照预定的第二计算公式,利用该人体关键点在该样本图像中的坐标,确定该人体关键点在各级真值热度图中的映射坐标;
其中,所述第二计算公式为:
当j=1时:
Figure FDA0002280939860000061
当n>j>1时:
Figure FDA0002280939860000062
当j=n时:
Figure FDA0002280939860000063
其中,(x′i-j,y′i-j)为第j级真值热度图中人体关键点i的映射坐标;
Figure FDA0002280939860000064
为所述目标图像的纵向尺寸与第n-j级热度图对应的映射比值的乘积,
Figure FDA0002280939860000071
为所述目标图像横向尺寸与第n-j级热度图对应的映射比值的乘积,n为多级真值热度图的总级数;
并且,j=2时,
Figure FDA0002280939860000072
j大于2时,
Figure FDA0002280939860000073
12.根据权利要求10所述的装置,其特征在于,所述真值图生成子模块利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离,包括:
按照预定的第三计算公式,利用该人体关键点在该级真值热度图中的映射坐标,计算该元素与目标元素之间的距离;
所述按照预定的更新方式,更新该元素在所述矩阵M中的取值的步骤,包括:
按照预定的第四计算公式,计算该元素对应的更新值,并以该更新值作为该元素在所述矩阵M中的取值;
其中,所述第三计算公式包括:
Figure FDA0002280939860000074
其中,dab为所述矩阵M中元素P(b,a)与所述目标元素之间的距离,a为所述元素P所在行的序号,b为所述元素P所在列的序号,(x′i-j,y′i-j)为该人体关键点在该级真值热度图中的映射坐标;
所述第四计算公式包括:
Figure FDA0002280939860000075
其中,M[a][b]为所述元素P的取值。
13.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
CN201911141025.2A 2019-11-20 2019-11-20 一种人体关键点识别方法、装置及电子设备 Active CN110929638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911141025.2A CN110929638B (zh) 2019-11-20 2019-11-20 一种人体关键点识别方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911141025.2A CN110929638B (zh) 2019-11-20 2019-11-20 一种人体关键点识别方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110929638A CN110929638A (zh) 2020-03-27
CN110929638B true CN110929638B (zh) 2023-03-07

Family

ID=69850403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911141025.2A Active CN110929638B (zh) 2019-11-20 2019-11-20 一种人体关键点识别方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110929638B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523468B (zh) * 2020-04-23 2023-08-08 北京百度网讯科技有限公司 人体关键点识别方法和装置
CN112749658A (zh) * 2020-04-30 2021-05-04 杨九妹 大数据金融安防系统行人行为分析方法、系统及机器人
CN114529795A (zh) * 2020-11-04 2022-05-24 复旦大学 一种基于优化热度图监督机制的服饰关键点检测方法
CN112949382A (zh) * 2021-01-22 2021-06-11 深圳市商汤科技有限公司 摄像头移动的检测方法及设备、电子设备
CN115170911B (zh) * 2022-09-06 2022-12-30 浙江大学湖州研究院 一种基于图像识别的人体关键部位定位系统及方法
CN116051364B (zh) * 2022-12-14 2024-03-29 长沙观谱红外科技有限公司 一种红外图像处理方法及存储介质
CN116052209B (zh) * 2022-12-14 2024-03-29 长沙观谱红外科技有限公司 一种红外图像和标准3d人体模型的处理方法及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017133009A1 (zh) * 2016-02-04 2017-08-10 广州新节奏智能科技有限公司 一种基于卷积神经网络的深度图像人体关节定位方法
CN108229445A (zh) * 2018-02-09 2018-06-29 深圳市唯特视科技有限公司 一种基于级联金字塔网络的多人姿态估计方法
CN108520251A (zh) * 2018-04-20 2018-09-11 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN110276316A (zh) * 2019-06-26 2019-09-24 电子科技大学 一种基于深度学习的人体关键点检测方法
CN110287846A (zh) * 2019-06-19 2019-09-27 南京云智控产业技术研究院有限公司 一种基于注意力机制的人脸关键点检测方法
EP3547211A1 (en) * 2018-03-30 2019-10-02 Naver Corporation Methods for training a cnn and classifying an action performed by a subject in an inputted video using said cnn
CN110348412A (zh) * 2019-07-16 2019-10-18 广州图普网络科技有限公司 一种关键点定位方法、装置、电子设备及存储介质
CN110443170A (zh) * 2019-07-24 2019-11-12 北京奇艺世纪科技有限公司 一种人体关键点确定方法、装置及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229488B (zh) * 2016-12-27 2021-01-01 北京市商汤科技开发有限公司 用于检测物体关键点的方法、装置及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017133009A1 (zh) * 2016-02-04 2017-08-10 广州新节奏智能科技有限公司 一种基于卷积神经网络的深度图像人体关节定位方法
CN108229445A (zh) * 2018-02-09 2018-06-29 深圳市唯特视科技有限公司 一种基于级联金字塔网络的多人姿态估计方法
EP3547211A1 (en) * 2018-03-30 2019-10-02 Naver Corporation Methods for training a cnn and classifying an action performed by a subject in an inputted video using said cnn
CN108520251A (zh) * 2018-04-20 2018-09-11 北京市商汤科技开发有限公司 关键点检测方法及装置、电子设备和存储介质
CN110287846A (zh) * 2019-06-19 2019-09-27 南京云智控产业技术研究院有限公司 一种基于注意力机制的人脸关键点检测方法
CN110276316A (zh) * 2019-06-26 2019-09-24 电子科技大学 一种基于深度学习的人体关键点检测方法
CN110348412A (zh) * 2019-07-16 2019-10-18 广州图普网络科技有限公司 一种关键点定位方法、装置、电子设备及存储介质
CN110443170A (zh) * 2019-07-24 2019-11-12 北京奇艺世纪科技有限公司 一种人体关键点确定方法、装置及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《European Conference on Computer Vision》;Bulat A等;《European Conference on Computer Vision》;20161231;全文 *
《基于HSV 色彩空间同态滤波的行进中车牌定位研究》;田原嫄等;《拖拉机与农用运输车》;20160229;第43卷(第1期);全文 *
《基于深度残差和特征金字塔网络的实时多人脸关键点定位算法》;谢金衡等;《计算机应用》;20190822;第39卷(第12期);全文 *

Also Published As

Publication number Publication date
CN110929638A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN110929638B (zh) 一种人体关键点识别方法、装置及电子设备
CN111079570B (zh) 一种人体关键点识别方法、装置及电子设备
US11954152B2 (en) Video matching methods and apparatuses, and blockchain-based infringement evidence storage methods and apparatuses
CN111027412B (zh) 一种人体关键点识别方法、装置及电子设备
CN111860398B (zh) 遥感图像目标检测方法、系统及终端设备
CN110909663B (zh) 一种人体关键点识别方法、装置及电子设备
CN110909664A (zh) 一种人体关键点识别方法、装置及电子设备
CN110222780B (zh) 物体检测方法、装置、设备和存储介质
CN110969100A (zh) 一种人体关键点识别方法、装置及电子设备
CN110909665A (zh) 一种多任务的图像处理方法、装置、电子设备及存储介质
CN111899203B (zh) 基于标注图在无监督训练下的真实图像生成方法及存储介质
TWI803243B (zh) 圖像擴增方法、電腦設備及儲存介質
CN117057443B (zh) 视觉语言模型的提示学习方法及电子设备
CN115797735A (zh) 目标检测方法、装置、设备和存储介质
CN113313117B (zh) 一种识别文本内容的方法及装置
CN111222558A (zh) 图像处理方法及存储介质
CN109359542B (zh) 基于神经网络的车辆损伤级别的确定方法及终端设备
CN113076823B (zh) 一种年龄预测模型的训练方法、年龄预测方法及相关装置
CN113392455B (zh) 基于深度学习的户型图比例尺检测方法、装置及电子设备
CN111738272A (zh) 一种目标特征提取方法、装置及电子设备
US20210124974A1 (en) Method, apparatus, and device for processing image and storage medium
CN114021634A (zh) 一种数据增广策略选择方法、装置及系统
CN110992371B (zh) 一种基于先验信息的人像分割方法、装置及电子设备
CN115641573B (zh) 一种文本排序方法、装置、电子设备和存储介质
CN112016599B (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