一种基于多视图融合的人体三维姿态估计方法与流程

    专利查询2022-09-24  74



    1.本发明属于计算机图形学技术领域,具体涉及一种基于多视图融合的人体三维姿态估计方法,能够实现人体三维姿态的准确估计。


    背景技术:

    2.基于多视图融合的深度估计是利用三角形相似原理计算得到的,在各个相机内、外参数准确,空间中的物理点在多视图中映射的像素点精准对应的理想条件下,可以计算得到精确的深度值,进而得到空间点的准确三维坐标。
    3.中国专利201910716814.8公开的一种多视点相机下的实时三维人体体型与姿态重建方法,包括以下步骤:将多个相机架围出捕捉区域,通过相机标定方法标定所述多个相机的相机内参和相机外参;通过标定后的多个相机在所述捕捉区域内采集人体图像,并对所述人体图像进行处理以使所述人体图像转码成rgb图像,利用预先训练好的卷积神经网络对所述rgb图像进行检测并生成每个视角下的人体关节二维坐标信息,对所述人体关节二维信息进行三角化得到人体三维关节坐标信息;利用所述人体三维关节坐标信息优化预设人体模型中的姿态参数和形状参数,再通过时域优化稳定优化后的预设人体模型以得到人体三维重建模型;其首先完成相机的内外参标定,然后通过神经网络对同一时刻的多视点rgb图像进行二维姿态估计,并进行三角化得到人体三维关节坐标信息。中国专利202111131004.x公开的一种基于双目视觉的人体姿态定位方法,包括以下步骤:s1、采用标定方法来获取双目相机的内外参数及其畸变参数,并根据上述参数对双目相机进行图像的校正,以获取无畸变图像;s2、对二维图像中的人体关键点检测,其中所述的人体关键点检测采用深度学习的预测算法,具体为预先训练待检测的人体关键点的权重参数,随后对校正之后的图像进行人体关键点的识别,得到双目相机的人体关键点的像素坐标;s3、对检测出的人体关键点的像素坐标进行三维重建,其中人体关键点的像素坐标为二维关键点坐标,利用三角测量原理重建出三维空间坐标,即三维点云坐标;s4、通过卡尔曼滤波,根据上一时刻得到的人体的三维空间坐标预测当前时刻缺失的人体的三维空间坐标;s5、输出最终的人体的关键点坐标;其首先使用双目相机提取人体关键点,然后利用三角测量原理重建三维关键点坐标,进一步得到一段时间内关键点移动的准确距离等信息。
    4.上述专利利用三角测量方法,能够在理想情况下得到准确的人体三维姿态,但是,在实际应用中会出现一个视图中估计出的关节点,与其他视图中估计出的对应关节点的位置存在偏差的问题,以致于得到错误的人体三维姿态;同时,各个视点的相机外参必须是已知的,一旦相机位置发生变化,需要重新标定相机外参,使得泛化性差。
    5.因此,研究设计一种基于多视图融合的人体三维姿态估计方法,以有效解决多视点估计出的关节点存在位置偏差和应用泛化性差的问题。


    技术实现要素:

    6.本发明的目的在于克服现有技术存在的缺点,寻求设计一种基于多视图融合的人
    体三维姿态估计方法,有效提升估计出的二维关节点的精度,直接估计出各个视点的相机外参,提高应用泛化性,得到关节点三维坐标。
    7.本发明涉及的一种基于多视图融合的人体三维姿态估计方法的具体工艺过程为:
    8.s1、多视图关节点热图
    9.将相机1和相机2拍摄的照片分别通过预训练的多级cnn网络输入关节点热图序列h1和h2;
    10.s2、多视图热图融合
    11.首先,通过预训练的空间转移网络stn将相机2的关节点热图序列h2中的每一张热图进行空间变换,
    12.然后,将空间变换后的关节点热图序列通过全连接层fc,输出结果与相机1的关节点热图序列h1按照序列顺序逐张逐像素相加,得到相机1融合后的关节点热图序列,公式为:
    [0013][0014]
    其中,i∈[1,h
    ×
    w],j∈[1,h
    ×
    w],p∈[1,17],h为单个关节点热图的高,w为单个关节点热图的宽,为相机1的第p个关节点热图中第i个位置的热力值,为融合后的相机1的第p个关节点热图中第i个位置的热力值,为相机2的第p个关节点对应热图中第i个位置的热力值,为融合后的相机2的第p个关节点热图中第i个位置的热力值,为相机2的第p个关节点对应热图中第i个位置对于相机1的第p个关节点对应热图中第j个位置的关联权重,为相机1的第p个关节点对应热图中第i个位置对于相机2的第p个关节点对应热图中第j个位置的关联权重;
    [0015]
    s3、人体三维姿态和相机外参估计
    [0016]
    将融合后的关节点热图序列h1和h2分别通过可微分空间转数字模块dsnt,得到融合后的人体二维姿态1和2,将人体二维姿态1和2、相机1和2的内参参数进行串联,作为多层感知机mlp的输入层,预测得到人体三维姿态和相机外参;
    [0017]
    s4、三维-二维投影
    [0018]
    利用估计出的相机外参和相机内参,将三维姿态投影到二维图像平面上,得到新的人体二维姿态;
    [0019]
    s5、构造损失函数
    [0020]
    分别构建人体二维姿态损失函数和人体三维姿态损失函数;
    [0021]
    人体二维姿态损失函数为:
    [0022][0023]
    其中,和分别为融合后的热图估计出的第p个关节点投影到相机1和相机
    2的二维图像上x方向的坐标,u
    p_1
    和u
    p_2
    分别为第p个关节点在相机1和相机2的二维图像上真实的x方向的坐标,和分别为融合后的热图估计出的第p个关节点投影到相机1和相机2的二维图像上y方向的坐标,v
    p_1
    和v
    p_2
    分别为第p个关节点在相机1和相机2的二维图像上真实的y方向的坐标;
    [0024]
    人体三维姿态损失函数为:
    [0025][0026]
    其中,为融合后的热图估计出的第p个关节点在世界坐标系下x方向的坐标,x
    p
    为第p个关节点在世界坐标系下真实的x方向的坐标,和为融合后的热图估计出的第p个关节点在世界坐标系下y和z方向的坐标,y
    p
    和z
    p
    为第p个关节点在世界坐标系下真实的y和z方向的坐标;
    [0027]
    s6、模型训练
    [0028]
    选用human3.6m数据集作为训练数据源,将同一时刻任意选定的相机1和相机2拍摄的同一个目标人物的图片及其对应的相机内参、真实的2d姿态(只提取17个关节点)、真实的3d姿态(只提取17个关节点)构成一组训练数据,整理完毕后,以每5组训练数据作为一次训练的输入数据量,冻结多级cnn和空间转移网络stn参数,根据步骤s5构造的两个损失函数,求解其梯度,并反向修正网络参数,直至损失值下降并趋于稳定,结束模型训练;
    [0029]
    s7、模型测试
    [0030]
    选取未知架设位置和角度的两台能够拍摄到完整人体目标的相机,已知相机内参,将同时拍摄的一组图片作为模型输入,输出得到估计出的人体三维姿态。
    [0031]
    本发明步骤s1涉及的预训练的多级cnn网络结构为openpose网络中的多级cnn,修改了训练的输入关节点,以及每一级cnn输出的关节点热图和关节响应场数量;修改后的输入关节点包括尾椎、左髋、右髋、左膝、右膝、左脚踝、右脚踝、脊柱、胸、脖子、头、左肩、右肩、左手肘、右手肘、左手腕和右手腕共17个;修改后的每一级cnn输出的关节点热图数量为18,包括17张关节点热图和1张背景热图;修改后的每一级cnn输出的关节响应场数量为36,包括每个关节响应场的x和y两个方向的值,18*2=36。
    [0032]
    本发明步骤s3涉及的多层感知机mlp包含4层,其中,输入层的大小为76,包括:融合后的人体二维姿态,大小为17*2,即17个关节点,x和y两个坐标值,共有两个人体二维姿态,则17*2*2=68,另外,每个相机的内参包括4个参数,共计4*2=8,将所有数值串联后,总大小为68 8=76;第一个隐含层的大小为128;第二个隐含层的大小为78;输出层的大小为78,包括:人体三维姿态的大小为17*3,17个关节点,x、y和z三个坐标值,以及两个相机的外参,每个相机的外参个数为3*4=12,则总输出大小为17*3 2*12=78。
    [0033]
    本发明与现有技术相比,首先,将相机1和相机2拍摄的照片分别通过预训练的多级cnn网络输入关节点热图序列h1和h2,然后,通过预训练的空间转移网络stn将相机2的关节点热图序列h2中的每一张热图进行空间变换,再将空间变换后的关节点热图序列通过全连接层fc,输出结果与相机1的关节点热图序列h1按照序列顺序逐张逐像素相加,得到相机
    1融合后的关节点热图序列,再将融合后的关节点热图序列h1和h2分别通过可微分空间转数字模块dsnt,得到融合后的人体二维姿态1和2,将人体二维姿态1和2、相机1和2的内参参数进行串联,作为多层感知机mlp的输入层,预测得到人体三维姿态和相机外参,再利用估计出的相机外参和相机内参,将三维姿态投影到二维图像平面上,得到新的人体二维姿态,分别构建人体二维姿态损失函数和人体三维姿态损失函数,再将同一时刻任意选定的相机1和相机2拍摄的同一个目标人物的图片及其对应的相机内参、真实的2d姿态、真实的3d姿态构成一组训练数据,以每5组训练数据作为一次训练的输入数据量,冻结多级cnn和空间转移网络stn参数,根据人体二维姿态损失函数和人体三维姿态损失函数,求解其梯度,并反向修正网络参数,直至损失值下降并趋于稳定,最后,将两台相机同时拍摄的一组图片作为模型输入,输出得到估计出的人体三维姿态;其能够有效提升估计出的二维关节点的精度,直接估计出各个视点的相机外参,提高应用泛化性,得到关节点三维坐标,实现人体三维姿态的准确估计。
    附图说明:
    [0034]
    图1为本发明的工艺流程原理示意图。
    [0035]
    图2为本发明实施例1估计出的人体三维姿态示意图。
    具体实施方式:
    [0036]
    下面通过实施例并结合附图对本发明作进一步说明。
    [0037]
    实施例1:
    [0038]
    本实施例涉及的一种基于多视图融合的人体三维姿态估计方法的工艺流程如图1所示,具体过程为:
    [0039]
    s1、多视图关节点热图
    [0040]
    将相机1和相机2拍摄的照片分别通过预训练的多级cnn网络输入关节点热图序列h1和h2(去除掉背景热图);
    [0041]
    s2、多视图热图融合
    [0042]
    首先,通过预训练的空间转移网络stn将相机2的关节点热图序列h2中的每一张热图进行空间变换;
    [0043]
    然后,将空间变换后的关节点热图序列通过全连接层fc,输出结果与相机1的关节点热图序列h1按照序列顺序逐张逐像素相加,得到相机1融合后的关节点热图序列,公式为:
    [0044][0045]
    其中,i∈[1,h
    ×
    w],j∈[1,h
    ×
    w],p∈[1,17],h为单个关节点热图的高,w为单个关节点热图的宽,为相机1的第p个关节点热图中第i个位置的热力值,为融合后的相机1的第p个关节点热图中第i个位置的热力值,为相机2的第p个关节点对应热图中第i个位置的热力值,为融合后的相机2的第p个关节点热图中第i个位置的热力值,
    为相机2的第p个关节点对应热图中第i个位置对于相机1的第p个关节点对应热图中第j个位置的关联权重,为相机1的第p个关节点对应热图中第i个位置对于相机2的第p个关节点对应热图中第j个位置的关联权重;
    [0046]
    s3、人体三维姿态和相机外参估计
    [0047]
    将融合后的关节点热图序列h1和h2分别通过可微分空间转数字模块dsnt,得到融合后的人体二维姿态1和2,将人体二维姿态1和2、相机1和2的内参参数进行串联,作为多层感知机mlp的输入层,预测得到人体三维姿态和相机外参;
    [0048]
    三维空间中一点(x,y,z)与拍摄的二维图像中的该点所在的像素位置(u,v)之间的对应关系为:
    [0049][0050]
    其中,k为相机的内参矩阵,r为相机的外参矩阵,s为空间点在相机坐标系z方向的值;k为已知量,且在使用过程中不会发生变化,r会根据摆放位置和角度的改变发生变化,根据三维空间中一点与二维图像像素位置之间的对应关系可知:r的改变反映空间点在图像中显示的像素位置的改变,所以,能够通过图像中的二维姿态估计出空间中的三维姿态;
    [0051]
    s4、三维-二维投影
    [0052]
    利用估计出的相机外参和相机内参,将三维姿态投影到二维图像平面上,得到新的人体二维姿态;
    [0053]
    s5、构造损失函数
    [0054]
    分别构建人体二维姿态损失函数和人体三维姿态损失函数;
    [0055]
    人体二维姿态损失函数为:
    [0056][0057]
    其中,和分别为融合后的热图估计出的第p个关节点投影到相机1和相机2的二维图像上x方向的坐标,u
    p_1
    和u
    p_2
    分别为第p个关节点在相机1和相机2的二维图像上真实的x方向的坐标,和分别为融合后的热图估计出的第p个关节点投影到相机1和相机2的二维图像上y方向的坐标,v
    p_1
    和v
    p_2
    分别为第p个关节点在相机1和相机2的二维图像上真实的y方向的坐标;
    [0058]
    人体三维姿态损失函数为:
    [0059][0060]
    其中,为融合后的热图估计出的第p个关节点在世界坐标系下x方向的坐标,x
    p
    为第p个关节点在世界坐标系下真实的x方向的坐标,和为融合后的热图估计出的第p个关节点在世界坐标系下y和z方向的坐标,y
    p
    和z
    p
    为第p个关节点在世界坐标系下真实的y和z方向的坐标;
    [0061]
    s6、模型训练
    [0062]
    选用human3.6m数据集作为训练数据源,将同一时刻任意选定的相机1和相机2拍摄的同一个目标人物的图片及其对应的相机内参、真实的2d姿态(只提取17个关节点)、真实的3d姿态(只提取17个关节点)构成一组训练数据,整理完毕后,以每5组训练数据作为一次训练的输入数据量,冻结多级cnn和空间转移网络stn参数,根据步骤s5构造的两个损失函数,求解其梯度,并反向修正网络参数,直至损失值下降到接近于0并趋于稳定,结束模型训练;
    [0063]
    s7、模型测试
    [0064]
    选取未知架设位置和角度的两台能够拍摄到完整人体目标的相机,已知相机内参,将同时拍摄的一组图片作为模型输入,输出得到如图2所示的估计出的人体三维姿态。

    技术特征:
    1.一种基于多视图融合的人体三维姿态估计方法,其特征在于,具体工艺过程为:s1、输入多视图关节点热图将相机1和相机2拍摄的照片分别通过预训练的多级cnn网络输入关节点热图序列h1和h2;s2、多视图热图融合首先,通过预训练的空间转移网络stn将相机2的关节点热图序列h2中的每一张热图进行空间变换,然后,将空间变换后的关节点热图序列通过全连接层fc,输出结果与相机1的关节点热图序列h1按照序列顺序逐张逐像素相加,得到相机1融合后的关节点热图序列;s3、人体三维姿态和相机外参估计将融合后的关节点热图序列h1和h2分别通过可微分空间转数字模块dsnt,得到融合后的人体二维姿态1和2,将人体二维姿态1和2、相机1和2的内参参数进行串联,作为多层感知机mlp的输入层,预测得到人体三维姿态和相机外参;s4、三维-二维投影利用估计出的相机外参和相机内参,将三维姿态投影到二维图像平面上,得到新的人体二维姿态;s5、构造损失函数分别构建人体二维姿态损失函数和人体三维姿态损失函数;s6、模型训练选用human3.6m数据集作为训练数据源,将同一时刻任意选定的相机1和相机2拍摄的同一个目标人物的图片及其对应的相机内参、真实的2d姿态、真实的3d姿态构成一组训练数据,以每5组训练数据作为一次训练的输入数据量,冻结多级cnn和空间转移网络stn参数,根据步骤s5构造的两个损失函数,求解其梯度,反向修正网络参数,直至损失值下降并趋于稳定,结束模型训练;s7、模型测试选取未知架设位置和角度的两台能够拍摄到完整人体目标的相机,已知相机内参,将同时拍摄的一组图片作为模型输入,输出得到估计出的人体三维姿态。2.根据权利要求1所述的基于多视图融合的人体三维姿态估计方法,其特征在于,步骤s1涉及的预训练的多级cnn网络结构为openpose网络中的多级cnn,修改了训练的输入关节点,以及每一级cnn输出的关节点热图和关节响应场数量。3.根据权利要求1所述的基于多视图融合的人体三维姿态估计方法,其特征在于,步骤s2涉及的融合后的关节点热图序列公式为:其中,i∈[1,h
    ×
    w],j∈[1,h
    ×
    w],p∈[1,17],h为单个关节点热图的高,w为单个关节点热图的宽,为相机1的第p个关节点热图中第i个位置的热力值,为融合后的相机1的第p个关节点热图中第i个位置的热力值,为相机2的第p个关节点对应热图中第i个位
    置的热力值,为融合后的相机2的第p个关节点热图中第i个位置的热力值,为相机2的第p个关节点对应热图中第i个位置对于相机1的第p个关节点对应热图中第j个位置的关联权重,为相机1的第p个关节点对应热图中第i个位置对于相机2的第p个关节点对应热图中第j个位置的关联权重。4.根据权利要求1所述的基于多视图融合的人体三维姿态估计方法,其特征在于,步骤s3涉及的多层感知机mlp包含4层:大小为76的输入层、大小为128的第一个隐含层、大小为78的第二个隐含层和大小为78的输出层。5.根据权利要求1所述的基于多视图融合的人体三维姿态估计方法,其特征在于,步骤s5涉及的人体二维姿态损失函数为:其中,和分别为融合后的热图估计出的第p个关节点投影到相机1和相机2的二维图像上x方向的坐标,u
    p_1
    和u
    p_2
    分别为第p个关节点在相机1和相机2的二维图像上真实的x方向的坐标,和分别为融合后的热图估计出的第p个关节点投影到相机1和相机2的二维图像上y方向的坐标,v
    p_1
    和v
    p_2
    分别为第p个关节点在相机1和相机2的二维图像上真实的y方向的坐标。6.根据权利要求1或5所述的基于多视图融合的人体三维姿态估计方法,其特征在于,步骤s5涉及的人体三维姿态损失函数为:其中,为融合后的热图估计出的第p个关节点在世界坐标系下x方向的坐标,x
    p
    为第p个关节点在世界坐标系下真实的x方向的坐标,和为融合后的热图估计出的第p个关节点在世界坐标系下y和z方向的坐标,y
    p
    和z
    p
    为第p个关节点在世界坐标系下真实的y和z方向的坐标。7.根据权利要求2所述的基于多视图融合的人体三维姿态估计方法,其特征在于,修改后的输入关节点包括尾椎、左髋、右髋、左膝、右膝、左脚踝、右脚踝、脊柱、胸、脖子、头、左肩、右肩、左手肘、右手肘、左手腕和右手腕共17个;修改后的每一级cnn输出的关节点热图数量为18,包括17张关节点热图和1张背景热图;修改后的每一级cnn输出的关节响应场数量为36,包括每个关节响应场的x和y两个方向的值。8.根据权利要求4所述的基于多视图融合的人体三维姿态估计方法,其特征在于,输入层包括:融合后的人体二维姿态,两个人体二维姿态的17个关节点的x和y两个坐标值,以及每个相机的内参,每个相机的外参个数为4。9.根据权利要求4所述的基于多视图融合的人体三维姿态估计方法,其特征在于,输出层包括:人体三维姿态的17个关节点的x、y和z三个坐标值,以及两个相机的外参,每个相机的外参个数为3*4=12。

    技术总结
    本发明属于计算机图形学技术领域,具体涉及一种基于多视图融合的人体三维姿态估计方法,首先,将相机1和相机2拍摄的照片分别通过预训练的多级CNN网络输入关节点热图序列H1和H2,然后,通过预训练的空间转移网络STN将相机2的关节点热图序列H2中的每一张热图进行空间变换,通过操作,依次获取相机1融合后的关节点热图序列、融合后的人体二维姿态1和2、人体三维姿态和相机外参、新的人体二维姿态,再分别构建人体二维姿态损失函数和人体三维姿态损失函数,最后,进行模型训练和测试;其能够有效提升估计出的二维关节点的精度,直接估计出各个视点的相机外参,提高应用泛化性,得到关节点三维坐标,实现人体三维姿态的准确估计。实现人体三维姿态的准确估计。实现人体三维姿态的准确估计。


    技术研发人员:纪刚 周亚敏 周萌萌 杨丰拓
    受保护的技术使用者:青岛联合创智科技有限公司
    技术研发日:2022.02.16
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-13178.html

    最新回复(0)