摘 要
在计算机视觉和虚拟现实技术的发展过程中,点云数据已成为主要的三维数据表达形式。将点云数据转换成灰值图时,测算每一个像素点周边领域的点云,但是其效率精密度比较低。文中探讨了点云数据的多视图拼凑和滤波处理,明确提出利用三角形面片法解决点云数据,将文件头和三角形面片信息分为两个存放,明确提出掌握坐标原点位置和方向两个核心平面反向值,点云部位转换优化算法。针对点云数据处理的相关技术研发成为近年来的研究热点,基于此,采用Python作为编程语言,并使用开源编程库Point.Cloud.Library,开发了点云数据处理系统。该系统实现了点云数据读取及数据处理、点云视点变换、重建点云效果显示等功能,为开发人员进行点云数据处理的相关研究工作提供了基础测试工具。
关键词:PCL函数库;点云数据拼接;点云滤波;点云数据处理
Application of Point Cloud Data Processing Methods - Taking PCL Function Library as an Example
ABSTRACT
In the development process of computer vision and virtual reality technology, point cloud data has become the main form of 3D data expression. When converting point cloud data into gray value maps, the point cloud in the surrounding area of each pixel is calculated, but its efficiency and precision are relatively low. The article explores the multi view patching and filtering processing of point cloud data, and explicitly proposes the use of triangle patch method to solve point cloud data. The file header and triangle patch information are divided into two storage areas, and it is explicitly proposed to master the inverse values of the two core planes of coordinate origin position and direction, as well as the optimization algorithm for point cloud part conversion. The research and development of technology related to point cloud data processing has become a research hotspot in recent years. Based on this, a point cloud data processing system has been developed using Python as the programming language and the open-source programming library Point. Cloud. Library. This system implements functions such as point cloud data reading and processing, point cloud viewpoint transformation, and reconstructed point cloud effect display, providing a basic testing tool for developers to conduct research related to point cloud data processing.
Keyword:PCL function library; Point cloud data splicing; Point cloud filtering; Point cloud data processing;
目 录
摘 要
ABSTRACT
1 绪论
1.1 研究背景
1.2 点云数据采集系统组成
1.3 点云数据分类
2 点云数据处理国内外研究现状
2.1 点云预处理研究现状
2.2 点云拼接研究现状
2.3 点云测量研究现状
3 点云数据的获取
3.1 概述
3.2 激光三角形测量法原理
3.3 影响精度因素
4 点云数据预处理
4.1 多视图点云数据拼接
4.2 点云滤波
5 点云数据处理
5.1 点云数据存储
5.2 点云位置变换
5.3 点云数据处理实例
6 基于PCL库的点云数据处理系统开发
6.1 开发背景
6.2 系统设计
6.3 系统功能实现
6.3.1 点云读取渲染功能
6.3.2 交互功能
6.3.3 视点变换功能
6.3.4 重建点云效果显示功能
6.3.5 辅助功能
6.4 系统测试
6.4.1 点云数据读取及渲染功能测试
6.4.2 用户交互功能测试
6.4.3 视点变换功能测试
6.4.4 辅助功能测试
6.5 讨论
7 结论与展望
7.1结论
7.2不足与展望
参考文献
附录
外文文献
中文译文
致谢
1 绪论
1.1 研究背景
近些年,伴随着三维数据获得有关硬件配置技术的不断发展与机器视觉、虚拟现实、自动化技术和无人驾驶等三维数据运用,有关的前沿科技也获得了极大进步。机器设备获得的三维数据主要是以点云为表明方式,因而点云已经成为表明三维数据的重要方式。点云数据不同于传统三维网格数据。因为数据量多,不包括领域信息,传统式的三维网格处理工艺无法直接用以解决点云数据。因而,点云数据处理工艺已经成为三维数据运用相关领域研究重点之一。已有的点云数据处理办法是主要对点云数据开展网格化剖析,在这个基础上将点云数据分成聚集点云数据与非聚集点云数据。针对相对密度点云数据选用取样统计法,非相对密度点云数据选用三角面片投影法。世界各国对点云数据三角化做了大量的科研工作。现阶段,珀特是运用最普遍的一个,(Watson)[4]和(Bowyer)[5]运用三角剖分优化算法(Delaunay)三角化。这几种算法建立全过程都较为复杂,并且运算量也非常大。根据对灰值图形成市场需求的剖析,文中根据激光三角测量法,主要对点云数据开展预备处理,包含点云数据的多角度拼凑和滤波处理,随后明确提出运用三角面片法解决点云数据,将文件头和三角面片信息分成存放两个部分,剖析三角面片信息数量庞大,提升文档剖析高效率,充分了解坐标原点位置和两个核心平面的法向量值后,给出了点云位置转换优化算法,以提升数据解决准确性。
1.2 点云数据采集系统组成
常见的线激光三维扫描系统可以分为两种:一体式和分体式[35]。一体式结构如图1-1(a)所示,指相机和激光器为一个整体,该结构事先标定,且带有上位机测量软件,使用方便,但是设备价格昂贵。分体式结构如图1-1(b)所示,指相机和激光器分开,可以调节位置,每次调节需要重新标定,成本低,使用灵活。实验采用的线激光测量系统为图1-1(b)所示分体式结构,该系统包括如下设备:线激光器,深圳富喆科技公司的FU520AB50-GD16半导体绿色激光器;移动平台,美城智能MC-LAB-SMX300;工业相机,型号为NOIP1SN1300A-D,传感器,为分辨率640×480的1/4CMOS和滤光片。三维点云获取基于激光三角法原理,通过激光线投射在被测物体表面,物体表面激光线发生形变,
移动平台带动被测物体平移运动,相机采集到的物体轮廓激光条纹先进行图像预处理和提取中心坐标,再将中心坐标通过标定的参数求解相应的三维坐标。线激光器和相机之间的位置是相对固定的,根据被测物体的大小、材质、颜色等有不同的安装方式。点云采集系统是标准安装,如图1-2所示,线激光器与移动平台垂直,相机和激光器呈一定夹角,扫描时物体沿着Y轴方向移动。这种安装方式能使测量视野更大,减小计算三维坐标误差,计算速度快,精度高,标定简单。在图像中,分辨率大小可以按照像素的单位决定。而在三维空间中,X方向分辨率是沿着激光线方向各测量点之间的水平距离,这个值和相机分辨率和视野大小有关,越靠近传感器,X方向分辨率越高;Y方向分辨率跟移动平台触发间隔有关,每幅图像采集帧间距即扫描间距,与扫描精度、处理速度有关,扫描复杂的物体选择较小间距,这样数据量会变大,处理速度慢,平坦选择较大间距,处理速度快。Z方向分辨率指线激光扫描系统可检测的最小高度,该值和线激光扫描系统安装方式有关。