- 4.13 MB
- 2022-04-22 11:25:52 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'基于Kinect的数据采集和数据处理3DdataacquisitionandprocessingbasedonKinect数学科学学院信息与计算科学陆炎PB10203123刘利刚教授二〇一四年五月
中国科学技术大学UniversityofScienceandTechnologyofChina本科毕业论文ADissertationfortheBachelor’sDegree基于Kinect的数据采集和数据处理3DdataacquisitionandprocessingbasedonKinect姓名陆炎B.S.CandidateYanLu导师刘利刚教授SupervisorProf.LigangLiu二〇一四年五月May,2014
学士学位论文题目基于Kinect的数据采集和数据处理院系数学科学学院信息与计算科学姓名陆炎学号PB10203123导师刘利刚教授二〇一四年五月
UniversityofScienceandTechnologyofChinaADissertationfortheBachelor’sDegree3DdataacquisitionandprocessingbasedonKinectB.S.CandidateYanLuSupervisorProf.LigangLiuHefei,Anhui230026,ChinaMay,2014
中国科学技术大学本科毕业论文致谢毕业论文终于结稿,心情真的非常激动!在此,我非常感谢周文师兄从选题到现在对我的毫无保留的耐心的帮助,让我能够克服许多技术上以及知识层面的障碍;杨红庄师兄为我的数据采集工作提供了非常好的编程模板,使得我的数据采集工作得以顺利进行;王士伟师兄非常热情地为我提供许多编程方面的技术支持;感谢关梓翘与我密切合作与交流,共同进步;感谢方轶智同学的鼎力相助,为我的数据采集工作充当模特,任劳任怨,付出了很多精力和汗水;最后,感谢我的导师刘利刚教授为我指明了道路,不仅让我的编程等方面的基本功得到了提高,更是在我多次迷茫时给我指引了方向,让我爱上了计算机图形学这一学科,让我有机会为自己的兴趣去努力走得更远!i
中国科学技术大学本科毕业论文目录致谢i摘要vAbstractvi第一章绪论11.1研究背景及其意义..........................11.2点云处理工具.............................21.3本文主要工作及结构安排......................3第二章Kinect与数据采集42.1Kinect简介..............................42.2Kinect数据流.............................52.3KinectFusion.............................72.4基于Kinect的数据采集.......................7第三章PCL与数据预处理93.1PCL点云库..............................93.2数据预处理的意义..........................93.3Kinect的数据处理..........................103.4Kinect2.0的数据处理........................133.5结果..................................14第四章几何重建中的头顶补洞问题164.1VisualHull方法...........................174.2添加点云数据的方法.........................184.3数据预处理时保留头部边界的方法.................194.4结果..................................19ii
中国科学技术大学本科毕业论文第五章总结与展望22参考文献23iii
中国科学技术大学本科毕业论文插图索引1.1利用Kinect进行三维重建的系统流程...............22.1Kinect相机的构造..........................42.2Kinect数据流的一帧.........................52.3深度值示意..............................62.4Kinect坐标规定...........................62.5KinectFusion示意..........................72.6采集数据...............................83.1Kinect采集到的八帧点云数据和彩色数据.............93.2数据采集限制的区域.........................103.3深度图像的示意............................123.4对深度图像的进行检测来寻找边界.................123.5去除重复点示意,绿色的边表示边界边...............143.6去除底面示意.............................143.7用StaticalOutlierRemoval滤波器去除离群点和边界点......153.8深度图像处理边界和网格重建的结果................153.9Kinect2.0的数据去除边界.....................154.1非刚性注册后的“洞”........................164.2Poisson重建补洞...........................164.3VisualHull示意...........................17iv
中国科学技术大学本科毕业论文4.4添加头顶数据.............................184.5Kinect的数据,基于VisualHull的头顶补洞...........194.6Kinect的数据,几种不同方法头顶补洞效果的比较........204.7Kinect2.0的数据,几种不同方法头顶补洞效果的比较......204.8基于预处理时保留头部数据方法的补洞效果............21v
中国科学技术大学本科毕业论文摘要人体的三维重建是三维建模的一个重要组成部分,为计算机视觉效果的实现和3D打印技术提供了源源不断的人体模型,同时也能极大程度满足3D打印机用户的需求。除此之外,纹理的重建也是游戏、电影等行业的重要要求。人体的三维重建和纹理重建可以看成是对人体的三维重绘,而数据的采集和预处理是三维重绘最不可或缺的一环,数据的质量直接影响了重绘的效果。本文基于《3DSelf-portrait》[1]一文提出的三维重建和纹理重建流程,使用单台深度相机(微软的Kinect和Kinect2.0体感相机),进行三维数据和颜色数据的采集和配准。Kinect的数据采集基于KinectFusion以获得全身高精度的数据,Kinect2.0视野更开阔,精度更高,直接采集单帧数据作为原始数据。文章利用PCL点云库进行数据的预处理,包括:原始数据的简化、使用PCL的模型与分割模块去除底面平台、使用PCL的滤波模块去除噪点和除边界、使用深度图像模块去除边界和网格重建等等。这些工作为后期的三维重建和纹理重建提供了基础。对于重建工作后期遇到的头顶补洞修复问题,本文也尝试了若干方法,包括:从标准头部模型添加头顶点云数据、基于VisualHull的补洞、预处理保留头部边界数据等,这些方法归根结底都是采用Poisson重建[2]的方法进行补洞,只是为重建输入的点云数据有差别。文章基于这些方法分别进行了试验,得到了若干结果,可供参考。关键字:深度相机,人体重建,数据采集,点云处理,补洞vi
中国科学技术大学本科毕业论文Abstract3Dreconstructionofhumanbodyisanimportantcomponentof3Dmodeling,anditprovidesnumerousnewmodelsfortherealizationofcom-putervisualeffectsand3Dprinting.Meanwhile,itsatisfiesthedemandoftheusersof3Dprinterstoaremarkableextent.Besides,texturerecon-structionisanimportantrequestofindustriessuchasgamesindustryandfilmdom.3Dreconstructionandtexturereconstructionofhumanbodycanbeseenas3Dredrawing,whiledatacollectionandprocessingisthemostnecessarypartofredrawingforthequalityofdatadecidestheeffectsofredrawingdirectly.Basedon3DSelf-portrait[1],thisarticlecollects3DdataandcolordatawithadepthcamerasuchasKinectandKinect2.0。WeuseKinect-Fusiontocollecttotalbodyandmoreprecisedataonkinect.Kinect2.0hasamuchwiderviewsightandbetterdataquality,sowecanuseittocollectsingleframedataasrawdata.Wepre-processdatawithPCLpointcloudlibrary,includingsimplify-ingraw-data,removingplatformonthebottomwithmodelsegmentationofPCL,removingnoisepointsandboundarywithfiltersofPCL,andre-movingboundaryandmeshreconstructionwithrangeimage.Theseworkslaythefoundationfor3Dredrawing.Todealwithfillingholeofheadduringtheworkofreconstruction,thisarticlemakessomeattempts,includingaddingpointclouddatafromastandardheadmodel,fillingholebasedonVisualHullandreservingtheboundaryofheadwhenpre-processingdata.AllthesemethodsarebasedonPoissonsurfacereconstruction[2].Wehavegotsomeresults,whichmaybeusefultotheworkof3Dreconstruction.Keywords:Depthcamera,humanbodyreconstruction,datacollection,pointcloudprocessing,fillingholevii
中国科学技术大学本科毕业论文第一章绪论1.1研究背景及其意义随着近年来3D打印的热潮的掀起,3D模型的需求量正成日益增长之势。有了3D打印机,越来越多的用户不再满足于打印现成的模型,而是更倾向于将三维打印作为二维照相的扩充,打印自身的模型来满足各种需要。如何快速、便捷,最关键的是廉价地获取自身的三维模型成为了今年来的研究热门。数据采集和处理作为人体三维重建的基础,是一个非常必要的研究方向。获取实际物体的三维模型是3D建模的重要任务。三维数据的采集和处理工作是三维重建的基础。三维数据的采集工具有激光扫描仪,结构光扫描仪等,这些设备的特点是精度高,但结构复杂,不易操作,价格昂贵。近年来,Kinect等深度相机越来越得到研究者们的关注。深度相机价格低廉、结构小巧、使用方便、能实时捕获物体表面的深度与彩色信息,并且深度相机基于主动发射近红外光原理,因此计算复杂度低、不易受物体表面纹理及光照变化的影响。微软于2013推出的Kinect2.0更是采用读取深度“飞行时间计算”的方法来替代了现有的“光照测量”的测算方法,使得新Kinect比原始Kinect更快、更准确。新的Kinect的视野已经提高了60%!这意味着新的传感器,可以看到更紧密,更广泛和更深入的捕捉范围。除此之外,Kinect可以同时获取纹理和深度信息,这对纹理的重建至关重要。人们对人体、人脸非常熟悉,为满足诸如游戏、动画等应用要求,需要重建出的人体模型带有逼真的纹理信息。Kinect能实时地捕获深度和彩色两方面的信息,并进行实时地配准,这使得纹理的重建成为了可能。为了方便开发者对Kinect的更为广泛地应用,微软还特意推出了KinectforWindowsSDK,使得开发者能方便地利用Kinect进行开发工作。1
中国科学技术大学本科毕业论文基于这些优点,利用Kinect等深度相机进行物体特别是人体的三维重建成为了一个研究的热点。近年来,基于Kinect的三维人体重建提出了很多方法。文章[3]使用迭代最近点查找确定输入点云与可变模型之间的对应点对,将可变形人体模型拟合扫描点云数据,迭代生成高精度的三维人体模型。文章[4]与[5]使用三台相机进行数据采集以实现三维重建,而文章[1]在三维重建的基础上又提出了一套结合纹理融合的流程,如图1.1。文章[1]使用单台深度相机进行数据采集,对于身体小的扰动和光照的小的变化有很好的处理,更加便捷,用户体验更好。本文基于[1],主要研究了基于单台深度相机的数据采集与预处理工作,对后期的重建工作中遇到的补洞问题也进行了探究图1.1利用Kinect进行三维重建的系统流程1.2点云处理工具PCL点云库[6]:“随着消费级RGBD设备(低成本点云获取)的大量上市,以微软的kinect为前导,目前已有华硕、三星等多家公司开始量产此类产品,正在形成基于RGBD的新一代视觉生态链,PCL(pointcloudlibrary)应运而生。”——《点云库PCL学习教程》,朱德海[7]PCL点云库在点云数据处理上发挥着很大的作用,涉及点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建等等领域,为三维重建的前期工作提供了很大的便利。2
中国科学技术大学本科毕业论文Meshlab[8]:MeshLab是一个开源,方便携带,和可扩展的系统,用于处理和非结构化编辑3D三角形网格。Meshlab有着非常强大的功能,可以完成对网格或者点云的删除、去除重复点、点云数据的法向计算、Poisson表面重建等工作,对于网格和点云的可视化也有着非常好的实现,是点云数据处理的非常好用的工具。本文部分数据处理就是用Meshlab实现的,结果均是通过Meshlab来显示的。1.3本文主要工作及结构安排论文主要工作:本文的主要工作是基于Kinect进行数据采集和基于PCL进行数据处理,以及后期重建的头顶补洞工作的探究,具体包括:数据采集部分:利用KinectFusion进行基于Kinect的数据采集和利用Kinect2.0进行直接的数据采集;数据处理部分:利用PCL点云库进行原始数据的简化、去底面、去离散点和边界、网格重构等工作;后期补洞部分:提出了三种方法,包括基于VisualHull的补洞方法、基于添加头顶数据的补洞方法、基于预处理阶段保留头部数据点的补洞方法,并给出了相应结果。论文结构安排:本文的下面部分按如下顺序进行编排:第二章介绍了基于Kinect的三维重建的背景和[1]提出的流程;第三章介绍了Kinect和基于Kinect的数据采集;第四章介绍了基于PCL的数据处理工作;第五章研究了三种头顶补洞的方法;最后一章将总结整个毕业论文的工作并进行了展望。3
中国科学技术大学本科毕业论文第二章Kinect与数据采集2.1Kinect简介2.1.1Kinect相机的简介“Kinect”为kinetics(动力学)加上connection(连接)两字所自创的新词汇。Kinect相机是一种3D体感摄影机,同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。2.1.2Kinect的构造Kinect相机是由三个镜头组成,如图2.1:图2.1Kinect相机的构造S3是普通的数码摄像头,用于捕获颜色数据;S2是红外摄像头,发射红外线;S1是接收反射回来的红外线的摄像头;S1和S2用于捕获深度数据。4
中国科学技术大学本科毕业论文2.1.3Kinect开发工具———KinectforWindowsSDKKinectforWindowsSDK(SoftwareDevelopmentKit),是微软推出的基于Kinect的软件开发工具。它为基于Kinect的开发与研究提供了很大的帮助。有了KinectforWindowsSDK,Kinect不再仅仅局限于游戏的应用,而是被推广到了很多其他方面的应用中去。KinectforWindowsSDK提供的API(ApplicationProgrammingInterface,应用编程接口)提供了很多实用的操作,如深度与彩色数据的配准、深度数据向三维点云的转化、KinectFusion的基本操作、控制相机马达转动等操作。KinectforWindowsSDK的使用见[9],本文的编程实现就是基于KinectforWindowsSDK进行的。2.2Kinect数据流2.2.1颜色数据流和深度数据流图2.2Kinect数据流的一帧Kinect采集的数据在如图2.2H×L的矩形区域内(Kinect数据流的一帧),每个小方块代表了一个点,该点包含了在该位置处的像素值或深度值;深度值,指的是矩形区域中特定位置对应的距相机最近的实际点,到相机平面的距离,如图2.3示意5
中国科学技术大学本科毕业论文图2.3深度值示意2.2.2深度数据到三维点云的转换将相机所在位置作为坐标原点,并规定坐标系为:与相机平面平行的平面为x-y平面,水平方向为x轴,x-y平面中,垂直于x轴向上为y轴正方向,具体如图2.4示意图2.4Kinect坐标规定设(i;j)表示上图中第i行,j列的点,该点处的深度值为d,(x;y;z)为该处的三维坐标,则计算公式为式2-1:8>>