PCL 缘起缘灭

一、PCL是什么
PCL(Point Cloud Library,点云库)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高校数据结构,涉及点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等;支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位。PCL是BSD授权方式,可以免费进行商业和学术应用。
点云是分布在N维空间中的离散点集,主要以三维为主,它是对物体表面信息的离散采样。三维扫描技术使得点云数据的获取更加简单方便,点云处理技术还包括结合图论、模式识别、机器学习、数据挖掘和深度学习等人工智能算法之后的解决实践应用中的同步定位与地图构建(SLAM)、三维模型检索、三维场景语义分析、广义点云等综合技术内容。PCL是点云数据处理领域中开源的一个重要工具。PCL起初是ROS(Robot Operating System)慕尼黑Radu博士等人维护和开发的开源项目,2011年独立出来,正式与全球3D信息获取、处理的同行一起,组建了强大的开发团队,逐渐开源。PCL官方目前的计划是继续加入很多新的功能模块和算法的实现,包括最新3D相关的处理算法和相关设备的支持,如基于PrimeSensor 3D设备、微软Kinect或者华硕的XTionPRO智能交互的应用等。市场上消费级点云获取设备Google的Project Tango、Intel的RealSense 3D深度摄像头系列、微软的Kinetict v2等的不断完善和推广。
二、PCL应用
测绘领域(三维地面点数据)

无人驾驶领域:它是在传统车辆基础上,加入环境感知、智能决策、路径规划、行为控制等人工智能模块。无人驾驶能够实现主要是依赖车载LiDAR点云系统,可以快速提取地球表面物体三维坐标信息,实时定位于构建地图,有着其他方法无法比拟的优势;
1)数据采集速度快,只需沿街一次便可收集所有信息;
2)抗干扰能力强,全天都可数据采集;
3)点云密度大,数据丰富,精度可靠;
4)可以得到实时车辆的位姿信息。

机器人领域 移动机器人感知、辨识、认知,如何实现场景中物体的有效分类与识别是移动机器人场景认知的核心问题,目前基于视觉图像处理技术来进行场景的认知是该领域的重要方法。但移动机器人在线获取的视觉图像质量受光纤变化影响较大,特别是在光线较暗的场景更难以应用,随着RGBD获取设备的大量推广,在机器人领域势必结合深度信息和2D信息的应用,PCL本身就是为机器人而发起的开源项目,PCL中不仅提供了对现有的RGBD信息的获取设备的支持,还提供了高效的分割、特征提取、识别、追踪等最新的算法,最重要的是它可以移植到ROS、Android、ubuntu等主流Linux平台上。

人机交互领域 虚拟现实技术(简称VR),又称灵境技术,是以沉浸性交互性和构想性为基本特征的计算机高级人机界面。(元宇宙)利用计算机图形学、仿真技术、多媒体技术、人工智能技术、计算机网络技术、并行处理技术和多传感器技术,模拟人的视觉、听觉、触觉等感觉器官功能。

逆向工程与其他工业自动化领域大部分工业产品是根据二维或三维CAD模型制造而成,但有时因为数据丢失、设计多次更改、实物引进等原因,产品的几何模型无法获得,因而常常需要根据现有产品实物生成物体几何模型。逆向工程技术能够对产品实物进行测绘,重构产品表面三维几何模型,生成产品制造所需的数字化文档。在一些工业领域,如汽车制造业,许多零件的几何模型都通过逆向工程由油泥模型或实物零件获得,目前在CAD/CAM领域利用激光点云进行高精度测量与重建成为趋势,同时引来了新的问题,通过获取的海量点云数据,来提取重建模型的几何参数,或者形状模型,对模型进行智能检索,从点云数据获取模型的曲面模型等,诸如此类的问题解决方案在PCL中都有涉及。例如kdtree和octree对海量点云进行高效压缩存储与管理,其中滤波、配准、特征描述与提前基础处理,可以应用于模型的智能检索,以及后期的曲面重建和可视化都在PCL中有相应的模块。总之,三维点云数据的处理是逆向工程中比较重要的一环,PCL中间所有的模块正是为此而生的。

BIM领域 BIM(Building Information modeling,建筑信息模型化),是用三维模型作为信息载体,以描述建筑物生命周期内的建设活动的一种理念。

三、PCL的结构与核心内容
对于3D点云来说,PCL完全是一个模块化的现代C++模板库,其基于第三方库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull、OpenMP,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。

四、入门
参考《点云库PCL从入门到精通》

你可能感兴趣的:(计算机视觉,人工智能,自动驾驶)