CN113112586B - 基于先验模型的实时人体三维重建方法 - Google Patents
基于先验模型的实时人体三维重建方法 Download PDFInfo
- Publication number
- CN113112586B CN113112586B CN202110363641.3A CN202110363641A CN113112586B CN 113112586 B CN113112586 B CN 113112586B CN 202110363641 A CN202110363641 A CN 202110363641A CN 113112586 B CN113112586 B CN 113112586B
- Authority
- CN
- China
- Prior art keywords
- human body
- model
- prior
- frame
- tracking
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000009466 transformation Effects 0.000 claims abstract description 54
- 230000004927 fusion Effects 0.000 claims abstract description 27
- 239000011159 matrix material Substances 0.000 claims description 36
- 230000036544 posture Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 23
- 238000013519 translation Methods 0.000 claims description 21
- 238000005457 optimization Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 10
- 230000014509 gene expression Effects 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000002146 bilateral effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000007797 corrosion Effects 0.000 claims description 3
- 238000005260 corrosion Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000000844 transformation Methods 0.000 claims description 2
- 230000000877 morphologic effect Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000009471 action Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 210000000689 upper leg Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G06T5/70—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
- G06T7/596—Depth or shape recovery from multiple images from stereo images from three or more stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20028—Bilateral filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Abstract
本发明公开了一种基于先验模型的实时人体三维重建方法,实现了基于双层人体结构的人体实时跟踪、融合、重建方法,可以通过单目深度摄像头捕获的数据,快速匹配人体的非刚体运动,同时刻画出外层表面如衣服、背包等物体的细节信息。本发明主要包括两个步骤:1)基于先验人体模型进行快速匹配人体动作,带动外层融合重建表面进行初始变换;2)基于双层结构进行联合跟踪,使外层融合重建表面在细节上匹配到当前深度。此外,本发明结合先验人体模型的语义信息,提出了动态阈值匹配与动态权重计算策略,还解决了传统方案中存在的体素碰撞问题,进一步提高了跟踪质量,能够处理手交叉等高难度情况。
Description
技术领域
本发明涉及三维重建技术领域,尤其涉及一种基于先验模型的实时人体三维重建方法。
背景技术
最近十年的计算机视觉和计算机图形学领域的研究中,人体运动跟踪及其重建已经成为了一项具有挑战性的研究课题。之前的研究中,有很多系统利用多个彩色摄像机和深度摄像机,来获取多视角的数据进行人体的运动跟踪和重建,虽然能够得到高质量的重建效果,但是多个拍摄设配增加了成本,以及多种设备之间的同步问题使得整个拍摄系统更加复杂,最后导致整个系统难以调控,对于普通科研工作者及其用户来说具有一定的局限性。
深度相机的出现,使得三维重建在游戏、虚拟现实、增强现实、数字娱乐等领域的应用越来越成熟。深度相机获取几何数据可达到30帧每秒,在动态物体,例如人体的三维重建上具有优势。更多的研究倾向于使用深度相机来进行跟踪和重建人体。然而,由于深度相机获取的深度图噪声较大,使得动态数据注册困难。
动态融合(DynamicFusion)结合了非刚体表面运动的跟踪和基于体素融合方法来重建恢复所拍摄到的人或者物体,它能够通过单个深度摄像头实时的进行跟踪重建而不需要预先扫描和使用任何模板,同时这样的系统成本低且易于部署。后续的许多工作都是延续了这样的思路,虽然不同程度的提升了跟踪重建的质量,但是还是难以应对快速的运动。另外,类似的系统还存在其他的挑战:单个摄像头带来的遮挡;如何达到实时跟踪重建;重建中物体是否能够闭环;不使用预先扫描的模板等。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于先验模型的实时人体三维重建方法,该方法以双层人体结构为基础,以单目深度相机为输入跟踪重建目标人物,不仅能够捕获快速的人体运动同时恢复表面的细节,从而用于游戏、虚拟现实、增强现实、数字娱乐等领域,给用户带来更加真实的体验。
为了实现上述目的,本发明采用如下技术方案:一种基于先验模型的实时人体三维重建方法,该方法包括以下步骤:
S1:通过单目深度相机采集第一帧深度数据;
S2:初始化先验人体模型,通过先验人体模型跟踪对齐第一帧深度数据;
S3:建立双层人体结构,包括双层表面和双层节点;
S4:接收下一帧深度数据,在双层人体结构与深度数据之间寻找对应点对;
S5:根据对应点对的匹配结果,动态调整目标函数权重,进行基于双层人体结构的跟踪;
S6:通过体素碰撞检测结果,有选择的融合深度数据并恢复重建表面细节。
进一步地,所述S1中,第一帧深度数据尽量使得人体以某个固定姿势朝向深度相机;对第一帧深度数据进行预处理,包括双边滤波、膨胀腐蚀、异常点检测、通过包围盒选定有效区域。
进一步地,所述S2包括以下子步骤:
S21:根据先验人体模型上顶点与关节的关系,将模型划分为不同部位;
S22:根据各部位的语义信息,设置该部位用于寻找对应点对的距离和角度阈值的初始值;
进一步地,所述S23中,优化能量函数如下:
该项直接利用先验人体模型在训练时学到的各种先验知识,即需要模型提供各种标准姿态和体态对应的参数集合或者各参数的合理范围;跟踪时,首先选出最接近当前帧姿态和体态的参数组合优化得到的参数会与之进行匹配,从而使优化结果更加合理; 是仅在对角线上非零的,维度与维度保持一致的方阵。
进一步地,所述S3中,所述双层表面包括模型点云和外层融合重建点云,所述双层节点包括与模型绑定的ModelNode,以及与外层融合重建点云绑定的接近人体表面的OnBodyNode和远离人体表面的FarBodyNode;将OnBodyNode和FarBodyNode合记为FusedNode;建立过程如下:
S31:在先验人体模型上通过热传导的方式均匀采样节点作为ModelNode;
S32:用ModelNode初始化OnBodyNode,表达接近人体表面的外层融合重建点云的运动;
S33:用空间划分的方式,在远离人体表面的外层融合重建点云中采样FarBodyNode,表达这部分点云的运动。
进一步地,所述S4包括以下子步骤:
S41:根据上一帧的跟踪结果,计算先验人体模型上各部位的运动速度,动态调整各部位寻找对应点对的距离和角度阈值;
S42:在先验人体模型和深度数据之间,以投影匹配的方式,寻找满足各部位距离和角度阈值的对应点对。
进一步地,所述S5包括以下子步骤:
S51:使用先验人体模型跟踪人体的大致运动,目标函数如下:
各能量项的表达式如下:
S52:根据双层表面之间的对应关系,对双层人体结构进行初次变换;
S53:在初始变换的基础上,结合双层人体结构进行细节跟踪,以刻画出人体表面细节信息,目标函数如下:
在目标函数中,各能量项的具体描述如下:
FusedNodeGraphRegularTerm:
其中Nj是第j个FusedNode在当前迭代下的位置,Rj,为第j个FusedNode在当前迭代下的旋转变换矩阵与平移变换,m为FusedNode的数量,记录了第j个FusedNode的所有邻居序列,αjk则记录了这对邻接关系的依赖权重;
进一步地,所述S51中,在跟踪过程中根据先验人体模型各部位寻找到对应点对的数量,动态调整各部位在目标函数中的权重和自适应调整ModelRegularTerm和ModelPriorTerm各部位权重过程中,输入为:先验人体模型各部位的对应点对数量SACN和先验人体模型各部位的顶点数量SAVN,输出为:ModelRegularTerm中各部位权重矩阵和ModelPriorTerm中各部位权重矩阵对于先验人体模型的第i个部位,更新权重矩阵的值如下:
设置全局平移对应权重:ωs(0,0)=ωs(1,1)=ωs(2,2)=ωp(0,0)=ωp(1,1)=ωp(2,2)=1。
进一步地,所述S52中,对双层人体结构进行初次变换,具体为:
S521:根据先验人体模型在第t-1帧的姿态参数以及模型顶点与关节的依赖关系,计算出先验人体模型上每个ModelNode累积到t-1帧时的旋转变换矩阵根据每个OnbodyNode在上一帧的变换参数计算出该节点累计到t-1帧时的旋转变换矩阵两者之间的差异为:
更新每个OnbodyNode在当前帧的平移变换,最终结果如下:
S522:完成每个OnbodyNode变换参数的更新后,通过线性蒙皮的方式,更新外层融合重建模型中每个OnBodyNode和顶点的位置,作为当前帧的初始结果。
进一步地,所述S6包括以下子步骤:
S61:根据空间距离,设置每个Canonical空间的体素与FusedNode的依赖权重;
S63:更新未发生碰撞体素中存储的TSDF值与权重,使用Marching Cube提取点云。
本发明的有益效果是:本发明方法只需要以单目深度相机为输入,就能够跟踪重建出快速运动的带有表面细节的人物。可以应用到大规模的三维场景重建中,实现用户在三维虚拟世界里的漫游。
附图说明
图1是本发明实施例提供的基于先验模型的实时人体三维重建方法实现框图;
图2中(a)为SMPL模型的关节链及关节序号,(b)为根据关节划分的部位;
图3为各关节寻找对应点对的距离和角度阈值的初始值示意图;
图5中(a)为SMPL模型表面,(b)为外层融合重建表面;
图6中(a)为SMPL模型采样的ModelNode,(b)为与图5对应帧的FusedNode;
图7中(a)为固定阈值的跟踪结果,(b)为采用动态阈值方案的跟踪结果;
图8中(a)为不采用动态权重方案的重建结果,(b)为采用动态权重方案的重建结果;
图9为双层跟踪中间结果示意图;
图10为Canonical模型跟踪中间结果示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细说明,应当理解,此处描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
三维人体跟踪重建的目标是能够从视频序列中,连续不间断的重建出关于人体动态变化的表面,来表达被跟踪的人物在这段时间内的行为。
图1为本发明实施例中提供的基于先验模型的实时人体三维重建方法流程图,该方法的实现流程具体如下:
(1)通过单目深度相机采集第一帧深度数据,第一帧深度数据尽量使得人体以某个固定姿势朝向深度相机;固定姿势可以为双臂展开。
(2)对第一帧深度数据进行预处理,包括双边滤波、膨胀腐蚀、异常点检测、通过包围盒选定有效区域,得到平滑去噪的深度图像。
(3)初始化先验人体模型(参数读取、部位划分及阈值初始化),通过先验人体模型跟踪对齐第一帧深度数据;
(3.1)根据先验人体模型上顶点与关节的关系,将模型划分为不同的部位,例如手臂、大腿、胸部等,然后根据各部位的语义信息,设置该部位用于寻找对应点对的距离和角度阈值的初始值,一个根据SMPL模型生成的实施例如图2所示,图2中(a)为SMPL模型的关节链及关节序号,(b)为根据关节划分的部位。图3为各关节寻找对应点对的距离和角度阈值的初始值示意图。
(3.2)使用先验人体模型跟踪对齐第一帧人体的姿态与体态:调整先验人体模型的参数,使得模型的体态特征与第一帧深度数据的人体体态一致;调整先验人体模型的参数,使得模型的姿态特征与第一帧深度数据的人体姿态一致,具体的优化能量函数如下:
其中为待求解的变量,记录了各关节的旋转信息与模型在全局空间的平移,维度分别为模型关节数量*3+3,记录了当前模型的高矮胖瘦等个性化体态信息,维度和与采用模型的体态参数维度保持一致。描述了先验人体模型的顶点和深度数据中提取的三维点之间的距离差异。因为输入的深度数据是连续不断的,所以引入了它描述了当前帧与上一帧求得的姿态和体态参数差异,可以很好的提升运动跟踪的连续性。此外,还引入了根据先验人体模型数据集训练出的高斯混合模型作为先验知识,即使用项排除明显错误的姿态和体态参数。最后,λd,λr,λp代表各能量项所占的权重,可以根据不同的输入数据进行微调。各能量项的具体描述如下:
其中为通过投影匹配得到的对应点对集合,vm为先验人体模型的顶点,u为对应点对中的匹配点,为先验人体模型上该顶点对应的法向量,ψ为鲁棒惩罚函数(Geman-McClure penalty function)。
该项直接利用了先验人体模型在训练时学到的各种先验知识,即需要模型提供各种标准姿态和体态对应的参数集合或者各参数的合理范围。在跟踪时,首先从集合中选出最接近当前帧姿态和体态的参数组合优化得到的参数会与之进行匹配,从而使优化结果更加合理。是仅在对角线上非零的,维度与当前姿态参数和体态参数维度保持一致的方阵。
(4)建立双层人体结构,双层人体结构包括双层表面和双层节点。所述双层表面包括模型点云和外层融合重建点云,所述双层节点包括与模型绑定的ModelNode,以及与外层融合重建点云绑定的接近人体表面的OnBodyNode和远离人体表面的FarBodyNode;建立过程如下:
(4.1)在先验人体模型上通过热传导的方式均匀采样节点作为ModelNode;
(4.2)用ModelNode初始化OnBodyNode,来表达接近人体表面的外层融合重建点云的运动;
(4.3)用空间划分的方式,在远离人体表面的外层融合重建点云中采样FarBodyNode,来表达这部分点云的运动。
在一个实施例中,以SMPL为例,双层人体结构的建立具体如下:
如图5所示,双层表面结构:内层是SMPL模型,从初始化开始它就是一个完整的模型,这可以弥补融合重建的表面前期不完整所导致的跟踪不理想的情况;外层是融合重建的表面,与内层相比,在表面细节上它更贴近目标人物的真实几何。内层结构可以在跟踪时表达一个大致的运动;而外层结构在大致运动下进一步的优化细节。两层点云结构之间通过双层节点结构进行约束。
类似的,可以得到如图6所示的双层节点结构:在SMPL模型中,将ModelNode记为SmplNode,节点包括SmplNode、OnBodyNode和FarBodyNode,后续会将OnBodyNode和FarBodyNode合记为FusedNode,图中的线段代表着节点与节点的连接关系。具体内容为:
(a)SmplNode:采用热传导的方式从SMPL模型上采样得到,能够得到高质量(分布均匀且连接关系符合拓扑结构)的节点。SmplNode跟着SMPL模型的骨骼参数运动,不会变换任何顶点,它的作用是初始化OnBodyNode和约束OnBodyNode。在融合重建的初期,重建出来的点云往往是不完整的,如果能够给出完整的节点,能够提高跟踪重建的质量。
(b)OnBodyNode:以SmplNode为初始化,每个节点维护一个刚体变换。在跟踪重建的过程中受SmplNode约束,从而达到被骨骼约束的效果。这样的约束是软约束,SmplNode和OnBodyNode在跟踪过程中会产生偏差。通常情况下用于变换融合重建出来的点云的节点应该通过在点云上采样得到,但是在SMPL模型和深度图跟踪对齐后,SMPL模型能够提供良好的人体先验知识,可以利用更好的采样算法从SMPL模型上采样得到OnBodyNode(因为只需要在初始化时采样一次)。
(c)FarBodyNode:直接从融合重建的点云上采样得到,如果一些点云远离了人体,那么如果再用OnBodyNode去变换这些点云是不准确的,需要从远离人体的点云上重新再采样得到,同时FarBodyNode不受SmplNode约束,所以它会有更自由的运动。为了尽量快速均匀的采样FarBodyNode,可以将三维空间分成一个一个的小格子,然后将远离人体表面的顶点投到这些格子中,在每个格子中选取离格子中心最近的点作为新采样的FarBodyNode。该做法的好处在于多个格子可以同时进行处理,采样得到的FarBodyNode在空间上比较均匀。
(5)接收下一帧深度数据,对深度数据进行预处理,在双层人体结构与深度数据之间寻找对应点对,具体实现流程如下:
(5.1)根据上一帧的跟踪结果,计算先验人体模型上各部位的运动速度,动态调整各部位寻找对应点对的距离和角度阈值,具体为:
对于先验人体模型的所有部位,根据上一帧跟踪结束时的先验人体模型顶点Vt-1和当前帧跟踪得到的先验人体模型顶Vt,计算每个部位所有顶点的位置差异totdiff和顶点数量totnum;
计算得到当前帧跟踪时各部位距离阈值JDTt和当前帧跟踪时各部位角度阈值JATt,公式如下:
其中JDTt-1为上一帧跟踪结束时的各部位距离阈值,JATt-1为上一帧跟踪结束时的各部位角度阈值。
(5.2)在先验人体模型和深度数据之间,以投影匹配的方式,寻找满足各部位距离和角度阈值的对应点对。
在一个以SMPL模型生成的实施例中,如图7所示,图7中(a)为固定阈值的跟踪结果,(b)为采用动态阈值方案的跟踪结果,可以看出分块动态阈值方案确实提高了跟踪质量。
(6)根据对应点对的匹配结果,动态调整目标函数权重,进行基于双层人体结构的两步跟踪。
(6.1)使用先验人体模型跟踪人体的大致运动,目标函数如下:
在目标函数中,为ModelDataTerm,为ModelRegularTerm,为ModelPriorTerm,分别与步骤(3.2)中的相同,不过,当前步骤不再优化人体体态,因此将模型的体态参数作为常量,也置为全零矩阵,具体格式如下:
这三项的表达方式与符号含义与步骤(3.2)中相同,此处就不多做介绍。
需要注意的是,在跟踪过程中,会根据先验人体模型各部位寻找到对应点对的数量,动态调整各部位在目标函数中的权重和例如,当第i个部位寻找到的对应点对数量减少时,对应的会适量增大,使得这一部位尽可能保持在与上一帧相同的位置;对应的则会适量减小,从而防止这一部位收敛到高斯混合模型的均值中心。
自适应调整ModelRegularTerm和ModelPriorTerm各部位权重过程中,输入为:先验人体模型各部位的对应点对数量SACN和先验人体模型各部位的顶点数量SAVN,输出为:ModelRegularTerm中各部位权重矩阵和ModelPriorTerm中各部位权重矩阵对于先验人体模型的第i个部位,更新权重矩阵的值如下:
此外,还要设置全局平移对应权重:ωs(0,0)=ωs(1,1)=ωs(2,2)=ωp(0,0)=ωp(1,1)=ωp(2,2)=1。
在一个以SMPL模型生成的实施例中,如图8所示,对是否使用动态权重进行了对比,图8中(a)为不采用动态权重方案的重建结果(腰部出现不合理的挤压),(b)为采用动态权重方案的重建结果(结果更符合现实情况),可以看出动态权重能够有效处理不可视范围内顶点的变换。
(6.2)在先验人体模型跟踪完成之后,就可以根据双层表面之间的对应关系,对双层人体结构进行初次变换,具体过程如下:
(a)根据先验人体模型在第t-1帧的姿态参数以及模型顶点与关节的依赖关系,计算出先验人体模型上每个ModelNode累积到t-1帧时的旋转变换矩阵同样道理,可以根据每个OnbodyNode在上一帧的变换参数计算出该节点累计到t-1帧时的旋转变换矩阵由于OnbodyNode和ModelNode是一一对应的,因此可以记录两者之间的差异为:
通过步骤(6.1)所述的跟踪,就可以得到先验人体模型在第t帧的姿态参数以及每个ModelNode在该帧的旋转变换矩阵假设两层Node之间的相对关系未发生变化,则可以推测每个OnBodyNode在当前帧的旋转变换如下:
之后,可以通过类似方式更新每个OnbodyNode在当前帧的平移变换,最终结果如下:
(b)完成每个OnbodyNode变换参数的更新后,可以通过线性蒙皮的方式,更新外层融合重建模型中每个OnBodyNode和顶点的位置,作为当前帧的初始结果。(此步未更新FarBodyNode,因此并不能提供完美的结果,需要结合双层人体结构进行第二步更新)。
(6.3)在初始变换的基础上,结合双层人体结构进行细节跟踪,以刻画出人体表面细节信息,目标函数如下:
代表FusedModelDataTerm,结合外层融合重建点云的信息对模型的姿态参数进行了进一步的优化。外层融合重建点云的变换与传统的EmbedGraph类似,是通过优化FusedNode的变换参数完成的。代表FusedNodeGraphDataTerm,描述了体素融合重建的点云与深度数据的距离差异,代表FusedNodeGraphRegularTerm,用来约束外层融合重建点云的局部变换趋于刚性。最后,为了双层表面的变换保持一致,添加了ModelFusedBindTerm目标函数中的λ代表各能量项所占的权重,可以根据不同的输入数据进行调整。
各能量项的具体描述如下:
这三项的表达方式与符号含义与步骤(6.1)中相同,此处就不多做介绍。
其中vf为融合重建点云中原有的点,优化前,首先通过先验人体模型的姿态参数将vf变换到当前帧,记为(注意,和vf是相同的,只不过是使用不同的符号进行区分来区别变换过程),此时,就可以将对应点对(vf,u)作用到先验人体模型上,是通过同样方式得到的法向量。
同理:
上述两公式相减得:
其中,为先验人体模型中某个顶点在第一帧中的位置,为该顶点依赖的关节在第一帧中的位置,wi为对关节i的依赖权重,Mi为根据当前姿态参数计算得到的关节i的从第一帧到当前帧的变换矩阵,vm为模型顶点在当前帧中的位置。同样道理,可以根据融合重建模型在第一帧中的位置计算得到该顶点经过当前帧姿态参数下变换后的位置此时,就可以在求导的过程中将对应点对(vf,u)作用到先验人体模型的姿态参数
FusedNodeGraphRegularTerm:
其中Nj是第j个FusedNode在当前迭代下的位置,Rj,为第j个FusedNode在当前迭代下的旋转变换矩阵与平移变换,m为FusedNode的数量,记录了第j个FusedNode的所有邻居序列,αjk则记录了这对邻接关系的依赖权重(相邻越近,则αjk越大)。需要注意的是在建立节点与节点的邻接关系的时候,OnBodyNode只与OnBodyNode建立连接,因为它初始来自于ModelNode且通过热传导的方式得到更加准确的连接关系,这比较耗时但是可以预计算得到。而在连续跟踪重建的过程中,不断的采得FarBodyNode,然后建立与FusedNode的邻接关系。
(6.4)目标函数求解。为了求解当前帧参数,首先采用高斯牛顿法将目标函数化为如下格式:
其中在进行第一步跟踪时,JTJ矩阵是由EMD、EMR、EMP单独得到的 矩阵之和,其中J为当前能量项对应的Jacobi矩阵,fk为当前参数下的能量残差,同理,进行细节跟踪时需要将 累加到JTJ矩阵中。JTfk矩阵也可以通过同样的方式得到。计算完成后,采用并行的共轭梯度下降法(Pcg)去求解这个线性系统,从而得到新的模型姿态参数、FusedNode旋转变换与平移变换参数。
在一个以SMPL模型生成的实施例中,一些双层跟踪的结果如图9所示。
(7)通过体素碰撞检测的结果,有选择的融合深度数据并恢复重建表面细节。
(7.1)根据空间距离,设置每个Canonical空间的体素与FusedNode的依赖权重。
(7.2)使用线性蒙皮方案,根据求解出的节点变换参数将每个Canonical空间的体素变换到Deform空间,同时进行碰撞检测(将整个Deform空间划分为4mm*4mm的小格子,检查变换到每个格子的Canonical体素范围,从而判定是否发生碰撞)。
(7.3)更新未发生碰撞体素中存储的TSDF(截断空间距离)值与权重,然后使用Marching Cube提取点云。
在一个以SMPL模型生成的实施例中,一些Canonical空间融合出的表面如图10所示。
本方法利用双层人体结构来表达目标人物,既能跟踪较大范围的人体动作,也能跟踪人体的表面细节。首先,本方法结合人体的语义信息,对人体的不同部位采取相应的动态阈值匹配与动态权重计算策略,由于目标函数较多,本方法尝试不同的组合和分步骤进行跟踪,经过大量实验得出了两步跟踪策略,优化过程中,采用高斯牛顿法,根据当前目标函数对应的JTJ和JTfk矩阵,求解得到每帧的对应参数。利用双步跟踪算法将模型跟踪对齐到当前帧后,会利用当前帧信息更新已有的TSDF值,更新过程中会使用体素碰撞检测,从而避免融合出错误表面,进一步提高了跟踪与融合质量。算法基于GPU实现,结合了内层先验人体模型和外层融合重建点云的优点,提升了整个过程中跟踪重建的效果。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中基于先验模型的实时人体三维重建方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中基于先验模型的实时人体三维重建方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (9)
1.一种基于先验模型的实时人体三维重建方法,其特征在于,包括以下步骤:
S1:通过单目深度相机采集第一帧深度数据;
S2:初始化先验人体模型,通过先验人体模型跟踪对齐第一帧深度数据;
S3:建立双层人体结构,包括双层表面和双层节点;
S4:接收下一帧深度数据,在双层人体结构与深度数据之间寻找对应点对;
S5:根据对应点对的匹配结果,动态调整目标函数权重,进行基于双层人体结构的跟踪;具体包括以下子步骤:
S51:使用先验人体模型跟踪人体的大致运动,目标函数如下:
各能量项的表达式如下:
S52:根据双层表面之间的对应关系,对双层人体结构进行初次变换;
S53:在初始变换的基础上,结合双层人体结构进行细节跟踪,以刻画出人体表面细节信息,目标函数如下:
在目标函数中,各能量项的具体描述如下:
FusedNodeGraphRegularTerm:
其中Nj是第j个FusedNode在当前迭代下的位置,Rj,为第j个FusedNode在当前迭代下的旋转变换矩阵与平移变换,m为FusedNode的数量,记录了第j个FusedNode的所有邻居序列,αjk则记录了这对邻接关系的依赖权重;
S6:通过体素碰撞检测结果,有选择的融合深度数据并恢复重建表面细节。
2.根据权利要求1所述的一种基于先验模型的实时人体三维重建方法,其特征在于,所述S1中,第一帧深度数据尽量使得人体以某个固定姿势朝向深度相机;对第一帧深度数据进行预处理,包括双边滤波、膨胀腐蚀、异常点检测、通过包围盒选定有效区域。
4.根据权利要求3所述的一种基于先验模型的实时人体三维重建方法,其特征在于,所述S23中,优化能量函数如下:
5.根据权利要求1所述的一种基于先验模型的实时人体三维重建方法,其特征在于,所述S3中,所述双层表面包括模型点云和外层融合重建点云,所述双层节点包括与模型绑定的ModelNode,以及与外层融合重建点云绑定的接近人体表面的OnBodyNode和远离人体表面的FarBodyNode;将OnBodyNode和FarBodyNode合记为FusedNode;建立过程如下:
S31:在先验人体模型上通过热传导的方式均匀采样节点作为ModelNode;
S32:用ModelNode初始化OnBodyNode,表达接近人体表面的外层融合重建点云的运动;
S33:用空间划分的方式,在远离人体表面的外层融合重建点云中采样FarBodyNode,表达这部分点云的运动。
6.根据权利要求1所述的一种基于先验模型的实时人体三维重建方法,其特征在于,所述S4包括以下子步骤:
S41:根据上一帧的跟踪结果,计算先验人体模型上各部位的运动速度,动态调整各部位寻找对应点对的距离和角度阈值;
S42:在先验人体模型和深度数据之间,以投影匹配的方式,寻找满足各部位距离和角度阈值的对应点对。
7.根据权利要求1所述的一种基于先验模型的实时人体三维重建方法,其特征在于,所述S51中,在跟踪过程中根据先验人体模型各部位寻找到对应点对的数量,动态调整各部位在目标函数中的权重和自适应调整ModelRegularTerm和ModelPriorTerm各部位权重过程中,输入为:先验人体模型各部位的对应点对数量SACN和先验人体模型各部位的顶点数量SAVN,输出为:ModelRegularTerm中各部位权重矩阵和ModelPriorTerm中各部位权重矩阵对于先验人体模型的第i个部位,更新权重矩阵的值如下:
设置全局平移对应权重:ωs(0,0)=ωs(1,1)=ωs(2,2)=ωp(0,0)=ωp(1,1)=ωp(2,2)=1。
8.根据权利要求1所述的一种基于先验模型的实时人体三维重建方法,其特征在于,所述S52中,对双层人体结构进行初次变换,具体为:
S521:根据先验人体模型在第t-1帧的姿态参数以及模型顶点与关节的依赖关系,计算出先验人体模型上每个ModelNode累积到t-1帧时的旋转变换矩阵根据每个OnbodyNode在上一帧的变换参数计算出该节点累计到t-1帧时的旋转变换矩阵两者之间的差异为:
更新每个OnbodyNode在当前帧的平移变换,最终结果如下:
S522:完成每个OnbodyNode变换参数的更新后,通过线性蒙皮的方式,更新外层融合重建模型中每个OnBodyNode和顶点的位置,作为当前帧的初始结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110363641.3A CN113112586B (zh) | 2021-04-02 | 2021-04-02 | 基于先验模型的实时人体三维重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110363641.3A CN113112586B (zh) | 2021-04-02 | 2021-04-02 | 基于先验模型的实时人体三维重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113112586A CN113112586A (zh) | 2021-07-13 |
CN113112586B true CN113112586B (zh) | 2023-02-28 |
Family
ID=76713860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110363641.3A Active CN113112586B (zh) | 2021-04-02 | 2021-04-02 | 基于先验模型的实时人体三维重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113112586B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113689540B (zh) * | 2021-07-22 | 2024-04-23 | 清华大学 | 基于rgb视频的物体重建方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2579903A1 (en) * | 2004-09-17 | 2006-03-30 | Cyberextruder.Com, Inc. | System, method, and apparatus for generating a three-dimensional representation from one or more two-dimensional images |
WO2006117374A2 (fr) * | 2005-05-03 | 2006-11-09 | France Telecom | Procédé de reconstruction tridimensionnelle d'un membre ou d'un ensemble de membres articulés |
AU2009281762A1 (en) * | 2008-08-15 | 2010-02-18 | Brown University | Method and apparatus for estimating body shape |
CN106250867A (zh) * | 2016-08-12 | 2016-12-21 | 南京华捷艾米软件科技有限公司 | 一种基于深度数据的人体骨骼跟踪系统的实现方法 |
CN106780726A (zh) * | 2016-12-23 | 2017-05-31 | 陕西科技大学 | 融合rgb‑d相机和彩色光度立体法的动态非刚体三维数字化方法 |
WO2018011370A1 (en) * | 2016-07-13 | 2018-01-18 | Naked Labs Austria Gmbh | Efficient volumetric reconstruction with depth sensors |
WO2020099338A1 (en) * | 2018-11-16 | 2020-05-22 | Kokkinos Iason | Three-dimensional object reconstruction |
CN111968169A (zh) * | 2020-08-19 | 2020-11-20 | 北京拙河科技有限公司 | 动态人体三维重建方法、装置、设备和介质 |
CN112330813A (zh) * | 2020-11-12 | 2021-02-05 | 首都师范大学 | 一种基于单目深度摄像头的着装下三维人体模型重建方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11127163B2 (en) * | 2015-06-24 | 2021-09-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Skinned multi-infant linear body model |
US11468585B2 (en) * | 2019-08-27 | 2022-10-11 | Nec Corporation | Pseudo RGB-D for self-improving monocular slam and depth prediction |
-
2021
- 2021-04-02 CN CN202110363641.3A patent/CN113112586B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2579903A1 (en) * | 2004-09-17 | 2006-03-30 | Cyberextruder.Com, Inc. | System, method, and apparatus for generating a three-dimensional representation from one or more two-dimensional images |
WO2006117374A2 (fr) * | 2005-05-03 | 2006-11-09 | France Telecom | Procédé de reconstruction tridimensionnelle d'un membre ou d'un ensemble de membres articulés |
AU2009281762A1 (en) * | 2008-08-15 | 2010-02-18 | Brown University | Method and apparatus for estimating body shape |
WO2018011370A1 (en) * | 2016-07-13 | 2018-01-18 | Naked Labs Austria Gmbh | Efficient volumetric reconstruction with depth sensors |
CN106250867A (zh) * | 2016-08-12 | 2016-12-21 | 南京华捷艾米软件科技有限公司 | 一种基于深度数据的人体骨骼跟踪系统的实现方法 |
CN106780726A (zh) * | 2016-12-23 | 2017-05-31 | 陕西科技大学 | 融合rgb‑d相机和彩色光度立体法的动态非刚体三维数字化方法 |
WO2020099338A1 (en) * | 2018-11-16 | 2020-05-22 | Kokkinos Iason | Three-dimensional object reconstruction |
CN111968169A (zh) * | 2020-08-19 | 2020-11-20 | 北京拙河科技有限公司 | 动态人体三维重建方法、装置、设备和介质 |
CN112330813A (zh) * | 2020-11-12 | 2021-02-05 | 首都师范大学 | 一种基于单目深度摄像头的着装下三维人体模型重建方法 |
Non-Patent Citations (3)
Title |
---|
Octree-based fusion for realtime 3D reconstruction;Zeng M等;《Graphical Models》;20131231;126-136 * |
Real-Time 3D Reconstruction in Dynamic Scenes Using Point-Based Fusion;Keller M 等;《 2013 International Conference on 3D Vision (3DV). IEEE Computer Society》;20131231;1-7 * |
基于单张图像的三维人脸表情重建研究;常丽等;《电子测量技术》;20200808(第15期);74-77 * |
Also Published As
Publication number | Publication date |
---|---|
CN113112586A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yu et al. | Doublefusion: Real-time capture of human performances with inner body shapes from a single depth sensor | |
CN109636831B (zh) | 一种估计三维人体姿态及手部信息的方法 | |
Mueller et al. | Real-time hand tracking under occlusion from an egocentric rgb-d sensor | |
CN109584353B (zh) | 一种基于单目视频重建三维人脸表情模型的方法 | |
Valgaerts et al. | Lightweight binocular facial performance capture under uncontrolled lighting. | |
US11195318B2 (en) | Rapid avatar capture and simulation using commodity depth sensors | |
CN104915978B (zh) | 基于体感相机Kinect的真实感动画生成方法 | |
CN110637323A (zh) | 通过使用基于部分的关键帧和先验模型进行鲁棒网格跟踪和融合 | |
CN111968169A (zh) | 动态人体三维重建方法、装置、设备和介质 | |
CN113421328B (zh) | 一种三维人体虚拟化重建方法及装置 | |
CN115951784B (zh) | 一种基于双神经辐射场的穿衣人体运动捕捉和生成方法 | |
CN113538667B (zh) | 动态场景光场重建方法及装置 | |
JP2023524252A (ja) | 生成的非線形人間形状モデル | |
Li et al. | Spa: Sparse photorealistic animation using a single rgb-d camera | |
CN115689869A (zh) | 一种视频美妆迁移方法及系统 | |
CN114036969A (zh) | 一种多视角情况下的3d人体动作识别算法 | |
CN113112586B (zh) | 基于先验模型的实时人体三维重建方法 | |
CN113989928B (zh) | 一种动作捕捉和重定向方法 | |
Jena et al. | Splatarmor: Articulated gaussian splatting for animatable humans from monocular rgb videos | |
Wang et al. | NerfCap: Human performance capture with dynamic neural radiance fields | |
Li et al. | Gaussianbody: Clothed human reconstruction via 3d gaussian splatting | |
CN115457171A (zh) | 一种采用基表情空间变换的高效表情迁移方法 | |
Gomes et al. | Creating and reenacting controllable 3d humans with differentiable rendering | |
Xu | Single-view and multi-view methods in marker-less 3d human motion capture | |
Remondino et al. | Human motion reconstruction and animation from video sequences |
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 |