资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。谢谢,第,1,章 概述,第1页,介绍,本书取材、编写表达了,PCL,强大功效模块、统一易学,C+,调用接口两个特点。全书共分为,16,章,第,13,章介绍了,PCL,概述、入门与基础,第,47,章详细介绍,PCL,基础功效模块输入,/,输出,I/O,、,kd-tree,、八叉树、可视化,第,4,章为后续章节模块基础,第,815,章详细介绍,PCL,高级处理功效模块点云滤波、深度图像、关键点、采样一致性、点云特征描述与提取、点云配准、点云分割、点云曲面重建,第,16,章介绍了一些经典综合应用,让读者感受,PCL,强大与易用。,第2页,概述,点云处理技术广泛应用在逆向工程、,CAD/CAM,、机器人学、激光遥感测量、机器视觉、虚拟现实、人机交互、立体,3D,影像等很多领域。因为其包括计算机学、图形学、人工智能、模式识别、几何计算、传感器等很多学科,但一直以来因为点云获取伎俩昂贵,严重妨碍其在各个行业上广泛应用,也造成国内点云处理理论性和工具性书籍匮乏。在,年,伴随消费级,RGBD,设备(低成本点云获取)大量上市,以微软,Kinect,为前导,当前已经有华硕、三星等多家企业开始量产此,第3页,类产品,正在形成基于,RGBD,新一代机器视觉生态链,,,PCL,(,Point Cloud Library,)应运而生。,PCL,是在吸收了前人点云相关研究基础上建立起来跨平台开源库,可在,Windows,、,Linux,、,Android,、,Mac OS X,、部分嵌入式实时系统上运行,它实现了大量通用算法和数据结构,包括点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等基础模块以及人体骨骼识别提取、动作跟踪识别等应用,而且新其它应用正在大量增加。假如说,OpenCV,是,2D,信息获取与处理结晶,那么,PCL,就在,3D,信息获取与处理上含有同等地位。笔者深信伴随各大厂商对,RGBD,设备大力推出,基于此设备各种应用将会大量涌现,而,PCL,不但是这类应用关键关键技术,而且基于它进行扩展,将会极大地提升应用系统开发效率和稳定,第4页,性。,三维信息获取与处理是笔者所在研究团体主要方向之一,在农业对象三维信息获取与重建、虚拟农业等领域不停探索新获取技术和处理方法,在,年,7,月发觉了,OpenCV,姐妹,PCL,及其网站,RSS,更新,时刻关注,PCL,在,3D,信息获取和处理方面新动向,并与,PCL,结缘。在跟踪过程中发觉,,PCL,对,RGBD,数据获取和处理提供了强大支持,并有大量机器人、虚拟现实、人机交互、机器视觉等领域应用案例,当前几乎每半个月就有新开发计划,或者有新资助者或开发者加入。加入,PCL,开发团体来自包含全球,AIST,,,UC Berkeley,,,University of Bonn,,,University of British Columbia,,,ETH Zurich,等等。同时我们团体已经把,PCL,作为开发出实际应用基础平台,用于跨平台支持嵌,第5页,入式设备,3D,农业信息获取与处理基础库。当前,PCL,正在快速成长阶段,国内外尚无相关中英文系统学习书籍,鉴于此,经过团体讨论,把我们学习和开发应用期间整理资料与国内读者一起分享,加紧,PCL,在其它各行业中应用,推进,3D,信息快速获取与处理发展。,PCL,潜在读者群:,机器人研究或应用开发者,机器视觉研究或应用开发者。,人机交互研究或应用开发者。,交互式体感游戏开发者。,虚拟现实研究或应用开发者。,CAD/CAM,和逆向工程工作者。,工业自动化测量、检测领域研究或应用开发者。,激光雷达遥感研究或应用开发者。,第6页,本书概况,本书分为三大部分,其中第三部分以靠近实战实例来讲解工程应用,相比于前两部分更独立。假如读者是一名经验丰富资深用户,已经知道,PCL,相关基础知识和使用方法,那么读者能够直接阅读测试这部分内容。但假如读者是一名初学者,请一定从第,1,章基础理论知识开始学习。,第一部分为基础篇从第,1,章到第,3,章,简单介绍,PCL,相关背景资料和基本使用方式,帮助读者了解一些基础背景知识,感受自己研究应用领域在,PCL,基础上有哪些应用前景,并熟悉,PCL,使用方法以,第7页,及编程规范,为读者使用,PCL,做好前期准备工作。,第二部分为模块篇从第,4,章到第,15,章,着重讲解,PCL,各个模块中包括,3D,点云处理概念、模块,API,、实例应用。每章结构都是先简单介绍本章包括相关概念,再重点介绍一些模块相关类和函数,最终分析几个经典模块应用实例,让读者不需要太多点云处理基础,也能轻松掌握,PCL,各个功效模块。第二部分涵盖点云获取、滤波、分割、配置、检索、特征提取、识别、追踪、曲面重建、可视化等全部已基本定型模块,骨骼识别与跟踪模块还正在开发,本书未包含。,第三部分是综合应用篇第,16,章,经过基于,PCL,经典应用案例进行介绍,让读者深入能够体验,PCL,强大,同时了解一些虚拟现实和人机交互领域新事物。,光盘搜集,PCL1.51,开发资源及本书中包括实例程序和数据。,第8页,PCL,版本,PCL,公布更新以,1.5X,小版本号来表示,本书针正确是,1.51,版本。,PCL,正在不停开发和完善中,但基本架构和设计思绪基本确定,相信读者对本书介绍了解之后,对其它版本就轻车熟路了。请参考网站地址:,docs.pointclouds.org/trunk/modules.html,。,即使本书中参考所用,API,文档,依然在不停更新新类、函数,但模块基本确定,不会对,PCL,了解产生困难。,第9页,源代码,本书全部源代码和工程文件大多数整理来自于,PCL,官方网站,都以,BSD,(,Berkeley Software Distribution,)许可协议或者(,CCA,),Creative Commons Attribution3.0,形式公布,读者能够自由使用和分享,假如需要应用于商业领域,请注明版权全部者。,第10页,目录,第,1,章 概述,第,2,章,PCL,入门,第,3,章,PCL,基础,第,4,章 输入,/,输出,(I/O),第,5,章,kd-tree,第,6,章 八叉树,第,7,章 可视化,第,8,章 滤波,第,9,章 深度图像,第,10,章 关键点,第,11,章 采样一致性算法,第,12,章 点云特征描述与提取,第,13,章 点云配准,第,14,章 点云分割,第,15,章 点云曲面重建,第,16,章 综合应用,第11页,本章各小节目录,1.1,什么是,PCL,1.2 PCL,发展与创景,1.3 PCL,潜在应用领域,1.4 PCL,在中国,1.5 PCL,结构和内容,第12页,1.1,什么是,PCL,PCL,是,Point Cloud Library,简称,是一个开源用,C+,语言开发点云库,它实现了大量点云相关通用算法和高效数据结构,包括到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。而且支持各种操作平台,可在,Windows,、,Linux,、,Android,、,Mac OS X,、部分嵌入式实时系统上运行。假如说,OpenCV,是,2D,信息获取与处理结晶,那么,PCL,就是在,3D,信息获取与处理上结晶,含有同等地位。,PCL,也是,BSD,授权方式,能够无偿进行商业和学术应用。,第13页,1.2 PCL,发展与创景,伴随加入组织增多,,PCL,官方当前计划是继续加入很多新功效模块和算法实现,包含当前最新,3D,相关处理算法和相关设备支持,如基于,PrimeSensor 3D,设备,微软,Kinect,或者华硕,XTionPRO,智能交互应用等,详细读者能够参考官方网站每期新闻,而且也计划深入支持使用,CUDA,和,OpenCL,等基于,GPU,高性能计算技术。笔者相信在近几年内会有更多人和组织加入到这个项目中来,共享开源,PCL,带来各自领域结果。,第14页,1.3 PCL,潜在应用领域,第15页,1.3.1,机器人领域,移动机器人对其工作环境有效感知、辨识与认知,是其进行自主行为优化并可靠完成所负担任务前提和基础。怎样实现场景中物体有效分类与识别是移动机器人场景认知关键问题,当前基于视觉图像处理技术来进行场景认知是该领域主要方法。但移动机器人在线获取视觉图像质量受光线改变影响较大,尤其是在光线较暗场景更难以应用,伴随,RGBD,获取设备大量推广,在机器人领域势必掀起一股深度信息结合,2D,信息应用研究热潮,深度信息引入能够使机器人更加好地对环境进行认知、辨识,与图像信息在机器人领域应用一样,需要强大智能软件算法支撑,,PCL,就为此而生。最主要是,PCL,本身就是为机器,第16页,人而发起开源项目,,PCL,中不但提供了对现有,RGBD,信息获取设备支持,还提供了高效分割、特征提取、识别、追踪等最新算法,最主要是它能够移植到,ROS,、,Android,、,Ubuntu,等主流,Linux,平台上,,PCL,无疑将会成为机器人应用领域一把“瑞士军刀”。,第17页,1.3.2 CAD/CAM,、逆向工程,大部分工业产品是依据二维或三维,CAD,模型制造而成,但有时因为数据丢失、设计屡次更改、实物引进等原因,产品几何模型无法取得,因而经常需要依据现有产品实物生成物体几何模型。逆向工程技术能够对产品实物进行测绘,重构产品表面三维几何模型,生成产品制造所需数字化文档。在一些工业领域,如汽车制造业,许多零件几何模型都经过逆向工程由油泥模型或实物零件取得,当前在,CAD/CAM,领域利用激光点云进行高精度测量与重建成为趋势,同时引来了新问题,经过获取海量点云数据,来提取重建模型几何参数或者形状模型,对模型进行智能检索,从点云数据获取模型曲面模型等,诸如这类问题,第18页,处理方案在,PCL,中都有包括。比如,kd-tree,和,oc-tree,对海量点运进行高效压缩存放与管理,其中滤波、配准、特征描述与提前基础处理,能够应用于模型智能检索以及后期曲面重建和可视化都在,PCL,中有对应模块。总之,三维点云数据处理是逆向工程中比较主要一环,,PCL,中间全部模块正是为此而生。,第19页,1.3.3,激光遥感测量,能够直接获取高精度三维地面点数据,是对传统测量技术在高程数据获取及自动化快速方面主要技术补充。激光遥感测量系统在地形测绘、环境检测、三维城市建模、地球科学、行星科学等很多领域含有广泛发展前景,是当前最先进能实时获取地形表面三维空间信息和影像遥感系统。当前,在各种提取地面点算法中,算法结果与实际结果之间差异较大,违反了实际情况,,PCL,中强大模块能够助力处理此问题。,第20页,1.3.4,虚拟现实、人机交互,虚拟现实技术(,VR,)又称灵境技术,是以沉醉性、交互性和构想性为基本特征计算机高级人机界面。它综合利用了计算机图形学、仿真技术、多媒体技术、人工智能技术、计算机网络技术、并行处理技术和多传感器技术,模拟人视觉、听觉、触觉等感觉器官功效,使人能够沉醉在计算机生成虚拟境界中,并能够经过语言、手势等自然方式与之进行实时交互,创建了一个适人化多维信息空间,含有辽阔应用前景。当前各种交互式体感应用推出,让虚拟现实与人机交互发展非常快速,以微软、华硕、三星等为例,当前很多企业推出,RGBD,处理方案,势必会让虚拟现实走出试验室,因为现在,RGBD,设备已经开始大,第21页,量推向市场,只是缺乏其它应用跟进,这正是在为虚拟现实和人机交互应用铸造生态链底部,笔者认为这也正是,PCL,为何在此时才把自己与世人分享主要原因所在,它将是基于,RGBD,设备虚拟现实和人机交互应用生态链中最主要一个步骤。让我们抓住这一个节点,立足于交互式应用一片小天地,希望本书来不是太迟。,第22页,1.4 PCL,在中国,PCL,即使在国际上有如此多组织和企业参加,因为发展如此快速,当前(,年,4,月)在,Google,中检索出汉字相关,PCL,探讨,有且只有一条,当然这也是笔者出书原因之一了。实际上,如图,1-2,所表示,在全球范围内,唯独没有中国参加组织,这里希望广大读者能够为中国板块上添加一个小旗帜。当然,必定有科研工作者在应用或者学习,PCL,了,笔者依靠于中国农业大学农业部信息获取技术重点试验室,在与创始人,Radu,博士交流后,深感,PCL,在复杂农业对象中有不可估量作用,比如对动植物重建测度、果蔬等分级检测等应用领域,,第23页,决定把,PCL,作为基础研究平台来开展实际应用。同时用学习笔记撰写了本书把,PCL,与国人分享,相信在很快未来,与,2D,信息处理库,OpenCV,一样,中国将是,PCL,最大用户和贡献者基地。,第24页,1.5 PCL,结构和内容,PCL,架构图如图,1-3,所表示,对于,3D,点云处理来说,,PCL,完全是一个模块化当代,C+,模板库。其基于以下第三方库:,Boost,、,Eigen,、,FLANN,、,VTK,、,CUDA,、,OpenNI,、,Qhull,,实现点云相关获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。,PCL,利用,OpenMP,、,GPU,、,CUDA,等先进高性能计算技术,经过并行化提升程序实时性。,K,近邻搜索操作构架是基于,FLANN(Fast Library for Approximate Nearest Neighbors),所实现,速度也是当前技术,第25页,中最快。,PCL,中全部模块和算法都是经过,Boost,共享指针来传送数据,因而防止了屡次复制系统中已存在,图,1-3 PCL,架构图,第26页,数据需要,从,0.6,版本开始,,PCL,就已经被移入到,Windows,、,Mac OS,和,Linux,系统,而且在,Android,系统也已经开始投入使用,这使得,PCL,应用轻易移植与多方公布。,从算法角度,,PCL,是指纳入了各种操作点云数据三维处理算法,其中包含过滤、特征预计、表面重建、模型拟合和分割、定位搜索等。每一套算法都是经过基类进行划分,试图把贯通整个流水线处理技术全部常见功效整合在一起,从而保持了整个算法实现过程中紧凑和结构清楚,提升代码重用性、简练可读。在,PCL,中一个处理管道基本接口程序以下:,(,1,)创建处理对象:(比如过滤、特征预计、分割等)。,(,2,)使用,setInputCloud,经过输入点云数据,处理模块。,第27页,(,3,)设置算法相关参数。,(,4,)调用计算得到输出。,为了深入简化和开发,,PCL,被分成一系列较小代码库,使其模块化,方便能够单独编译使用提升可配置性,尤其适合用于嵌入式处理中:,(,1,),libpcl filters,:如采样、去除离群点、特征提取、拟合预计等数据实现过滤器。,(,2,),libpcl features,:实现各种三维特征,如曲面法线、曲率、边界点预计、矩不变量、主曲率,,PFH,和,FPFH,特征,旋转图像、积分图像,,NARF,描述子,,RIFT,,相对标准偏差,数据强度筛选等。,(,3,),libpcl I/O,:实现数据输入和输出操作,比如点云数据文件(,PCD,)读,/,写。,(,4,),libpcl segmentation,:实现聚类提取,如经过采样,第28页,一致性方法对一系列参数模型(如平面、柱面、球面、直线等)进行模型拟合点云分割提取,提取多边形棱镜内部点云等。,(,5,),libpcl surface,:实现表面重建技术,如网格重建、凸包重建、移动最小二乘法平滑等。,(,6,),libpcl register,:实现点云配准方法,如,ICP,等。,(,7,),libpclkeypoints,:实现不一样关键点提取方法,这能够用来作为预处理步骤,决定在哪儿提取特征描述符。,(,8,),libpcl range,:实现支持不一样点云数据集生成范围图像。,为了确保,PCL,中操作正确性,上述提到库中方法和类包含了单位和回归测试。这套单元测试通常都是由专门构建部门按需求编译和验证。当某一部分,第29页,测试失败时,这些特定部分各自作者就会马上被通知。这彻底地确保了代码测试过程出现任何变故,以及新功效或修改都不会破坏,PCL,中已经存在代码。,第30页,结语,本章首先简单介绍了,PCL,是什么,接着引出了,PCL,发展历史以及未来发展前景,对,PCL,应用领域进行了概括,最终对,PCL,当前架构内容进行了简单概括。读者对,PCL,有总体认识之后,继续阅读后续章节,每章节对不一样模块进行详细介绍及实例讲解,一步一步让读者感受,PCL,对行业应用硕士态链带来巨大改变潜力。,第31页,
展开阅读全文