采用双Kinect和旋转平台的人体实时建模系统及其建模方法与流程

文档序号:16682572发布日期:2019-01-19 00:39阅读:119来源:国知局
采用双Kinect和旋转平台的人体实时建模系统及其建模方法与流程
本发明涉及计算机人体三维模型重建领域,尤其涉及一种采用双kinect和旋转平台的人体实时建模系统及其建模方法。
背景技术
:人体三维模型重建是计算机视觉和摄影测量领域一直研究的热点,其应用十分广泛,可以应用在虚拟试衣、游戏人物模型构建、医用人体器官3d打印等诸多方面。传统的人体三维重建方法有很多,如基于三维激光扫描仪的方法,基于影像匹配的方法,基于结构光系统的方法等。但是这些方法都存在着很大的局限性,基于三维激光扫描仪的方法价格昂贵、纹理映射困难。基于影像匹配的方法无法提取人体表面特征、重建的时间周期较长。基于结构光系统的方法如果没有较好的集成,对场地要求比较严格。而随着微软公司kinect的发布,其使用低廉成本就能得到高精度的深度信息和彩色信息,kinect包含深度相机和彩色相机,这为人体重建提供了非常好的硬件支持。由于其主动式的成像原理,使得kinect在黑暗条件下也能测距,并不受光照等条件的限制;30fps的深度帧率以及基于gpgpu以及多核cpu的软件架构证明了其在人体实时三维重建方面的可行性,它为人体重建提供了一个廉价、快速、可行的解决方案。朱江涛在其2015年硕士学位论文《基于kinect的人体三维重建及尺寸测量》中提出使用两台kinect和旋转平台,通过对点云配准、相机标定实现了人体三维重建。但是该方法对机器性能要求很高,在普通机器上容易出现无响应的情况。同时该方法得到的三维人体模型只是点云模型,没有任何的纹理特征。因此稳定性不好,应用范围受到限制。技术实现要素:为解决上述技术问题,本发明提出了一种建模速度快、纹理质量高的采用双kinect和旋转平台的人体实时建模系统及其建模方法。本发明的技术方案是这样实现的:一方面,本发明提供了一种采用双kinect和旋转平台的人体实时建模系统,包括利用kinect获得的人体深度数据得到实时重建的几何模型的几何重建模块;用来对两个kinect的彩色相机内参数以及彩色相机和深度相机的相对位姿关系进行标定的相机标定模块;利用彩色相机得到的纹理数据以及相机标定模块的结果对人体三维几何模型进行纹理映射的纹理映射模块;所述几何重建模块包括两台kinect、旋转平台、点云滤波模块,点云配准模块和点云融合模块;其中两台kinect相对设置,两台kinect的中间设置有旋转平台;点云滤波模块用于将kinect扫描获得的人体深度数据进行滤波去噪处理;点云配准模块用于将kinect扫描的所有点云深度数据纳入到统一的坐标系中;点云融合模块用于去掉相邻点云间重叠部分的冗余数据,保证点云整体数量合适并且表面平滑;所述相机标定模块包括彩色相机内参数标定模块和彩色相机与深度相机相对位姿标定模块;其中彩色相机内参数标定模块利用基于纯平显示器标定相机的方法获得两个kinect的彩色相机内参数;彩色相机与深度相机相对位姿标定模块借助辅助红外光源,利用棋盘法解算出两个kinect深度相机相对于彩色相机的旋转矩阵和平移向量;所述纹理映射模块为采用基于视角的纹理映射模块。第二方面,本发明提供了一种采用上述双kinect和旋转平台的人体实时建模系统的建模方法,包括以下步骤:1)进行人体扫描:固定两台kinect,待测者站在旋转平台上后,两台kinect分别对人的上半身和下半身进行扫描,完成扫描后得到深度图像数据;2)点云滤波模块对深度图像数据进行滤波去噪:将人体扫描得到的深度图像数据采用双边滤波法进行滤波,经滤波后输出滤波图像;3)分别进行两台kinect的相机跟踪与标定:3.1)点云配准:由点云配准模块采用点到面的icp算法,即采用基于gpu并行计算的icp改进配准算法进行点云配准,将点云数据统一变换到世界坐标系中;3.2)相机标定;3.2.1)彩色相机内参数标定,由彩色相机内参数标定模块将纯平显示器当作控制场,在屏幕上绘制带编码的标志点;在拍照后自动提取编码标志,并根据编码提取出其他非编码标志点,在提取所有相片标志点后进行光束法平差解算:将拍摄的照片导入相机参数解算软件,软件自动提取编码标志点,并根据编码标志提取周围其他的非编码标志点,最后进行平差解算,得到内参数像主点、焦距的信息;3.2.2)彩色相机与深度相机相对位姿标定模块,在辅助红外光源的补光下,将kinect深度相机和彩色相机之间的位姿进行标定,得到深度相机相对于彩色相机旋转矩阵以及平移向量;两个kinect均采用上述步骤完成相机跟踪与标定;4)对已经配准好的点云进行融合操作:通过icp算法得到相机的绝对姿态,转换到统一的世界坐标后,然后由点云融合模块进行点云融合;融合后得到的有符号的距离方程变量存放在体元中;空间栅格最前面一层的每一个体元,利用gpu沿着kinect的z轴方向,即垂直于kinect镜头向镜头外伸出的方向,并行的由前向后扫,将体元转换到世界坐标系,然后再转到相机坐标系得到对应的顶点;5)由纹理映射模块进行纹理映射得到最终的人体三维模型:采用uv图,使三维模型的顶点坐标与纹理图像的像素坐标产生对应关系,将纹理映射到三维模型上,达到高质量的纹理影像。在以上技术方案的基础上,优选的,滤波去噪采用的双边滤波法计算方法如下式所示:公示2-1中,i(i,j)表示输入图像,i′(i,j)表示滤波后的输出图像,ω表示以点(x,y)为中心点的(2n+1)×(2n+1)大小的邻域范围,n为自然数,w(i,j)为滤波器在(i,j)处的权值,wp为归一化系数,即输出像素的灰度值为以输入像素为中心点一定邻域内像素的灰度值的加权平均值;在双边滤波中,权值系数由图像空间域权值ws(i,j)和图像灰度域权值wr(i,j)两部分组成,即:w(i,j)=ws(i,j)×wr(i,j)(2-2)公式2-2中ws(i,j)、wr(i,j)算法如公式2-3所示,其中δ含义为二维图像间运算过程的方差,x,y为中心点(x,y)的坐标值;在以上技术方案的基础上,优选的,点云配准采用的点到面的icp算法步骤如下:a)利用投影法确定点的对应关系:基于前一帧得到的相机参数,每一个gpu线程将前一帧的点转换到相机坐标系;然后通过透视投影将所有点投影到像平面坐标系中,前一帧与当前帧投影到相同像平面上的点为对应点;b)利用点到平面误差最小的机制确定相机姿态矩阵,将步骤a中确定的两个点之间的切线距离定义为误差,所有点的总误差计算公式为:di(u)>0表示当前点云中的一点u存在对应点,tg,i是一个4×4的矩阵,表示当前帧在世界坐标系下的姿态,vi(u)表示第i帧中点u的顶点坐标,表示预测帧中u点对应点的顶点坐标,表示对应点的法向量,tg,i是以tg,i-1为初始值,然后通过每一次icp迭代增量相加所得到的相机姿态变换矩阵;c)将式3-1线性化,通过最小二乘解算得到最优解tg,i,线性化首先通过树约简法在gpu上计算并相加,最优的6×6线性系统在cpu上通过柯列斯基分解,具体线性方程如下:其中式中tx,ty,tz代表点x相对三个坐标轴的平移向量,β,γ,α代表绕三个坐标轴旋转的角度,a、b为科列斯基分解的辅助参数。在以上技术方案的基础上,优选的,相机标定包括彩色相机内参数标定、彩色相机与深度相机相对位姿标定;所述彩色相机内参数标定,是由彩色相机内参数标定模块将纯平显示器当作控制场,在屏幕上绘制带编码的标志点;在拍照后自动提取编码标志,并根据编码提取出其他非编码标志点,在提取所有相片标志点后进行光束法平差解算:将拍摄的照片导入相机参数解算软件,软件自动提取编码标志点,并根据编码标志提取周围其他的非编码标志点,最后进行平差解算,得到内参数像主点、焦距的信息;所述彩色相机与深度相机相对位姿标定,是由彩色相机与深度相机相对位姿标定模块在辅助红外光源的补光下,将kinect深度相机和彩色相机之间的位姿进行标定,得到深度相机相对于彩色相机旋转矩阵以及平移向量;两个kinect均采用上述步骤完成相机跟踪与标定。在以上技术方案的基础上,优选的,点云融合算法如下:kinect的体元数值按照公式4-1、4-2进行融合处理,式中di+1(x)表示当前点云对应的距离值,di(x)表示原来的栅格距离值,wi+1(x)为当前权值,wi(x)为前一权值,wi+1(x)为新的权值,新的权值为当前权值和前一权值之和:wi+1(x)=wi(x)+wi+1(x)(4-2)融合后的数据存储在体元中,将体元转换到世界坐标系,然后转到相机坐标系得到对应的顶点;如果该点位于相机视锥体,则计算符号距离方程sdfi+1,然后按如下公式计算截断符号距离方程tsdfi+1:得到的截断符号距离结果用+、-号来表示;在以上技术方案的基础上,优选的,三维模型的顶点坐标与纹理图像的像素坐标通过坐标变换产生对应关系,坐标变换方法如下:令彩色相机的内参数矩阵为krgb,深度相机相对于彩色相机的变换矩阵为td-rgb,则式中fxrgb、fyrgb分别为彩色相机x、y方向的焦距,x0rgb、y0rgb为彩色相机的像主点;td-rgb=(rd-rgb|td-rgb),rd-rgb和td-rgb分别为深度相机坐标系相对于彩色相机坐标系的旋转矩阵和平移向量;令任一点在深度相机坐标系下的坐标为(xd,yd,zd),则其在彩色摄像机坐标系下的三维坐标(xrgb,yrgb,zrgb)为:在彩色图像坐标系下的坐标(xrgb,yrgb)为其中,在以上技术方案的基础上,优选的,彩色相机内参数标定时,纯平显示器与相机平面的夹角不超过45°。在以上技术方案的基础上,优选的,彩色相机内参数标定使用9幅图像,纯平显示器分别成像在相片中的左上、正上、右上、正左、正中、正右、左下、正下、右下九个位置。本发明采用双kinect和旋转平台的人体实时建模系统及其建模方法,相对于现有技术具有以下有益效果:(1)对传统的icp算法进行改进,加快了三维模型重建的速度,同时降低了对计算机配置的要求;(2)与一般的基于kinect进行人体重建的系统不同,本发明实现的人体重建系统实时性好,短时间内能重建出人体模型,降低对人长时间保持静止不动的要求,也不需要特殊的衣服和道具,同时,利用两个kinect对人体进行全方位扫描,进一步缩短扫描时间,并能使最终的人物模型更加完整;(3)搭建、开发了一个廉价、完全自动的人体重建系统,突破传统人体重建方案的经费、精度限制问题;(4)在几何重建的基础上,利用kinect提供的高保真彩色影像,进行高质量的纹理重建,从而使得重建后的人体模型更加逼真。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的人体实时建模系统工作流程图;图2为本发明的人体实时建模系统整体架构图;图3为投影法对应点的示意图:图4为纯平显示器控制场及其编码标志点示意图;图5为基于tsdf算法的格栅体元的表达;图6为基于tsdf的点云融合示意图;图7为实施例中重建的女孩的三维模型;图8为实施例中重建的男孩的三维模型。具体实施方式下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。图1为本发明的人体实时建模系统工作流程图,图2为本发明的人体实时建模系统整体架构图,图3为投影法对应点的示意图,图4为纯平显示器控制场及其编码标志点示意图,图5为基于tsdf算法的格栅体元的表达,图6为基于tsdf的点云融合示意图,图7为实施例中重建的女孩的三维模型,图8为实施例中重建的男孩的三维模型。如图1、图2所示,本发明提供了一种采用双kinect和旋转平台的人体实时建模系统,包括利用kinect获得的人体深度数据得到实时重建的几何模型的几何重建模块;用来对两个kinect的彩色相机内参数以及彩色相机和深度相机的相对位姿关系进行标定的相机标定模块;利用彩色相机得到的纹理数据以及相机标定模块的结果对人体三维几何模型进行纹理映射的纹理映射模块;上述几何重建模块包括两台kinect、旋转平台、点云滤波模块,点云配准模块和点云融合模块;其中两台kinect相对设置,本实施例中两个kinect的高度不同。两台kinect的中间设置有旋转平台;点云滤波模块用于将kinect扫描获得的人体深度数据进行滤波去噪处理;点云配准模块用于将kinect扫描的所有点云深度数据纳入到统一的坐标系中;点云融合模块用于去掉相邻点云间重叠部分的冗余数据,保证点云整体数量合适并且表面平滑;上述相机标定模块包括彩色相机内参数标定模块和彩色相机与深度相机相对位姿标定模块;其中彩色相机内参数标定模块利用基于纯平显示器标定相机的方法获得两个kinect的彩色相机内参数;彩色相机与深度相机相对位姿标定模块借助辅助红外光源,利用棋盘法解算出两个kinect深度相机相对于彩色相机的旋转矩阵和平移向量;上述纹理映射模块为采用基于视角的纹理映射模块。采用上述双kinect和旋转平台的人体实时建模系统的建模方法,包括以下步骤:1)进行人体扫描:固定两台kinect,待测者站在旋转平台上后,两台kinect分别对人的上半身和下半身进行扫描,完成扫描后得到深度图像数据;2)点云滤波模块对深度图像数据进行滤波去噪:将人体扫描得到的深度图像数据采用双边滤波法进行滤波,经滤波后输出滤波图像;滤波去噪采用的双边滤波法计算方法如下式所示:公示(2-1)中,i(i,j)表示输入图像,i′(x,y)表示滤波后的输出图像,ω表示以点(x,y)为中心点的(2n+1)×(2n+1)大小的邻域范围,w(i,j)为滤波器在(i,j)处的权值,wp为归一化系数,即输出像素的灰度值为以输入像素为中心点一定邻域内像素的灰度值的加权平均值;在双边滤波中,权值系数由图像空间域权值ws(i,j)和图像灰度域权值wr(i,j)两部分组成,即:w(i,j)=ws(i,j)×wr(i,j)(2-2)公式(2-2)中ws(i,j)、wr(i,j)算法如下,公式(2-3)中δ含义为二维图像间运算过程的方差;3)分别进行两台kinect的相机跟踪与标定:3.1)点云配准:由点云配准模块采用点到面的icp算法,即采用基于gpu并行计算的icp改进配准算法进行点云配准,将点云数据统一变换到世界坐标系中;点云配准采用的点到面的icp算法步骤如下:a)利用投影法确定点的对应关系:基于前一帧得到的相机参数,每一个gpu线程将前一帧的点转换到相机坐标系;然后通过透视投影将所有点投影到像平面坐标系中,前一帧与当前帧投影到相同像平面上的点为对应点;如图3中点p1、p2所示。b)利用点到平面误差最小的机制确定相机姿态矩阵,将步骤a)中确定的两个点之间的切线距离定义为误差,所有点的总误差计算公式为:di(u)>0表示当前点云中的一点u存在对应点,tg,i是一个4×4的矩阵,表示当前帧在世界坐标系下的姿态,vi(u)表示第i帧中点u的顶点坐标,表示预测帧中u点对应点的顶点坐标,表示对应点的法向量,tg,i是以tg,i-1为初始值,然后通过每一次icp迭代增量相加所得到的相机姿态变换矩阵;c)将式3-1线性化,通过最小二乘解算得到最优解tg,i,线性化首先通过树约简法在gpu上计算并相加,最优的6×6线性系统在cpu上通过柯列斯基分解,具体线性方程如下:其中式中tx,ty,tz代表点x相对三个坐标轴的平移向量,β,γ,α代表绕三个坐标轴旋转的角度,a、b为科列斯基分解的辅助参数。3.2)相机标定3.2.1)彩色相机内参数标定模块,将纯平显示器当作控制场,在屏幕上绘制带编码的标志点,如图4所示。纯平显示器与相机平面的夹角不超过45°,可选择0°、30°、45°等角度,本实施例选用45°。在拍照后自动提取编码标志,并根据编码提取出其他非编码标志点,在提取所有相片标志点后进行光束法平差解算:将拍摄的照片导入相机参数解算软件,软件自动提取编码标志点,并根据编码标志提取周围其他的非编码标志点,最后进行平差解算,得到内参数像主点、焦距的信息;彩色相机标定使用9幅图像,纯平显示器分别成像在相片中的左上、正上、右上、正左、正中、正右、左下、正下、右下九个位置。3.2.2)彩色相机与深度相机相对位姿标定模块,在辅助红外光源的补光下,将kinect深度相机和彩色相机之间的位姿进行标定,得到深度相机相对于彩色相机旋转矩阵以及平移向量;两个kinect均采用上述步骤完成相机跟踪与标定;4)对已经配准好的点云进行融合操作:通过icp算法得到相机的绝对姿态,转换到统一的世界坐标后,然后由点云融合模块进行点云融合;融合后得到的有符号的距离方程变量存放在体元中;空间栅格最前面一层的每一个体元,利用gpu沿着kinect的z轴方向,即垂直于kinect镜头向镜头外伸出的方向,并行地由前向后扫,将体元转换到世界坐标系,然后再转到相机坐标系得到对应的顶点;点云融合算法如下:kinect的体元数值按照公式4-1、4-2进行融合处理,式中di+1(x)表示当前点云对应的距离值,di(x)表示原来的栅格距离值,wi+1(x)为当前权值,wi(x)为前一权值,wi+1(x)为新的权值,新的权值为当前权值和前一权值之和:wi+1(x)=wi(x)+wi+1(x)(4-2)融合后的数据存储在体元中,将体元转换到世界坐标系,然后转到相机坐标系得到对应的顶点;如果该点位于相机视锥体,则计算符号距离方程sdfi+1,然后按如下公式计算截断符号距离方程tsdfi+1:得到的截断符号距离结果用+、-号来表示;算法结果如图6所示。5)由纹理映射模块进行纹理映射得到最终的人体三维模型:采用uv图,使三维模型的顶点坐标与纹理图像的像素坐标产生对应关系,将纹理映射到三维模型上,达到高质量的纹理影像。上述三维模型的顶点坐标与纹理图像的像素坐标通过坐标变换产生对应关系,坐标变换方法如下:令彩色相机的内参数矩阵为krgb,深度相机相对于彩色相机的变换矩阵为td-rgb,则式中fxrgb、fyrgb分别为彩色相机x、y方向的焦距,x0rgb、y0rgb为彩色相机的像主点;td-rgb=(rd-rgb|td-rgb),rd-rgb和td-rgb分别为深度相机坐标系相对于彩色相机坐标系的旋转矩阵和平移向量;令任一点在深度相机坐标系下的坐标为(xd,yd,zd),则其在彩色摄像机坐标系下的三维坐标(xrgb,yrgb,zrgb)为:在彩色图像坐标系下的坐标(xrgb,yrgb)为其中,本设计点云融合的算法,只存储了真实表面一定范围内的区域,因而称之为tsdf算法。图5中,黑色平面表示表面,上面的栅格体元表示表面背面的点,下方的格栅体元表示表面前面的点。空间栅格的表达方式对于kinect传感器来说有很多优点:它隐含地表达了深度数据的随机性;能综合考虑所有的测量值;新的点云数据能够对点云空洞进行填充和修复;对深度数据进行了隐含的编码,存储了表面的几何信息;能将连续的表面离散化进行体元表达;适应相机的移动,便于利用gpgpu加速并行实现以及为后续的光线投射和构三角网提供方便的存储结构等。只要得到深度相机的绝对相机姿态,并标定出彩色相机的内参数以及彩色相机相对于深度相机的姿态矩阵,就能进行纹理映射。为了验证本发明所给方法的有效性,下面将主要从几何重建和纹理重建两方面进行分析。在对重建结果进行定量分析之前,首先在视觉上对模型进行一些定性分析,主要用两组试验结果进行说明,如图7和图8所示,为了便于描述,分别将两组试验主角笼统地称为女孩和男孩。从整体上来看,两组试验结果已经能够较好地表现主角本身的形体特征,发型、五官、体型、衣着等外在特征一目了然。模型也较为平滑细腻,而不是毛糙的视觉效果,并没有出现“环闭合”或者错位现象,整体质量较高。人体的特征点主要有头顶点、肩峰点、肘点、膝点、腕点、踝点等关键点;人的特征尺寸主要有颈围、肩宽、胸围、腰围、臀围等。由于本文模特均为真人,身体尺寸涉及个人隐私,另外由于衣着的关系也给测量带来了一定的困难。为了保护当事人的个人隐私,同时为了量测方便,将在以上特征尺寸的基础上新定义一些新的人体特征尺寸:比如眼宽、眼内角间距、眼外角间距、嘴角间距等。本方法采用的特征度量尺寸名称及定义如下表所示:表1人体特征尺寸名称及定义名称定义眼宽眼睛内眼角到外眼角的间距眼内角间距左右两只眼睛眼内角的间距眼外角间距左右两只眼睛眼外角的间距嘴角间距左右嘴角的间距肩宽两肩点之间的间距表2女孩真实测量值与模型测量值(单位:mm)内容真实测量值模型测量值模型误差左眼宽3031.531.53右眼宽3131.670.67眼内角间距3741.374.37眼外角间距9599.704.70嘴角间距4948.11-0.89肩宽390388.41-1.59表3男孩真实测量值与模型测量值(单位:mm)内容真实测量值模型测量值模型误差左眼宽3835.28-2.72右眼宽3936.45-2.55眼内角间距3435.931.93眼外角间距101107.036.03嘴角间距5954.45-4.55肩宽419413.64-5.36从表中数据可以看出,从测量结果来看,模型的测量值相较于真实测量值相差并不大。在纹理方面,从图中可以看出,经过纹理映射后的三维模型更能逼真地表达人物的表情、神态以及衣着特征,在几何模型上没有表现出来的某些特征比如纽扣、衣服花纹、眉毛等都能很好的表现出来,使得原本略显呆板的三维模型经过纹理映射以后更加生动逼真。本发明不仅能反映人体三维轮廓,纹理细节的映射也更精细、真实,人体模型更加逼真,并能输出高保真彩色影像;另外本发明提供了一个廉价、全自动的人体重建系统,突破了传统人体重建方案的费用、精度限制等问题,适用性很广。本发明能够很好的改善现有技术中存在的建模方法成本高、缺乏纹理表现能力、稳定性差、应用范围受局限的不足。以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1