0%

通过雷达、激光扫描、立体摄像机等三维测量设备获取的点云数据,具有数据量大、分布不均匀等特点。作为三维领域中一个重要的数据来源,点云数据主要是表征目标表面的海量点集合,并不具备传统网格数据的集合拓扑信息。所以点云数据处理中最为核心的问题就是建立离散点间的拓扑关系,实现基于邻域关系的快速查找。

阅读全文 »

点云数据区别于图像数据,不管是二维图像还是三维图像,图像数据都充满整个区域,二维图像中每个像素点都有值,灰度值、RGB值等;三维图像中有体数据(Voxel),根据光线投影算法等,可计算出每个体数据对应值,从而显示于显示器中。点云数据由于其扫描生成数据过程的特性,就决定了其在数据方面与图像数据不同,以机械式激光雷达为例,当出现以下情况时,该位置扫描生成的点云数据不存在(即为NAN点)

阅读全文 »

自动驾驶系统中,对激光雷达获取的点云数据进行地面点分割是第一步,地面点分割结果的好坏直接影响聚类,识别和追踪效果。在对地面点分割过程中,前人尝试了许多方法,部分方法结果请参考本人博文《基于几何特征的地面点云分割》。所以,地面点分割是自动驾驶激光雷达点云处理永恒的话题。目前,基于几何特征的地面点分割都基于各自的前提假设,大多数的原理是根据地面点与非地面点的特征不同而进行区分,如法向量、高度、高度差等。

阅读全文 »

激光雷达扫描得到的点云含有大部分地面点,这对后续障碍物点云的分类、识别和跟踪带来麻烦,所以需要首先滤波滤掉。传统的基于几何特征的滤波是最基本最简单的方法,目前本文尝试的有如下几种:

阅读全文 »

KITTI 数据根据上篇博文 KITTI unorganised cloud to organised cloud 输出尺寸为 HxW = 64x4500, 本文准备复现论文 CNN for Very Fast Ground Segmentation in Velodyne LiDAR Data, 根据论文内CNN网络结构需要对数据尺寸进行调整,调整尺寸为 HxW = 64x360, 相当于读源数据进行了降采样(downsampling),由于无法使用 pooling 池化操作来达到此目的,所以进行手工调整。

阅读全文 »

KITTI 点云数据集 bin 格式转 pcd 格式请参照本人博客文章: 《KITTI - 二进制点云数据集》。
KITTI下载点云数据集为 unorganised , 这为计算带来了麻烦,本文将无序点云进行排序生成有序点(organiesd)。

阅读全文 »

作为传递信息的载体string数据类型广泛应用于各种编程语言中,尤其在轻量化语言 Python 中发挥的淋漓尽致,通过string传递信息 Python 使各个模块组装在一起完成指定的工作任务,这也是 Python 被称为“胶水语言”的原因。

阅读全文 »

在进行网络训练过程中,在生成训练数据时,一般会使用比较底层的传感器来生成数据,如摄像头或雷达,所以大部分使用C++进行开发。为了将数据转为Numpy Array格式供Python调用,cnpy库就是供C++生成这种格式数据的开源库,由国外一名小哥开发。

阅读全文 »