CN110807380B - 一种人体关键点检测方法及装置 - Google Patents
一种人体关键点检测方法及装置 Download PDFInfo
- Publication number
- CN110807380B CN110807380B CN201911007395.7A CN201911007395A CN110807380B CN 110807380 B CN110807380 B CN 110807380B CN 201911007395 A CN201911007395 A CN 201911007395A CN 110807380 B CN110807380 B CN 110807380B
- Authority
- CN
- China
- Prior art keywords
- human body
- image frame
- detected
- probability value
- current
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- 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/20—Movements or behaviour, e.g. gesture recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本公开提供一种人体关键点检测方法及装置,包括:获取当前图像帧,并输入到人体关键点检测模型,所述人体关键点检测模型包括至少两个级联的卷积神经网络;从其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;将所述特征图分别作为输入特征,输入到所述人体关键点检测模型的分类网络分支,分类网络分支输出的是否检测到人体的概率值的输出结果;根据所述输出结果确定在所述图像帧中检测到人体时,控制所述人体关键点检测模型输出检测到的人体关键点。本公开在原有模型的基础上增加分类分支,将分支分别嵌入人体关键点网络模型中,降低了误检测到人体的概率,使得人体关键点网络模型能够获取更精确的结果。
Description
技术领域
本公开涉及计算机视觉领域,特别涉及一种人体关键点检测方法及装置。
背景技术
人体骨骼关键点检测(Pose Estimation),主要检测人体的一些关键点,如关节、五官等,通过关键点描述人体骨骼信息,该检测方法是计算机视觉的基础性算法之一,在计算机视觉的其他相关领域的研究中都起到了基础性的作用,如行为识别、人物跟踪、步态识别等相关领域。具体应用主要集中在智能视频监控、病人监护系统、人机交互、虚拟现实、人体动画、智能家居、智能安防、运动员辅助训练等等。
由于人体具有相当的柔性,会出现各种姿态和形状,人体任何一个部位的微小变化都会产生一种新的姿态,同时其关键点的可见性受穿着、姿态、视角等影响非常大,而且还面临着遮挡、光照、雾等环境的影响,除此之外,2D人体关键点和3D人体关键点在视觉上会有明显的差异,身体不同部位都会有视觉上缩短的效果(foreshortening),使得人体骨骼关键点检测成为计算机视觉领域中一个极具挑战性的课题。
当前的人体关键点检测模型已经能够在移动端运行,但由于需要适配不同性能的硬件和实时性的需求。移动端模型的计算量均非常小,大多数模型要求计算量小于100MFlops,模型的大小必然会限制模型的能力。通过实际观察发现,当前的人体关键点检测模型遇到无人场景时,仍然会有关键点结果的输出,造成误检。这种错误的结果会产生非常严重的问题,造成产品体验的下降。
发明内容
本公开提供了一种人体关键点检测方法及装置,用于移动端模型的计算量均非常小,模型的大小必然会限制模型的计算能力。当前的人体关键点检测模型在无人场景下会产生大量的误检测,即在无人的场景出有人体关键点结果。这种错误的结果会产生非常严重的问题,造成产品体验的下降。
本公开的第一方面提供了一种人体关键点检测方法,包括:
获取当前图像帧,并输入到人体关键点检测模型,所述人体关键点检测模型包括至少两个级联的卷积神经网络;
从其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将所述特征图分别作为输入特征,输入到所述人体关键点检测模型的分类网络分支,得到所述分类网络分支输出的是否检测到人体的概率值的输出结果;
根据所述输出结果确定在所述图像帧中检测到人体时,控制所述人体关键点检测模型输出检测到的人体关键点。
可选地,所述人体关键点检测模型包括至少两个级联的卷积神经网络,从所述至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图,包括:
从第一级的卷积神经网络的多个卷积层中,抽取第一个卷积层输出的特征图;
从最后一级的卷积神经网络的多个卷积层中,抽取最后一个卷积层输出的特征图。
可选地,获取当前图像帧之前,还包括:
将训练样本中分别包含人体和不包含人体的标注结果的图像帧,输入到未训练的人体关键点检测模型,并从所述其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将抽取的特征图输入到所述分类网络分支,将所述分类网络分支的输出结果和所述特征图对应的图像分别包含人体和不包含人体的标注结果进行比对,根据比对结果调整所述分类网络分支的参数,得到所述人体关键点检测模型。
可选地,根据所述输出结果确定在所述图像帧中检测到人体,包括:
将所述输出结果中检测到人体的概率值,及未检测到人体的概率值,通过如下归一化指数函数转换为检测到人体的归一化概率值,根据所述归一化概率值确定在所述图像帧中是否检测到人体;
score=exp(c2)/(exp(c1)+exp(c2));
其中,score为归一化概率值,c1为当前图像帧未检测到人体的概率,c2为当前图像帧检测到人体的概率。
可选地,所述根据归一化概率值确定在所述图像帧中检测到人体时,输出所述人体关键点检测模型检测到的人体关键点,包括:
若所述归一化概率值小于第一设定阈值,确定在所述图像帧中未检测到人体,不输出所述人体关键点检测模型检测到的人体关键点;
若所述归一化概率值大于第二设定阈值时,确定在所述图像帧中检测到人体,输出所述人体关键点检测模型检测到的人体关键点;
其中所述第一设定阈值小于所述第二设定阈值。
可选地,根据所述归一化概率值确定在所述图像帧中是否检测到人体,包括:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量大于N,则联合当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值时,则确定在所述图像帧中检测到人体。
可选地,根据所述归一化概率值确定在所述图像帧中是否检测到人体,包括:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量不大于N且为非零值时,则联合当前归一化概率值及当前图像帧之前的所有图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值,则确定在所述图像帧中检测到人体。
可选地,所述联合当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值求取均值,包括:
从当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值中,删除n1个最大的概率值及n2个最小的概率值之后,对其余的所有归一概率值求取均值,n1、n2为正整数,且n1与n2的和小于N+1。
可选地,利用长度为N的缓存队列按图像帧的时间顺序缓存图像帧对应的归一化概率值,将所述输出结果中检测到人体的概率值,及未检测到人体的概率值,通过归一化指数函数转换为检测到人体的归一化概率值时,还包括:
确定当前缓存队列中归一化概率值的个数是否小于N,若小于,将当前归一化概率值放入所述缓存队列的队尾,否则将所述缓存队列队头的归一概率值去除后,并将当前归一概率值放入缓存队列的队尾;
其中,从所述当前缓存队列中读取当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值。
本公开的第二方面提供了一种人体关键点检测装置,该装置包括如下模块:
当前图像帧获取模块,用于获取当前图像帧,并输入到人体关键点检测模型,所述人体关键点检测模型包括至少两个级联的卷积神经网络;
特征图获取模块,用于从其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
概率值获取模块,用于将所述特征图分别作为输入特征,输入到所述人体关键点检测模型的分类网络分支,得到所述分类网络分支输出的是否检测到人体的概率值的输出结果;
人体关键点输出模块,用于根据所述输出结果确定在所述图像帧中检测到人体时,控制所述人体关键点检测模型输出检测到的人体关键点。
可选地,所述人体关键点检测模型包括至少两个级联的卷积神经网络,所述特征图获取模块具体用于:
从第一级的卷积神经网络的多个卷积层中,抽取第一个卷积层输出的特征图;
从最后一级的卷积神经网络的多个卷积层中,抽取最后一个卷积层输出的特征图。
可选地,所述装置还包括分类网络分支模块具体用于:
将训练样本中分别包含人体和不包含人体的标注结果的图像帧,输入到未训练的人体关键点检测模型,并从所述其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将抽取的特征图输入到所述分类网络分支,将所述分类网络分支的输出结果和所述特征图对应的图像帧分别包含人体和不包含人体标注结果进行比对,根据比对结果调整所述分类网络分支的参数,得到所述人体关键点检测模型。
可选地,所述人体关键点输出模块具体用于:
将所述输出结果中检测到人体的概率值,及未检测到人体的概率值,通过如下归一化指数函数转换为检测到人体的归一化概率值,根据所述归一化概率值确定在所述图像帧中是否检测到人体;
score=exp(c2)/(exp(c1)+exp(c2));
其中,score为归一化概率值,c1为当前图像帧未检测到人体的概率,c2为当前图像帧检测到人体的概率。
可选地,所述人体关键点输出模块具体用于:
若确定所述归一化概率值小于第一设定阈值,确定在所述图像帧中未检测到人体,不输出所述人体关键点检测模型检测到的人体关键点;
若确定所述归一化概率值大于第二设定阈值时,确定在所述图像帧中检测到人体,输出所述人体关键点检测模型检测到的人体关键点;
其中所述第一设定阈值小于所述第二设定阈值。
可选地,所述人体关键点输出模块具体用于:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量大于N,则联合当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值时,则确定在所述图像帧中检测到人体。
可选地,所述人体关键点输出模块具体用于:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量不大于N且为非零值时,则联合当前归一化概率值及当前图像帧之前的所有图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值,则确定在所述图像帧中检测到人体。
可选地,所述概率值获取模块具体用于:
从当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值中,删除n1个最大的概率值及n2个最小的概率值之后,对其余的所有归一概率值求取均值,n1、n2为正整数,且n1与n2的和小于N+1。
可选地,所述概率值获取模块具体用于:
利用长度为N的缓存队列按图像帧的时间顺序缓存图像帧对应的归一化概率值,将所述输出结果中检测到人体的概率值,及未检测到人体的概率值,通过归一化指数函数转换为检测到人体的归一化概率值时,还用于确定当前缓存队列中归一化概率值的个数是否小于N,若小于,将当前归一化概率值放入所述缓存队列的队尾,否则将所述缓存队列队头的归一概率值去除后,并将当前归一概率值放入缓存队列的队尾;
其中,从所述当前缓存队列中读取当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值。
本公开的第三方面提供了一种人体关键点检测的电子设备,所述装置包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述存储器中的计算机程序,用于执行本公开第一方面所述的一种人体关键点检测方法。
本公开的第四方面提供了一种计算机程序介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现本公开第一方面所述的一种人体关键点检测方法。
利用本公开提供的一种人体关键点检测方法及装置,具有以下有益效果:在原有人体关键点检测模型的基础上增加一个分类小分支,分支的计算量极小,分支通过输出softmax结果判断图中是否有人,通过很小的成本大大降低了人体关键点结果的误检;在计算时导入训练好的人体关键点模型和参数,并且在训练时保持不变,即保持关键点结果不变,由于网络模型不同位置的特征不同,在原有模型的基础上增加分类网络分支,通过很小的成本降低了误检测人体关键点的可能,能够获取更精确的检测结果。
附图说明
图1为一种人体关键点检测方法的示意图;
图2为一种人体关键点检测方法的流程图;
图3为一种人体关键点检测方式的完整流程图;
图4一种人体关键点检测的装置模块结构示意图;
图5一种人体关键点检测的装置结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
下面结合说明书附图对本公开实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本公开,并不用于限定本公开。
为了方便理解,下面对本公开实施例中涉及的名词进行解释:
1)机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科;专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能;机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域;机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术;
2)Hourglass网络(Hourglass Networks),为通过重复自底向上和自顶向下并联合中间结果的监督,可以很好地利用身体不同部位的空间关系,利用多个单层沙漏网络中提取到的不同的人体关键点进行堆叠,堆叠成一个大的特征图既保留了所有层的信息,又与输入原图大小,意味着可以通过1*1卷积生成代表关键点概率的人体特征图,其中人体各个关节点之间是可以互相参考预测的,即知道双肩的位置后,可以更好的预测肘部节点,给出腰部和脚踝位置,又可以用于预测膝盖;堆叠特征图中就包含了所有关节点的相互关系,所以将第一个沙漏网络给出的特征图作为下一个沙漏网络的输入,就意味着第二个沙漏网络可以使用关节点件的相互关系,从而提升了关节点的预测精度。
3)残差网络Residual,特点是容易优化,并且能够通过增加相当的深度来提高准确率;其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题,梯度过大时会导致模型训练出现“NaN”参数;有一些方法进行过优化,但是还是有随着层数加深的时候训练误差增大的情况;残差网络的好处在于当残差为0时,该层神经元只是对前层进行一次现行堆叠,使得网络性能不会下降,这是最差的情况,实际上残差不可能为0。
4)max pooling:max pooling的主要功能是下采样,却不会损坏识别结果。这意味着卷积后的Feature Map中有利于识别物体不必要的冗余信息,具体为将整个图片不重叠的分割成若干个同样大小的小块(pooling size)。每个小块内只取最大的数字,再舍弃其他节点后,保持原有的平面结构进行输出。
5)最近邻插值法(nearest neighbor):的主要功能是上采样,最近邻插值法是最简单的灰度值插值;也称作零阶插值,就是令变换后像素的灰度值等于距它最近的输入像素的灰度值。
6)池化操作处理:在卷积层进行特征提取后,输出的特征图会被传递至池化层进行特征选择和信息过滤;池化层包含预设定的池化函数,其功能是将特征图中单个点的结果替换为其相邻区域的特征图统计量。
7)全连接网络处理:卷积神经网络中的卷积层和池化层能够对输入数据进行特征提取,全连接层的作用则是对提取的特征进行非线性组合以得到输出,即全连接层本身不被期望具有特征提取能力,而是试图利用现有的高阶特征完成学习目标。
8)归一化:本文中为归一化指数函数,又称softmax函数,它能将一个含任意实数的K维向量z“压缩”到另一个K维实向量σ(z)中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1,该函数多于多分类问题中。
参见图1,为一种人体关键点检测方法的示意图,其中终端101中可能包含有摄像设备102,由终端设备获取摄像设备102录制的视频,由终端或外部的摄像设备将录制的视频直接发送到服务器进行人体检测的处理,其中此方法可以应用摄像设备、含有摄像设备的终端或应用于与摄像设备连接的终端或服务器中,用于完成人体检测以输出人体骨骼关键点。其中从录制的视频中当前图像帧,并输入到人体关键点检测网络模型得到人体关键点,还从人体关键点检测网络中抽取不同卷积层的特征图作为分支输入到分类网络分支中,在分类网络分支检测到人体时,输出人体关键点的检测结果。
为了实现减少人体骨骼关键点误检的目的,本实施例中可以采用如下的设备来配合进行一种人体关键点检测的方法:
由终端接收从终端内部的摄像设备或与终端连接的摄像设备发送的录制的视频,由终端将录制的视频发送给服务器中,或由具有发送与接收功能摄像设备直接将录制的视频发送到服务器,服务器从录制的视频中提取当前图像帧,将当前图像帧输入到人体关键点的检测网络模型得到人体关键点,从人体关键点检测网络中抽取不同卷积层的特征图作为分支输入到分类网络分支中,在分类网络分支检测到人体时,输出人体关键点的检测结果。或由摄像设备直接发送到服务器中,执行上述操作。
所述终端可以是终端可以是蜂窝电话、无绳电话、会话启动协议(SessionInitiation Protocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备以及5G网络中的移动台或者未来演进的公共陆地移动网(Public LandMobile Network,PLMN)网络中的订阅设备等。
其中获取录制的视频的形式可以是,获取终端本地的录制视频或由终端内部的摄像设备、与终端连接的摄像设备或独立连接服务器的摄像设备,在线录制的视频,发送到服务器中,所述视频的格式可以为如下任一种,包括:rm、rmvb、mtv、dat、wmv、avi、3gp、amv、dmv、flv。
实施例1
本公开提供了一种人体关键点检测方法,具体步骤如图2所示:
S201,获取当前图像帧,并输入到人体关键点检测模型,所述人体关键点检测模型包括至少两个级联的卷积神经网络;
其中所述的获取当前图像帧是指,从终端设备及具有拍摄功能的设备中获取的拍摄视频文件中提取的当前时间对应的某一帧图像,作为当前图像帧,其中图像帧的格式以为如下任一种,包括:JPEG、TIFF、RAW、BMP、GIF、PNG等。
所述的人体关键点检测模型,是利用历史时间段内的发送的图像帧及图像帧中人体关键点作为训练样本,利用训练样本中的图像帧数据作为输入特征,将输出的人体关键点和应有的关键点位置的标注结果进行比对,根据比对的结果调整所述人体关键点检测模型的参数,得到人体关键点检测模型,本实施例中训练样本包括视频中某帧有人体关键点的图像或视频中某帧中无人体关键点的图像,具体的模型训练过程可以采用现有方式,这里不再进一步详述。
其中,在人体关键点检测模型中,有至少两个级联的卷积神经网络,所述卷积神经网络的具体个数是由计算人体关键点的目标的复杂程度以及当前设备的计算能力确定的,这里不做过多限定。
具体的,本实施例使用的人体关键点检测网络模型为包括两个级联的沙漏网络Hourglass形成的的残差网络,本实施例采用四阶Hourglass作为卷积神经网络,其中第一级运算为采用原尺度进行卷积层处理,第二运算为采用先降采样再升采样的过程。降采样使用max pooling,升采样使用最近邻插值。每次降采样之前,分出上半路保留原尺度信息;每次升采样之后,和上一个尺度的数据相加;两次降采样之间,使用三个残差计算模块提取特征;两次相加之间,使用一个残差计算模块提取特征图。
S202,从其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
在每个卷积神经网络中,存在着多个卷积层,分别抽取至少一个卷积层作为输出的特征图,输出到分类网络分支中,其中根据设备的计算能力及对于人体关键点的精度要求,决定在多个卷积神经网络中抽取一个或多个卷积层作为特征图,抽取的特征图越多,对于人体关键点的输出结果也就越好越精准。
另外,抽取的卷积层的位置也不做限定,例如抽取第一个卷积神经网络中的第一卷积层和最后一个卷积神经网络中的最后一层卷积层,此种抽取方式,计算量较小,同时计算出的人体关键点的精准度也相对较高。
S203,将所述特征图分别作为输入特征,输入到所述人体关键点检测模型的分类网络分支,得到所述分类网络分支输出的是否检测到人体的概率值的输出结果;
其中,将从多个卷积神经网络抽取的至少一个卷积层作为输入特征,输入到人体关键点模型中的分类网络分支中,其中分类网络分支,用于检测所述特征图中是否有人,并根据特征图中存在人的情况,确定是否最终输出人体关键点。
同时,分类网络分支也需要训练,将训练样本中分别包含人体和不包含人体的标注结果的图像帧,输入到未训练的人体关键点检测模型,并从所述其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将抽取的特征图输入到所述分类网络分支,将所述分类网络分支的输出结果和所述特征图对应的图像分别包含人体和不包含人体的标注结果进行比对,根据比对结果调整所述分类网络分支的参数,得到含有分类网络分支的人体关键点检测模型。
当判断特征图中存在人的概率较小时,则不输出人体关键点,判断特征图中存在人的概率较大时,则输出人体关键点。
S204,根据所述输出结果确定在所述图像帧中检测到人体时,控制所述人体关键点检测模型输出检测到的人体关键点。
具体的,将得到的概率值进行归一化处理,从特征图中得到的概率值进行相加,带入到归一化指数函数中,经归一化指数函数计算求得当前概率值。
其中根据所述当前概率值确定是否在所述图像中检测到人体,具体方法为:设定第一设定阈值、第二设定阈值与前概率值进行比较,其中第二设定阈值大于第一阈值,特征图中前概率值小于第一设定阈值时,确定在所述图像中未检测到人体,人体关键点检测网络模型输出检测人体的关键点。
特征图中当前概率值大于第二设定阈值时,确定在所述图像中检测到人体,人体关键点检测网络模型不输出检测人体的关键点。
其中第一设定阈值可以设定为0.1,第二设定阈值可以设定为0.9,当求得的当前概率值为小于0.1时,则判定该图像帧中没有人,则不输出人体关键点;当求得的当前概率值为大于0.9时,则判定该图像帧中有人,则输出人体关键点。
实施例2
其中作为较优的实施方式,本实施例从第一级的卷积神经网络的多个卷积层中,抽取第一个卷积层输出的特征图;
从最后一级的卷积神经网络的多个卷积层中,抽取最后一个卷积层输出的特征图,计算概率值。
具体发送为:例如,提取第一hourglass的第一层卷积层的特征图,为低级特征图,提取第二hourglass最后一层的卷积层的特征图,为高级特征图。
获取的当前图像帧的特征图为32*32像素值的图片,在其中低级特征图中能取到64个特征点,其中低级特征图I1为64*32*32经过分类网络分支中的卷积网络处理为16*16*16的图像I2;
将16*16*16的图像I2,经过分类网络分支中的卷积网络处理为8*8*8的图像I3;
将8*8*8的图像I3,经过分类网络分支中的卷积网络处理为8*4*4的图像I4;
将8*4*4的图像I4,经过分类网络分支中的池化操作处理为8*1*1的图像I5;
将8*1*1的图像I5,经过分类网络分支中的全连接网络得到大小为2*1*1输出I6;
其中I6中可以提取出概率值(a1,a2),所述的a1与a2的取值范围为0~1,a1为未检测到人体的概率,a2为检测到人体的概率。
其中高级特征图中能取到40个特征点,其中高级特征图I1’为40*32*32,经过分类网络分支中的卷积网络处理为8*16*16的图像I2’;
将8*16*16的图像I2’,经过分类网络分支中的卷积网络处理为8*8*8的图像I3’;
将8*8*8的图像I3’,经过分类网络分支中的卷积网络处理为8*4*4的图像I4’;
将8*4*4的图像I4’,经过分类网络分支中的卷积网络处理为8*2*2的图像I5’;
将8*1*1的图像I5’,经过分类网络分支中的全连接网络得到大小为2*1*1输出I6’;
其中I6’中可以提取出概率值(b1,b2),所述的b1与b2的取值范围为0~1,b1为未检测到人体的概率,b2为检测到人体的概率。
将得到的概率值进行归一化处理,首先从低级特征图与高级特征图中得到的概率值进行相加,其中低级特征图的未检测到人体的概率a1与高级特征图的未检测到人体的概率b1相加得到,当前图像帧未检测到人体的概率c1,其中低级特征图的检测到人体的概率a2与高级特征图的检测到人体的概率b2相加得到,当前图像帧检测到人体的概率c2。将得到的当前图像帧经计算求得的概率值,带入到归一化指数函数中,经归一化指数函数计算求得当前概率值,具体计算公式如下:
利用归一化softmax公式对概率值进行处理,softmax公式应用到本实施例中,转化为score=exp(c2)/(exp(c1)+exp(c2)),其中score代表当前概率值,其取值范围为0~1。将c1、c2带入,求得当前概率值score,基于当前概率值score判断是否输出人体关键点。
实施例3
因为考虑到输入的是视频,而视频的图像帧为连续帧的特点,为了使结果更加的精确和稳定,本实施例增加了对于是否存在人体进行再次判断的处理。
当前概率值score位于第一设定阈值与第二设定阈值之间时,需要进行归一概率值进行平滑的处理。
其中,在第一设定阈值与第二设定阈值之间设定一第三设定阈值;
首先判断当前图像帧之前的图像帧的数量是否大于事先设定的平滑概率值数量,并将事先设定的平滑概率值数量定义为N,其目的是降低移动终端的计算负担,能够更快的判断当前图像帧中是否存在人;
当前图像帧之前的图像帧的数量大于N时,则联合当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值求取均值,得到平滑概率值,N为大于等于1的正整数;
当前图像帧之前的图像帧的数量小于等于N时,则联合当前归一化概率值及当前图像帧之前的所有图像帧对应的归一化概率值求取均值,得到平滑概率值,N为大于等于1的正整数;
例如N的值为15,当前该图像帧的顺序为第16帧,当前图像帧之前的图像帧的数量大于N,联合当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值求取均值,得到平滑概率值,即计算2~16帧的归一化概率值的均值,记做平滑概率值。
将得到的平滑概率值与设定的第三设定阈值进行比较;
若所述平滑概率值大于第三设定阈值,则确定在所述图像帧中检测到人体,输出人体关键点;
若所述平滑概率值小于第三设定阈值,则确定在所述图像帧中未检测到人体,不输出人体关键点;
为了减少计算量,更优的,利用长度为N的缓存队列按图像帧的时间顺序缓存图像帧对应的归一化概率值,确定当前缓存队列中归一化概率值的个数是否小于N,若小于,将当前归一化概率值放入所述缓存队列的队尾,否则将所述缓存队列队头的归一概率值去除后,并将当前归一概率值放入缓存队列的队尾,对队列进行实时更新;
从当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值中,删除n1个最大的概率值及n2个最小的概率值之后,对其余的所有归一概率值求取均值,n1、n2为正整数,且n1与n2的和小于N+1。
此步骤的目的为,将过于大或过于小的归一化概率值记为不合理的归一化概率值,即减小了误差,又降低了检测人体的计算量,提高了速度。
例如当前队列中有14个的概率值,设定n1、n2为2,将队列中最大的两个概率值与最小的两个概率值删除后,计算删除后队列中所有概率值的平滑概率,该删除方式还可以为设定一个减小计算量的阈值区间当所有概率值不处于阈值区间时,删除该概率值,计算删除后所有概率值的均值,例如,减小阈值区间为0.1~0.9,当前队列中不处于阈值区间的进行去除,得到平滑概率值。
实施例4
参见图3,为本公开的可选人体关键点检测方式完整流程图,具体步骤如下:
S301,从终端中的视频中获取至少一帧的图像,作为当前图像帧,所述图像的可能的格式在实施例1中已经进行了描述,这里不再做过多描述;
S302,将当前图像帧输入人体关键点检测网络模型中,得到人体的关键点信息;
其中人体关键点检测网络模型中包含人体关键点检测网络与分类网络分支,其中人体关键点检测网络模型中包含人体关键点检测网络与分类网络分支,都需要进行模型的训练,利用训练样本中的图像帧数据作为输入特征,将输出的人体关键点和应有的关键点位置的标注结果进行比对,根据比对的结果调整所述人体关键点检测模型的参数,得到人体关键点检测模型,在人体关键点检测模型基础上对分类网络分支进行再训练,具体训练的方式已在实施例1的S203中进行了描述;
S303,从已输入了当前图像帧的人体关键点检测网络模型中,分别从两个级联的hourglass网络中各提取一个卷积层的特征图;具体的本公开的最优选择方式为:提取第一hourglass的第一层卷积层的特征图,为低级特征图,提取第二hourglass最后一层的卷积层的特征图,为高级特征图。
S304,将当前图像帧对应得到的各特征图输入到分类网络分支中,得到当前图像帧的检测到人体的概率值;从特征图中得到检测到人体的概率值以及未监测到人体的概率值,将得到的概率值进行归一化处理,将得到的当前图像帧经计算求得的概率值,带入到归一化指数函数中,经归一化指数函数计算求得当前概率值,其中概率值的取值范围为0~1之间;
S305,接收求得的当前图像帧的检测到人体的概率值,其中第一设定阈值小于第二设定阈值,并且第一设定阈值与第二设定阈值都处在0~1之间;确定是否位于第一设定阈值和第二设定阈值之间和第二设定阈值之间,若是,执行步骤S306,若检测到人体的概率值大于第二设定阈值时,执行步骤S314;若检测到人体的概率值小于第一设定阈值时,执行步骤S315;
S306,检测到人体的概率值位于第一设定阈值和第二设定阈值之间时,根据当前图像帧的检测到人体的概率值,确定需要继续计算平滑概率值,由于本公开的输入的是视频,视频的图像帧为连续帧,需要进行平滑处理,得到更准确的信息;
S307,判断当前图像帧的概率值数量是否小于N,其中N计算平滑概率值的数量,是预先设定的值,根据终端的处理能力及对于关键点的精准程度决定N的大小,该步骤的目的是保证当前队列中的概率值为临近当前图像帧的概率值;
S308,当判断队列中的概率值不小于N,将队头的概率值去除,并将当前概率值放入队列的队尾,所述队列为利用长度为N的缓存队列按图像帧的时间顺序缓存图像帧对应的归一化概率值,此步骤的目的为,使计算的平滑概率值的总数保持一致,使结果更加的精确和稳定;执行步骤S310;
S309,当判断队列中的概率值小于N,直接将当前概率值放入的队列的队尾,当队列中归一化概率值不足N时,直接计算当前队列中所有的归一化概率值的平均值,执行步骤S310;
S310,得到当前图像帧对应的当前队列,判断是否需要减小工作量,此步骤的目的是,根据使用该方法的平台计算能力确定是否需要减小工作量,并去除最大值或最小值,若是,执行步骤S311,否则执行步骤S312;
S311,若判断需要减小计算量,则将当前队列中的N个图像帧对应的概率中删除n1个最大的概率值及n2个最小的概率值,执行步骤S312;
S312,若判断不需要减小计算量,则直接计算当前队列概率值的均值,将当前队列概率值的均值记做平滑概率值,其中平滑概率值的取值范围同样为0~1之间;
S313,将平滑概率值与第三设定阈值进行比较,若大于第三设定阈值,确定图像中有人,执行步骤S314,若不大于第三设定阈值,确定图像中无人,执行步骤S315;
S314,输出检测人体关键点;
S315,不输出检测人体关键点。
实施例5
参见图4,本公开提供了一种人体关键点检测的装置,该装置包括如下模块:
当前图像帧获取模块401,用于获取当前图像帧,并输入到人体关键点检测模型,所述人体关键点检测模型包括至少两个级联的卷积神经网络;
特征图获取模块402,用于从其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
概率值获取模块403,用于将所述特征图分别作为输入特征,输入到所述人体关键点检测模型的分类网络分支,得到所述分类网络分支输出的是否检测到人体的概率值的输出结果;
人体关键点输出模块404,用于根据所述输出结果确定在所述图像帧中检测到人体时,控制所述人体关键点检测模型输出检测到的人体关键点。
可选地,所述人体关键点检测模型包括至少两个级联的卷积神经网络,所述特征图获取模块402具体用于:
从第一级的卷积神经网络的多个卷积层中,抽取第一个卷积层输出的特征图;
从最后一级的卷积神经网络的多个卷积层中,抽取最后一个卷积层输出的特征图。
可选地,所述装置还包括分类网络分支模块405具体用于:
将训练样本中分别包含人体和不包含人体的标注结果的图像帧,输入到未训练的人体关键点检测模型,并从所述其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将抽取的特征图输入到所述分类网络分支,将所述分类网络分支的输出结果和所述特征图对应的图像帧分别包含人体和不包含人体标注结果进行比对,根据比对结果调整所述分类网络分支的参数,得到所述人体关键点检测模型。
可选地,所述人体关键点输出模块404具体用于:
将所述输出结果中检测到人体的概率值,及未检测到人体的概率值,通过如下归一化指数函数转换为检测到人体的归一化概率值,根据所述归一化概率值确定在所述图像帧中是否检测到人体;
score=exp(c2)/(exp(c1)+exp(c2));
其中,score为归一化概率值,c1为当前图像帧未检测到人体的概率,c2为当前图像帧检测到人体的概率。
可选地,所述人体关键点输出模块404具体用于:
若确定所述归一化概率值小于第一设定阈值,确定在所述图像帧中未检测到人体,不输出所述人体关键点检测模型检测到的人体关键点;
若确定所述归一化概率值大于第二设定阈值时,确定在所述图像帧中检测到人体,输出所述人体关键点检测模型检测到的人体关键点;
其中所述第一设定阈值小于所述第二设定阈值。
可选地,所述人体关键点输出模块404具体用于:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量大于N,则联合当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值时,则确定在所述图像帧中检测到人体。
可选地,所述人体关键点输出模块404具体用于:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量不大于N且为非零值时,则联合当前归一化概率值及当前图像帧之前的所有图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值,则确定在所述图像帧中检测到人体。
可选地,所述概率值获取模块403具体用于:
从当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值中,删除n1个最大的概率值及n2个最小的概率值之后,对其余的所有归一概率值求取均值,n1、n2为正整数,且n1与n2的和小于N+1。
可选地,所述概率值获取模块403具体用于:
利用长度为N的缓存队列按图像帧的时间顺序缓存图像帧对应的归一化概率值,将所述输出结果中检测到人体的概率值,及未检测到人体的概率值,通过归一化指数函数转换为检测到人体的归一化概率值时,还用于确定当前缓存队列中归一化概率值的个数是否小于N,若小于,将当前归一化概率值放入所述缓存队列的队尾,否则将所述缓存队列队头的归一概率值去除后,并将当前归一概率值放入缓存队列的队尾;
其中,从所述当前缓存队列中读取当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值。
实施例5
本公开提供了一种人体关键点检测的电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述存储器中的计算机程序,用于执行实施例1~4中提供的一种人体关键点检测的方法。
如图5所示,其中电子设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:central processing units,英文简称:CPU)501(例如,一个或一个以上处理器)和存储器502,一个或一个以上存储应用程序504或数据505的存储介质503(例如一个或一个以上海量存储设备)。其中,存储器502和存储介质503可以是短暂存储或持久存储。存储在存储介质503的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储介质503通信,在电子设备500上执行存储介质503中的一系列指令操作。
电子设备500还可以包括一个或一个以上电源506,一个或一个以上有线或无线网络接口507,一个或一个以上输入输出接口508,和/或,一个或一个以上操作系统509,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
实施例6
本公开实施例提供一种计算机程序介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现实施例1~4中提供的人体关键点检测方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (20)
1.一种人体关键点检测方法,其特征在于,包括:
获取当前图像帧,并输入到人体关键点检测模型,所述人体关键点检测模型包括至少两个级联的卷积神经网络;
从其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将抽取的多个特征图分别作为输入特征,输入到所述人体关键点检测模型的分类网络分支,得到所述分类网络分支输出的与所述多个特征图分别对应的是否检测到人体的概率值的多个输出结果;
根据所述多个输出结果确定在所述图像帧中检测到人体时,控制所述人体关键点检测模型输出检测到的人体关键点。
2.根据权利要求1所述的方法,其特征在于,所述人体关键点检测模型包括至少两个级联的卷积神经网络,从所述至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图,包括:
从第一级的卷积神经网络的多个卷积层中,抽取第一个卷积层输出的特征图;
从最后一级的卷积神经网络的多个卷积层中,抽取最后一个卷积层输出的特征图。
3.根据权利要求1所述的方法,其特征在于,获取当前图像帧之前,还包括:
将训练样本中分别包含人体和不包含人体的标注结果的图像帧,输入到未训练的人体关键点检测模型,并从所述其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将抽取的特征图输入到所述分类网络分支,将所述分类网络分支的输出结果和所述特征图对应的图像分别包含人体和不包含人体的标注结果进行比对,根据比对结果调整所述分类网络分支的参数,得到所述人体关键点检测模型。
4.根据权利要求1所述的方法,其特征在于,根据所述多个输出结果确定在所述图像帧中检测到人体,包括:
将所述多个输出结果中检测到人体的概率值,及未检测到人体的概率值,通过如下归一化指数函数转换为检测到人体的归一化概率值,根据所述归一化概率值确定在所述图像帧中是否检测到人体;
score=exp(c2)/(exp(c1)+exp(c2));
其中,score为归一化概率值,c1为当前图像帧未检测到人体的概率,c2为当前图像帧检测到人体的概率。
5.根据权利要求4所述的方法,其特征在于,所述根据归一化概率值确定在所述图像帧中检测到人体时,输出所述人体关键点检测模型检测到的人体关键点,包括:
若所述归一化概率值小于第一设定阈值,确定在所述图像帧中未检测到人体,不输出所述人体关键点检测模型检测到的人体关键点;
若所述归一化概率值大于第二设定阈值时,确定在所述图像帧中检测到人体,输出所述人体关键点检测模型检测到的人体关键点;
其中所述第一设定阈值小于所述第二设定阈值。
6.根据权利要求4所述的方法,其特征在于,根据所述归一化概率值确定在所述图像帧中是否检测到人体,包括:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量大于N,则联合当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值时,则确定在所述图像帧中检测到人体。
7.根据权利要求4所述的方法,其特征在于,根据所述归一化概率值确定在所述图像帧中是否检测到人体,包括:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量不大于N且为非零值时,则联合当前归一化概率值及当前图像帧之前的所有图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值,则确定在所述图像帧中检测到人体。
8.根据权利要求6所述的方法,其特征在于,所述联合当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值求取均值,包括:
从当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值中,删除n1个最大的概率值及n2个最小的概率值之后,对其余的所有归一概率值求取均值,n1、n2为正整数,且n1与n2的和小于N+1。
9.根据权利要求4~8任一所述的方法,其特征在于,利用长度为N的缓存队列按图像帧的时间顺序缓存图像帧对应的归一化概率值,将所述多个输出结果中检测到人体的概率值,及未检测到人体的概率值,通过归一化指数函数转换为检测到人体的归一化概率值时,还包括:
确定当前缓存队列中归一化概率值的个数是否小于N,若小于,将当前归一化概率值放入所述缓存队列的队尾,否则将所述缓存队列队头的归一概率值去除后,并将当前归一概率值放入缓存队列的队尾;
其中,从所述当前缓存队列中读取当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值。
10.一种人体关键点检测装置,其特征在于,该装置包括如下模块:
当前图像帧获取模块,用于获取当前图像帧,并输入到人体关键点检测模型,所述人体关键点检测模型包括至少两个级联的卷积神经网络;
特征图获取模块,用于从其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
概率值获取模块,用于将抽取的多个特征图分别作为输入特征,输入到所述人体关键点检测模型的分类网络分支,得到所述分类网络分支输出的与所述多个特征图分别对应的是否检测到人体的概率值的多个输出结果;
人体关键点输出模块,用于根据所述多个输出结果确定在所述图像帧中检测到人体时,控制所述人体关键点检测模型输出检测到的人体关键点。
11.根据权利要求10所述的装置,其特征在于,所述人体关键点检测模型包括至少两个级联的卷积神经网络,所述特征图获取模块具体用于:
从第一级的卷积神经网络的多个卷积层中,抽取第一个卷积层输出的特征图;
从最后一级的卷积神经网络的多个卷积层中,抽取最后一个卷积层输出的特征图。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括分类网络分支模块具体用于:
将训练样本中分别包含人体和不包含人体的标注结果的图像帧,输入到未训练的人体关键点检测模型,并从所述其中至少两个卷积神经网络各自的多个卷积层中,分别抽取至少一个卷积层输出的特征图;
将抽取的特征图输入到所述分类网络分支,将所述分类网络分支的输出结果和所述特征图对应的图像帧分别包含人体和不包含人体标注结果进行比对,根据比对结果调整所述分类网络分支的参数,得到所述人体关键点检测模型。
13.根据权利要求10所述的装置,其特征在于,所述人体关键点输出模块具体用于:
将所述多个输出结果中检测到人体的概率值,及未检测到人体的概率值,通过如下归一化指数函数转换为检测到人体的归一化概率值,根据所述归一化概率值确定在所述图像帧中是否检测到人体;
score=exp(c2)/(exp(c1)+exp(c2));
其中,score为归一化概率值,c1为当前图像帧未检测到人体的概率,c2为当前图像帧检测到人体的概率。
14.根据权利要求13所述的装置,其特征在于,所述人体关键点输出模块具体用于:
若确定所述归一化概率值小于第一设定阈值,确定在所述图像帧中未检测到人体,不输出所述人体关键点检测模型检测到的人体关键点;
若确定所述归一化概率值大于第二设定阈值时,确定在所述图像帧中检测到人体,输出所述人体关键点检测模型检测到的人体关键点;
其中所述第一设定阈值小于所述第二设定阈值。
15.根据权利要求13所述的装置,其特征在于,所述人体关键点输出模块具体用于:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量大于N,则联合当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值时,则确定在所述图像帧中检测到人体。
16.根据权利要求13所述的装置,其特征在于,所述人体关键点输出模块具体用于:
若所述归一化概率值位于第一设定阈值和第二设定阈值之间时,且当前图像帧之前的图像帧的数量不大于N且为非零值时,则联合当前归一化概率值及当前图像帧之前的所有图像帧对应的归一化概率值求取均值,得到平滑概率值,N为不小于1的正整数;
若所述平滑概率值大于第三设定阈值,则确定在所述图像帧中检测到人体。
17.根据权利要求15所述的装置,其特征在于,所述概率值获取模块具体用于:
从当前归一化概率值及当前图像帧之前的N个图像帧对应的归一化概率值中,删除n1个最大的概率值及n2个最小的概率值之后,对其余的所有归一概率值求取均值,n1、n2为正整数,且n1与n2的和小于N+1。
18.根据权利要求13~17任一所述的装置,其特征在于,所述概率值获取模块具体用于:
利用长度为N的缓存队列按图像帧的时间顺序缓存图像帧对应的归一化概率值,将所述多个输出结果中检测到人体的概率值,及未检测到人体的概率值,通过归一化指数函数转换为检测到人体的归一化概率值时,还用于确定当前缓存队列中归一化概率值的个数是否小于N,若小于,将当前归一化概率值放入所述缓存队列的队尾,否则将所述缓存队列队头的归一概率值去除后,并将当前归一概率值放入缓存队列的队尾;
其中,从所述当前缓存队列中读取当前归一化概率值及当前图像帧之前邻近的N个图像帧对应的归一化概率值。
19.一种人体关键点检测的电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器用于执行所述存储器中的计算机程序,所述计算机程序用于执行如权利要求1~9任一项所述人体关键点检测方法。
20.一种计算机程序介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1~9任一项所述人体关键点检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911007395.7A CN110807380B (zh) | 2019-10-22 | 2019-10-22 | 一种人体关键点检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911007395.7A CN110807380B (zh) | 2019-10-22 | 2019-10-22 | 一种人体关键点检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110807380A CN110807380A (zh) | 2020-02-18 |
CN110807380B true CN110807380B (zh) | 2023-04-07 |
Family
ID=69488806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911007395.7A Active CN110807380B (zh) | 2019-10-22 | 2019-10-22 | 一种人体关键点检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807380B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232125A (zh) * | 2020-09-11 | 2021-01-15 | 北京迈格威科技有限公司 | 关键点检测方法和关键点检测模型的训练方法 |
CN112287855B (zh) * | 2020-11-02 | 2024-05-10 | 东软睿驰汽车技术(沈阳)有限公司 | 基于多任务神经网络的驾驶行为检测方法和装置 |
CN112464904B (zh) * | 2020-12-15 | 2024-07-09 | 北京乐学帮网络技术有限公司 | 一种课堂行为分析方法、装置、电子设备及存储介质 |
CN118692116A (zh) * | 2024-08-27 | 2024-09-24 | 福建体客数字科技有限公司 | 一种基于AiteekEngine算法模型的cobb角测量方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062526A (zh) * | 2017-12-15 | 2018-05-22 | 厦门美图之家科技有限公司 | 一种人体姿态估计方法及移动终端 |
CN108549876A (zh) * | 2018-04-20 | 2018-09-18 | 重庆邮电大学 | 基于目标检测和人体姿态估计的坐姿检测方法 |
CN109299685A (zh) * | 2018-09-14 | 2019-02-01 | 北京航空航天大学青岛研究院 | 用于人体关节3d坐标估计的推断网络及其方法 |
CN109543549A (zh) * | 2018-10-26 | 2019-03-29 | 北京陌上花科技有限公司 | 用于多人姿态估计的图像数据处理方法及装置、移动端设备、服务器 |
CN109726659A (zh) * | 2018-12-21 | 2019-05-07 | 北京达佳互联信息技术有限公司 | 人体骨骼关键点的检测方法、装置、电子设备和可读介质 |
CN110084161A (zh) * | 2019-04-17 | 2019-08-02 | 中山大学 | 一种人体骨骼关键点的快速检测方法及系统 |
-
2019
- 2019-10-22 CN CN201911007395.7A patent/CN110807380B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062526A (zh) * | 2017-12-15 | 2018-05-22 | 厦门美图之家科技有限公司 | 一种人体姿态估计方法及移动终端 |
CN108549876A (zh) * | 2018-04-20 | 2018-09-18 | 重庆邮电大学 | 基于目标检测和人体姿态估计的坐姿检测方法 |
CN109299685A (zh) * | 2018-09-14 | 2019-02-01 | 北京航空航天大学青岛研究院 | 用于人体关节3d坐标估计的推断网络及其方法 |
CN109543549A (zh) * | 2018-10-26 | 2019-03-29 | 北京陌上花科技有限公司 | 用于多人姿态估计的图像数据处理方法及装置、移动端设备、服务器 |
CN109726659A (zh) * | 2018-12-21 | 2019-05-07 | 北京达佳互联信息技术有限公司 | 人体骨骼关键点的检测方法、装置、电子设备和可读介质 |
CN110084161A (zh) * | 2019-04-17 | 2019-08-02 | 中山大学 | 一种人体骨骼关键点的快速检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
Stacked Hourglass Networks for Human Pose Estimation;Alejandro Newell等;《Computer Vision - ECCV2016》;20160917;正文第1-5节 * |
Also Published As
Publication number | Publication date |
---|---|
CN110807380A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807380B (zh) | 一种人体关键点检测方法及装置 | |
CN112052886B (zh) | 基于卷积神经网络的人体动作姿态智能估计方法及装置 | |
WO2020108362A1 (zh) | 人体姿态检测方法、装置、设备及存储介质 | |
CN112418195B (zh) | 一种人脸关键点检测方法、装置、电子设备及存储介质 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN114140831B (zh) | 人体姿态估计方法、装置、电子设备及存储介质 | |
CN111814588A (zh) | 行为检测方法以及相关设备、装置 | |
CN113658324A (zh) | 图像处理方法及相关设备、迁移网络训练方法及相关设备 | |
CN116977674A (zh) | 图像匹配方法、相关设备、存储介质及程序产品 | |
CN114373224B (zh) | 基于自监督学习的模糊3d骨架动作识别方法及装置 | |
CN113887501A (zh) | 行为识别方法、装置、存储介质及电子设备 | |
CN112418399B (zh) | 训练姿态估计模型的方法、装置、姿态估计的方法及装置 | |
CN117765363A (zh) | 一种基于轻量型记忆库的图像异常检测方法及系统 | |
CN111914796B (zh) | 基于深度图和骨骼点的人体行为识别方法 | |
CN113762049A (zh) | 内容识别方法、装置、存储介质和终端设备 | |
CN113361510B (zh) | 超分网络模型训练方法、装置、电子设备以及存储介质 | |
CN112487903B (zh) | 基于对抗网络的步态数据生成方法及设备 | |
CN115546491A (zh) | 一种跌倒报警方法、系统、电子设备及存储介质 | |
CN114373071A (zh) | 目标检测方法、装置及电子设备 | |
CN113824989A (zh) | 一种视频处理方法、装置和计算机可读存储介质 | |
CN113298017A (zh) | 一种针对视频行为检测的行为提议生成方法 | |
CN112508776A (zh) | 动作迁移方法、装置和电子设备 | |
CN113240796B (zh) | 视觉任务处理方法及装置、计算机可读介质和电子设备 | |
CN114913597B (zh) | 基于OpenPose和轻量化神经网络的跌倒检测方法及系统 | |
Zhang et al. | Lightweight network for small target fall detection based on feature fusion and dynamic convolution |
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 |