前言
PREFACE
为什么要写这本书
三维点云处理技术广泛应用在逆向工程、CAD/CAM、机器人学、测绘遥感、机器视觉、虚拟现实、人机交互、无人驾驶和元宇宙等诸多领域。由于其涉及计算机科学、图形学、人工智能、模式识别、几何计算、传感器等诸多学科,并且在2010年之前,由于点云获取手段过于昂贵,因此严重阻碍其在各个行业上的应用。在2010年之后,随着消费级RGBD设备(低成本点云获取)的大量上市,目前已经出现不少相关产品系列,包括Google的Project Tango、Intel的Realsense 3D和奥比中光Astra相关硬件产品,同时PCL(Point Cloud Library)、Open3D、PyTorch3D和Jittor(计图)等开源软件库应运而生并且发展迅速,正在形成基于RGBD的新一代三维视觉生态链。PCL是在吸收了前人点云相关研究成果的基础上建立的跨平台开源库,可在Windows、Linux、Android、macOS、部分嵌入式实时系统上运行。它实现了大量通用算法和数据结构,涉及点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等基础模块以及人体骨骼识别提取、动作跟踪识别等应用,并且新的相关应用也在大量增加。如果说OpenCV是2D信息获取与处理的结晶,那么PCL则在3D信息获取与处理上具有同等地位,后续出现的Open3D和PyTorch3D对于Python用户比较友好,并且对深度学习技术支持更强。Jittor(计图)框架是国内由清华大学引领的一款潜力很大的开源深度学习框架,其对几何深度学习相关网络模型支持也很强大。笔者在十年前读博时就深信随着各种RGBD设备的大力推出,各种相关应用将会大量涌现,到2022年,国内三维视觉相关的社区、学会[中国图象图形学学会三维视觉专委会(CSIG-3DV)]相继成立和快速发展壮大。笔者作为教育与科研工作者,深信知识梳理、汇总和传播与知识创作,对于个人、团队、社会同等重要,特别是在信息爆炸的时代,到处都是碎片化的知识,网上论文、博客、帖子也很多,但不够系统,特别是大量博客和帖子没有经过实际验证。另外,国内一些知名研究学者只是将研究成果通过英文论文发表,而知名高校的相关论文也不能在网上快速检索,这些现状都在降低每一个三维视觉相关的国内爱好者的学习效率,也就阻碍了三维视觉领域解决实际需求的步伐。同时,国内三维视觉相关的书籍并不多。点云配准作为三维视觉领域的一个重要任务,已经有40多年的发展历史,将这些成熟的算法和工具进行梳理和总结,对于产学研工作者快速入门和提升很有参考学习价值。
三维视觉是笔者所在研究团队的重要方向之一,结合农业对象对三维信息获取与重建等领域遇到的新问题不断探索新的技术与应用。目前三维视觉领域还处于快速成长阶段,国内由本书团队2019年出版的《点云库PCL从入门到精通》的内容相对比较偏基础知识和技术、工具介绍,对于点云配准这一重要环节介绍不多。鉴于此,经过团队讨论,把我们的研究成果、授课课件以及开发应用期间整理的点云配准相关资料与国内读者一起分享,加快三维视觉在各行业的应用,以推动三维视觉学科领域在国内的快速发展。
本书目标
本书通过整理汇总点云配准相关的经典、创新算法与相应的开源实现,提供一套点云配准从入门到精通的系统学习资料。无论是3D点云处理的初学者,还是从业人员,作者希望大家能从本书获益.作为本书作者,我相信我们团队创作的这本书可以帮助国内所有学习者节省学习时间,快速提升理论与技术能力。
读者对象
根据软件需求划分使用点云配准的用户类型,以下这些用户都是本书实际或潜在的读者群。
• 机器人研究或应用开发者。
• 机器视觉研究或应用开发者。
• 人机交互研究或应用开发者。
• 交互式体感游戏开发者。
• 虚拟现实研究或应用开发者。
• CAD/CAM、逆向工程和3D打印工作者。
• 工业自动化测量、检测领域的研究或应用开发者。
• 激光雷达遥感研究或应用开发者。
• 高校相关专业的研究生或本科生。
• 三维数据处理技术教学团队。
• 3D技术的发烧友。
如何阅读本书
全书分为两部分,每章都围绕理论背景、技术实现与应用案例展开,让读者脑手联动,达到系统学习与快速提升的目的。
第一部分为硬核技术篇(第1~4章),详细介绍点云配准概念、应用领域,以及点云配准必要的数理知识,最后对点云配准过程中相关关键步骤(如关键点提取、特征描述等)所涉及的经典算法进行理论与实战的多维展示,为读者深入了解复杂配准算法做好前期理论与技术储备工作。
第二部分为算法应用篇(第5、6章),涵盖了十几个经典开源的刚性与非刚性配准算法,从算法原理、理论基础、技术实现、应用案例及优缺点等方面进行详细介绍,以算法的源码实现分析来帮助读者,彻底搞清楚每一个算法的细节与计算过程。最终通过算法的应用案例分析,让读者从理论、技术和应用层面重新评价与认识每个算法,助力产业界的读者快速将相关技术应用落地,学术界的读者快速系统地完成入门与提升。
源代码
本书的源代码如果没有特殊声明,都以BSD(Berkeley Software Distribution)许可协议或者CCA(Creative Commons Attribution 3.0)的形式发布,读者可以自由使用和分享,如果需要应用于商业领域,请联系版权所有者进行确认。如果读者行使BSD或CCA许可授予的使用源代码的权利,就表明接受并同意遵守该许可的条款,对其使用不得超越许可授权的范围。
勘误和支持
由于作者的水平有限,书中难免会出现一些不足或者不准确的地方,恳请读者批评指正。同时读者可以在本书的创作团队PCLCN官方网站(Point Cloud Learning in China.www.pclcn.org)的论坛上提出相关问题和意见。
关于效果图
书中有很多程序运行结果演示效果图,为帮助读者获得更好的阅读体验,我们将于图书出版后在随书资源和官方网站(www.pclcn.org)上推出该书的高清彩图,敬请期待。
致谢
首先要感谢书中每个算法的作者,正是有了他们的允许和鼓励,才有本书的面世,有了他们的创新精神和辛勤努力,我才能给大家分享这样一套系统的点云配准学习资料。
感谢笔者团队参与整理工作的成员:高梓成、罗欣颖、张嘉龙、吴见欢、雷杰、纪宝锋、刘世峰。同时感谢国家自然科学基金项目(41601491、42071449)对笔者团队的支持。
感谢来自PCLCN社区的科研和业界学者的协同努力和辛苦劳动,以及此处未明确提及但对本书出版做出贡献的朋友。
感谢机械工业出版社的丁伦编辑,感谢你的远见,在一年多的时间中有你始终的支持和帮助,才使书稿面世。
最后感谢我的家人,特别是我的母亲和妻子,对我写书和工作的无私支持。
郭浩