点云库PCL从入门到精通pdf下载pdf下载

点云库PCL从入门到精通百度网盘pdf下载

作者:
简介:本篇主要提供点云库PCL从入门到精通pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2019-03
pdf下载价格:9.00¥


内容介绍

编辑推荐

适应点云数据发展的需求

智能化感知时代必备技术

无人仓储/虚拟现实/增强现实

遥感测量/地形勘测/电力巡检

机器人/人机交互/无人驾驶

逆向工程技术/计算机图形学

本书内容涉及典型点云获取设备、主流平台(ROS和Windows)、实用点云数据处理案例、一线项目等,并提供全书所有源代码,帮助读者所学即可所用


内容简介

点云库(Point Cloud Library, PCL)是在吸收了点云相关研究基础上建立起来的跨平台开源库,

可在Windows、 Linux、 Android、 Mac OS X,以及大部分嵌入式实时系统上运行,目前已经得

到了广泛应用。本书为应用点云库技术的指导图书,旨在帮助读者对其以快速、有效的方式上手

操作并实际应用,大限度地节省读者的入门与技术提升时间。书中首先介绍了三维点云处理的

相关理论知识,之后则重点从实际的点云处理功能模块出发,通过大量具体的实践案例介绍如何

使用该项技术解决实际问题。

本书可作为计算机图形学、机器人、遥感测量、虚拟现实、人机交互、CAD/CAM逆向工程等领域

的科研人员进行产品开发、科研项目、课题项目时的参考指南,也可作为大中专院校及培训班相

关专业师生的学习手册。


作者简介

郭浩:PCL(Point Cloud Learning)中国(www.pclcn.org)创始人之一。2008年开始致力于点云数据获取、智能化处理及相关应用的研发和教学工作,目前致力于PCL开源库在中国各个相关行业的传道、授业、解惑。在点云数据获取处理领域,公开发表EI/SCI论文十余篇及相关著作1本。

目录

点云库PCL从入门到精通


目录

第1章概述

1.1PCL是什么

1.2点云处理技术与PCL的前世今生

1.3点云处理技术能给工程师们带来什么

1.3.1测绘领域

1.3.2无人驾驶领域

1.3.3机器人领域

1.3.4人机交互领域

1.3.5逆向工程与其他工业自动化领域

1.3.6BIM领域

1.4PCL的结构与核心内容

第2章PCL入门

2.1快速安装与源码编译安装

2.1.1Windows下配置安装PCL开发环境

2.1.2ROS下配置搭建PCL开发环境

2.1.3用第三方预编译包从源码搭建开发环境

2.1.4从源码搭建开发环境

2.2开发工程的建立与项目管理

2.2.1Windows下建立编译链接PCL工程

2.2.2ROS下建立编译链接PCL工程

2.3PCL编码风格简介

2.3.1PCL编程规范

2.3.2如何编写新的PCL类

2.3.3PCL的点类型以及如何增加

自定义的点类型

2.3.4PCL中的异常处理机制

第3章输入输出(IO)

3.1IO涉及的设备及相关概念

3.1.1OpenNI及类Kinect设备

3.1.2以Project Tango为代表的便携式

消费级点云获取设备

3.1.3PCL目前支持的点云获取设备

3.1.4PCL中IO模块及类

3.2IO入门级实例解析

3.2.1PCD文件格式

3.2.2PCD文件IO操作

3.2.3两个点云中的字段或数据连接

3.2.4基于OpenNI接口的点云数据获取

3.2.5PLY、LAS等常见数据格式与PCD的转换

3.2.6利用Kinect2获取点云数据

3.3IO精通级实例解析

3.3.1ROS下进行点云数据实时获取与可视化

3.3.2自选设备scanCONTROL与PCL

实时获取与可视化点云数据

3.3.3利用Tango进行点云数据获取

3.3.4基于Structure from Motion 的点云数据获取

第4章kd tree与八叉树

4.1kd tree和八叉树的概念及相关算法

4.1.1kd tree概念及相关算法

4.1.2PCL中kd tree模块及类

4.1.3八叉树概念及相关算法

4.1.4PCL中八叉树模块及类

4.2k.d tree与八叉树入门级实例解析

4.2.1在PCL中如何实现快速邻域搜索

4.2.2在PCL中如何实现点云压缩

4.2.3基于八叉树的空间划分及搜索操作

4.2.4无序点云数据集的空间变化检测

第5章可视化

5.1PCL中visualization模块及类

5.2可视化入门级实例解析

5.2.1简单点云可视化

5.2.2可视化深度图像

5.2.3PCLVisualizer可视化类

5.2.4PCLPlotter可视化特征直方图

5.3可视化精通级实例解析

5.3.1PCL结合Qt使用框架

5.3.2PCL结合MFC使用框架

5.3.3客户端浏览器上对点云进行可视化

第6章点云滤波

6.1PCL中实现的滤波算法及相关概念

6.1.1PCL中的点云滤波方案

6.1.2双边滤波算法

6.1.3PCL中filters模块及类

6.2点云滤波入门级实例解析

6.2.1使用直通滤波器对点云进行滤波处理

6.2.2使用VoxelGrid滤波器对点云进行下采样

6.2.3使用StatisticalOutlierRemoval滤波器移除离群点

6.2.4使用参数化模型投影点云

6.2.5从一个点云中提取一个子集

6.2.6使用ConditionalRemoval或RadiusOutlierRemoval移除离群点

6.2.7CropHull任意多边形内部点云提取

6.3点云滤波精通级实例解析:IPhone X手机外壳全尺寸检测

6.3.1项目需求概述

6.3.2利用滤波可以实现的功能

第7章深度图像

7.1RangeImage概念及相关算法

7.1.1深度图像简介

7.1.2PCL中RangeImage的相关类

7.2深度图像入门级实例解析

7.2.1如何从一个点云创建一个深度图像

7.2.2如何从深度图像中提取边界

7.3深度图像精通级实例解析点云到深度图的变换与曲面重建

第8章关键点

8.1关键点概念及相关算法

8.2关键点入门级实例解析

8.2.1如何从距离图像中提取NARF关键点

8.2.2SIFT关键点提取

8.2.3Harris关键点提取

8.3关键点精通级实例解析:基于对应点分类的对象识别

第9章采样一致性

9.1随机采样一致性相关概念及算法

9.2采样一致性入门级实例解析

9.3采样一致性精通级实例解析:两两点云获取设备自动标定

9.3.1项目需求概述

9.3.2具体实现

第10章3D点云特征描述与提取

10.1特征描述与提取的概念及相关算法

10.1.13D形状内容描述子

10.1.2旋转图像

10.1.3PCL中特征描述与提取模块及类

10.2点云特征描述与提取入门级实例解析

10.2.1PCL中描述三维特征相关基础

10.2.2估计一个点云的表面法线

10.2.3使用积分图进行法线估计

10.2.4点特征直方图描述子

10.2.5快速点特征直方图描述子

10.2.6估计一点云的VFH特征

10.2.7如何从一个深度图像中提取NARF特征

10.2.8特征描述算子算法基准化分析

10.2.9RoPs特征

10.2.10基于惯性矩与偏心率的描述子

10.2.11BoundaryEstimation进行边界提取

10.3点云特征描述与提取精通级实例解析

10.3.13D对象识别的假设验证

10.3.2隐式形状模型方法

10.3.3点云数据视频流的刚性物体位姿估计与跟踪定位软件

第11章点云配准

11.1PCL中实现的配准算法及相关

概念

11.1.1一对点云配准

11.1.2对应估计

11.1.3对应关系去除

11.1.4变换矩阵估算

11.1.5迭代最近点算法

11.1.6采样一致性初始对齐算法

11.1.7PCL中Registration模块及类

11.2点云配准入门级实例解析

11.2.1如何使用迭代最近点ICP算法

11.2.2如何逐步匹配多幅点云

11.2.3如何使用正态分布变换进行配准

11.2.4交互式迭代最近点配准

11.2.5刚性物体的位姿估计

11.3点云配准精通级实例解析

11.3.1如何将扫描数据与模板对象进行配准

11.3.2基于VFH描述子聚类识别与位姿估计

11.3.3动态库封装DIY接口与测试

11.3.4交互式多深度摄像头标定软件

第12章点云分割

12.1点云分割概念及相关算法

12.1.1聚类分割算法

12.1.2基于随机采样一致性的分割

12.1.3PCL中Segmentation模块及类

12.2点云分割入门级实例解析

12.2.1在PCL中如何实现平面模型分割

12.2.2在PCL中如何实现圆柱体模型分割

12.2.3在PCL中如何实现欧式聚类提取

12.2.4基于区域生长的分割

12.2.5基于颜色的区域生长分割

12.2.6最小图割的分割

12.2.7基于法线微分的分割

12.2.8基于超体素的点云分割

12.2.9渐进式形态学滤波地面分割

12.2.10条件欧氏聚类点云分割

12.3点云分割精通级实例解析:运动对象分割与配准算法实现

12.3.1代码

12.3.2各个关键功能步骤分析

12.3.3运动分割与配准结果

第13章点云曲面重建

13.1surface模块中实现的算法及相关概念

13.1.1凸包算法

13.1.2Ear Clipping三角化算法

13.1.3贪婪投影三角化算法

13.1.4移动立方体算法

13.1.5泊松曲面重建算法

13.1.6PCL中 surface模块及类

13.2点云曲面重建入门级实例解析

13.2.1基于多项式平滑点云及法线估计的曲面重建

13.2.2在平面模型上构建凸(凹)多边形

13.2.3无序点云的快速三角化

13.2.4基于B样条曲线的曲面重建

13.3点云曲面重建精通级实例解析:平面点云的B样条曲线拟合

13.3.1B样条曲线和B样条曲线拟合概述

13.3.2平面点云B样条曲线拟合详细步骤

第14章电力线巡检

14.1电力线巡检概述

14.1.1电力线巡检介绍

14.1.2在电力线巡检领域做的工作

14.2电力线巡检应用实例解析

14.2.1电力线点云获取

14.2.2结果展示

14.2.3总结

第15章文物古迹保护

15.1文物古迹保护概述

15.1.1文物古迹保护介绍

15.1.2在文物古迹保护领域所做工作

15.2文物古迹保护应用实例解析:博物馆文物三维数字化

15.2.1应用概述

15.2.2具体实施步骤

15.2.3博物馆文物三维数字化结果展示

15.2.4三维数字化总结

第16章地形测量

16.1地形测绘概述

16.1.1地形测量介绍

16.1.2在地形测量领域所做工作

16.2地形测量应用实例解析:机载激光雷达在山区地质灾害调查中的应用

16.2.1应用概述

16.2.2具体实施步骤

16.2.3激光雷达获取地形数据结果展示

16.2.4激光雷达获取地形数据总结

第17章无人驾驶

17.1无人驾驶概述

17.1.1无人驾驶介绍

17.1.2在无人驾驶领域做的工作

17.2基于点云数据获取与处理技术的无人驾驶公司列表

第18章逆向工程

18.1逆向工程概述

18.1.1逆向工程介绍

18.1.2在逆向工程领域所做工作

18.2逆向工程应用实例解析:汽车部件逆向工程

18.2.1汽车部件逆向工程概述

18.2.2汽车部件逆向工程解决方案

18.2.3汽车部件逆向工程结果展示

18.2.4汽车部件逆向工程总结

第19章植物表型测量

19.1植物表型测量概述

19.1.1植物表型测量介绍

19.1.2在植物表型测量领域所做工作

19.2植物表型测量应用实例解析

19.2.1玉米果穗点云分割

19.2.2玉米叶片点云与茎秆点云分离

19.2.3激光雷达林业资源调查

第20章家畜表型测量

20.1家畜表型测量概述

20.1.1家畜表型测量介绍

20.1.2在家畜表型测量领域所做工作

20.2基于点云数据的家畜表型测量应用实例解析

20.2.1家畜多视角体表点云获取

20.2.2基于点云数据的家畜自动化体尺测点提取及交互式体尺测量

附录:国内外点云数据处理商业软件集合

参考文献


前言/序言

为什么要写这本书

点云处理技术广泛应用在逆向工程、CAD/CAM、机器人学、激光遥感测量、机器视觉、虚拟现实、

人机交互、无人驾驶等诸多领域。由于其涉及计算机学、图形学、人工智能、模式识别、几何计

算、传感器等诸多学科,并且一直以来由于点云获取手段的昂贵,严重阻碍其在各个行业上的广

泛应用,也造成国内点云处理的理论性和工具性书籍匮乏。在2010年,随着消费级RGBD(低成本

点云获取)设备的大量上市,以微软的Kinect为前导,目前已有华硕、三星等多家公司开始量产

此类产品,正在形成基于RGBD的新一代机器视觉生态链,包括Google的Project Tango和Intel的

Realsense 3D相关技术产品,PCL(Point Cloud Library)应运而生并且发展迅速。PCL是在吸收

了点云相关研究基础上建立起来的跨平台开源库,可在Windows、Linux、Android、Mac OS X、部

分嵌入式实时系统上运行,它实现了大量通用算法和数据结构,涉及点云获取、滤波、分割、配准、

检索、特征提取、识别、追踪、曲面重建、可视化等基础模块以及人体骨骼识别提取、动作跟踪识

别等应用,并且新的其他应用正在大量增加。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就

在3D信息获取与处理上具有同等地位。笔者深信随着各大厂商对RGBD设备的大力推出,基于此设备

的各种应用将会大量涌现,而PCL不仅是这类应用的核心关键技术,还会基于它进行扩展,从而极大

地提高应用系统开发效率和稳定性。

三维信息的获取与处理是笔者所在研究团队的重要方向之一,在农业对象的三维信息获取与重建、

精细农业等领域不断探索新的获取技术和处理方法,同时也解决一些其他行业的三维应用问题。

在2011年7月发现了OpenCV的姐妹PCL及其网站的RSS更新,时刻关注PCL在3D信息获取和处理方面的

新动向,并与PCL结缘。在跟踪过程中发现,PCL对RGBD 数据的获取和处理提供了强大支持,并有大

量的机器人、虚拟现实、人机交互、机器视觉等领域的应用案例,目前几乎每半个月就有新的开发计

划,或者有新的资助者或开发者加入。加入PCL开发的团队来自包括全球的AIST, UC Berkeley,

University of Bonn, University of British Columbia, ETH Zurich, University of Freiburg,

Intel Reseach Seattle, LAAS/CNRS, MIT,University of Osnabr¨uck, Stanford University,

University of Tokyo, TUM, Vienna University of Technolog, and Washington University in

St Louis等知名高校和组织。资助PCL的组织和公司包括全球的Willow Garage, NVidia, Google,

Toyota, Trimble, Urban Robotics,Honda Research Institute等跨国软硬件公司,这一切表明PCL

强大的生命力和吸引力。同时我们团队已经把PCL作为开发出实际应用的基础平台和教学技术平台,

用于跨平台支持嵌入式设备的3D信息获取与处理的基础库之一。目前PCL还在快速成长阶段,国内由

本书团队早期整理的相关资料已经无法适应当前需要,鉴于此,经过团队讨论,把我们学习、授课课

件以及开发应用期间整理的资料与国内读者一起分享,加快PCL在其他各行业的应用,推动3D信息快速

获取与处理的发展。

本书目标

每一个最新版本的PCL都会被下载超过百万次,这个数字还不包括下载源码开展自行编译的用户。PCL在

全球范围内的使用者在迅速膨胀,并且每天都有更多的用户开始学习或者转型使用PCL。在国内,早期对

PCL进行应用开发的团队还不多,而随着国外众多知名组织和公司的加入和赞助,和OpenCV最初的发展一

样,相信国内的用户数量也会增长很快。


为此,本书希望能提供一个从入门到精通的学习过程,无论是初学3D点云处理的爱好者,还是行业从业人

员,希望都能从本书获益,最大限度地节省您的入门与技术提升时间,作为主编,我相信我们团队出书的

付出与努力,所节省的国内所有学习者的时间总和就是我们的社会贡献,最终快速提升你的技术能力。

注意:由于本书目标是学习手册,注重“理工”中的“工”,所以对理论部分的“理”进行了精简,力求

帮助广大读者所学即可所用。

读者对象

这里我们根据软件需求划分出一些需要使用PCL的用户类型,这些用户都是本书真正的读者群。

机器人研究或应用开发者

机器视觉的研究或应用开发者

人机交互研究或应用开发者

交互式体感游戏开发者

虚拟现实研究或应用开发者

CAD/CAM、逆向工程和3D打印工作者

工业自动化测量、检测领域的研究或应用开发者

激光雷达遥感的研究或应用开发者

相关专业的研究生和本科生

三维数据处理技术教学团队

3D技术的发烧友

如何阅读本书

本书分为如下三大部分。

第一部分为基础篇从第1章到第3章,简单介绍PCL的相关背景资料和基本使用方式,帮助读者了解一些基础背景

知识,感受自己的研究应用领域在PCL基础上有哪些应用前景,学习如何快速搭建项目开发环境(Windows、

Linux、ROS等平台)并熟悉PCL的使用方法以及编程规范,为读者使用PCL做好前期准备工作。

第二部分为模块篇从第4章到第13章,着重讲解PCL各个模块中涉及的3D点云处理的必要概念、模块API、入门级

实例和精通级实例。每章结构都是,先简单介绍本章涉及的相关概念,再重点介绍一些模块相关的类和函数,最

后分析入门级的模块应用实例和精通级的实例,让读者不需要太多点云处理基础,也能轻松掌握PCL各个功能模块。

第二部分涵盖点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等全部已基本定型

的模块。

第三部分是结合点云数据处理技术在不同行业的应用,与相关科研单位或公司合作撰写的行业应用实例,为读者在

学好技术后,拓展下行业应用思路和动手能力,从而熟悉各个行业的相关典型应用。

PCL版本

PCL的发布更新以15X的小版本号来表示,本书是基于PCL180版本。PCL正在不断开发和完善中,但基本架构和

设计思路基本确定,相信读者对本书介绍内容了解之后,对其他版本就轻车熟路了。请参照网站地址——http:

//docspointcloudsorg/trunk/moduleshtml。虽然本书中参考所用的API文档,仍然在不断更新类、函数,

但模块基本确定,不会对PCL的理解产生困难。

源代码

本书的源代码、工程文件及相关实例的整理来自于PCL官方网站,但笔者针对PCL官方网站所提供的例子不足之处,

进行了大量的修改和拓展,都以BSD(Berkeley Software Distribution)许可协议或者CCA(Creative Commons

Attribution)30的形式发布,读者可以自由使用和分享,如果需要应用于商业领域,请注明版权所有者。如果

你行使本许可授予的使用源代码的权利,就表明你接受并同意遵守本许可的条款,对其使用不得超越本许可授权的

范围。我的理解是:PCL相关的内容,是可以免费进行商业和学术使用的,最重要的是需要致谢作者和相关贡献者。

勘误和支持

由于作者的水平有限,编写的时间也很仓促,不妥之处在所难免,恳请读者批评指正。如果您有更多的宝贵意见,

也欢迎发送邮件至我们团队的邮箱guohaolys@caueducn,很期待能够听到读者的真挚反馈,同时也可以在本书

的赞助商PCLCN(wwwpclcnorg)的论坛上发布相关问题和意见。

关于电子版

书中有很多程序运行结果演示图,为了便于大家既能以便宜的价格买到本书,又能看到书中的原始图片,我们将于

PCLCN(Point Cloud Learning in China)的官方网站(wwwpclcnorg)推出本书的部分电子配图,敬请期待。

致谢

我首先要感谢PCL创始人Radu的允许和鼓励,才有本书的面世,同时要感谢Radu以及PCL的众多开发人员,是他们的

创新精神和辛勤努力才有这样一个优异的3D信息获取和处理的基础平台供大家分享。

感谢笔者团队参与整理工作的伙伴:华明睿、苏杨、陈子睿、牛全弟、戴开璇、唐诗叶、田孟潇、马羽昊、谌罗超。

同时感谢国家自然科学基金项目《基于非刚性点云数据的家畜(奶牛)体尺测量关键技术研究》(41601491)对笔者

团队的支持。

感谢本书的编者们以及来自PCLCN(Point Cloud Learning in China)社区(wwwpclcnorg)的科研和业界学者的

协同努力和辛苦劳动,以及此处未明确提及但对本书出版做出贡献的朋友。

最后感谢我的家人,特别是我的母亲和妻子,在我撰书期间对我刚出生女儿的照顾。