掌桥专利:专业的专利平台
掌桥专利
首页

面向特殊场景下人体姿态估计和理解的方法及装置

文献发布时间:2023-06-19 16:12:48



技术领域

本发明涉及人工智能领域,特别涉及面向特殊场景下人体姿态估计和理解的方法及装置。

背景技术

人体姿态估计是指从二维图形中识别出人体关键点的位置,从而识别人体姿态的技术,其在描述人体运动轨迹和预测人体行为方面的应用十分普及,但是,现有人体姿态估计方法对人体语义的表达是不可解释的,在某些人类主观认知下极为简单的场景下的表现不尽人意,且会发现违反人类认知的情况出现,对人体姿态理解不全面,尤其是特殊场景下效果更差。姿态估计的应用绝大部分都是聚焦于特殊场景的,所以增强算法可解释性,合理利用特定场景下的规律是很重要的,现有方法要么使用极大的数据和算力去粗暴提高全场景准确率,特定场景提升不明显,且无法实时,效果不理想;要么是使用客制化方法针对单一场景、单一任务去定制化一套方案,往往需要特定场景下的大量数据,且换一个场景就要从头来过,缺少一个稳定的识别方法。

因此,如何提供一种稳定的人体姿态估计和理解的方法,是本领域技术人员亟待解决的问题。

发明内容

本申请实施例提供了面向特殊场景下人体姿态估计和理解的方法及装置,旨在解决现有姿态估计算法中对人体姿态理解不稳定的问题。

第一方面,本申请提供了面向特殊场景下人体姿态估计和理解的方法,该方法包括:

将人体划分成多个层级,根据每个层级包含的基元建立姿态库;

将待识别的人体姿态与最高层级的姿态库进行匹配,若匹配结果为目标结果,则进行输出;

若匹配结果不为目标结果,则将匹配结果继续与下一层级的姿态库进行匹配,直至得到目标结果并输出。

第二方面,本申请还提供了面向特殊场景下人体姿态估计和理解的装置,该装置包括:

姿态库构建单元,用于将人体划分成多个层级,根据每个层级包含的基元建立姿态库;

姿态匹配单元,用于将待识别的人体姿态与最高层级的姿态库进行匹配,若匹配结果为目标结果,则进行输出;

循环匹配单元,用于若匹配结果不为目标结果,则将匹配结果继续与下一层级的姿态库进行匹配,直至得到目标结果并输出。

第三方面,本申请还提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现上述第一方面所述的面向特殊场景下人体姿态估计和理解的方法。

第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行上述第一方面所述的面向特殊场景下人体姿态估计和理解的方法。

本申请提出的一种面向人体姿态估计和理解的方法,通过将人体划分为多个层级,从不同的语义层次对人体进行理解,并对每个层级构建相关的姿态库,然后将待识别的姿态进行逐步匹配,得到最终的姿态估计结果,能够更加直观的对模型理解到的人体进行约束,最终的结果可以在姿态库中回溯,使得结果具有解释性。

附图说明

为了更清楚的说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见的,下面的描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本申请实施例提供的面向特殊场景下人体姿态估计和理解的方法流程图;

图2为本申请实施例提供的一种人体层级划分示意图;

图3为本申请实施例提供的一种肢体层基元和关系组合示意图;

图4为本申请实施例提供的一种知识库结构示意图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。

参见图1实施例所示面向特殊场景下人体姿态估计和理解的知识库构建方法流程图,包括:

S101、将人体划分成多个层级,根据每个层级包含的基元建立姿态库。

参见图2实施例所示的一种人体层级划分示意图;

对于特定场景,首先需要将姿态库初始化,本申请根据预设的语义特征,将人体划分成身体、肢体、骨骼三个层级,其中身体代表整体的姿态,肢体分为左臂、右臂、左腿、右腿、身体主干等部分,骨骼是肢体的进一步细分,如左腿分为左大腿和左小腿,每一层语义层除了不同的基元(基元指的是同一层级存储的实例,如肢体层不同每一个左臂实例都算一个基元)还有对应的关系库对同层基元进行建模,用户还可以根据需求,设定不同的语义特征来对人体进行划分。

在一实施例中,姿态库包括基元库和关系库,建立姿态库之后,包括:

获取标准动作序列。

首先需要一段标准动作序列,该动作序列要尽可能包括特定场景下可能出现的所有情况。比如对于需要检测行为顺序,则需要拍摄整个行为的视频。如果需要对某个动作做检测,如摔倒检测,序列就需要包括不同视角下的摔倒图片。该段视频不需要考虑背景、衣着,也不需要考虑同一动作的多样性,即只需要一段视频即可。以实心球运动的检测与矫正任务为例,该任务包含动作顺序以及精度的检测,在标准动作序列即为动作相对标准的一段完整扔实心球视频即可。再比如摔倒检测,对于摔倒的人,移动摄像机,拍摄多个视角的视频作为标准动作序列。

在一实施例中,关系库存储的是关系,挑选出不同的基元和关系即可组成上一层的基元。这里的关系定义为基元之间空间关系。

除了最上层的身体为一个整体,可以不需要关系库以外,之后的每一层都分为组成基元库和关系库。图2中以身体(姿态)、肢体和骨骼为例进行叙述,实际可根据实际情况灵活划分语义层级,如中间添加上下半身、左右半身层级,向下添加关键点层级,向上站立姿态、弯腰姿态等都可进一步细分,具体根据应用环境确定,层级上的不同也在本专利保护范围之内。

在一实施例中,获取标准动作序列之后,包括:

对标准动作序列进行标注,得到骨架序列。

对于取到的标准动作序列,首先使用人工标注或者市面上已有的姿态估计方法加人工标注的方法对其进行姿态标注,保证每一帧姿态的准确,获得的姿态具体形式为骨架序列。

在一实施例中,得到骨架序列之后,还包括:

对对骨架序列的关键帧进行提取。

关键帧的提取方法较多,本申请采用下列方法进行聚类,聚类步骤如下:

A.以第一帧中骨架的腰部节点作为标准中心点,将后续帧中的骨架进行整体平移,保证所有骨架腰部节点坐标和第一帧相同(不同标注标准下人体关键点不同,MPII数据集标注标准下为骨盆点(pelvis);coco标准下没有对应点,使用髋节点(hip)的中点代替。其他标准类似);

B.计算每一帧中所有骨骼(bone)的长度,然后计算出每个骨骼相对于上身(MPII下为骨盆和胸腔(thorax)节点的连线,其它标准类似计算即可)的长度。即使用骨骼长度/上身长度对身体进行表示。使用第一帧的上身长度为标准长度,对后续所有帧的所有骨骼进行标准化。最终获得标准化骨架序列。

C.以固定顺序将每一帧中标准化骨架的关键点坐标进行排列,作为该帧的特征向量。

D.等间隔获取10个(可酌情选取)帧的特征向量作为初始聚类中心,使用K-means算法进行聚类。最终使用距离聚类中心最近的帧作为关键帧,即10个关键帧。

E.修改特征向量,编码时只考虑右臂,其他不考虑,以右手肘为中心点重新对齐。然后进行聚类,获得10个右臂关键帧。分别选取不同的肢体,并以手肘、膝盖进行对齐,分别聚类。然后选取骨骼,以第一帧骨骼中点为标准进行对齐,然后聚类。最终获得16组关键帧,分别为:(整个身体)-(躯干、左臂、右臂、左腿、右腿)-(左大臂、左小臂、左大腿、左小腿、右大臂、右小臂、右大腿、右小腿、脊柱、头)如图2所示,关键帧的分组数量可根据实际情况进行调整。

在一实施例中,对关键帧进行提取之后,还包括:

根据规则提取语义关键词。

将聚类的关键帧放入库中,最上层为(整个身体),第二层为(躯干、左臂、右臂、左腿、右腿),最下层为(左大臂、左小臂、左大腿、左小腿、右大臂、右小腿、脊柱、头)。

关键词的提取过程如下:

A.第一层关键词为“站”,“坐”,“躺”,“其他”。上半身与水平夹角小于45度即为“躺”,上半身与水平夹角大于45度且下半身和水平夹角大于45度为“站”,上半身与水平夹角大于45度且下半身和水平夹角小于45度为“坐”,剩下较难判断的动作归为其他,表示动作不常见。

B.第二层关键词分为两类。分别为基元类(“直”,“曲”,“弯”)和关系类(“上”,“下”,“左”,“右”),以左臂为例,左大臂和左小臂之间的夹角大于145度为“直”,夹角大于90度小于145度为“曲”,小于90度为“弯”。对于关系的定义,以肢体和躯干的连接点为中心,左臂就是对应左肩膀为中心,手臂的中心在左肩膀下方90度区域为“下”,以此类推。

C.第三层内容属于相对具体的情况,可以直接根据骨骼和水平面的夹角或者不添加语义关键词。

在一实施例中,根据规则提取语义关键词之后,包括:

根据关键词将关键帧进行分类。

比如由三个关键帧是“站”,那么站这一概念下就有三个实例,使用语义关键词将姿态库语义化。

姿态库的建立,除了错误姿态纠错,使得姿态估计更准确。还能作为异常行为检测,获取标准序列时只拍摄正常的行为,那么匹配失败就代表出现了异常行为。本申请建库以及查库方法,可以快速获取特定场景知识,帮助提高特定场景下姿态估计性能。

S102、将待识别的人体姿态与最高层级的姿态库进行匹配,若匹配结果为目标结果,则进行输出。

参见图3实施例所示的一种肢体层基元和关系组合示意图,

以肢体层为例,基元有基元类别和基元形态两种属性,如肢体层的基元类别包括左臂、右腿等类别,在挑选基元过程中每一个类别至多会被挑选一次,考虑到遮挡问题可能某一类别不被选中,但人不会有两根及以上的左臂等,同一类别不会重复被选中。同一类别的基元有许多不同的形态,对于肢体而言,不同的弯曲程度,不同的臂长都会导致不同的形态。

在构建好基元库和关系库之后,即可以对人体姿态进行识别,对于感知到的高层语义信息,即对于当前帧的信息(具体表现形式可以为网络的特征图、网络输出的热图或关键点坐标),这些信息同时输入到知识库的各层作为索引。从最高层开始对整个姿态进行粗匹配,匹配前根据感知信息将库中的姿态进行标准化,然后匹配获得该层的输出。

在一实施例中,将待识别的人体姿态与最高层级的姿态库进行匹配,包括:

在姿态库中查找与待识别的人体姿态匹配的知识。

建库只需要一段标准动作,通过查找的方式使用姿态库中存储的知识,其中查找方式具体包括:

使用任意现有网络获得姿态估计结果,这个结果可能不准确。(实际上对于特殊场景,尤其是日常不常见的场景,现有网络表现本身就不够准确)。将这个不准确的姿态和库中第一层的标准姿态使用坐标相似度进行匹配,获得匹配结果以及对应的高级层级特征关键词。匹配结果先从语义关键词角度推理下层,如“站”和腿部、脊椎的状态是有必然关系的,甚至在某些场景中,站姿比较特殊,如站立的时候都会举起左手,那么“站”也和左臂有关系。如上述实施例所示,比如由三个关键帧是“站”,那么站这一概念下就有三个实例,使用语义关键词将姿态库语义化,搜索到的下一层语义关键词会对应一个或多个实例,若对应多个实例就再次使用不准确的姿态在这些实例中进行匹配,以此类推,每一层都匹配一次。这样就能滤除掉有问题的位置(推理到的关键词包含的实例和输入的姿态不同就是有问题的)。这样就能对姿态进行初步修正,后续再通过神经网络对修正后的粗姿态进行精确定位即可。

在一实施例中,关系也有关系类别和关系角度两种属性。

其中,关系类别与基元类别相同并对应,关系角度为基元与水平面的角度。在对人体姿态进行识别时,首先将待识别的人体姿态与最高层级的基元的类别和关系的类别进行对应,再将基元按照基元形态和关系形态进行整体旋转,进行重新组合,得到最高层级级的匹配结果,然后将最高层级的匹配结果依次循环往下匹配,由于低层级的识别与最高层级的识别原理相同,本申请在此不做赘述。

S103、若匹配结果不为目标结果,则将匹配结果继续与下一层级的姿态库进行匹配,直至得到目标结果并输出。

参见图4实施例提供的一种知识库结构示意图,可知:

上一层的基元都可以由下一层的基元和关系组合而成,随着层数加深,越靠下的基元库和关系库的容量越大,层级较高的语义包含了整体但抽象的信息,下一层的库包含细节但具体的信息,所以在对应时上一层级的一个基元对应到下一层级的知识库并不是一对一的,而是对应下一层级的多个相关基元,其中,相关基元是根据形态的相似性、人体对称性、同姿态不同视角的统一性等规则进行划分的,不同的高级基元对应的低级基元集合允许有交集。具体规则可以根据任务进行制定。

上一层级的基元可根据对应关系对应到下一层级的一组基元集合和关系集合,在此利用感知信息在该集合中进行匹配选择,再通过图4所示的方式进行组合获得该层级的姿态输出结果,并不断循环向下,层级间靠之前定义的相关性进行语义推理,最后得到最底层的匹配结果,即为最终结果,并输出,本申请的推理结果极大缩小了匹配范围,通过感知信息进行精确匹配。

本申请使用了知识库对人体进行理解,知识库中每一层的基元库和关系库的定义,库之间推理时的规则都是人为定义的。相较于通过学习的方式获得的人体理解,本申请能够更加直观的对模型理解到的人体进行约束,最终的结果可以在库中回溯,使得结果具有解释性。并且知识库中的知识大多是人为定义的,保证了对人体理解的方式、角度都是完全符合人类认知的。与此同时,因为建库时的可控性,在某些特殊场景下可以通过操作屏蔽或加强某些姿态,使得对于某些姿态相对固定的场合,对人体的理解更具有针对性。

在一实施例中,本申请还提供了面向特殊场景下人体姿态估计和理解的装置,该装置包括:

姿态库构建单元,用于将人体划分成多个层级,根据每个层级包含的基元建立姿态库;

姿态匹配单元,用于将待识别的人体姿态与最高层级的姿态库进行匹配,若匹配结果为目标结果,则进行输出;

循环匹配单元,用于若匹配结果不为目标结果,则将匹配结果继续与下一层级的姿态库进行匹配,直至得到目标结果并输出。

在一实施例中,本申请还提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现上述任一实施例所述的面向特殊场景下人体姿态估计和理解的方法。

在一实施例中,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行上述任一实施例所述的面向特殊场景下人体姿态估计和理解的方法。

以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

技术分类

06120114741302