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

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

Info

Publication number
CN110969100B
CN110969100B CN201911141747.8A CN201911141747A CN110969100B CN 110969100 B CN110969100 B CN 110969100B CN 201911141747 A CN201911141747 A CN 201911141747A CN 110969100 B CN110969100 B CN 110969100B
Authority
CN
China
Prior art keywords
human body
key point
map
value
diagram
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
CN201911141747.8A
Other languages
English (en)
Other versions
CN110969100A (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 CN201911141747.8A priority Critical patent/CN110969100B/zh
Publication of CN110969100A publication Critical patent/CN110969100A/zh
Application granted granted Critical
Publication of CN110969100B publication Critical patent/CN110969100B/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/08Learning methods

Landscapes

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

Abstract

本发明实施例提供了一种人体关键点识别方法、装置及电子设备,应用于图像处理领域。该方法包括:获得待识别人体关键点的图像;对图像进行人体图提取处理,得到待利用的目标人体图;利用预先训练的神经网络模型,对目标人体图进行关键点信息识别,得到目标人体图中每个人体关键点的热度图和位移图;按照预定的识别规则,基于目标人体图中每个人体关键点的热度图和位移图,确定目标人体图中每个人体关键点的坐标;基于目标人体图中每个人体关键点的坐标,确定图像中每个人体关键点的坐标。通过本方案,可以实现在模型复杂度较低的情况下,保证人体关键点的识别精准度的目的。

Description

一种人体关键点识别方法、装置及电子设备
技术领域
本发明涉及图像处理技术领域,特别是涉及一种人体关键点识别方法、装置及电子设备。
背景技术
人体关键点识别是动作识别、异常行为检测、安防等的实现基础,其主要用于从给定的图像中定位人体的身体关键部位,例如头部、颈部、肩部、手部等部位。
现有技术中,在识别人体关键点时,从待识别图像中提取包含人体数据的人体图,通过预先训练的神经网络模型,生成该人体图中每个人体关键点的单张的热度图heatmap,进而,基于每个人体关键点的单张的热度图,确定每个人体关键点的坐标。其中,任一人体关键点的热度图为该人体关键点可能存在的位置的概率分布图。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
人体关键点的识别精度和模型复杂度无法同时保证,具体体现在:如果关键点的识别精准度较高,那么,热度图的尺寸需要较大,这样导致所利用的数据生成模型的复杂度会较高。
因此,如何在模型复杂度较低的情况下,保证人体关键点的识别精准度,是一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种人体关键点识别方法、装置及电子设备,以实现在模型复杂度较低的情况下,保证人体关键点的识别精准度的目的。具体技术方案如下:
第一方面,本发明实施例提供了一种人体关键点识别方法,包括:
获得待识别人体关键点的图像;
对所述图像进行人体图提取处理,得到待利用的目标人体图;
利用预先训练的神经网络模型,对所述目标人体图进行关键点信息识别,得到所述目标人体图中每个人体关键点的热度图和位移图;其中,任一人体关键点的位移图中的每个点与所述目标人体图中的一个区域块具有唯一映射关系,且每个点用于表征该点所映射的区域块相对于该人体关键点的全局偏移量;所述神经网络模型为基于样本人体图,以及所述样本人体图中每个人体关键点的真值热度图和真值位移图,所训练得到的模型;
按照预定的识别规则,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,基于该人体关键点的热度图确定候选区域并基于该人体关键点的位移图所表征的全局偏移量从所述候选区域确定该人体关键点的坐标的规则;
基于所述目标人体图中每个人体关键点的坐标,确定所述图像中每个人体关键点的坐标。
可选地,对所述图像进行人体图提取处理,得到待利用的目标人体图,包括:
对所述图像进行人体区域检测;
从所述图像中提取所检测到的人体区域,并将所提取到的人体区域进行尺寸调整处理,得到待利用的目标人体图,所述尺寸调整处理用于将尺寸调整为所述神经网络模型的输入图像的尺寸。
可选地,任一人体关键点的位移图包括x轴方向的位移图和y轴方向的位移图;
所述按照预定的识别规则,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标的步骤,包括:
按照预定的第一计算公式,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;
其中,所述第一计算公式包括:
Ix=hx×s1+ox;
Iy=hy×s2+oy;
其中,(Ix,Iy)为人体关键点I的坐标,(hx,hy)为所述人体关键点I的热度图中取值最大的像素点的坐标,ox为所述人体关键点I的x轴方向的位移图中,取值的绝对值最小的列的序号,oy为所述人体关键点I的y轴方向的位移图中,取值的绝对值最小的行的序号;s1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,s2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数。
可选地,所述神经网络模型的训练过程包括:
获得多个样本人体图,以及每一样本人体图中每个人体关键点的坐标;
针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图和真值位移图;
分别将每一样本人体图输入至训练中的所述神经网络模型,得到每一样本人体图中每个人体关键点的预测热度图和预测位移图;
基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值;
基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
可选地,所述基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值的步骤,包括:
针对每一样本人体图,对该样本人体图中每个人体关键点的真值热度图进行预定的蒙版生成处理,得到该样本人体图中每个人体关键点的真值蒙版图,以及对该样本人体图中每个人体关键点的预测热度图进行所述蒙版生成处理,得到该样本人体图中每个人体关键点的预测蒙版图;其中,所述蒙版生成处理包括:将不为0的像素点调整为1;
针对每一样本人体图,将该样本人体图中每个人体关键点的真值位移图,与同一人体关键点的真值蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的真值位移图,以及,将该样本人体图中每个人体关键点的预测位移图,与同一人体关键点的预测蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的预测位移图;
基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及调整后的真值位移图与调整后的预测位移图的差异,计算综合损失值。
可选地,针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图的方式,包括:
针对每一样本人体图,按照预定的真值热度图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图;
其中,所述真值热度图生成方式,包括:
针对待生成真值热度图的人体关键点,生成一个矩阵M,所述矩阵M的尺寸与待生成真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,按照预定的第二计算公式,计算该元素的取值参考值,如果该元素的取值参考值大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的第三计算公式,计算该元素的取值,将该元素在所述矩阵M中的取值设置为所计算的取值;
在遍历完毕所述矩阵M中所有元素后,将当前的所述矩阵M,作为该人体关键点的真值热度图;
所述第二计算公式包括:
Figure BDA0002281131390000041
其中,dab为所述矩阵M中元素P(b,a)的取值参考值,a为所述元素P所在行的序号,b为所述元素P所在列的序号,
Figure BDA0002281131390000042
(xi′,yi′)为待生成真值热度图的人体关键点i的坐标,round()为用于四舍五入运算的函数;α1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,α2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数;
所述第三计算公式包括:
Figure BDA0002281131390000051
其中,M[a][b]为所述元素P的取值。
可选地,针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图的方式,包括:
针对每一样本人体图,按照预定的真值位移图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图;
其中,所述真值位移图生成方式,包括:
针对待生成真值位移图的人体关键点,生成两个尺寸相同的矩阵Mx和My,所述矩阵Mx和My的尺寸与待生成真值位移图的尺寸相同;
遍历所述矩阵Mx中的每一元素,在遍历到每一元素时,利用预定的第四计算公式,计算该元素的取值,并将该元素在所述矩阵Mx中的取值设置为所计算的取值;在遍历完毕所述矩阵Mx中所有元素后,将当前的所述矩阵Mx作为该人体关键点的x轴方向的真值位移图;
遍历所述矩阵My中的每一元素,在遍历到每一元素时,利用预定的第五计算公式,计算该元素的取值,将该元素在所述矩阵My中的取值设置为所计算的取值;在遍历完毕所述矩阵My中所有元素后,将当前的所述矩阵My作为该人体关键点的y轴方向的真值位移图;
其中,所述第四计算公式包括:
Mx[a][b]=b×β1-xi′;
所述第五计算公式包括:
My[a][b]=a×β2-yi′;
其中,Mx[a][b]为所述矩阵Mx中元素P(b,a)的取值,My[a][b]为所述矩阵My中元素P(b,a)的取值,a为元素P所在行的序号,b为元素P所在列的序号;(xi′,yi′)为待生成真值位移图的人体关键点i的坐标,β1为x轴方向上所述神经网络模型所输出位移图相对于所输入图像的缩小系数,β2为y轴方向所述神经网络模型所输出位移图相对于所输入图像的缩小系数。
第二方面,本发明实施例提供了一种人体关键点识别装置,包括:
图像获得模块,用于获得待识别人体关键点的图像;
人体图提取模块,用于对所述图像进行人体图提取处理,得到待利用的目标人体图;
信息识别模块,用于利用预先训练的神经网络模型,对所述目标人体图进行关键点信息识别,得到所述目标人体图中每个人体关键点的热度图和位移图;其中,任一人体关键点的位移图中的每个点与所述目标人体图中的一个区域块具有唯一映射关系,且每个点用于表征该点所映射的区域块相对于该人体关键点的全局偏移量;所述神经网络模型为基于样本人体图,以及所述样本人体图中每个人体关键点的真值热度图和真值位移图,所训练得到的模型;
第一坐标确定模块,用于按照预定的识别规则,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,基于该人体关键点的热度图确定候选区域并基于该人体关键点的位移图所表征的全局偏移量从所述候选区域确定该人体关键点的坐标的规则;
第二坐标确定模块,用于基于所述目标人体图中每个人体关键点的坐标,确定所述图像中每个人体关键点的坐标。
可选地,所述人体图提取模块,包括:
区域检测子模块,用于对所述图像进行人体区域检测;
提取子模块,用于从所述图像中提取所检测到的人体区域,并将所提取到的人体区域进行尺寸调整处理,得到待利用的目标人体图,所述尺寸调整处理用于将尺寸调整为所述神经网络模型的输入图像的尺寸。
可选地,任一人体关键点的位移图包括x轴方向的位移图和y轴方向的位移图;
所述第一坐标确定模块具体用于:
按照预定的第一计算公式,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;
其中,所述第一计算公式包括:
Ix=hx×s1+ox;
Iy=hy×s2+oy;
其中,(Ix,Iy)为人体关键点I的坐标,(hx,hy)为所述人体关键点I的热度图中取值最大的像素点的坐标,ox为所述人体关键点I的x轴方向的位移图中,取值的绝对值最小的列的序号,oy为所述人体关键点I的y轴方向的位移图中,取值的绝对值最小的行的序号;s1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,s2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数。
可选地,所述神经网络模型通过模型训练模块所训练;其中,所述模型训练模块包括:
人体图获得子模块,用于获得多个样本人体图,以及每一样本人体图中每个人体关键点的坐标;
真值图生成子模块,用于针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图和真值位移图;
预测图生成子模块,用于分别将每一样本人体图输入至训练中的所述神经网络模型,得到每一样本人体图中每个人体关键点的预测热度图和预测位移图;
损失值计算子模块,用于基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值;
判断子模块,用于基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
可选地,所述损失值计算子模块,包括:
蒙版图生成单元,用于针对每一样本人体图,对该样本人体图中每个人体关键点的真值热度图进行预定的蒙版生成处理,得到该样本人体图中每个人体关键点的真值蒙版图,以及对该样本人体图中每个人体关键点的预测热度图进行所述蒙版生成处理,得到该样本人体图中每个人体关键点的预测蒙版图;其中,所述蒙版生成处理包括:将不为0的像素点调整为1;
蒙版位移图生成单元,用于针对每一样本人体图,将该样本人体图中每个人体关键点的真值位移图,与同一人体关键点的真值蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的真值位移图,以及,将该样本人体图中每个人体关键点的预测位移图,与同一人体关键点的预测蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的预测位移图;
损失值计算单元,用于基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及调整后的真值位移图与调整后的预测位移图的差异,计算综合损失值。
可选地,所述真值图生成子模块针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图的方式,包括:
针对每一样本人体图,按照预定的真值热度图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图;
其中,所述真值热度图生成方式,包括:
针对待生成真值热度图的人体关键点,生成一个矩阵M,所述矩阵M的尺寸与待生成真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,按照预定的第二计算公式,计算该元素的取值参考值,如果该元素的取值参考值大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的第三计算公式,计算该元素的取值,将该元素在所述矩阵M中的取值设置为所计算的取值;
在遍历完毕所述矩阵M中所有元素后,将当前的所述矩阵M,作为该人体关键点的真值热度图;
所述第二计算公式包括:
Figure BDA0002281131390000091
其中,dab为所述矩阵M中元素P(b,a)的取值参考值,a为所述元素P所在行的序号,b为所述元素P所在列的序号,
Figure BDA0002281131390000092
(xi′,yi′)为待生成真值热度图的人体关键点i的坐标,round()为用于四舍五入运算的函数;α1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,α2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数;
所述第三计算公式包括:
Figure BDA0002281131390000093
其中,M[a][b]为所述元素P的取值。
可选地,所述真值图生成子模块针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图的方式,包括:
针对每一样本人体图,按照预定的真值位移图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图;
其中,所述真值位移图生成方式,包括:
针对待生成真值位移图的人体关键点,生成两个尺寸相同的矩阵Mx和My,所述矩阵Mx和My的尺寸与待生成真值位移图的尺寸相同;
遍历所述矩阵Mx中的每一元素,在遍历到每一元素时,利用预定的第四计算公式,计算该元素的取值,并将该元素在所述矩阵Mx中的取值设置为所计算的取值;在遍历完毕所述矩阵Mx中所有元素后,将当前的所述矩阵Mx作为该人体关键点的x轴方向的真值位移图;
遍历所述矩阵My中的每一元素,在遍历到每一元素时,利用预定的第五计算公式,计算该元素的取值,将该元素在所述矩阵My中的取值设置为所计算的取值;在遍历完毕所述矩阵My中所有元素后,将当前的所述矩阵My作为该人体关键点的y轴方向的真值位移图;
其中,所述第四计算公式包括:
Mx[a][b]=b×β1-xi′;
所述第五计算公式包括:
My[a][b]=a×β2-yi′;
其中,Mx[a][b]为所述矩阵Mx中元素P(b,a)的取值,My[a][b]为所述矩阵My中元素P(b,a)的取值,a为元素P所在行的序号,b为元素P所在列的序号;(xi′,yi′)为待生成真值位移图的人体关键点i的坐标,β1为x轴方向上所述神经网络模型所输出位移图相对于所输入图像的缩小系数,β2为y轴方向所述神经网络模型所输出位移图相对于所输入图像的缩小系数。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一人体关键点识别方法的步骤。
本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一人体关键点识别方法的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一人体关键点识别方法。
本发明实施例所提供方案中,采用热度图与表征全局偏移量的位移图相结合的方式,使得在热度图尺寸较小而确定出较大候选区域的情况下,可以通过位移图所表征的全局偏移量进一步在候选区域中定位关键点。因此,通过本方案可以实现在模型复杂度较低的情况下,保证人体关键点的识别精准度的目的。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种人体关键点识别方法的流程图;
图2为本发明实施例所提供的神经网络模型的训练过程的流程图;
图3(a)为本发明实施例所提供的人体关键点识别方法的原理示意图;
图3(b)为示例性给出的神经网络模型的一种结构示意图;
图3(c)为示例性给出的神经网络模型的训练原理的一种示意图;
图3(d)为示例性给出的神经网络模型的训练原理的另一种示意图;
图3(e)为示例性给出的一组人体关键点的真值热度图的示意图;
图3(f)为示例性给出的图一组人体关键点的真值蒙版图的示意图;
图3(g)为示例性给出的一组人体关键点的真值位移图的示意图;
图3(h)为示例性给出的一组人体关键点的调整后的真值位移图的示意图;
图4为本发明实施例所提供的一种人体关键点识别装置的示意图;
图5为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现在模型复杂度较低的情况下,保证人体关键点的识别精准度的目的,本发明实施例提供了一种人体关键点识别方法、装置及电子设备。
下面首先对本发明实施例所提供的一种人体关键点识别方法进行介绍。
其中,本发明实施例所提供的一种人体关键点识别方法的执行主体可以为一种人体关键点识别装置。该人体关键点识别装置可以应用于电子设备中。在具体应用中,该电子设备可以为终端设备或者服务器,这都是合理的。
另外,本发明实施例所涉及的人体关键点用于定位人体的身体关键部位,例如:头部、颈部、肩部、手部、腿部和/或脚部等部位;并且,针对任一身体关键部位,在定位该身体关键部位时,所需要的关键点可以为一个或多个。在不同的场景中,由于需要定位的身体关键部位不同,因此,人体关键点的具体位置以及数量可以不同,本发明实施例对此不做限定。
为了方便理解方案,首先介绍本发明实施例所提供方案的处理思路。为了解决现有技术问题,本方案的处理思路为:通过预先训练的神经网络模型,生成待识别图像的目标人体图中每个人体关键点的热度图和表征全局偏移量的位移图,进而,采用热度图结合位移图的方式来实现人体关键点的识别。具体的,采用热度图结合位移图的方式来实现人体关键点的识别的方式为:通过人体关键点的热度图中的概率分布,从目标人体图中确定候选区域,进而,基于同一人体关键点的位移图所表征的全局偏移量,从候选区域中定位人体关键点。通过本方案,即便热度图的尺寸较小,由于存在位移图,能够使得人体关键点的精度较高,因此,可以实现在模型复杂度较低的情况下,保证人体关键点的识别精准度的目的。为了方案清楚,图3(a)示例性的给出了采用热度图结合位移图的方式来实现人体关键点的识别的原理图,其中,浅灰色区域为候选区域,深灰色区域为最终所确定的关键点,箭头表征位置偏移的方向。
其中,任一人体关键点的热度图为该人体关键点可能存在的位置的概率分布图。而任一人体关键点的位移图为与该人体关键点相关的偏移距离的分布图,具体的,任一人体关键点的位移图中的每个点,与该目标人体图中的一个区域块具有唯一映射关系,且每个点用于表征该点所映射的区域块相对于该人体关键点的全局偏移量。
如图1所示,本发明实施例所提供的一种人体关键点识别方法,可以包括如下步骤:
S101,获得待识别人体关键点的图像;
其中,待识别人体关键的图像可以为视频中的视频帧,也可以为任意的存在人体关键点识别需求的图像,本发明实施例对此不做限定。
并且,该待识别人体关键点的图像的获得方式可以为:人工手动上传的方式,也可以为从视频中或者多张图像中自动抽取的,这都是合理的。
S102,对该图像进行人体图提取处理,得到待利用的目标人体图;
由于人体关键点均位于图像中的人体区域中,因此,在获得待识别人体关键点的图像后,为了识别人体关键点,可以对该图像进行人体图提取处理,得到待利用的目标人体图。其中,所谓待利用的目标人体图即为待输入至后续所所提及的神经网络模型的人体图,该待利用的目标人体图的尺寸与该神经网络模型的输入图像的尺寸相同。
可以理解的是,对该图像进行人体图提取处理,得到待利用的目标人体图的具体实现方式可以存在多种。示例性的,在一种实现方式中,对该图像进行人体图提取处理,得到待利用的目标人体图可以包括:
对该图像进行人体区域检测;
从该图像中提取所检测到的人体区域,并将所提取到的人体区域进行尺寸调整处理,得到待利用的目标人体图,该尺寸调整处理用于将尺寸调整为该神经网络模型的输入图像的尺寸。
其中,对该图像进行人体区域检测所采用的具体实现方式可以为任一种能够从图像中检测人体区域的方式。例如:利用预先训练的人体区域检测模型,从该图像中检测人体区域,当然并不局限于此。
并且,由于从图像中所检测到的人体区域的大小不确定,而神经网络模型的输入图像为固定的尺寸,因此,为了作为神经网络模型的有效输入内容,在从该图像中提取所检测到的人体区域后,可以将所提取到的人体区域进行尺寸调整处理,得到待利用的目标人体图。所谓的尺寸调整处理所采用的算法可以为插值算法,该插值算法可以双线性插值或最邻近插值算法,当然并不局限于此。
S103,利用预先训练的神经网络模型,对该目标人体图进行关键点信息识别,得到该目标人体图中每个人体关键点的热度图和位移图;
其中,任一人体关键点的位移图中的每个点与该目标人体图中的一个区域块具有唯一映射关系,且每个点用于表征该点所映射的区域块相对于该人体关键点的全局偏移量;该神经网络模型为基于样本人体图,以及该样本人体图中每个人体关键点的真值热度图和真值位移图,所训练得到的模型。
本步骤中,利用预先训练的神经网络模型,对该目标人体图进行关键点信息识别,得到该目标人体图中每个人体关键点的热度图和位移图,具体指:将该目标人体图输入至预先训练的神经网络模型,得到该目标人体图中每个人体关键点的热度图和位移图。
并且,任一人体关键点的位移图为与该人体关键点相关的偏移距离的分布图。具体的,任一人体关键点的位移图包括x轴方向的位移图和y轴方向的位移图。那么,任一人体关键点的x轴方向的位移图中每个点用于表征:x轴方向上,该点所映射的区域块相对于该人体关键点的全局偏移量;而任一人体关键点的y轴方向的位移图中每个点用于表征:y轴方向上,该点所映射的区域块相对于该人体关键点的全局偏移量。
另外,在具体应用中,为了保证较低的计算量,每一真值热度图的尺寸小于样本人体图的尺寸。在x轴方向上,每一真值热度图相对于样本人体图的缩小系数为第一缩小系数,y轴方向上,每一真值热度图相对于样本人体图的缩小系数为第二缩小系数,其中,第一缩小系数和第二缩小系数可以相同或不同。示例性的,假设样本人体图的尺寸为w*h,那么,每一真值热度图的尺寸可以为
Figure BDA0002281131390000141
其中,u1和u2的取值可以相同或不同。另外,该第一缩小系数和该第二缩小系数可以称为步长;并且,当第一缩小系数和第二缩小系数相同时,可以认为真值热度图相对于样本人体图具有一缩小系数或者一步长,即不区分x轴和y轴方向。
类似的,每一真值位移图的尺寸小于样本人体图的尺寸。在x轴方向上,每一真值位移图相对于样本人体图的缩小系数为第三缩小系数,y轴方向上,每一真值位移图相对于样本人体图的缩小系数为第四缩小系数,其中,第三缩小系数和第四缩小系数可以相同或不同。示例性的,假设样本人体图的尺寸为w*h,那么,每一真值位移图的尺寸可以为
Figure BDA0002281131390000151
其中,u3和u4的取值可以相同或不同。另外,该第三缩小系数和该第四缩小系数可以称为步长;并且,当第三缩小系数和第四缩小系数相同时,可以认为真值热度图相对于样本人体图具有一缩小系数或者一步长,即不区分x轴和y轴方向。
在具体应用中,本发明实施例所利用的神经网络模型的模型结构可以为多种。示例性的,在一种实现方式中,参见图3(b)所示,神经网络模型可以包括:特征提取网络和两个卷积组:卷积组1和卷积组2,这样,将某一图像输入特征提取网络,得到特征矩阵,即图像特征,然后,将特征矩阵分别输入两个卷积组,得到所输入图像中每个人体关键点的热度图和位移图。其中,特征提取网络可以包括但不局限于如下网络:LeNet、AlexNet、VGG、GoogLeNet、ResNet、MobileNet等特征提取网络。而卷积组1和卷积组2可以由多个卷积组成,具体数量可以根据实际情况设定。
为了方案清楚,以图3(b)所示的神经网络模型为例,示例性的介绍神经网络模型对图像的处理流程:
将wf×hf×3的图像输入至特征提取网络,输出
Figure BDA0002281131390000152
的特征矩阵,其中,3为图像的通道数,512为特征矩阵的数量,α为预设的缩小系数,α越小网络精度越高;
Figure BDA0002281131390000153
的特征矩阵,输入至卷积组1,输出
Figure BDA0002281131390000154
即输出n张
Figure BDA0002281131390000155
的热度图,其中,n是关键点的个数;
Figure BDA0002281131390000156
的特征矩阵,输入至卷积组2,输出
Figure BDA0002281131390000157
即输出n张
Figure BDA0002281131390000158
的x轴方向的位移图以及n张
Figure BDA0002281131390000159
的y轴方向的位移图。
该示例中,在x轴方向和y轴方向上,热度图相对于输入图像的缩小系数相同,均为α;并且,热度图和位移图的尺寸相同。
上述的介绍的神经网络模型的结构以及对图像的处理流程,仅仅作为示例,并不应该构成对本发明实施例的限定。
为了方案清楚及布局清晰,后续对关于上述的神经网络模型的训练过程进行举例介绍。
S104,按照预定的识别规则,基于该目标人体图中每个人体关键点的热度图和位移图,确定该目标人体图中每个人体关键点的坐标;其中,该预定的识别规则为:针对每一人体关键点,基于该人体关键点的热度图确定候选区域并基于该人体关键点的位移图所表征的全局偏移量从该候选区域确定该人体关键点的坐标的规则;
在获得该目标人体图中每个人体关键点的热度图和位移图后,由于通过热度图能够确定出候选区域,而通过位移图从候选区域中定位关键点,因此,可以按照预定的识别规则,基于该目标人体图中每个人体关键点的热度图和位移图,确定该目标人体图中每个人体关键点的坐标。可以理解的是,由于任一人体关键点的热度图为人体关键点可能存在的位置的概率分布图,因此,通过该热度图中概率最大的像素点,可以推理出人体关键点在目标人体图中的一个候选区域。而由于任一人体关键点的位移图用于表征与该人体关键点相关的偏移距离的分布图,因此,可以在确定出候选区域后,利用位移图中的全局偏移量,来进一步确定出人体关键点。
示例性的,在一种实现方式中,任一人体关键点的位移图包括x轴方向的位移图和y轴方向的位移图;
所述按照预定的识别规则,基于该目标人体图中每个人体关键点的热度图和位移图,确定该目标人体图中每个人体关键点的坐标的步骤,可以包括:
按照预定的第一计算公式,基于该目标人体图中每个人体关键点的热度图和位移图,确定该目标人体图中每个人体关键点的坐标;
其中,该第一计算公式可以包括:
Ix=hx×s1+ox;
Iy=hy×s2+oy;
其中,(Ix,Iy)为人体关键点I的坐标,(hx,hy)为该人体关键点I的热度图中取值最大的像素点的坐标,ox为该人体关键点I的x轴方向的位移图中,取值的绝对值最小的列的序号,oy为该人体关键点I的y轴方向的位移图中,取值的绝对值最小的行的序号;s1为x轴方向上该神经网络模型所输出热度图相对于所输入图像的缩小系数,s2为y轴方向上该神经网络模型所输出热度图相对于所输入图像的缩小系数。
S105,基于该目标人体图中每个人体关键点的坐标,确定该图像中每个人体关键点的坐标。
对于目标人体图是对待识别人体关键点的图像中的人体区域进行尺寸调整后所得到的图像,所述基于该目标人体图中每个人体关键点的坐标,确定该图像中每个人体关键点的坐标的过程可以包括:首先将目标人体图中每个人体关键点的坐标映射到该图像的人体区域中,进而,将该人体区域的人体关键点的坐标,映射到该图像中,得到该图像中每个人体关键点的坐标。
其中,将目标人体图中每个人体关键点的坐标映射到该图像的人体区域中的具体实现方式,可以采用如下方式:将两个尺寸的图像之间坐标点进行映射方式。举例而言:目标人体图的尺寸为m*n,人体区域的尺寸为(m/d1)*(n/d1),对于目标人体图中的点k1(x1,y1),将k1点映射到人体区域中,点k1在人体区域的映射点的坐标为(x1/d1,y1/d1)。
而将该人体区域的人体关键点的坐标,映射到该图像中的实现方式可以采用坐标偏移方式。举例而言:人体区域在图像中的位置信息为(xbbox,ybbox,wbbox,hbbox),那么,对于人体区域中的点k2(x2,y2),将k2映射到该图像中,点k2在该图像的映射点的坐标为(x2+xbbox,y1+ybbox)。
另外,对于目标人体图是未对待识别人体关键点的图像中的人体区域进行尺寸调整后所得到的图像,所述基于该目标人体图中每个人体关键点的坐标,确定该图像中每个人体关键点的坐标的过程可以包括:将目标人体图中每个人体关键点的坐标映射到该图像中,得到该图像中每个人体关键点的坐标。
本发明实施例所提供方案中,采用热度图与表征全局偏移量的位移图相结合的方式,使得在热度图尺寸较小而确定出较大候选区域的情况下,可以通过位移图所表征的全局偏移量进一步在候选区域中定位关键点。因此,通过本方案可以实现在模型复杂度较低的情况下,保证人体关键点的识别精准度的目的。
为了方案清楚及布局清晰,下面示例性的介绍神经网络模型的训练过程。
可选地,如图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
步骤四,将人体区域中每个人体关键点映射到该人体区域对应的样本人体图中,得到样本人体图中每个人体关键点的坐标。
关于人体关键点的映射方式可以参照上述的S105的映射方式,在此不做赘述。
可以理解的是,样本图像中每个人体关键点的坐标可以通过人工标定方式来得到。
S202,针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图和真值位移图;
为了方案清楚及布局清晰,后续示例性的介绍人体关键点的真值热度图和真值位移图的生成方式。
S203,分别将每一样本人体图输入至训练中的该神经网络模型,得到每一样本人体图中每个人体关键点的预测热度图和预测位移图;
在将每一样本人体图输入至训练中的该神经网络模型后,该神经网络模型针对每一样本人体图进行关键点信息识别。具体的,该神经网络模型对所接收到的样本人体图提取特征矩阵,进而基于所提取的特征矩阵,生成该样本人体图中每个人体关键点的预测热度图和预测位移图。
以图3(b)所示的模型结构为例,对神经网络模型处理所接收到的样本人体图的过程进行介绍:
神经网络模型中的特征提取网络对该样本人体图进行特征提取,得到特征矩阵,并将该特征矩阵分别输入至卷积组1和卷积组2,使得卷积组1对特征矩阵进行卷积处理,得到该样本人体图中每个人体关键点的预测热度图,同时,使得卷积组2对特征矩阵进行卷积处理,得到该样本人体图中每个人体关键点的预测位移图。
S204,基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值;
其中,基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值的实现方式存在多种。后续结合具体实现方式,对综合损失值的计算方式进行介绍。
S205,基于该综合损失值,判断训练中的该神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的该神经网络模型;否则,调整该神经网络模型的网络参数,继续训练该神经网络模型。
其中,基于该综合损失值,判断训练中的该神经网络模型是否收敛具体可以为:判断该综合损失值是否小于预设阈值,如果小于,判定训练中的该神经网络模型收敛,否则,判定训练中的该神经网络模型未收敛。当判定训练中的该神经网络模型未收敛时,可以调整该神经网络模型的网络参数,继续训练该神经网络模型。所谓继续训练该神经网络模型,即返回执行分别将每一样本人体图输入至训练中的该神经网络模型,得到每一样本人体图中每个人体关键点的预测热度图和预测位移图的步骤。另外,在该神经网络模型未收敛时,可以调整的网络参数可以包括但不局限于:卷积核权重,以及全连接层权重;并且,调整网络参数时所利用的调整方式可以存在多种,例如:梯度调节方式,或者,反向传播方式,等等。
下面对所述基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值的实现方式进行举例介绍。
可选地,在第一种实现方式中,基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值的步骤,可以包括:
步骤A1,针对每一样本人体图,基于该样本人体图中每个人体关键点的真值热度图与预测热度图的差异,得到该样本人体图中每个人体关键点的第一类损失值,以及基于该样本人体图中每个人体关键点的真值位移图与预测位移图的差异,得到该样本人体图中每个人体关键点的第二类损失值;
步骤A2,针对每个人体关键点,基于该人体关键点的各个第一类损失值,确定该人体关键点的关于热度图的损失值,基于该人体关键点的各个第二类损失值,确定该人体关键点的关于位移图的损失值;
由于各个样本人体图中的人体关键点的数量以及所处位置相同,因此,可以认为每一样本人体图中的人体关键点为同一组人体关键点。那么,在执行完毕步骤A1后,该组人体关键点中的每一人体关键点会对应多个第一类损失值以及多个第二类损失值。进而,可以针对每个人体关键点,利用所对应的多个第一类损失值和多个第二损失值,计算关于热度图的损失值和关于位移图的损失值。
步骤A3,对每个人体关键点的关于热度图的损失值和关于位移图的损失值进行加权,得到综合损失值。
其中,计算第一类损失值和第二类损失值的所利用的损失函数可以包括但不局限于:平方损失函数、对数损失函数或指数损失函数,等等。另外,针对每一人体关键点而言,关于热度图的损失值和关于位移图的计算方式,可以采用求平均方式,求和方式,或者,加权方式,等等,在此不做限定。并且,每个人体关键点的关于热度图的损失值和关于位移图的损失值进行加权所利用权重,可以根据实际情况设定,在此不做限定。
针对该种实现方式,关于神经网络模型的训练过程可以参见图3(c)所示的示意图。其中,如图3(c)所示,神经网络模型输出预测热度图和预测位移图后,基于人体关键点的预测热度图与真值热度图的差异,得到关于热度图的损失值;基于人体关键点的预测位移图与真值位移图的差异,得到关于位移图的损失值;进而,根据关于热度图的损失值和关于位移图的损失值,得到综合损失值。
可选地,在另一种实现方式中,所述基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值的步骤,可以包括:
步骤B1,针对每一样本人体图,对该样本人体图中每个人体关键点的真值热度图进行预定的蒙版生成处理,得到该样本人体图中每个人体关键点的真值蒙版图,以及对该样本人体图中每个人体关键点的预测热度图进行该蒙版生成处理,得到该样本人体图中每个人体关键点的预测蒙版图;其中,该蒙版生成处理包括:将不为0的像素点调整为1;
步骤B2,针对每一样本人体图,将该样本人体图中每个人体关键点的真值位移图,与同一人体关键点的真值蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的真值位移图,以及,将该样本人体图中每个人体关键点的预测位移图,与同一人体关键点的预测蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的预测位移图;
步骤B3,基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及调整后的真值位移图与调整后的预测位移图的差异,计算综合损失值。
该种实现方式中,通过增加蒙版层,对预测位移图和真值位移图的损失进行约束,使得模型训练更容易收敛。
并且,上述的步骤B3的具体实现方式存在多种。示例性的,在一种实现方式中,上述的步骤B3的具体实现,可以与上述步骤A1-步骤A3类似,区别点在于,步骤B3中为调整后的真值位移图和调整后的预测位移图,而上述步骤A1-步骤A3中为真值位移图和预测位移图。
针对该种实现方式,关于神经网络模型的训练过程可以参见图3(d)所示的示意图。其中,如图3(d)所示,神经网络模型输出预测热度图和预测位移图后,基于预测热度图,确定预测蒙版图,并基于预测蒙版图和预测位移图,确定调整后的预测位移图;进而,基于人体关键点的预测热度图与真值热度图的差异,得到关于热度图的损失值;基于人体关键点的调整后的预测位移图与调整后的真值位移图的差异,得到关于位移图的损失值;进而,根据关于热度图的损失值和关于位移图的损失值,得到综合损失值。
需要强调的是上,上述的计算综合损失值的实现方式,仅仅作为示例,并不应该构成对本发明实施例的限定。
下面对所述针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图和真值位移图的具体实现方式,进行举例介绍。
可选地,在一种实现方式中,针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图的方式,包括:
针对每一样本人体图,按照预定的真值热度图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图;
其中,所述真值热度图生成方式,包括:
针对待生成真值热度图的人体关键点,生成一个矩阵M,该矩阵M的尺寸与待生成真值热度图的尺寸相同;
遍历该矩阵M中的每一元素,在遍历到每一元素时,按照预定的第二计算公式,计算该元素的取值参考值,如果该元素的取值参考值大于预定阈值,将该元素在该矩阵M中的取值设置为0,否则,按照预定的第三计算公式,计算该元素的取值,将该元素在该矩阵M中的取值设置为所计算的取值;
在遍历完毕该矩阵M中所有元素后,将当前的该矩阵M,作为该人体关键点的真值热度图;
所述第二计算公式包括:
Figure BDA0002281131390000231
其中,dab为该矩阵M中元素P(b,a)的取值参考值,a为该元素P所在行的序号,b为该元素P所在列的序号,
Figure BDA0002281131390000232
(xi′,yi′)为待生成真值热度图的人体关键点i的坐标,round()为用于四舍五入运算的函数;α1为x轴方向上该神经网络模型所输出热度图相对于所输入图像的缩小系数,α2为y轴方向上该神经网络模型所输出热度图相对于所输入图像的缩小系数;
该第三计算公式包括:
Figure BDA0002281131390000233
其中,M[a][b]为该元素P的取值。
其中,该矩阵M的尺寸与真值热度图的尺寸相同。并且,该矩阵M中每个点的初始值可以为0,当然并不局限于此,例如:初始值可以为1、10、100等等,这都是合理的。
可选地,一种实现方式中,针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图的方式,包括:
针对每一样本人体图,按照预定的真值位移图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图;
其中,所述真值位移图生成方式,包括:
针对待生成真值位移图的人体关键点,生成两个尺寸相同的矩阵Mx和My,该矩阵Mx和My的尺寸与待生成真值位移图的尺寸相同;
遍历该矩阵Mx中的每一元素,在遍历到每一元素时,利用预定的第四计算公式,计算该元素的取值,并将该元素在该矩阵Mx中的取值设置为所计算的取值;在遍历完毕所述矩阵Mx中所有元素后,将当前的该矩阵Mx作为该人体关键点的x轴方向的真值位移图;
遍历该矩阵My中的每一元素,在遍历到每一元素时,利用预定的第五计算公式,计算该元素的取值,将该元素在该矩阵My中的取值设置为所计算的取值;在遍历完毕该矩阵My中所有元素后,将当前的该矩阵My作为该人体关键点的y轴方向的真值位移图;
其中,所述第四计算公式包括:
Mx[a][b]=b×β1-xi′;
所述第五计算公式包括:
My[a][b]=a×β2-yi′;
其中,Mx[a][b]为该矩阵Mx中元素P(b,a)的取值,My[a][b]为该矩阵My中元素P(b,a)的取值,a为元素P所在行的序号,b为元素P所在列的序号;(xi′,yi′)为待生成真值位移图的人体关键点i的坐标,β1为x轴方向上该神经网络模型所输出位移图相对于所输入图像的缩小系数,β2为y轴方向该神经网络模型所输出位移图相对于所输入图像的缩小系数。
其中,矩阵Mx和My的尺寸为真值位移图的尺寸。并且,矩阵Mx和My中每个点的初始值可以为0,当然并不局限于此,例如:初始值可以为1、10、100等等,这都是合理的。
上述所给出的任一人体关键点的真值热度图和真值位移图的生成方法仅仅作为示例,并不应该构成对本发明实施例的限定。
另外,为了方便理解方案,图3(e)、图3(f)、图3(g)和图3(h)给出了一组人体关键点的真值热度图、真值蒙版图、真值位移图、调整后的真值位移图的示意图,各个图以灰度形式体现。其中,该组人体关键点中包含14个人体关键点,该14个人体关键点的真值热度图、真值蒙版图、真值位移图、调整后真值位移图的生成方式参见上述实施例中所给出的相应方式。
具体的,图3(e)示出了14个人体关键点的真值热度图;
图3(f)示出了利用本发明提供的方法对图3(e)中14个人体关键点的真值热度图进行蒙版生成处理所得到的真值蒙版图,其中,前14个真值蒙版图为:14个人体关键点的x轴方向的真值蒙版图,后14个真值蒙版图为0:14个人体关键点的y轴方向的真值蒙版图;
图3(g)示出了14个人体关键点的真值位移图,其中,前14个真值位移图为:14个人体关键点的x轴方向的真值位移图,后14个真值位移图为:14个人体关键点的y轴方向的真值位移图;
图3(h)示出了利用本发明提供的方法对图3(g)中14个人体关键点的真值位移图进行调整后所得到的调整后的真值位移图,其中,前14个调整后的真值位移图为:14个人体关键点的x轴方向的真值位移图分别与相应的x轴方向的真值蒙版图进行元素级相乘所得到的图像,后14个调整后的真值位移图为:14个人体关键点的y轴方向的真值位移图分别与相应的y轴方向的真值蒙版图进行元素级相乘所得到的图像。
下面结合一个具体示例,对本发明实施例所提供的人体关键点识别方法进行介绍。
假设待识别人体关键点的图像为图像K,预先训练的神经网络模型的输入图像的尺寸为125*125,所输出的热度图的尺寸为5*5,位移图的尺寸为5*5。
那么,利用本发明实施例所提供的人体关键点识别方法进行识别的过程包括:
获得待识别人体关键点的图像K;
从待识别图像K中提取目标人体图:该目标人体图的尺寸为125*125;
将目标人体图输入至预先训练的神经网络模型,得到该目标人体图中每个人体关键点的5*5的热度图和5*5的位移图;
按照预定的第一计算公式,基于该目标人体图中每个人体关键点的热度图和位移图,确定该目标人体图中的每个人体关键点的坐标;
基于该目标人体图中每个人体关键点的坐标,确定该图像k中每个人体关键点的坐标。
下面以一个人体关键点为例,介绍基于热度图和位移图来计算目标人体图中该人体关键点的坐标的原理:
假设目标人体图中一人体关键点P在该目标人体图中的真实坐标为(101,79)。基于热度图和位移图的生成方式可知,因为关键点P映射到热度图中的点为(4,3),因此,该人体关键点P的热度图中像素值最大的点为(4,3),x轴方向的位移图中取值的绝对值最小的列号为4,y轴方向的位移图中取值的绝对值最小的行号为3;那么,按照上述的第一计算公式,基于该人体关键点P的热度图和位移图所计算得到的坐标如下:
px=4×25+4=104;
Py=3×25+3=78。
综上可见,计算得到的人体关键点P的坐标信息为(104,78)。可见,计算得到的人体关键点P的坐标与真实坐标非常接近,可以认为是识别到的目标人体图中人体关键点P的坐标。
相应于上述方法实施例,本发明实施例还提供了一种人体关键点识别装置。如图4所示,本发明实施例所提供的一种人体关键点识别装置可以包括:
图像获得模块410,用于获得待识别人体关键点的图像;
人体图提取模块420,用于对所述图像进行人体图提取处理,得到待利用的目标人体图;
信息识别模块430,用于利用预先训练的神经网络模型,对所述目标人体图进行关键点信息识别,得到所述目标人体图中每个人体关键点的热度图和位移图;其中,任一人体关键点的位移图中的每个点与所述目标人体图中的一个区域块具有唯一映射关系,且每个点用于表征该点所映射的区域块相对于该人体关键点的全局偏移量;所述神经网络模型为基于样本人体图,以及所述样本人体图中每个人体关键点的真值热度图和真值位移图,所训练得到的模型;
第一坐标确定模块440,用于按照预定的识别规则,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,基于该人体关键点的热度图确定候选区域并基于该人体关键点的位移图所表征的全局偏移量从所述候选区域确定该人体关键点的坐标的规则;
第二坐标确定模块450,用于基于所述目标人体图中每个人体关键点的坐标,确定所述图像中每个人体关键点的坐标。
本发明实施例所提供方案中,采用热度图与表征全局偏移量的位移图相结合的方式,使得在热度图尺寸较小而确定出较大候选区域的情况下,可以通过位移图所表征的全局偏移量进一步在候选区域中定位关键点。因此,通过本方案可以实现在模型复杂度较低的情况下,保证人体关键点的识别精准度的目的。
可选地,在一种实现方式中,所述人体图提取模块420,可以包括:
区域检测子模块,用于对所述图像进行人体区域检测;
提取子模块,用于从所述图像中提取所检测到的人体区域,并将所提取到的人体区域进行尺寸调整处理,得到待利用的目标人体图,所述尺寸调整处理用于将尺寸调整为所述神经网络模型的输入图像的尺寸。
可选地,在一种实现方式中,任一人体关键点的位移图包括x轴方向的位移图和y轴方向的位移图;
所述第一坐标确定模块440具体用于:
按照预定的第一计算公式,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;
其中,所述第一计算公式包括:
Ix=hx×s1+ox;
Iy=hy×s2+oy;
其中,(Ix,Iy)为人体关键点I的坐标,(hx,hy)为所述人体关键点I的热度图中取值最大的像素点的坐标,ox为所述人体关键点I的x轴方向的位移图中,取值的绝对值最小的列的序号,oy为所述人体关键点I的y轴方向的位移图中,取值的绝对值最小的行的序号;s1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,s2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数。
可选地,所述神经网络模型通过模型训练模块所训练;其中,所述模型训练模块包括:
人体图获得子模块,用于获得多个样本人体图,以及每一样本人体图中每个人体关键点的坐标;
真值图生成子模块,用于针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图和真值位移图;
预测图生成子模块,用于分别将每一样本人体图输入至训练中的所述神经网络模型,得到每一样本人体图中每个人体关键点的预测热度图和预测位移图;
损失值计算子模块,用于基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及真值位移图与预测位移图的差异,计算综合损失值;
判断子模块,用于基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
可选地,在一种实现方式中,所述损失值计算子模块,包括:
蒙版图生成单元,用于针对每一样本人体图,对该样本人体图中每个人体关键点的真值热度图进行预定的蒙版生成处理,得到该样本人体图中每个人体关键点的真值蒙版图,以及对该样本人体图中每个人体关键点的预测热度图进行所述蒙版生成处理,得到该样本人体图中每个人体关键点的预测蒙版图;其中,所述蒙版生成处理包括:将不为0的像素点调整为1;
蒙版位移图生成单元,用于针对每一样本人体图,将该样本人体图中每个人体关键点的真值位移图,与同一人体关键点的真值蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的真值位移图,以及,将该样本人体图中每个人体关键点的预测位移图,与同一人体关键点的预测蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的预测位移图;
损失值计算单元,用于基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及调整后的真值位移图与调整后的预测位移图的差异,计算综合损失值。
可选地,在一种实现方式中,所述真值图生成子模块针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图的方式,包括:
针对每一样本人体图,按照预定的真值热度图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图;
其中,所述真值热度图生成方式,包括:
针对待生成真值热度图的人体关键点,生成一个矩阵M,所述矩阵M的尺寸与待生成真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,按照预定的第二计算公式,计算该元素的取值参考值,如果该元素的取值参考值大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的第三计算公式,计算该元素的取值,将该元素在所述矩阵M中的取值设置为所计算的取值;
在遍历完毕所述矩阵M中所有元素后,将当前的所述矩阵M,作为该人体关键点的真值热度图;
所述第二计算公式包括:
Figure BDA0002281131390000291
其中,dab为所述矩阵M中元素P(b,a)的取值参考值,a为所述元素P所在行的序号,b为所述元素P所在列的序号,
Figure BDA0002281131390000292
(xi′,yi′)为待生成真值热度图的人体关键点i的坐标,round()为用于四舍五入运算的函数;α1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,α2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数;
所述第三计算公式包括:
Figure BDA0002281131390000301
其中,M[a][b]为所述元素P的取值。
可选地,在一种实现方式中,所述真值图生成子模块针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图的方式,包括:
针对每一样本人体图,按照预定的真值位移图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图;
其中,所述真值位移图生成方式,包括:
针对待生成真值位移图的人体关键点,生成两个尺寸相同的矩阵Mx和My,所述矩阵Mx和My的尺寸与待生成真值位移图的尺寸相同;
遍历所述矩阵Mx中的每一元素,在遍历到每一元素时,利用预定的第四计算公式,计算该元素的取值,并将该元素在所述矩阵Mx中的取值设置为所计算的取值;在遍历完毕所述矩阵Mx中所有元素后,将当前的所述矩阵Mx作为该人体关键点的x轴方向的真值位移图;
遍历所述矩阵My中的每一元素,在遍历到每一元素时,利用预定的第五计算公式,计算该元素的取值,将该元素在所述矩阵My中的取值设置为所计算的取值;在遍历完毕所述矩阵My中所有元素后,将当前的所述矩阵My作为该人体关键点的y轴方向的真值位移图;
其中,所述第四计算公式包括:
Mx[a][b]=b×β1-xi′;
所述第五计算公式包括:
My[a][b]=a×β2-yi′;
其中,Mx[a][b]为所述矩阵Mx中元素P(b,a)的取值,My[a][b]为所述矩阵My中元素P(b,a)的取值,a为元素P所在行的序号,b为元素P所在列的序号;(xi′,yi′)为待生成真值位移图的人体关键点i的坐标,β1为x轴方向上所述神经网络模型所输出位移图相对于所输入图像的缩小系数,β2为y轴方向所述神经网络模型所输出位移图相对于所输入图像的缩小系数。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图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 (11)

1.一种人体关键点识别方法,其特征在于,包括:
获得待识别人体关键点的图像;
对所述图像进行人体图提取处理,得到待利用的目标人体图;
利用预先训练的神经网络模型,对所述目标人体图进行关键点信息识别,得到所述目标人体图中每个人体关键点的热度图和位移图;其中,任一人体关键点的位移图中的每个点与所述目标人体图中的一个区域块具有唯一映射关系,且每个点用于表征该点所映射的区域块相对于该人体关键点的全局偏移量;所述神经网络模型为基于样本人体图,以及所述样本人体图中每个人体关键点的真值热度图和真值位移图,所训练得到的模型;
按照预定的识别规则,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,基于该人体关键点的热度图确定候选区域并基于该人体关键点的位移图所表征的全局偏移量从所述候选区域确定该人体关键点的坐标的规则;
基于所述目标人体图中每个人体关键点的坐标,确定所述图像中每个人体关键点的坐标;
所述神经网络模型的训练过程包括:
获得多个样本人体图,以及每一样本人体图中每个人体关键点的坐标;
针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图和真值位移图;
分别将每一样本人体图输入至训练中的所述神经网络模型,得到每一样本人体图中每个人体关键点的预测热度图和预测位移图;
针对每一样本人体图,对该样本人体图中每个人体关键点的真值热度图进行预定的蒙版生成处理,得到该样本人体图中每个人体关键点的真值蒙版图,以及对该样本人体图中每个人体关键点的预测热度图进行所述蒙版生成处理,得到该样本人体图中每个人体关键点的预测蒙版图;其中,所述蒙版生成处理包括:将不为0的像素点调整为1;
针对每一样本人体图,将该样本人体图中每个人体关键点的真值位移图,与同一人体关键点的真值蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的真值位移图,以及,将该样本人体图中每个人体关键点的预测位移图,与同一人体关键点的预测蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的预测位移图;
基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及调整后的真值位移图与调整后的预测位移图的差异,计算综合损失值;
基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
2.根据权利要求1所述的方法,其特征在于,对所述图像进行人体图提取处理,得到待利用的目标人体图,包括:
对所述图像进行人体区域检测;
从所述图像中提取所检测到的人体区域,并将所提取到的人体区域进行尺寸调整处理,得到待利用的目标人体图,所述尺寸调整处理用于将尺寸调整为所述神经网络模型的输入图像的尺寸。
3.根据权利要求1或2所述的方法,其特征在于,任一人体关键点的位移图包括x轴方向的位移图和y轴方向的位移图;
所述按照预定的识别规则,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标的步骤,包括:
按照预定的第一计算公式,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;
其中,所述第一计算公式包括:
Ix=hx×s1+ox;
Iy=hy×s2+oy;
其中,(Ix,Iy)为人体关键点I的坐标,(hx,hy)为所述人体关键点I的热度图中取值最大的像素点的坐标,ox为所述人体关键点I的x轴方向的位移图中,取值的绝对值最小的列的序号,oy为所述人体关键点I的y轴方向的位移图中,取值的绝对值最小的行的序号;s1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,s2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数。
4.根据权利要求1所述的方法,其特征在于,针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图的方式,包括:
针对每一样本人体图,按照预定的真值热度图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图;
其中,所述真值热度图生成方式,包括:
针对待生成真值热度图的人体关键点,生成一个矩阵M,所述矩阵M的尺寸与待生成真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,按照预定的第二计算公式,计算该元素的取值参考值,如果该元素的取值参考值大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的第三计算公式,计算该元素的取值,将该元素在所述矩阵M中的取值设置为所计算的取值;
在遍历完毕所述矩阵M中所有元素后,将当前的所述矩阵M,作为该人体关键点的真值热度图;
所述第二计算公式包括:
Figure FDA0003810512650000031
其中,dab为所述矩阵M中元素P(b,a)的取值参考值,a为所述元素P所在行的序号,b为所述元素P所在列的序号,
Figure FDA0003810512650000032
(xi′,yi′)为待生成真值热度图的人体关键点i的坐标,round()为用于四舍五入运算的函数;α1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,α2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数;
所述第三计算公式包括:
Figure FDA0003810512650000041
其中,M[a][b]为所述元素P的取值。
5.根据权利要求1所述的方法,其特征在于,针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图的方式,包括:
针对每一样本人体图,按照预定的真值位移图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图;
其中,所述真值位移图生成方式,包括:
针对待生成真值位移图的人体关键点,生成两个尺寸相同的矩阵Mx和My,所述矩阵Mx和My的尺寸与待生成真值位移图的尺寸相同;
遍历所述矩阵Mx中的每一元素,在遍历到每一元素时,利用预定的第四计算公式,计算该元素的取值,并将该元素在所述矩阵Mx中的取值设置为所计算的取值;在遍历完毕所述矩阵Mx中所有元素后,将当前的所述矩阵Mx作为该人体关键点的x轴方向的真值位移图;
遍历所述矩阵My中的每一元素,在遍历到每一元素时,利用预定的第五计算公式,计算该元素的取值,将该元素在所述矩阵My中的取值设置为所计算的取值;在遍历完毕所述矩阵My中所有元素后,将当前的所述矩阵My作为该人体关键点的y轴方向的真值位移图;
其中,所述第四计算公式包括:
Mx[a][b]=b×β1-xi′;
所述第五计算公式包括:
My[a][b]=a×β2-yi′;
其中,Mx[a][b]为所述矩阵Mx中元素P(b,a)的取值,My[a][b]为所述矩阵My中元素P(b,a)的取值,a为元素P所在行的序号,b为元素P所在列的序号;(xi′,yi′)为待生成真值位移图的人体关键点i的坐标,β1为x轴方向上所述神经网络模型所输出位移图相对于所输入图像的缩小系数,β2为y轴方向所述神经网络模型所输出位移图相对于所输入图像的缩小系数。
6.一种人体关键点识别装置,其特征在于,包括:
图像获得模块,用于获得待识别人体关键点的图像;
人体图提取模块,用于对所述图像进行人体图提取处理,得到待利用的目标人体图;
信息识别模块,用于利用预先训练的神经网络模型,对所述目标人体图进行关键点信息识别,得到所述目标人体图中每个人体关键点的热度图和位移图;其中,任一人体关键点的位移图中的每个点与所述目标人体图中的一个区域块具有唯一映射关系,且每个点用于表征该点所映射的区域块相对于该人体关键点的全局偏移量;所述神经网络模型为基于样本人体图,以及所述样本人体图中每个人体关键点的真值热度图和真值位移图,所训练得到的模型;
第一坐标确定模块,用于按照预定的识别规则,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;其中,所述预定的识别规则为:针对每一人体关键点,基于该人体关键点的热度图确定候选区域并基于该人体关键点的位移图所表征的全局偏移量从所述候选区域确定该人体关键点的坐标的规则;
第二坐标确定模块,用于基于所述目标人体图中每个人体关键点的坐标,确定所述图像中每个人体关键点的坐标;
所述神经网络模型通过模型训练模块所训练;其中,所述模型训练模块包括:
人体图获得子模块,用于获得多个样本人体图,以及每一样本人体图中每个人体关键点的坐标;
真值图生成子模块,用于针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图和真值位移图;
预测图生成子模块,用于分别将每一样本人体图输入至训练中的所述神经网络模型,得到每一样本人体图中每个人体关键点的预测热度图和预测位移图;
损失值计算子模块,包括:
蒙版图生成单元,用于针对每一样本人体图,对该样本人体图中每个人体关键点的真值热度图进行预定的蒙版生成处理,得到该样本人体图中每个人体关键点的真值蒙版图,以及对该样本人体图中每个人体关键点的预测热度图进行所述蒙版生成处理,得到该样本人体图中每个人体关键点的预测蒙版图;其中,所述蒙版生成处理包括:将不为0的像素点调整为1;
蒙版位移图生成单元,用于针对每一样本人体图,将该样本人体图中每个人体关键点的真值位移图,与同一人体关键点的真值蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的真值位移图,以及,将该样本人体图中每个人体关键点的预测位移图,与同一人体关键点的预测蒙版图进行元素级相乘,得到该样本人体图中每个人体关键点的调整后的预测位移图;
损失值计算单元,用于基于每一样本人体图中每个人体关键点的真值热度图与预测热度图的差异,以及调整后的真值位移图与调整后的预测位移图的差异,计算综合损失值;
判断子模块,用于基于所述综合损失值,判断训练中的所述神经网络模型是否收敛,如果收敛,结束训练,得到训练完成的所述神经网络模型;否则,调整所述神经网络模型的网络参数,继续训练所述神经网络模型。
7.根据权利要求6所述的装置,其特征在于,所述人体图提取模块,包括:
区域检测子模块,用于对所述图像进行人体区域检测;
提取子模块,用于从所述图像中提取所检测到的人体区域,并将所提取到的人体区域进行尺寸调整处理,得到待利用的目标人体图,所述尺寸调整处理用于将尺寸调整为所述神经网络模型的输入图像的尺寸。
8.根据权利要求6或7所述的装置,其特征在于,任一人体关键点的位移图包括x轴方向的位移图和y轴方向的位移图;
所述第一坐标确定模块具体用于:
按照预定的第一计算公式,基于所述目标人体图中每个人体关键点的热度图和位移图,确定所述目标人体图中每个人体关键点的坐标;
其中,所述第一计算公式包括:
Ix=hx×s1+ox;
Iy=hy×s2+oy;
其中,(Ix,Iy)为人体关键点I的坐标,(hx,hy)为所述人体关键点I的热度图中取值最大的像素点的坐标,ox为所述人体关键点I的x轴方向的位移图中,取值的绝对值最小的列的序号,oy为所述人体关键点I的y轴方向的位移图中,取值的绝对值最小的行的序号;s1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,s2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数。
9.根据权利要求6所述的装置,其特征在于,所述真值图生成子模块针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图的方式,包括:
针对每一样本人体图,按照预定的真值热度图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值热度图;
其中,所述真值热度图生成方式,包括:
针对待生成真值热度图的人体关键点,生成一个矩阵M,所述矩阵M的尺寸与待生成真值热度图的尺寸相同;
遍历所述矩阵M中的每一元素,在遍历到每一元素时,按照预定的第二计算公式,计算该元素的取值参考值,如果该元素的取值参考值大于预定阈值,将该元素在所述矩阵M中的取值设置为0,否则,按照预定的第三计算公式,计算该元素的取值,将该元素在所述矩阵M中的取值设置为所计算的取值;
在遍历完毕所述矩阵M中所有元素后,将当前的所述矩阵M,作为该人体关键点的真值热度图;
所述第二计算公式包括:
Figure FDA0003810512650000081
其中,dab为所述矩阵M中元素P(b,a)的取值参考值,a为所述元素P所在行的序号,b为所述元素P所在列的序号,
Figure FDA0003810512650000082
(xi′,yi′)为待生成真值热度图的人体关键点i的坐标,round()为用于四舍五入运算的函数;α1为x轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数,α2为y轴方向上所述神经网络模型所输出热度图相对于所输入图像的缩小系数;
所述第三计算公式包括:
Figure FDA0003810512650000083
其中,M[a][b]为所述元素P的取值。
10.根据权利要求6所述的装置,其特征在于,所述真值图生成子模块针对每一样本人体图,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图的方式,包括:
针对每一样本人体图,按照预定的真值位移图生成方式,利用该样本人体图中每个人体关键点的坐标,生成该样本人体图中每个人体关键点的真值位移图;
其中,所述真值位移图生成方式,包括:
针对待生成真值位移图的人体关键点,生成两个尺寸相同的矩阵Mx和My,所述矩阵Mx和My的尺寸与待生成真值位移图的尺寸相同;
遍历所述矩阵Mx中的每一元素,在遍历到每一元素时,利用预定的第四计算公式,计算该元素的取值,并将该元素在所述矩阵Mx中的取值设置为所计算的取值;在遍历完毕所述矩阵Mx中所有元素后,将当前的所述矩阵Mx作为该人体关键点的x轴方向的真值位移图;
遍历所述矩阵My中的每一元素,在遍历到每一元素时,利用预定的第五计算公式,计算该元素的取值,将该元素在所述矩阵My中的取值设置为所计算的取值;在遍历完毕所述矩阵My中所有元素后,将当前的所述矩阵My作为该人体关键点的y轴方向的真值位移图;
其中,所述第四计算公式包括:
Mx[a][b]=b×β1-xi′;
所述第五计算公式包括:
My[a][b]=a×β2-yi′;
其中,Mx[a][b]为所述矩阵Mx中元素P(b,a)的取值,My[a][b]为所述矩阵My中元素P(b,a)的取值,a为元素P所在行的序号,b为元素P所在列的序号;(xi′,yi′)为待生成真值位移图的人体关键点i的坐标,β1为x轴方向上所述神经网络模型所输出位移图相对于所输入图像的缩小系数,β2为y轴方向所述神经网络模型所输出位移图相对于所输入图像的缩小系数。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN201911141747.8A 2019-11-20 2019-11-20 一种人体关键点识别方法、装置及电子设备 Active CN110969100B (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN110969100A CN110969100A (zh) 2020-04-07
CN110969100B true CN110969100B (zh) 2022-10-25

Family

ID=70031014

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN110969100B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814588B (zh) * 2020-06-18 2023-08-01 浙江大华技术股份有限公司 行为检测方法以及相关设备、装置
CN111783948A (zh) * 2020-06-24 2020-10-16 北京百度网讯科技有限公司 模型训练方法、装置、电子设备以及存储介质
CN112528701B (zh) * 2020-12-15 2022-09-20 平安科技(深圳)有限公司 二维码检测方法、装置、电子设备及介质
CN114186632B (zh) * 2021-12-10 2023-04-18 北京百度网讯科技有限公司 关键点检测模型的训练方法、装置、设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399373A (zh) * 2018-02-06 2018-08-14 北京达佳互联信息技术有限公司 人脸关键点的模型训练及其检测方法和装置
CN109063695A (zh) * 2018-09-18 2018-12-21 图普科技(广州)有限公司 一种人脸关键点检测方法、装置及其计算机存储介质
CN110334735A (zh) * 2019-05-31 2019-10-15 北京奇艺世纪科技有限公司 多任务网络生成方法、装置、计算机设备和存储介质
CN110443170A (zh) * 2019-07-24 2019-11-12 北京奇艺世纪科技有限公司 一种人体关键点确定方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399373A (zh) * 2018-02-06 2018-08-14 北京达佳互联信息技术有限公司 人脸关键点的模型训练及其检测方法和装置
CN109063695A (zh) * 2018-09-18 2018-12-21 图普科技(广州)有限公司 一种人脸关键点检测方法、装置及其计算机存储介质
CN110334735A (zh) * 2019-05-31 2019-10-15 北京奇艺世纪科技有限公司 多任务网络生成方法、装置、计算机设备和存储介质
CN110443170A (zh) * 2019-07-24 2019-11-12 北京奇艺世纪科技有限公司 一种人体关键点确定方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Objects as Points;Xingyi Zhou等;《arXiv》;20190425;参见第1-12页 *
Towards Accurate Multi-person Pose Estimation in the Wild;George Papandreou等;《arXiv》;20170414;参见第3、4节 *

Also Published As

Publication number Publication date
CN110969100A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110969100B (zh) 一种人体关键点识别方法、装置及电子设备
CN111079570B (zh) 一种人体关键点识别方法、装置及电子设备
CN108898086B (zh) 视频图像处理方法及装置、计算机可读介质和电子设备
CN110909664A (zh) 一种人体关键点识别方法、装置及电子设备
CN110929638B (zh) 一种人体关键点识别方法、装置及电子设备
CN110909663B (zh) 一种人体关键点识别方法、装置及电子设备
CN111860398B (zh) 遥感图像目标检测方法、系统及终端设备
CN111027412B (zh) 一种人体关键点识别方法、装置及电子设备
CN112580668B (zh) 一种背景欺诈检测方法、装置及电子设备
CN110909665B (zh) 一种多任务的图像处理方法、装置、电子设备及存储介质
CN112749726B (zh) 目标检测模型的训练方法、装置、计算机设备和存储介质
CN108985148B (zh) 一种手部关键点检测方法及装置
CN113095129A (zh) 姿态估计模型训练方法、姿态估计方法、装置和电子设备
CN112084864A (zh) 模型优化方法、装置、电子设备和存储介质
CN111353325A (zh) 关键点检测模型训练方法及装置
CN111027551B (zh) 图像处理方法、设备和介质
CN111222558A (zh) 图像处理方法及存储介质
CN116258873A (zh) 一种位置信息确定方法、对象识别模型的训练方法及装置
CN113014928B (zh) 一种补偿帧生成方法及装置
CN114596533A (zh) 跌倒姿态检测方法、装置、电子设备及可读存储介质
CN112862002A (zh) 多尺度目标检测模型的训练方法、目标检测方法和装置
CN109064393B (zh) 人脸特效处理方法及装置
CN112749670B (zh) 一种多源遥感图像的逐像素分类方法、介质及设备
CN111814869B (zh) 一种同步定位与建图的方法、装置、电子设备及存储介质
CN113706428B (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