CN103824326B - 一种动态的人体三维建模方法 - Google Patents

一种动态的人体三维建模方法 Download PDF

Info

Publication number
CN103824326B
CN103824326B CN201410077380.9A CN201410077380A CN103824326B CN 103824326 B CN103824326 B CN 103824326B CN 201410077380 A CN201410077380 A CN 201410077380A CN 103824326 B CN103824326 B CN 103824326B
Authority
CN
China
Prior art keywords
deformation
matrix
point
model
human body
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.)
Expired - Fee Related
Application number
CN201410077380.9A
Other languages
English (en)
Other versions
CN103824326A (zh
Inventor
胡永利
刘洋
孙艳丰
尹宝才
孔德慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201410077380.9A priority Critical patent/CN103824326B/zh
Publication of CN103824326A publication Critical patent/CN103824326A/zh
Application granted granted Critical
Publication of CN103824326B publication Critical patent/CN103824326B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种动态的人体三维建模方法,其能够自然地显示人体的真实姿态。这种动态的人体三维建模方法,包括步骤:(1)基于标准人体模版的数据预处理和Kinect骨架信息的数据预处理;(2)进行分段人体模型刚性变形,根据变形模型部位不同分为两类方法:腹、胸、头采用基于旋转矩阵继承的刚性变形方法,四肢采用基于旋转矩阵继承与回馈的刚性变形方法;(3)进行分段局部模型ICP变形;(4)对各部分模型的连接部分进行柔性TPS形变。

Description

一种动态的人体三维建模方法
技术领域
本发明属于三维建模的技术领域,具体地涉及一种动态的人体三维建模方法,其使用Kinect深度摄像机获取的RGB-D信息及人体骨架信息,以标准人体模板为辅助,建立动态的人体三维模型。
背景技术
三维建模一直是计算机视觉领域的重要研究课题。三维人体建模作为计算机人体仿真的一个组成部分,最早出现于航天工业的人机系统。自交互式计算机图形学诞生之日起,就有学者不断探索计算机人体建模技术,随着计算机技术的不断发展,如今三维人体建模在科研、动画、电脑游戏、服装设计、工业等领域有着非常广泛的应用。
Kinect是美国微软公司于2010年11月4日推出的XBOX-360游戏机体感周边外设的正式名称,它实际上是一种3D体感摄影机,主要应用于体感游戏的信息获取,可以捕捉到深度信息、视频信息、骨架信息等。使用Kinect摄像机获得的RGB-D数据序列,可以很方便地获取Kinect视野内目标的三维位置,可以反映目标的真实位置。Kinect是目前市场上最为廉价的三维深度摄像设备,除Kinect之外,最低廉的深度摄像机价格也在万元人民币左右。
迭代最近点ICP(Iterative Closest Point)算法是由Becl和Mckay于1992年提出的一种高层次的基于自由形态曲面点云数据配准方法。从测量点云中确定其对应的最近点点集后,运用Faugera和Hebert提出的方法计算新的最近点点集。用该方法进行迭代计算,直到残差平方和所构成的目标函数值不变,结束迭代过程。ICP算法被广泛的用于解决三维点云配准的问题中。
TPS(Thin-PlateSpline)作为一种无参数样条,由于其具有丰富的物理含义和闭合形式的解,被广泛应用于柔性坐标变换。
Kinect设备的出现激发了研究者们的兴趣,对于根据Kinect获取到的深度信息和骨架信息进行识别与跟踪的方法也有了一定进展与成果。人体在一定空间范围内的走动可以根据视频识别和跟踪的方法记录下来,但此类方法并不能建立直观的动态三维人体模型。现有的方法仅依靠Kinect骨架信息的模型变形方法并不能很好的与真实的人体姿态匹配。一些建模方法采用的是将人体视为多个刚体部分的方法,在例如手肘,膝盖等关节处会发成畸形形变或模型嵌套,并不能自然的显示人体真实姿态。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种动态的人体三维建模方法,其能够自然地显示人体的真实姿态。
本发明的技术解决方案是:这种动态的人体三维建模方法,包括以下步骤:
(1)基于标准人体模版的数据预处理和Kinect骨架信息的数据预处理;
(2)进行分段人体模型刚性变形,根据变形模型部位不同分为两类方法:腹、胸、头采用基于旋转矩阵继承的刚性变形方法,四肢采用基于旋转矩阵继承与回馈的刚性变形方法;
(3)进行分段局部模型ICP变形;
(4)对各部分模型的连接部分进行柔性TPS形变。
本发明使用Kinect深度摄像机获取的RGB-D信息及人体骨架信息,以标准人体模板为辅助,得到一个在关节处柔性形变的三维人体模型,从而能够自然地显示人体的真实姿态。
附图说明
图1是本发明整体流程框架示意图。
图2是各部分人体模型的继承与回馈树形结构示意图。
图3是使用本发明方法进行实验的实验效果图,因专利法相关规定只能以点云轮廓呈现。左列为Kinect采集到的原始数据的点云轮廓,右列为用本发明方法建立的对应模型的模型轮廓。
具体实施方式
这种动态的人体三维建模方法,包括以下步骤:
(1)基于标准人体模版的数据预处理和Kinect骨架信息的数据预处理;
(2)进行分段人体模型刚性变形,根据变形模型部位不同分为两类方法:腹、胸、头采用基于旋转矩阵继承的刚性变形方法,四肢采用基于旋转矩阵继承与回馈的刚性变形方法;
(3)进行分段局部模型ICP变形;
(4)对各部分模型的连接部分进行柔性TPS形变。
本发明使用Kinect深度摄像机获取的RGB-D信息及人体骨架信息,以标准人体模板为辅助,得到一个在关节处柔性形变的三维人体模型,从而能够自然地显示人体的真实姿态。
优选地,步骤(1)的基于标准人体模版的数据预处理将对应于Kinect获取到的20个人体骨架点的标准人体模板分为腹、胸、头、左臂、右臂、左腿、右腿一共七个大模型部分,其中臂与腿的四肢模型又分别分为三个子模型部分;
步骤(1)的Kinect骨架信息的数据预处理采用基于RGB信息的深度
数据恢复算法进行数据恢复,该算法的过程如下:
Kinect采集到的数据丢失点的深度值均为0,设对于点P,其深度值为D(P),RGB值为C(P),若某点P0为空洞点,D(P)在以P点为中心的10x10点阵范围内随机选出点集Qi(i=1,2…n),其中点Qi满足(P0)≠0且|C(P)-D(P)|<ε,通过公式(1)得到点P的新深度值:
其中Wi=1/(d(P,Qi))2,d(P,Qi)为P点与Qi点的欧式距离,对于跳变的数据,采用相邻多帧去除奇异值求平均的方法进行处理。
优选地,步骤(2)的腹、胸、头采用基于旋转矩阵继承的刚性变形方法,过程如下:
对于模型中任意一点P(X,Y,Z),其坐标矩阵VV(X,Y,Z),通过公式(2)将其刚性变形至点P`(X`,Y`,Z`)其坐标矩阵为V`=(X`,Y`,Z`):
V`=V·RST=V·Tsrc·S·R·Rfather·Ttar (2)
其中RST代表整体的变形矩阵,Tsrc与Ttar代表变形初始与终止的平移矩阵,S代表缩放矩阵,R代表模型自身的旋转矩阵,Rfather代表由父模型处继承的旋转矩阵;
四肢模型的旋转矩阵继承与回馈的刚性变形方法,过程如下:
在四肢模型中,不需要矩阵回馈的部分采用基于旋转矩阵继承的刚性变形方法,需要矩阵回馈的部分,用如下方法:
对于模型中任意一点P(X,Y,Z),其坐标矩阵VV(X,Y,Z)通过公式(3)将其刚性变形至点P`(X`,Y`,Z`)其坐标矩阵为V`=(X`,Y`,Z`):
V`=V·RST=V·Tsrc·S·Rson·R·Rfather·Ttar (3)
其中RST代表整体的变形矩阵,Tsrc与Ttar代表变形初始与终止的平移矩阵,S代表缩放矩阵,Rson代表从子模型处回馈的旋转矩阵,R代表模型自身的旋转矩阵,Rfather代表由父模型处继承的旋转矩阵(2) (3)。
优选地,步骤(3)的分段局部模型ICP变形方法,过程如下:
对于模型中任意一点P(X,Y,Z),其坐标矩阵VV(X,Y,Z),通过公式(4)将其刚性变形至点P`(X`,Y`,Z`)其坐标矩阵为V`=(X`,Y`,Z`):
V`=V·RST·RSTicp (4)
其中RST代表通过步骤(2)的方法得到的变形矩阵,RSTicp代表由ICP方法得到的变形矩阵,RSTicp矩阵的获得是通过优化公式(5)得到:
其中Np代表源点云P的点的个数,pi代表P中的点,xi代表目标点云X中的点,qr与qt代表变形矩阵RSTicp中的旋转分量和位移分量
(4) (5)。
优选地,在步骤(4)中
对于模板人体模型点云H1和部分柔性变形后的目标点云H2,TPS变形
是通过公式(6)获得的控制点集决定的:
Mk={Lkj|Lkj=(xkj,ykj),j=1,…,M,k=1,2} (6)
其中M1是模板人体模型点云,M2是进行分段刚性变形和ICP算法之后的结果点云,M是点集中点的数量,每一刚性变形部分选取10个点作为控制点以保证模型变形的准确性,根据TPS定义,通过公式(7)作为插值条件:
f(M1j)=M2j,j=1,2,…,M (7)
TPS变形的弯曲平滑满足公式(8):
通过公式(9)获得最终TPS变形:
其中λ用于控制平滑的程度,由用户指定。
以下对本发明进行更详细的说明。
Kinect深度摄像机可以获取到RGB-D序列数据和人体的20个骨架点序列数据,采集到计算机中。根据本地存储开源标准人体模板事先标定的20个对应骨架点坐标和获取到的20个骨架点序列坐标进行模型分段刚变形。变形后的结果与真实人体姿态吻合的并不精确,需要与RGB-D获得的三维点云数据进行进一步的精准刚性变形。人体各个连接部分如肩,肘等不能使用刚性变形,需要用柔性变形完成模型整体变形。具体步骤包括以下:
1.基于标准人体模版和Kinect骨架信息的数据预处理
1)模板模型的预处理
Kinect获取到的人体骨架点一共有20个,依次为臀、腹、颈、头、左肩、左肘、左腕、左手、右肩、右肘、右腕、右手、左胯、左膝、左踝、左脚、右胯、右膝、右踝、右脚。对应的在标准人体模版上也标识出20个骨架点的三维位置,根据20个骨架点位置将标准人体模板分为腹、胸、头、左臂、右臂、左腿、右腿一共七个大模型部分,其中臂与腿的四肢模型又分别分为三个小模型部分,例如左臂分为左大臂,左小臂,左手。七个大模型部分之间构成树形结构,子模型从父模型处继承变形矩阵;四肢模型内部也存在各自的树形结构,子模型从父模型处继承变形矩阵,同时父模型从子模型接收回馈旋转矩阵,关于父子模型之间的变形矩阵继承与回馈在下面的部分中将详细阐述。各部分模型的树形结构如图1所示。
2)Kinect数据的预处理
根据PrimeSense公司专利记载,Kinect深度成像原理是基于光编码(lightcoding)技术,在采集过程中存在遮挡现象,此外Kinect是十分廉价的设备,它的数据稳定性并不高,所以Kinect获取到的三维点云数据存在丢失和跳变现象,在正式变形工作前需要对数据进行预处理。
对于由遮挡等原因造成的数据丢失,采用基于RGB信息的深度数据恢复算法进行数据恢复[5]。该算法的主要过程如下:
Kinect采集到的数据丢失点的深度值均为0,设对于点P,其深度值为D(P),RGB值为C(P)。若某点P0,为空洞点,即D(P)。在以P点为中心的10x10点阵范围内随机选出点集Qi(i=1,2…n),其中点Qi满足(P0)≠0且|C(P)-D(P)|<ε。由公式(1)
可以得到点P新的深度值。其中Wi=1/(d(P,Qi))2,d(P,Qi)为P点与Qi点的欧式距离。对于跳变的数据,采用相邻多帧去除奇异值求平均的方法进行处理。
2.分段人体模型刚性变形方法
分段人体模型刚性变形方法根据变形模型部位不同分为两类方法。腹,胸,头采用的是基于旋转矩阵继承的刚性变形方法,四肢模型使用的是基于旋转矩阵继承与回馈的刚性变形方法。
对于空间中任意一点P(X,Y,Z),其坐标矩阵V=(X,Y,Z)T,可以通过公式:
V`=R·TTSSV
将之变换到新的坐标P`(X`,Y`,Z`)。其中,R为世界坐标系旋转矩阵,S为世界坐标系轴向缩放矩阵,T为相对世界坐标系平移矩阵。其中R分解为绕X,Y,Z轴的旋转矩阵的连乘。对于右手三维坐标系,绕X,Y,Z轴转θ角对应的旋转矩阵分别为:
X轴:
Y轴:
Z轴:
缩放矩阵S为:
其中,Xs,Ys,Zs分别对应X,Y,Z轴向上的缩放比例。
平移矩阵为:
其中,Xm,Ym,Zm分别对应X,Y,Z轴向上的平移量。点云中所有的点都通过同一R,S,T变换矩阵改变至新的点,就完成了点云的整体刚性变形。三维坐标系中,R,S,T的确定要通过至少三个对应点才能完成。在本发明中,采用每一部分模型中包含的三对模板骨架点与目标骨架点作为对应点来进行计算,详细的方法将在下面阐述。
1)基于旋转矩阵继承的变形方法
a)腹部模型:
在腹部模型中,选取的三个对应骨架点为臀,左胯,右胯。设模板模型的三个骨架点与坐标分别为Vsrchip(Xsh,Ysh,Zsh),Vsrclh(Xsl,Ysl,Zsl),Vsrcrh(Xsr,Ysr,Zsr)。对应的三个Kinect采集到的目标骨架点及坐标为Vtarhip(Xth,Yth,Zth),Vtarlh(Xtl,Ytl,Ztl),Vtarrh(Xtr,Ytr,Ztr)。因为模板模型是严格沿轴向的,且腹部模型是全身树形结构里的根节点,固腹部模型的三对对应点初始不必修正位置,腹部模型沿Y轴与Z轴的旋转可以由左胯与右胯两对对应点决定。θy与θz分别由公式:
来确定,可得Ry,Rz。而X轴的旋转角度需要由臀节点与左右胯节点中点来决定。在计算X轴向之前,需要将三个目标骨架点旋转至令左右胯中点为原点且左右跨点与X轴重合的位置以简化计算。固需一组临时点Vcahip(Xch,Ych,Zch),Vcalh(Xcl,Ycl,Zcl),Vcarh(Xcr,Ycr,Zcr)。由公式:
Vcahip=Vtarhip·Rz -1·Ry -1
Vcalh=Vtarlh·Rz -1·Ry -1
Vcarh=Vtarrh·Rz -1·Ry -1
得到,并可算出临时左右胯节点中点Vcamh(Xcm,Ycm,Zcm)=(Vcalh+Vcarh)/2及模板左右胯节点中点Vsrcmh(Xsm,Ysm,Zsm)=(Vsrclh+Vsrcrh)/2。由公式:
得到Rx。而缩放矩阵S的X,Z轴方向的缩放量由Kinect采集到的腹部点云宽度决定,Y轴方向的缩放量由目标骨架与模板骨架的臀部节点与左右胯节点中点距离的比值决定,即:
平移矩阵分为两部分,一部分为模板平移矩阵Tsrc,用于将模板模型平移至坐标中心,另一部分为目标平移矩阵Ttar,用于将变形后的模型平移至目标位置。即:Xmsrc=-Xcm,Ymsrc=-Ycm,Zmsrc=-Zcm,Xmtar=Xtm,Ymtar=Ytm,Zmtar=Ztm。最终腹部的变形矩阵为:
RSTabdomen=Tsrc·S·Rx·Ry·Rz·Ttar
腹部模型继承给其子模型的部分为Rabdomen=Rx·Ry·Rz
b)胸部模型:
胸部模型的RST矩阵构成与腹部矩阵类似。胸部采用的三对骨架点为颈,左肩,右肩。不同在于胸部模型从腹部继承旋转矩阵Rabdomen,需要进行姿态调整。固需将目标骨架点Vtarne(Xtn,Ytn,Ztn),Vtarls(Xtl,Ytl,Ztl),Vtarrs(Xtr,Ytr,Ztr)变换到一组临时点Vcane(Xcn,Ycn,Zcn),Vcals(Xcl,Ycl,Zcl),Vcars(Xcr,Ycr,Zcr)位置。由公式:
Vcane=Vtarne·Tsrc -1·Rabdomen -1
Vcals=Vtarls·Tsrc -1·Rabdomen -1
Vcars=Vtarrs·Tsrc -1·Rabdomen -1
进行变换。变换后的目标骨架点可以利用人体活动约束简化计算,例如Xcl>Xcr等。同腹部模型,可得最终胸部模型RST矩阵:
RSTchest=Tsrc·S·Rx·Ry·Rz·Rabdomen·Ttar
胸部模型继承给其子模型的部分为Rchest=Rx·Ry·Rz·Rabdomen
c)头部模型
头部模型与胸部模型类似,需要根据从胸部继承的旋转矩阵Rchest进行姿态调整。同时,头部模型与之前的模型不同之处在于控制点只有两个,即头与颈,而事实上根据Kinect采集到的骨架与点云信息无法确定人体是否有头部绕Y轴扭转的动作及其角度。固头部模型只采用X,Z两轴旋转矩阵,更精确的模型调整由第三步ICP算法实现。类似的,可以得到:
RSThead=Tsrc·S·Rx·Rz·Rchest·Ttar
头部在人体树形图中为叶子节点,固无需继承旋转矩阵给其他部分。2)基于旋转矩阵继承与回馈的变形方法
四肢模型采用的变形方法是基于旋转矩阵继承与回馈的变形方法,因为四肢模型的情况基本相同,固以左臂模型进行举例说明。
左臂模型中一共有四个关节点:左肩,左肘,左腕,左手。人体的手臂运动较为复杂,原因在于人体小臂中有两块臂骨:尺骨和桡骨。小臂的两端分别为肘关节和腕关节,两个关节各有不同。对于肘关节,若肩关节与腕关节均维持自身在各个方向不转动的情况下,手臂只能做出由肱二头肌带动的曲臂动作,即肘关节实际上只有一个自由度。小臂发生的上下摆动则是由肩关节的扭动带动大臂从而带动小臂完成的,并非是由肘关节完成。在本发明的模型中,模板模型的手臂模型中肩,肘,腕是严格沿X轴方向的。
大臂与小臂绕X轴旋转的矩阵应采用同一个旋转矩阵,而由大臂的所包含的肩,肘关节只能确定大臂的Ry,Rz。绕X旋转矩阵Rx必须由小臂来确定,再回馈给大臂,这样就是矩阵回馈的过程;从另一方面讲,由于小臂存在转动约束(比如不能让手肘出现折断的情况),需要从大臂继承旋转矩阵从而先进行姿态调整,再确定旋转角度与旋转矩阵,这样就是矩阵的继承。具体的大臂与小臂的RST计算方法如下:
计算左臂RST所需的骨架点为左肩,左肘,左腕。设模板模型的三个骨架点与坐标分别为Vsrcsh(Xss,Yss,Zss),Vsrcel(Xse,Yse,Zse),Vsrcfr(Xsf,Ysf,Zsf)。对应的三个Kinect采集到的目标骨架点及坐标为Vtarsh(Xts,Yts,Zts),Vtarel(Xte,Yte,Zte),Vtarfr(Xtf,Ytf,Ztf)。左臂模型从胸部模型继承旋转矩阵Rchest,需要进行姿态调整。固需将目标骨架点Vtarsh(Xts,Yts,Zts),Vtarel(Xte,Yte,Zte),Vtarfr(Xtf,Ytf,Ztf)变换到一组临时点Vcash(Xcs,Ycs,Zcs),Vcael(Xce,Yce,Zce),Vcafr(Xcf,Ycf,Zcf)位置。由公式:
Vcash=Vtarsh·Tsrc -1·Rchest -1
Vcael=Vtarel·Tsrc -1·Rchest -1
Vcafr=Vtarfrs·Tsrc -1·Rchest -1
进行变换。大臂模型的θx由小臂回馈,θyboom与θzboom由公式:
来确定,可得Ryboom,Rzboom。而X轴的旋转方向需要由小臂的旋转来决定。在计算小臂旋转矩阵之前,需要将左肩,左肘,左腕关节点旋转至令左肩,左肘与X轴重合并左肘为原点的位置即在模型内部完成了矩阵的继承。固需另一组临时点Vnewsh(Xns,Yns,Zns),Vnewel(Xne,Yne,Zne),Vnewfr(Xnf,Ynf,Znf)。由公式:
Vnewsh=Vcash·Rz -1·Ry -1
Vnewel=Vcael·Rz -1·Ry -1
Vnewfr=Vcarfr·Rz -1·Ry -1
进行变换。对于小臂,若大臂不动则不存在绕Z轴的旋转,对于新的一组临时点Vnewsh,Vnewel,Vnewfr与模板骨架点Vsrcsh,Vsrcel,Vsrcfr之间的变形关系可以看做大臂不动的小臂运动,即仅需求绕X,Y轴的旋转矩阵。由公式:
来确定,可得Ryforearm,Rxforearm。由此,大臂与小臂的RST矩阵分别为:
RSTboom=Tarc·Sboom·Rxforearm·Ryboom·Rzboom·Rchest·Ttar
RSTforearm=TSrc·Sforearm·Ryforearm·Rxforearm·Rchest·Ttar
真正人体腕部的转动情况比肘部要复杂很多,但由于Kinect采集骨架越到末端越不精确,且仅通过采集到的点云数据无法分析腕部的具体转动情况,加之做人整体动作行为的分析和识别,腕部运动参考价值有限,固将腕部与肘部的转动视为同一情况,不同在于只给予腕部绕Z轴的旋转的自由度,只继承小臂的旋转不对小臂进行回馈。
四肢的情况基本相同,只是在矩阵选择上可能需要细微的调整,不累述。
3.分段局部模型ICP变形
通过上述方法完成变形的模型在骨架关节点上可以完全吻合,但因为真实人体与模板人体存在差异,并不能很好与真实人体模型匹配。需要一种方法将Kinect采集到的点云信息利用上。在本发明中采用的是ICP方法。
ICP方法的输入有两个,一为源点云P{pi},包含Np个点;另一为目标点云X{xi},包含Nx个点。ICP方法就是通过最小化两个点云中的最近点的距离平方和得到两个点云之间的刚体变换。给定一个刚体变换可以用矢量q=[qR|qT]表示,用源点云中的每一个点,在目标点云中寻找最近点,利用得到的最近点,计算所有的最近点的欧氏距离平方和,如公式所示:
为了最小化f(q)首先计算源点云P与目标点云X重心:
利用中心得到两个数据集的互协方差矩阵:
利用∑px的反对称矩阵Aij=(∑px-∑px T)ij构造矢量Δ=[A23A31A12]T,根据这个列矢量,可以得到一个4×4的对称矩阵,其中I3为3×3的恒等矩阵:
与矩阵Q(∑px)的最大特征值对应的单位特征向量qR=[q0 q1 q2 q3]就是用单位四元数表示的最优旋转,利用qR可以根据下面公式计算旋转矩阵:
再利用公式qT=μx-R(qRp得到对应的刚体变换,如此重复迭代,直到最近点的欧式距离平方和收敛到指定的阈值。在本发明中,经过分段变形后的人体模型点云作为源点云,Kinect原始数据进行了去噪和丢失数据恢复处理后的多帧点云作为目标点云,得到各个部分的ICP变形矩阵RSTicp。至此,各个分段部分的最终刚性变形矩阵已可得到,以腹部为例,最终的刚性变形矩阵为:
RSTabdomen_final=RSTabdomen·RSTabdomen_icp
4.各部分模型连接部分柔性TPS形变
在刚性变形得到的结果在各个刚性部分可以很好地表示人体的动作和特征,但各个模型部分的连接处,比如肩膀,手肘不能使用刚性变形,需要寻求一种柔性变形方法,在本发明中采用的是TPS变形。TPS变形是一个非刚性样条映射方法,具有灵活性强、全局平滑、易于计算等良好特性。TPS变形可看作是一个映射f:R2→R2,由基准和目标上的两组对齐点集决定。本发明中,对于模板人体模型点云H1和部分柔性变形后的目标点云H2,TPS变形是通过在各部分刚性变形的过程中获得的如下控制点集决定的:
Mk={Lkj|Lkj=(xkj,ykj),j=1,...,M,k=1,2} (3)
其中M1是模板人体模型点云,M2是进行分段刚性变形和ICP算法之后的结果点云。M是点集中点的数量,在我们的模型中,每一刚性变形部分只要要选取10个点作为控制点以保证模型变形的准确性。根据TPS定义,f有如下插值条件:
f(M1j)=M2j,j=1,2,...,M (4)
同时,TPS变形的弯曲平滑应尽量满足最小化如下弯曲能量函数:
f可以通过最小化(5)中的能量函数得到。在实际使用中,为了利用对应控制点的偏差和(5)中的平滑能量,使用如下能量函数来获得最终的TPS变形:
其中,λ控制平滑的程度。给定一个固定的λ,将会有一个唯一的最小的能量函数。
TPS变形后,所有模板模型中刚性变形部分都会如预期的变动到相应的变形位置,并且各部分连接处由于TPS柔性变形的约束也能平滑的自然连接起来。
为了验证提出的人体动态建模方法,使用在真实场景中获得的数据进行了多次实验。我们使用Kinect与一台PC机进行连接。人在Kinect前进行自然行动,Kinect进行实时录制,记录每一时刻的RGB-D数据和骨架信息数据进行在线处理,可以实时建立对应的三维人体模型。
实验测试了基于RGB-D序列和标准模版的人体动态建模方法的性能。从实验效果可以看出建模效果较为理想。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

Claims (4)

1.一种动态的人体三维建模方法,其特征在于:包括以下步骤:
(1)基于标准人体模版的数据预处理和Kinect骨架信息的数据预处理;
(2)进行分段人体模型刚性变形,根据变形模型部位不同分为两类方法:腹、胸、头采用基于旋转矩阵继承的刚性变形方法,四肢采用基于旋转矩阵继承与回馈的刚性变形方法;
(3)进行分段局部模型ICP变形;
(4)对各部分模型的连接部分进行柔性TPS形变;
步骤(1)的基于标准人体模版的数据预处理将对应于Kinect获取到的20个人体骨架点的标准人体模板分为腹、胸、头、左臂、右臂、左腿、右腿一共七个大模型部分,其中臂与腿的四肢模型又分别分为三个子模型部分;
步骤(1)的Kinect骨架信息的数据预处理采用基于RGB信息的深度数据恢复算法进行数据恢复,该算法的过程如下:
Kinect采集到的数据丢失点的深度值均为0,设对于点P,其深度值为D(P),RGB值为C(P),若某点P0为空洞点,D(P)在以P点为中心的10x10点阵范围内随机选出点集Qi(i=1,2…n),其中点P0满足D(P0)≠0且|C(P)-D(P)|<ε,通过公式(1)得到点P0的新深度值:
D ( P 0 ) = Σ i = 0 n W i · D ( Q i ) / Σ i = 0 n W i - - - ( 1 )
其中Wi=1/(d(P,Qi))2,d(P,Qi)为P点与Qi点的欧式距离,对于跳变的数据,采用相邻多帧去除奇异值求平均的方法进行处理;
在步骤(4)中
对于模板人体模型点云H1和部分柔性变形后的目标点云H2,TPS变形是通过公式(6)获得的控制点集决定的:
Mk={Lkj|Lkj=(xkj,ykj),j=1,…,M,k=1,2} (6)
其中M1是模板人体模型点云,M2是进行分段刚性变形和ICP算法之后的结果点云,M是点集中点的数量,每一刚性变形部分选取10个点作为控制点以保证模型变形的准确性,根据TPS定义,通过公式(7)作为插值条件:
f(M1j)=M2j,j=1,2,…,M (7)
TPS变形的弯曲平滑满足公式(8):
E ( f ) = ∫ ∫ R 2 ( ∂ 2 f ∂ x 2 ) 2 + 2 ( ∂ 2 f ∂ x ∂ y ) 2 + ( ∂ 2 f ∂ y 2 ) 2 d x d y - - - ( 8 )
通过公式(9)获得最终TPS变形:
E ( d , w , λ ) = 1 M Σ j = 1 M | | M 2 j - f ( M 1 j ) | | + λ E ( f ) - - - ( 9 )
其中λ用于控制平滑的程度,由用户指定。
2.根据权利要求1所述的动态的人体三维建模方法,其特征在于:步骤(2)的腹、胸、头采用基于旋转矩阵继承的刚性变形方法,过程如下:
对于模型中任意一点P(X,Y,Z),其坐标矩阵V=(X,Y,Z),通过公式(2)将其刚性变形至点P`(X`,Y`,Z`)其坐标矩阵为V`=(X`,Y`,Z`):
V`=V·RST=V·Tsrc·S·R·Rfather·Ttar (2)
其中RST代表整体的变形矩阵,Tsrc与Ttar代表变形初始与终止的平移矩阵,S代表缩放矩阵,R代表模型自身的旋转矩阵,Rfather代表由父模型处继承的旋转矩阵;
四肢模型的旋转矩阵继承与回馈的刚性变形方法,过程如下:
在四肢模型中,不需要矩阵回馈的部分采用基于旋转矩阵继承的刚性变形方法,需要矩阵回馈的部分,用如下方法:
对于模型中任意一点P(X,Y,Z),其坐标矩阵V=(X,Y,Z),通过公式(3)将其刚性变形至点P`(X`,Y`,Z`)其坐标矩阵为V`=(X`,Y`,Z`):
V`=V·RST=V·Tsrc·S·Rson·R·Rfather·Ttar (3)
其中RST代表整体的变形矩阵,Tsrc与Ttar代表变形初始与终止的平移矩阵,S代表缩放矩阵,Rson代表从子模型处回馈的旋转矩阵,R代表模型自身的旋转矩阵,Rfather代表由父模型处继承的旋转矩阵。
3.根据权利要求2所述的动态的人体三维建模方法,其特征在于:步骤(3)的分段局部模型ICP变形方法,过程如下:
对于模型中任意一点P(X,Y,Z),其坐标矩阵V=(X,Y,Z),通过公式(4)将其刚性变形至点P`(X`,Y`,Z`)其坐标矩阵为V`=(X`,Y`,Z`):
V`=V·RST·RSTicp (4)
其中RST代表通过步骤(2)的方法得到的变形矩阵,RSTicp代表由ICP方法得到的变形矩阵,RSTicp矩阵通过优化公式(5)得到:
f ( q ) = 1 N p Σ i = 1 N p | | x i - R ( q R ) p i - q T | | - - - ( 5 )
其中Np代表源点云P的点的个数,pi代表P中的点,xi代表目标点云X中的点,qR与qT代表变形矩阵RSTicp中的旋转分量和位移分量。
4.根据权利要求3所述的动态的人体三维建模方法,其特征在于:在步骤(4)中
对于模板人体模型点云H1和部分柔性变形后的目标点云H2,TPS变形是通过公式(6)获得的控制点集决定的:
Mk={Lkj|Lkj=(xkj,ykj),j=1,…,M,k=1,2} (6)
其中M1是模板人体模型点云,M2是进行分段刚性变形和ICP算法之后的结果点云,M是点集中点的数量,每一刚性变形部分选取10个点作为控制点以保证模型变形的准确性,根据TPS定义,通过公式(7)作为插值条件:
f(M1j)=M2j,j=1,2,…,M (7)
TPS变形的弯曲平滑满足公式(8):
E ( f ) = ∫ ∫ R 2 ( ∂ 2 f ∂ x 2 ) 2 + 2 ( ∂ 2 f ∂ x ∂ y ) 2 + ( ∂ 2 f ∂ y 2 ) 2 d x d y - - - ( 8 )
通过公式(9)获得最终TPS变形:
E ( d , w , λ ) = 1 M Σ j = 1 M | | M 2 j - f ( M 1 j ) | | + λ E ( f ) - - - ( 9 )
其中λ用于控制平滑的程度,由用户指定。
CN201410077380.9A 2014-03-05 2014-03-05 一种动态的人体三维建模方法 Expired - Fee Related CN103824326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410077380.9A CN103824326B (zh) 2014-03-05 2014-03-05 一种动态的人体三维建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410077380.9A CN103824326B (zh) 2014-03-05 2014-03-05 一种动态的人体三维建模方法

Publications (2)

Publication Number Publication Date
CN103824326A CN103824326A (zh) 2014-05-28
CN103824326B true CN103824326B (zh) 2017-04-26

Family

ID=50759365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410077380.9A Expired - Fee Related CN103824326B (zh) 2014-03-05 2014-03-05 一种动态的人体三维建模方法

Country Status (1)

Country Link
CN (1) CN103824326B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008571B (zh) * 2014-06-12 2017-01-18 深圳奥比中光科技有限公司 基于深度相机的人体模型获取方法及网络虚拟试衣系统
CN104881892B (zh) * 2015-06-04 2017-10-27 厦门唯尔酷信息技术有限公司 模型变形方法及其系统
CN104952110A (zh) * 2015-07-08 2015-09-30 安徽瑞宏信息科技有限公司 一种人体骨骼建模方法
CN105184861B (zh) * 2015-10-20 2019-02-12 南京大学 一种自动人体三维重建系统
CN105447889A (zh) * 2015-11-19 2016-03-30 北京理工大学 一种基于体感的远程虚拟歌剧指挥系统
US10621384B2 (en) * 2015-12-09 2020-04-14 Dassault Systemes Americas Corp. Method and system of constraint-based optimization of digital human upper limb models
CN106558071B (zh) * 2016-11-10 2019-04-23 张昊华 一种获取人体关节信息的方法及终端
CN107403468A (zh) * 2017-07-22 2017-11-28 上海北冕信息科技有限公司 一种相似变换三维物体间的鲁棒注册算法
CN111291193B (zh) * 2020-01-18 2020-09-29 杭州电子科技大学 一种知识图谱在零次学习上的运用方法
CN111932670B (zh) * 2020-08-13 2021-09-28 北京未澜科技有限公司 基于单个rgbd相机的三维人体自画像重建方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101246602B (zh) * 2008-02-04 2010-09-08 东华大学 基于几何骨架的人体姿态重建方法
JP2011514190A (ja) * 2008-02-29 2011-05-06 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ 画像内の解剖学的構造のセグメンテーションおよびモデリングのための方法およびシステム
CN103559736B (zh) * 2013-11-11 2016-06-15 程志全 表演者的无标记点三维实时捕捉系统

Also Published As

Publication number Publication date
CN103824326A (zh) 2014-05-28

Similar Documents

Publication Publication Date Title
CN103824326B (zh) 一种动态的人体三维建模方法
Jiang et al. Selfrecon: Self reconstruction your digital avatar from monocular video
JP7061694B2 (ja) 画像処理方法および装置、画像機器、ならびに記憶媒体
CN104700433B (zh) 一种基于视觉的实时人体全身体运动捕捉方法及其系统
CN114663199B (zh) 一种动态展示的实时三维虚拟试衣系统及方法
CN109636831B (zh) 一种估计三维人体姿态及手部信息的方法
CN102697508B (zh) 采用单目视觉的三维重建来进行步态识别的方法
Tan et al. Fits like a glove: Rapid and reliable hand shape personalization
Plankers et al. Articulated soft objects for video-based body modeling
CN102184541B (zh) 多目标优化人体运动跟踪方法
CN109829972B (zh) 一种面向连续帧点云的三维人体标准骨架提取方法
CN101894278B (zh) 基于变结构多模型的人体运动跟踪方法
CN104794722A (zh) 利用单个Kinect计算着装人体三维净体模型的方法
CN102750704B (zh) 一种摄像机分步自标定方法
CN103733226A (zh) 快速的有关节运动的跟踪
CN108629294A (zh) 基于变形图的人体与人脸网格模板拟合方法
CN110310285A (zh) 一种精确的基于三维人体重建的烧伤面积计算方法
CN106815855A (zh) 基于产生式和判别式结合的人体运动跟踪方法
CN103942829A (zh) 单幅图像的人体三维姿态重构方法
CN113379904B (zh) 一种基于隐空间运动编码的多人人体模型重建方法
Ko et al. CNN and bi-LSTM based 3D golf swing analysis by frontal swing sequence images
CN102479386A (zh) 基于单目视频的人体上半身三维运动跟踪方法
CN112365589B (zh) 一种虚拟三维场景展示方法、装置及系统
CN110298917A (zh) 一种人脸重建方法及系统
Fua et al. Markerless full body shape and motion capture from video sequences

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Hu Yongli

Inventor after: Liu Yang

Inventor after: Sun Yanfeng

Inventor after: Yin Baocai

Inventor after: Kong Dehui

Inventor before: Hu Yongli

Inventor before: Liu Yang

Inventor before: Sun Yanfeng

Inventor before: Yin Baocai

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: HU YONGLI LIU YANG SUN YANFENG YIN BAOCAI TO: HU YONGLI LIU YANG SUN YANFENG YIN BAOCAI KONG DEHUI

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170426

CF01 Termination of patent right due to non-payment of annual fee