一种人体姿态识别的方法及装置
文献发布时间:2023-06-19 09:44:49
技术领域
本公开涉及计算机技术,特别涉及一种人体姿态识别的方法及装置。
背景技术
相关技术中,人体姿态识别技术已经应用于生活的各个方面,例如,体感游戏的相关设备,通过人体姿态识别技术,识别人体姿态,实现人机交互,增加了人机交互的方式。
相关技术下,通常采用流动网络模型对人体进行跟踪,通常流动网络模型采用将图片叠合进行卷积运算或先提取两幅图片中的重要特征,在通过相关层将两个图片的特征进行合并,之后进行卷积运算。
相关技术目前只能应用于游戏,娱乐等场景,应用场景单一,而且在这些应用场景下,对人体姿态识别的精度要求不高,且需要人体作出较大幅度的动作。
但是,相关技术下,只能识别人体做出的坐姿,站姿,仰卧等大幅度的人体姿态,对于人体在做出细微姿态并不能准确识别。同时,现有技术下的人体姿态识别场景过于单一,无法满足各个场景下对人体姿态识别的需要。
因此,需要一种人体姿态识别的方法及装置,以克服上述缺陷。
发明内容
本公开提供一种人体姿态识别的方法及装置,用以解决人体的细微姿态不能准确识别的问题。
本发明提供的具体技术方案如下:
第一方面,一种人体姿态识别的方法,包括:
对待检测图像进行人体检测,识别出所述待检测图像中的人体关键点,并确定各个人体关键点的二维坐标;
将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,以及将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标;
基于各个人体关键点的人体坐标系的三维坐标,提取出待检测图像中的人体特征,所述人体特征至少包括:上肢结构化特征,下肢结构化特征和躯干结构化特征;
将获得的各个人体特征与预设的图像样本进行匹配,输出人体姿态识别结果。
可选的,对待检测图像进行人体检测,包括:
将所述待检测图像划分为若干待检测区域;
对所述每一个待检测区域进行人体检测,判断所述各个待检测区域内是否存在所述人体部分,将存在所述人体部分的区域记为人体区域;
将由所述各个人体区域构成的总区域,作为人体检测的输出结果。
可选的,将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,包括:
将获得的各个二维坐标对应的二维关键点转换为相应的热力图,其中,一个二维关键点表示为在所述热力图中一预设区域内的高斯核;
将所述待检测图像中人体区域,按照预设的大小进行截取,获得截取图像;
将所述热力图和所述截取图像输入特征提取网络,获得输出的特征信息,其中,所述特征提取网络用于基于所述热力图从所述截取图像中提取特征信息;
将提取的特征信息输入坐标回归网络,获得输出的各个二维坐标对应的世界坐标系的三维坐标,其中,所述坐标回归网络用于基于输入的特征信息将二维坐标转换为世界坐标系下的三维坐标。
可选的,将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标,包括:
在获得的各个世界坐标系下的三维坐标中,选取参考三维坐标集合;
基于所述参考三维坐标集合包含的各个参考三维坐标,确定人体坐标系的第一中心点;
基于所述参考三维坐标集合包含的各个参考三维坐标,确定指定的第一参考三维坐标和第二参考三维坐标之间的第二中心点,以及确定指定的第三参考三维坐标和第四参考三维坐标之间的第三中心点;
针对各个世界坐标系下的三维坐标,执行以下操作:计算一个世界坐标系下的三维坐标与所述第一中心点的差,将所述差除以所述第二中心点与所述第三中心点之间的连线,获得所述一个世界坐标系下的三维坐标在人体坐标系下的三维坐标。
可选的,所述人体特征至少包括:上肢结构化特征,下肢结构化特征和躯干结构化特征,包括:
所述上肢结构化特征至少包括以下特征中的任意一种或组合:
手腕相对身体高度;
手臂弯曲角度;
手臂朝向;
所述下肢结构化特征至少包括以下特征中的任意一种或组合:
腿弯曲角度;
腿朝向;
所述躯干结构化特征至少包括以下特征中的任意一种或组合:
躯干朝向;
躯干弯曲角度。
第二方面,一种人体姿态识别的装置,包括:
第一处理单元,用于对待检测图像进行人体检测,识别出所述待检测图像中的人体关键点,并确定各个人体关键点的二维坐标;
第二处理单元,将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,以及将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标;
第三处理单元,基于各个人体关键点的人体坐标系的三维坐标,提取出待检测图像中的人体特征,所述人体特征至少包括:上肢结构化特征,下肢结构化特征和躯干结构化特征;
输出单元,将获得的各个人体特征与预设的图像样本进行匹配,输出人体姿态识别结果。
可选的,对待检测图像进行人体检测,第一处理单元用于:
将所述待检测图像划分为若干待检测区域;
对所述每一个待检测区域进行人体检测,判断所述各个待检测区域内是否存在所述人体部分,将存在所述人体部分的区域记为人体区域;
将由所述各个人体区域构成的总区域,作为人体检测的输出结果。
可选的,将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,第二处理单元用于:
将获得的各个二维坐标对应的二维关键点转换为相应的热力图,其中,一个二维关键点表示为在所述热力图中一预设区域内的高斯核;
将所述待检测图像中人体区域,按照预设的大小进行截取,获得截取图像;
将所述热力图和所述截取图像输入特征提取网络,获得输出的特征信息,其中,所述特征提取网络用于基于所述热力图从所述截取图像中提取特征信息;
将提取的特征信息输入坐标回归网络,获得输出的各个二维坐标对应的世界坐标系的三维坐标,其中,所述坐标回归网络用于基于输入的特征信息将二维坐标转换为世界坐标系下的三维坐标。
可选的,将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标,第二处理单元用于:
在获得的各个世界坐标系下的三维坐标中,选取参考三维坐标集合;
基于所述参考三维坐标集合包含的各个参考三维坐标,确定人体坐标系的第一中心点;
基于所述参考三维坐标集合包含的各个参考三维坐标,确定指定的第一参考三维坐标和第二参考三维坐标之间的第二中心点,以及确定指定的第三参考三维坐标和第四参考三维坐标之间的第三中心点;
针对各个世界坐标系下的三维坐标,执行以下操作:计算一个世界坐标系下的三维坐标与所述第一中心点的差,将所述差除以所述第二中心点与所述第三中心点之间的连线,获得所述一个世界坐标系下的三维坐标在人体坐标系下的三维坐标。
可选的,所述人体特征至少包括:上肢结构化特征,下肢结构化特征和躯干结构化特征,第三处理单元用于:
所述上肢结构化特征至少包括以下特征中的任意一种或组合:
手腕相对身体高度;
手臂弯曲角度;
手臂朝向;
所述下肢结构化特征至少包括以下特征中的任意一种或组合:
腿弯曲角度;
腿朝向;
所述躯干结构化特征至少包括以下特征中的任意一种或组合:
躯干朝向;
躯干弯曲角度。
第三方面,一种人体姿态识别的装置,包括:
存储器,用于存储可执行计算机程序;
处理器,用于读取并执行所述存储器中存储的可执行指令,以实现如上述第一方面中任一项所述的方法。
第四方面,一种计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如上述第一方面中任一项所述的方法。
本公开实施例中,终端设备对待检测图像进行人体检测,识别出所述待检测图像中的人体关键点,并确定各个人体关键点的二维坐标,再将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,以及将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标,在基于各个人体关键点的人体坐标系的三维坐标,提取出待检测图像中的人体特征,最终将获得的各个人体特征与预设的图像样本进行匹配,输出人体姿态识别结果。这样,在由世界坐标系的三维坐标转化为人体坐标系下的三维坐标时,可以更加准确,更加丰富的标记出不同人体部位的坐标,进而在对待检测图像中人体特征的提取的过程中,可以识别出更加多的人体特征,通过大量的人体特征,终端设备可以识别出更加复杂的人体姿态,以及针对不同的姿态设定不同的识别方式,使得终端设备可以满足各个场景下对人体姿态识别的需要。
附图说明
图1为本公开实施例中人体姿态识别的流程示意图;
图2A为本公开实施例中人体检测和质量过滤后的输出的示意图;
图2B为本公开实施例中对应人体部分确定二维坐标的示意图;
图3A为本公开实施例中剪裁待检测图像后的输出的示意图;
图3B为本公开实施例中将各个关键点转化为对应热力图的示意图;
图3C为本公开实施例中将剪裁图像和热力图送入特征提取网络和坐标回归网络后得到人体坐标系下三维坐标的示意图;
图4A为本公开实施例中一种依据肢体结构化特征判断人体姿态的示意图;
图4B为本公开实施例中另一种依据肢体结构化特征判断人体姿态的示意图;
图5为本公开实施例中服务器的逻辑架构示意图;
图6为本公开实施例中服务器的实体架构示意图。
具体实施方式
为了解决现有技术下的人体姿态识别场景过于单一的问题,本公开实施例中,终端设备对待检测图像进行人体检测,识别出待检测图像中的人体关键点,并确定各个人体关键点的二维坐标,进而终端设备将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,以及将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标。终端设备将各个人体关键点的人体坐标系的三维坐标送入特征提取网络,提取出待检测图像中的人体特征;最终,终端设备将获得的各个人体特征与预设的图像样本的特征进行匹配,输出人体姿态识别结果。
下面结合附图对本公开优选的实施方式作出进一步详细说明。
参阅图1所示,本公开实施例中,终端设备识别人体姿态的详细流程如下:
步骤100:终端设备对待检测图像进行人体检测,识别出所述待检测图像中的人体关键点,并确定各个人体关键点的二维坐标。
具体的,终端设备采用人体检测,质量过滤的技术手段,识别出图像中的人体关键点,并确定各个人体关键点的二维坐标。
进一步的,终端设备检测的图像来源包括但不限于照片,视频的关键帧等等。
例如,参阅图2A所示,将包含有树木,车辆和人体的待检测图像,输入终端设备中,终端设备首先对待检测图像进行人体检测,以及质量过滤,得到清晰可用的人体图像。其中人体检测的过程可以采用如下方法:将待检测图像划分为多个区域,对每一个区域进行检测,判断是否存在人体,最终将各个存在人体的区域汇总成为一个总区域,所述总区域即为需要的人体图像。
进一步地,参阅图2B所示,终端设备将从待检测图像中提取到的人体图像送入深度残差网络,得到所述人体图像的各个部分,包括但不限于左肩,左手臂,右肩,右手臂,左胯,右胯,腹部等等,并基于左肩,右肩,左胯,右胯,腹部选取出各个人体关键点,分别记为人体关键点A,人体关键点B,人体关键点C,人体关键点D,人体关键点E,以及,以人体关键点E为原心建立坐标系,并采集各个人体关键点的二维坐标。
例如,如图2B所示,终端设备根据从待检测图像中提取到的人体图像,得到所述人体图像的各个部分,并从中选取各个人体关键点,各个人体关键点的二维坐标分别为:人体关键点A为(-1,2),人体关键点B为(1,2),人体关键点C为(-1,-1),人体关键点D为(-1,1),人体关键点E为(0,0)。
步骤110:终端设备将所述二维坐标转换为世界坐标系下的三维坐标。
具体的,终端设备首先对待检测图像进行截取,将待检测图像中的人体部分进行截取,并将人体部分中的各个人体关键进行提取,构成相应的热力图。
将待检测图像的截取图,热力图输入到特征提取网络,获得相应的特征信息,并将特征信息输入到坐标回归网络中,坐标回归网络用于基于输入的特征信息将二维坐标转换为世界坐标系下的三维坐标。
例如,参阅图3A所示,以图像A为例,图像A中含有数木,汽车和人体,终端设备按照预设大小,获得截取图像,记为图像1。
参阅图3B所示,终端设备根据各个人体关键点获得相应的热力图。
参阅图3C所示,终端设备将所述热力图和所述截取的图像1输入到特征提取网络,得到特征信息,并将所述特征信息输入到坐标回归网络中,所述坐标回归网络用于基于输入的特征信息将二维坐标转换为世界坐标系下的三维坐标。例如:各个人体关键点在世界坐标系下的三维坐标分别为:人体关键点A(-1,2,1),人体关键点B(1,2,0),人体关键点C(-1,-1,-1),人体关键点D(-1,1,2),人体关键点E(0,0,0)。
具体的,实际应用中,将二维坐标转化为三维坐标需要经过特征提取网络以及坐标回归网络严格的计算,得到相应的结果,此处坐标转换仅为举例,并非二维数据经过特征提取网络以及坐标回归网络严格计算后得到的结果。
步骤120:终端设备将世界坐标系下的三维坐标转换为人体坐标系的三维坐标。
终端设备在基于各个人体关键点获得的世界坐标系下的三维坐标中,选取参考三维坐标集合,并依据各个参考三维坐标,计算出人体坐标系的第一中心点,以及第一参考三维坐标和第二参考三维坐标之间的第二中心点和第三参考三维坐标和第四参考三维坐标之间的第三中心点,再将世界坐标系下的不在参考三维坐标集合中的三维坐标与第一中心点的差除以第二中心点和第三中心点的连线,得到一个世界坐标系下的三维坐标在人体坐标系下的三维坐标。
例如,假设世界坐标系下,参考三维坐标集合中包含:人体的左肩坐标为人体关键点A(-1,2,1),右肩坐标为人体关键点B(1,2,0),左胯坐标为人体关键点C(-1,-1,-1),右胯坐标为人体关键点D(-1,1,2),腹部坐标为人体关键点E(0,0,0)。计算第一中心点可以采用如下计算方法:
因此可以得到第一中心点为O为(-0.5,1,0.5)。按照同样的方法可以得到第二中心点P为(0,2,0.5),第三中心点Q为(-1,0,0.5)。
因此第二中心点和第三中心点之间的连线PQ为
关键点E世界坐标系下的三维坐标对应人体坐标系下的
得到坐标
步骤130:终端设备基于各个人体关键点的人体坐标系下的三维坐标,提取出待检测图像中的人体特征。
终端设备将得到的人体坐标系下各个三维坐标送入特征提取网络,提取出人体特征。
例如,输入人体坐标系下的三维坐标(1,2,3,)和人体坐标系下的三维坐标(4,5,6),输出为腿弯曲角度为90°。
步骤140:终端设备将获得的各个人体特征与预设的图像样本进行匹配,输出人体姿态识别结果。
具体的,人体特征包括:上肢结构化特征,下肢结构化特征和躯干结构化特征。
其中,所述上肢结构化特征至少包括以下特征中的任意一种或组合:
手腕相对身体高度;
手臂弯曲角度;
手臂朝向;
其中,手腕相对身体高度是指手腕相对于脚的高度,手臂弯曲角度是指大臂的延长线与小臂的夹角,手臂朝向是指手臂内侧的朝向。
所述下肢结构化特征至少包括以下特征中的任意一种或组合:
腿弯曲角度;
腿朝向;
其中,腿弯曲角度是指小腿的延长线与大腿的夹角,腿朝向是指腿外侧的朝向。
所述躯干结构化特征至少包括以下特征中的任意一种或组合:
躯干朝向;
躯干弯曲角度。
其中,躯干弯曲角度是指大腿的延长线与躯干的夹角,躯干朝向是指腹部的朝向。
进一步的,终端设备基于获得的各个人体特征,与数据库中的预设的图像样本进行匹配,进而输出识别结果。
例如,参阅图4A所示,当终端设备将上肢结构化特征为:手臂弯曲角度为0°,手臂向前;下肢结构化特征为:腿弯曲0°,腿朝向前;躯干结构化特征为:躯干向前,躯干弯曲角度为30°的人体特征与数据库中预设的图像样本进行匹配,判定此时人体姿态为“直立微弯腰”。
进一步的,当人体改变姿态,参阅图4B所示,终端将设备将上肢结构化特征为:手臂弯曲角度为0°,手臂向前;下肢结构化特征为:腿弯曲0°,腿朝向前;躯干结构化特征为:躯干向下,躯干弯曲角度为90°的人体特征与数据库中预设的图像样本进行匹配,判定此时人体姿态为“直立大弯腰”。
通过大量人体特征,使得终端设备可以识别更为复杂的人体姿态,如,在上例中,人体姿态为“直立微弯腰”时,人体处于一种似弯腰而非弯腰的状态,此时若不设置大量的人体特征,例如,省去躯干结构化特征中,躯干弯曲角度,则很难识别此时人体“微”弯腰的姿态,而误识别成人体姿态为“直立”。
进一步的,由于终端设备具有大量的人体特征,而同一人体姿态的人体特征必然相同,因此,终端设备可以根据需求,为特定的人体姿态预设一组的人体特征,当输入的人体特征与预设的人体特征相同时,即认定待检测图像中的人体姿态为特定人体姿态。
例如,特定的人体姿态“直立微弯腰”对应的预设人体特征为:手臂弯曲角度为0°,手臂向前,腿弯曲0°,腿朝向前,躯干向前,躯干弯曲角度为30°,当终端设备输入的人体特征也为:手臂弯曲角度为0°,手臂向前,腿弯曲0°,腿朝向前,躯干向前,躯干弯曲角度为30°时,即认定此时的人体姿态为“直立微弯腰”。
基于同一发明构思,参阅图5所示,本公开实施例提供一种人体姿态识别的装置(如,一种终端设备),包括:
第一处理单元501,用于对待检测图像进行人体检测,识别出所述待检测图像中的人体关键点,并确定各个人体关键点的二维坐标;
第二处理单元502,将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,以及将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标;
第三处理单元503,基于各个人体关键点的人体坐标系的三维坐标,提取出待检测图像中的人体特征,所述人体特征至少包括:上肢结构化特征,下肢结构化特征和躯干结构化特征;
输出单元504,将获得的各个人体特征与预设的图像样本进行匹配,输出人体姿态识别结果。
可选的,对待检测图像进行人体检测,第一处理单元501用于:
将所述待检测图像划分为若干待检测区域;
对所述每一个待检测区域进行人体检测,判断所述各个待检测区域内是否存在所述人体部分,将存在所述人体部分的区域记为人体区域;
将由所述各个人体区域构成的总区域,作为人体检测的输出结果。
可选的,将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,第二处理单元502用于:
将获得的各个二维坐标对应的二维关键点转换为相应的热力图,其中,一个二维关键点表示为在所述热力图中一预设区域内的高斯核;
将所述待检测图像中人体区域,按照预设的大小进行截取,获得截取图像;
将所述热力图和所述截取图像输入特征提取网络,获得输出的特征信息,其中,所述特征提取网络用于基于所述热力图从所述截取图像中提取特征信息;
将提取的特征信息输入坐标回归网络,获得输出的各个二维坐标对应的世界坐标系的三维坐标,其中,所述坐标回归网络用于基于输入的特征信息将二维坐标转换为世界坐标系下的三维坐标。
可选的,将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标,第二处理单元502用于:
在获得的各个世界坐标系下的三维坐标中,选取参考三维坐标集合;
基于所述参考三维坐标集合包含的各个参考三维坐标,确定人体坐标系的第一中心点;
基于所述参考三维坐标集合包含的各个参考三维坐标,确定指定的第一参考三维坐标和第二参考三维坐标之间的第二中心点,以及确定指定的第三参考三维坐标和第四参考三维坐标之间的第三中心点;
针对各个世界坐标系下的三维坐标,执行以下操作:计算一个世界坐标系下的三维坐标与所述第一中心点的差,将所述差除以所述第二中心点与所述第三中心点之间的连线,获得所述一个世界坐标系下的三维坐标在人体坐标系下的三维坐标。
可选的,所述人体特征至少包括:上肢结构化特征,下肢结构化特征和躯干结构化特征,第三处理单元503用于:
所述上肢结构化特征至少包括以下特征中的任意一种或组合:
手腕相对身体高度;
手臂弯曲角度;
手臂朝向;
所述下肢结构化特征至少包括以下特征中的任意一种或组合:
腿弯曲角度;
腿朝向;
所述躯干结构化特征至少包括以下特征中的任意一种或组合:
躯干朝向;
躯干弯曲角度。
基于同一发明构思,参阅图6所示,本公开实施例提供一种终端设备,包括:
存储器601,用于存储可执行计算机程序;
处理器602,用于读取并执行所述存储器中存储的可执行指令,以实现上述各个实施例中终端设备执行的任意一种方法。
基于同一发明构思,本公开实施例提供一种计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述各个实施例中终端设备执行的任意一种方法。
综上所述,本公开实施例中,终端设备对待检测图像进行人体检测,识别出所述待检测图像中的人体关键点,并确定各个人体关键点的二维坐标,再将获得的各个二维坐标分别转换为世界坐标系下的三维坐标,以及将获得的各个世界坐标系下的三维坐标分别转换为人体坐标系的三维坐标,在基于各个人体关键点的人体坐标系的三维坐标,提取出待检测图像中的人体特征,最终将获得的各个人体特征与预设的图像样本进行匹配,输出人体姿态识别结果。这样,在由世界坐标系的三维坐标转化为人体坐标系下的三维坐标时,可以更加准确,更加丰富的标记出不同人体部位的坐标,进而在对待检测图像中人体特征的提取的过程中,可以识别出更加多的人体特征,通过大量的人体特征,终端设备可以识别出更加复杂的人体姿态,以及针对不同的姿态设定不同的识别方式,使得终端设备可以满足各个场景下对人体姿态识别的需要。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开实施例进行各种改动和变型而不脱离本公开实施例的精神和范围。这样,倘若本公开实施例的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
- 建立人体姿态识别模型的方法、人体姿态识别方法及装置
- 一种基于移动终端的人体姿态识别方法和装置