基于Kinect的人体三维重建方法①

2018-06-14 08:49李泽丰李治江
计算机系统应用 2018年6期
关键词:晶格三脚架三维重建

李 翔,李泽丰,李治江

(武汉大学 印刷与包装系,武汉 430072)

1 引言

随着数字传播技术的发展,人们越来越不能满足于二维图像带来的视觉效果,三维立体感更被人们所推崇.利用三维重建可实现对场景、物体及人体等的立体复制.其中,人体三维重建一直有着实际应用价值,并曾经被普遍应用于各个领域:在考古领域,可重建兵马俑、木乃伊等文物[1]的三维模型;在医学领域,人体三维重建可用于疾病诊断[2]、模拟手术等;在通讯领域,人体三维重建可用于基于三维重建与全息投影通讯.结合VR/AR技术,人体三维重建能够有更普遍的运用,如虚拟试衣、门禁系统等.

目前,三维重建的方法主要有:基于计算机视觉的双视/多视光学成像方法[3]利用三维建模软件的方法及基于扫描设备的三维重建.其中,基于扫描设备的重建方法可直接获取深度信息、纹理信息,且操作简便,重建效果更真实,因此更适合于人体三维重建.基于红外点云的Kinect体感器设备以其价格低廉、操作简单、应用潜力大等优点得到广泛关注,并且可满足一般的精度要求.

Kinect[4]是微软公司推出的一款集深度信息获取、骨骼识别、语言识别等多种技术于一身的体感控制器.基于Kinect的三维重建已有相干学者对数据处理算法、配准算法、重建算法、纹理贴图等算法进行了相关研究工作.刘鑫等人[5]提出了一种结合 Kinect深度传感器与旋转转台的实时三维重建方案.国防科学技术大学的乔思航等[6]使用 3台Kinect 摄像机建立了人体三维模型.周瑾等人[7]使用分布在不同位置的4台Kinect 传感器同步扫描人体,实现人体的静态三维模型的重构.席小霞[8]搭建了一套基于 3 台 Kinect的体感摄像机的三维图像重建系统.谭红春等人[9]、范小娜[10]、周文[11]、刘洋[12]、王欢等[13],从不同方面进行了相关研究,刘雷杰[14]提出了一种结合骨架信息进行人物的动态三维模型重建.

以上相关研究中,手持单台Kinect采集过程中,由于抖动等原因引入采集误差.固定单台Kinect,由于固定视场角使得使用场景有所限制.而同时固定多台Kinect不仅增加成本,多设备坐标系的融合也使得数据处理过程更加复杂,同时也会引入新的噪声.因此,如何在单台Kinect低成本条件下,方便快捷地完成高精度的人体三维数据采集,进而实现人体三维重建中人体扫描、处理、重建、输出,成为本文的研究重点.

2 Kinect Fusion算法流程

本文三维重建方法使用Kinect V2,并使用其SDK中Kinect Fusion进行程序开发,实现人体的三维重建.其算法流程为:采集人体单个方向的深度数据,利用深度数据进行配准融合,得到单帧表面重建模型,再经过投影映射得到可视化的重建结果.

1) 深度数据的转换目的是将二维顶点三维化.即把从Kinect中获取的原始深度帧数据转换成以米为单位的浮点数据,利用摄像头的坐标信息,将这些浮点数据转换为和Kinect相机朝向统一的顶点集,即点云数据.

依据二代Kinect红外相机内在的标定矩阵K,将特定深度信息值投影变换为以相机为坐标原点空间的三维顶点V(u):

其中u为已知图像点,D(u)为深度值.该点法向量表示为ni(u),再通过相机姿态变换平移矩阵Ti与旋转矩阵Ri,将三维顶点转换到全局坐标,其公式如下:

2) 姿态跟踪即计算传感器位置和朝向的姿态信息.利用配准算法在摄像头移动时一直获取其姿态,就可以得到当前设备相对于起始帧时的相对姿势.配准利用的是经典ICP算法[15],计算得到相邻两帧间的相对位移与旋转,据此能够将相机原点坐标系转换到世界坐标系.具体流程见算法1.

1.for 每个图像像素点u∈深度数据Di

3) 利用晶格化显示将上述步骤获取的深度数据集成融合.事先预定一个固定三维体分辨率,将其映射到特定的三维物理空间维度.这个体被均匀细分成三维网格体素,即体素晶格.利用TDFS算法[16],将全局顶点集成到体素晶格中,得到初步重建结果.随着传感器的移动,深度数据将连续不断的被填充进体素晶格中.具体流程见算法2.

1.for 对于每一个处于x,y体切面的体素晶格g2.while 从前向后操作3.V g← 将g从网格转换到全局坐标系T-1 iVg7. ←sdfi4.V←5.P← 透视投影定点 V6.if V在相机视图的投影范围中 then sdfi∥ti-Vg∥-Di(p)8.if ( >0) then tsdfi9. ← min( 1, / max truncation)10.else tsdfi sdfi11. ← max( -1, / mintruncation)Wi sdfi12. ← min( maxweight, + 1)Wi-1

13.tsdfavg ←14.保存Wi和tsdfavg到体素g中.tsdfi-1Wi-1+tsdfiWi Wi-1+Wi

算法2中,s dfi是该相机坐标系点Vg到本次相机原点ti的距离与本次观测深度Di(p)的差值.用max truncation表示选取的截断范围,若是差值为正,表示本次测量的面在晶格的前面,t sdfi赋值[0,1]之间,值越接近0则越靠近观测面;如果差值为负,本次测量的面在该晶格的后面赋值[-1,0]之间,越靠近观测面的地方值越接近0.选取本次计算值的的权值,加权平均求出tsdfavg,将和tsdfavg存储在对应的晶格,进行下个晶格的扫描操作.

经过以上处理,立方体晶格中存储的tsdf值表示其位置.在重建模型外是负值,模型内部是正值,模型表面是0值的形式.随着传感器的移动,深度数据将连续不断的被填充进体素晶格中.

4)利用基于GPU的镭射线方式,实现和生成在网格体内用于显示追踪的隐式表面.以并行的方式,每个GPU线程沿着一条镭射线,呈现一个输出图像的像素点.给定一个有起始位置和方向的射线,每个GPU线程沿着射线遍历每一个像素点,并通过检测零交点的位置来提取隐含的表面.最后,从传感器视点对重建立方体进行光线投射,便能够得到可视化的结果.

通过上述步骤,Kinect Fusion可实时重建出人体三维模型,与传统的重建方法相比,精度与效率都较高,极大提高了三维重建的便利性,为三维重建创造了良好的用户体验.

3 重建场景流程及去噪优化

3.1 重建场景流程

实验场景流程如图1所示:使用三脚架固定Kinect,采集对象站立在可旋转台面上.通过旋转台面,对人体进行360度采集重建;本文重点重建区域为人体胸部以上部分,因对人体而言,该部分辨识度最高.为获得更好的精度与重建结果,Kinect与三脚架的距离保持在0.5-1.0米之间,同时可通过三脚架高度与角度调节,控制Kinect采集视角.

3.2 重建场景的去噪优化

本文重建目标为人体重建,在深度数据采集过程中,视场范围内的场景信息对人体影响较大.主要表现在人体与背景边界处由深度跳跃产生的噪声数据,如图2(a)所示,人体边界部分产生明显噪声.对于该部分噪声,我们通过设置深度阈值[17]对其进行去除.假设用max表示深度相机的最大采集距离,max表示最小采集距离,则可通过下式选择适当的阈值d:

图1 Kinect采集实验场景

图2 去噪优化

通过深度阈值,可将视场内相较于人体的前景数据与背景数据全部去除,如图2(b)所示,去除背景之后,人体边界处相较图2(a)由深度跳跃产生的噪声去除明显,细节如图2(d)和(e)所示,噪声去除后的人体边界更加平滑.

除环境背景对三维重建的影响外,人体深度范围内的其他物体对重建结果也会产生干扰.如图2(b)所示,与人体在相同深度范围内的物体,无法通过设置深度阈值去除.在此,我们利用直通滤波器去除该部分干扰.

假设深度图像素点表示为其中x,y表示深度图像素坐标,d为深度大小;深度图的大小为(w,h),中心点坐标为 (x0,y0).则满足公式(5)的深度图区域,为重建所需的目标人体区域,即实现满足重建要求的直通滤波器范围.

在该范围内的物体将被保留,在该区域外的物体将被去除,结果如图2(c)所示,成功去除了重建场景内的其他物体噪声干扰.

4 实验

4.1 实验设备与环境

(1) 采集设备:Kinect二代体感器

Kinect二代体感器是微软推出的体感周边外设.该体感器不仅能够获取彩色视频信息,还能够通过深度相机获取场景、物体的深度信息,利用这个功能,可实现人体的三维重建,其低廉的价格是其能够普及应用的一大优势.并且其精度也可满足一般消费者需求.

Kinect二代体感器外观如图3.通体为黑色,长250 mm,宽 85 mm,高 65 mm,重 1.25 kg.相对于一代,Kinect二代体感器在深度信息采集、视频清晰度、相机视场等方面都有显著提高.

图3 Kinect二代体感器外观

(2) 采集辅助设备:三脚架

未避免手持体感仪采集数据时,由于抖动等带来的误差,本实验使用三脚架作为辅助设备(见图4).同时,也更好地控制体感仪与采集对象的距离,提高采集效率,标准化三维数据采集流程.该三脚架可通过中轴升降装置可将Kinect采集高度扩展到0.5-1.53m,且手柄可实现360°旋转,大大扩展了Kinect设备的采集视场,提高采集范围,使得Kinect有了更好的适应性.如下图所示,体感仪固定在三脚架液压云台上.

(3) 开发环境

利用二代Kinect体感器进行开发时,它对硬件及操作系统要求较高.本文在Windows8操作系统下进行程序开发、数据采集处理.机器配置如下:Intel(R)Core(TM)i5-4570R CPU @2.70 GHz;内存 (RAM)为8.00 GB;应用程序开发环境为Visual Studio 2012.

图4 安装三脚架后的Kinect二代体感器

(4) 输出设备:3D打印机

为了更好的观察重建结果,文采用3D打印机将重建结果进行输出.3D打印是一种以数字模型为输入,通过逐层堆叠的方式将模型以实体材料构造打印输出的技术.由于这种技术与印刷中的打印技术相像,均是将输入信息通过另一种材料输出的过程,故而称为3D打印.但它与印刷技术又大有不同,印刷中的打印机是用油墨来重现二维的文字、图形图像信息,而3D打印则是用一定材料以堆叠的形式重现出三维立体模型.

图5 3D打印机

如图5所示,本文所用打印机型号为创想三维CR-10,材料为PLA,使用热熔堆积固化成型技术对模型进行输出,精度可达0.1 mm.

4.2 实验结果

利用Kinect采集到的深度数据经过转换后,利用相机姿态统一到同一坐标系下进行晶格化显示集成,最后经过投影映射为可视化图像,至此,三维重建基本实现,其效果可通过相关软件来查看,本文使用3DMax来查看实验结果,即三维重建结果.

实验在无室外环境光影响的室内进行,多组实验后将结果通过3DMax可视化.结果显示人体衣服的褶皱细节丰富生动,表面光滑平整,可以区分出衣领等部位;面部五官中,鼻子和嘴的重建结果较为稳定,头发部分无孔洞出现.整体重建效果较好.结果如图6、7所示.

图6 重建结果正面

图7 重建结果侧面与背面

如图8、图9,使用3D打印技术对模型输出,衣领、五官及头发等细节展现较好,能够满足日常3D打印需求.

至此,本文完成了包括数据采集、数据处理、三维重建、结果输出等的完整人体重建及打印输出流程.

图8 3D打印输出结果图

图9 3D打印结果细节

4.3 实验结果评价

本文对人体三维重建的结果采用客观评价与主观评价两种评价方法,如表1、2所示.客观评价包括重建设备成本、重建速度、重建精度等指标,主观评价通过对重建结果视觉感知上的相似性打分,作为评价指标.

表1 客观评价指标

表2 主观评价指标

本文重建方法,使用单台Kinect和三脚架辅助设备完成采集过程,相对于文献[6-8]中的重建系统中3-4台Kinect设备,降低了成本,且增加了系统稳定性.由于Kinect Fusion采用实时重建,相比于文献[5]中方法,重建速度更快.本文在晶格化显示时采用512晶格,在保证重建速度的基础上,也有着很高的重建精度.

在主观评价中,邀请20位同学,对以上4个方法重建结果进行打分:1分表示很不像,5分表示很像.对比主观评价,本文重建结果在视觉感知上较符合被重建人.

5 结语

本文实现了完整的基于Kinect二代体感器的人体扫描、处理、重建、输出方法.介绍了基于深度数据的实时重建算法,对处理好的深度数据,采用数据转换方法,利用深度相机参数,将平滑后的深度数据转换.再利用ICP算法进行顶点集配准,求解出相机每次的相对位移与转动角度,实现相机姿态跟踪.利用得到的相对位移与转动角度,将每次拍摄到的点集转换到同一全局坐标系下,利用TSDF算法将点云集成到提前划分好精度及尺寸的体素晶格中,然后利用投影映射获得可视化的三维立体.

同时,本文通过对采集场景的去噪优化,提高了本文方法的环境适应性.三脚架的使用,优化了数据采集流程,消除相机抖动误差,保证采集视场,也使得重建过程更加方便快捷.从实验结果来看,重建结果较好,能够满足普通消费者对人体三维重建的基本要求.最后采用3D打印机将重建结果实体化输出.

1 邱兆文,张田文.文物三维重建关键技术.电子学报,2008,36(12):2423-2427.[doi:10.3321/j.issn:0372-2112.2008.12.028]

2 吕开阳,叶华茂,李晓光,等.Kinect体感技术在动物外科实验教学中的应用及展望.中国医学教育技术,2012,26(2):171-173.

3 蔡钦涛.基于图像的三维重建技术研究[硕士学位论文].杭州:浙江大学,2004.

4 Smisek J,Jancosek M,Pajdla T.3D with Kinect.Proceedings of 2011 IEEE International Conference on Computer Vision Workshops (ICCV Workshops).Barcelona,Spain.2011.1154-1160.

5 刘鑫,许华荣,胡占义.基于GPU和Kinect的快速物体重建.自动化学报,2012,38(8):1288-1297.

6 乔思航,程志全,陈寅,等.基于三个Kinect的个性化人体重建.系统仿真学报,2013,25(10):2408-2411.

7 周瑾.基于Kinect深度相机的三维人体重建技术研究[硕士学位论文].杭州:杭州电子科技大学,2013.

8 席小霞.基于多台Kinect摄像机的三维重建系统研究[硕士学位论文].太原:中北大学,2016.

9 谭红春,耿英保,杜炜.一种高效的人脸三维点云超分辨率融合方法.光学技术,2016,(6):501-505.

10 范小娜.基于Kinect三维重构及织物模拟研究[硕士学位论文].杭州:浙江大学,2014.

11 周文.基于RGB-D相机的三维人体重建方法研究[硕士学位论文].合肥:中国科学技术大学,2015.

12 刘洋.基于RGB-D序列及模板的三维人体建模[硕士学位论文].北京:北京工业大学,2014.

13 王欢,汪同庆,李阳.利用Kinect深度信息的三维点云配准方法研究.计算机工程与应用,2016,52(12):153-157.[doi:10.3778/j.issn.1002-8331.1407-0506]

14 刘雷杰.基于Kinect人体动态三维重建.电子产品世界,2016,23(9):35-37,41.

15 Rusinkiewicz S,Levoy M.Efficient variants of the ICP algorithm.Proceedings of the 3rd International Conference on 3-D Digital Imaging and Modeling.Quebec,Canada.2001.145-152.

16 Werner D,Al-Hamadi A,Werner P.Truncated signed distance function:Experiments on voxel size.Campilho A,Kamel M.Image Analysis and Recognition.Cham:Springer International Publishing,2014.357-364.

17 李诗锐,李琪,李海洋,等.基于Kinect v2的实时精确三维重建系统.软件学报,2016,27(10):2519-2529.

猜你喜欢
晶格三脚架三维重建
三角形光晶格中的量子液滴
极性补偿对LaMnO3/LaNiO3 超晶格交换偏置场强度的影响*
Lieb莫尔光子晶格及其光子学特性研究
张云熙作品选
三维重建的飞机机动动作库设计与可视化
基于Mimics的CT三维重建应用分析
光编码技术在犯罪现场重建中的应用
巧放三脚架
三维重建结合3D打印技术在腔镜甲状腺手术中的临床应用
美国麦格普公司新型M—LOK相机三脚架适配器