一种人体3D姿态估计方法、装置及系统与流程

文档序号:29311609发布日期:2022-03-19 20:17阅读:来源:国知局

技术特征:
1.一种人体3d姿态估计方法,其特征在于,所述方法包括:对待识别图片检测出代表人体姿态的k个2d关键点坐标,k为预定义的人体关键点数目;将k个2d关键点坐标输入至两层全连接神经网络,提取出每个关键点坐标对应的256维embedding特征向量,输出共k个256维embedding特征向量;将k个所述256维embedding特征向量输入至transformer编码器,transformer编码器共4个encoder_layer层,每个encoder_layer层输出k个256维向量,并将输出的k个256维特征向量依次输入至下一个encoder_layer层,将最后一个encoder_layer层输出的k个256维向量分别输入至两层全连接神经网络,该网络的输出即为每个关键点的3d坐标。2.根据权利要求1所述的一种人体3d姿态估计方法,其特征在于,每个encoder_layer层的计算过程包括以下步骤:a、将k个256维特征向量输入至multi-head attention层,得到k个256维特征向量;b、然后步骤a得到的k个256维向量与该encoder_layer层输入的k个256维特征向量相加,得到k个256维特征向量;c、然后将步骤b得到的k个256维特征向量,做layernorm运算,得到归一化的k个256维向量;d、然后将步骤c得到的k个256维向量,将每个向量输入至两层全连接神经网络,得到k个256维向量,其中,k个向量共享一个全连接前馈网络;e、最后将步骤c和步骤d分别得到的k个向量相加,并对相加后的k个向量做layernorm运算,得到归一化的k个256维向量,将这k个256维特征向量输入至下一个encoder_layer层。3.根据权利要求2所述的一种人体3d姿态估计方法,其特征在于,将k个256维特征向量输入至multi-head attention层,得到k个256维特征向量,具体包括:每个256维特征向量通过3个变换矩阵变换为3个256维特征向量q
i
,k
i
,v
i
,i∈(1,2,3
……
k),得到共3个张量q,k,v,其中q,k,v的形状均为(k,256);将q,k,v变形为形状为(k,8,32)的张量,并进一步置换为形状为(8,k,32)的张量pq,pk,pv,其中8为multi-head attention层的头数,32为每个头的特征向量维数;将pq分解为8个形状为(k,32)的矩阵pq
i
,i∈(1,2,3
……
8),将pk分解为8个形状为(k,32)的矩阵pk
i
,i∈(1,2,3
……
8),8个形状为(k,32)的矩阵pq
i
分别与8个形状为(k,32)的矩阵pk
i
转置相乘,得到8个形状为(k,k)的矩阵,该矩阵除以得到8个形状为(k,k)的注意力系数矩阵attn_1;定义两个人体关节点之间的相对距离为,骨骼图上连接两个关节点之间的骨骼数,且该骨骼数构成这两个关节点之间的最短距离,由k个关节点构成的人体骨骼图,其相对距离矩阵记为r,形状为(k,k),其第(i,j)个元素,代表第i个关节点距离第j个关节点的相对距离;每个相对距离值对应一个8维的权重向量,8是head数,不同的相对距离对应不同的权重向量,用r中的每个相对距离查询对应的权重向量,得到形状为(k,k,8)的张量,进一步置换为形状为(8,k,k)的张量,记为rw;
将rw分解为8个形状为(k,k)的矩阵,该矩阵除以得到注意力系数矩阵attn_2;得到的8个注意力系数矩阵attn_1和得到的8个注意力系数矩阵attn_2相加,得到8个形状为(k,k)的矩阵,进一步对该矩阵的列进行softmax操作,得到最终的8个注意力系数矩阵attn
i
,i∈(1,2,3
……
8);将得到的pv分解为8个形状为(k,32)的矩阵pvi(i从1到8),将8个形状为(k,k)的矩阵attn
i
分别与8个形状为(k,32)的矩阵转置相乘,得到8个形状为(k,32)的矩阵,将这8个形状为(k,32)的矩阵构成形状为(8,k,32)张量,进一步置换为形状为(k,8,32)的张量,再进一步变形为形状为(k,256)的张量;将得到的张量分解为k个256维特征向量,输入一个变换矩阵,得到k个256维特征向量。4.根据权利要求1所述的一种人体3d姿态估计方法,其特征在于,对待识别图片检测出代表人体姿态的k个2d关键点坐标,k为预定义的人体关键点数目,具体包括:通过将待识别图片输入至maskrcnn网络中获取代表人体姿态的k个2d关键点坐标。5.根据权利要求1所述的一种人体3d姿态估计方法,其特征在于,所述方法还包括:若待识别图片中存在多人,则将图片裁剪为单人图像后再进行处理。6.一种人体3d姿态估计装置,其特征在于,所述装置包括:2d人体姿态检测模块,用于将k个2d关键点坐标输入至两层全连接神经网络,提取出每个关键点坐标对应的256维embedding特征向量,输出共k个256维embedding特征向量;3d人体姿态估计模块,用于将k个所述256维embedding特征向量输入至transformer编码器,transformer编码器共4个encoder_layer层,每个encoder_layer层输出k个256维向量,并将输出的k个256维特征向量依次输入至下一个encoder_layer层,将最后一个encoder_layer层输出的k个256维向量分别输入至两层全连接神经网络,该网络的输出即为每个关键点的3d坐标。7.一种人体3d姿态估计系统,其特征在于,所述系统包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如权利要求1-4任一项所述的方法。8.一种计算机存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种人体3d姿态估计系统执行如权利要求1-4任一项所述的方法。

技术总结
本发明实施例公开了一种人体3D姿态估计方法、装置及系统,基于Transformer编码器架构及考虑人体3D关键点相对距离,实现人体3D姿态估计,输入单张图片,输出该图片中人的3D关键点坐标,3D姿态估计的准确度高。3D姿态估计的准确度高。3D姿态估计的准确度高。


技术研发人员:宋波
受保护的技术使用者:北京影谱科技股份有限公司
技术研发日:2021.12.03
技术公布日:2022/3/18
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1