主要内容

点云处理

预处理、可视化、注册、拟合几何形状、构建地图、实现SLAM算法,并使用3d点云进行深度学习

点云是三维空间中的一组数据点。这些点合在一起代表一个三维形状或物体。数据集中的每个点都由xy,z几何坐标。点云提供了一种方法,可以将大量的单一空间测量数据组合成一个数据集,该数据集可以表示为一个可描述的对象。点云处理用于机器人导航和感知、深度估计、立体视觉、视觉配准以及高级驾驶辅助系统(ADAS)。计算机视觉工具箱™算法提供点云处理功能,用于降采样、去噪和转换点云。该工具箱还提供点云配准、三维点云的几何形状拟合,以及读、写、存储、显示和比较点云的能力。您还可以组合多个点云来重建3d场景。

你可以使用pcregistericppcregisterndtpcregistercorr,pcregistercpd将移动点云注册到固定点云。这些配准算法分别基于迭代最接近点(ICP)算法、正态分布变换(NDT)算法、相位相关算法和相干点漂移(CPD)算法。您可以使用已注册的点云构建映射,检测循环闭包,优化映射以纠正漂移,并在预构建的映射中执行本地化。详情请参见点云SLAM概述

图中显示了两个同心点云组合的点云,传感器角度计算,以及代表茶壶的点云

功能

全部展开

pcread 从PLY或PCD文件中读取三维点云
pcwrite 将三维点云写入PLY或PCD文件
pcfromkinect 点云Kinect窗户
velodyneFileReader 读取点云数据威力登PCAP文件
pcviewset 管理基于视觉里程计和SLAM的点云数据
pointCloud 用于存储三维点云的对象
pcshow 图3-D点云
pcshowpair 可视化两个点云之间的差异
pcplayer 可视化流3-D点云数据
showShape 在图像、视频或点云上显示形状

进行预处理

pcbin 空间宾点云点
pcdenoise 去除三维点云中的噪声
pcdownsample 下采样一个三维点云
pcnormals 估计点云的法线

查找和删除点

findPointsInROI 在点云中感兴趣的区域内找到点
findNearestNeighbors 在点云中寻找一个点的最近邻居
findNeighborsInRadius 在点云的一个点的半径内寻找邻居
removeInvalidPoints 从点云中移除无效点
pcsegdist 基于欧氏距离将点云分割成簇
segmentGroundFromLidarData 从有组织的激光雷达数据中分割接地点
segmentLidarData 分段将三维距离数据组织成簇

注册点云

pcregistercorr 使用相位相关注册两个点云
pcregistericp 采用ICP算法对两个点云进行配准
pcregistercpd 采用CPD算法对两个点云进行配准
pcregisterndt 采用无损检测算法对两个点云进行配准

变换点云

rigid3d 三维刚性几何变换
pctransform 三维点云变换

对齐或合并点云

pcalign 对齐数组点云
pccat 拼接三维点云阵列
pcmerge 合并两个三维点云

确定闭环候选

scanContextDistance 扫描上下文描述符之间的距离
scanContextDescriptor 从点云中提取扫描上下文描述符

优化了

createPoseGraph 创建姿态图
optimizePoses 使用相对姿态约束优化绝对姿态

创建本地化地图

pcmapndt 基于正态分布变换的定位图
pcfitcylinder 拟合圆柱体到三维点云
pcfitplane 拟合平面到三维点云
pcfitsphere 拟合球体到三维点云
pcnormals 估计点云的法线
fitPolynomialRANSAC 用RANSAC将多项式拟合到点上
ransac 模型拟合噪声数据
cylinderModel 对象,用于存储参数圆柱模型
planeModel 对象,用于存储参数化平面模型
sphereModel 对象,用于存储参数球模型

主题

PLY格式

斯坦福三角格式

点云SLAM概述

了解点云配准和映射工作流程。

使用深度学习的点云入门

了解如何使用点云进行深度学习。

选择函数来可视化检测到的对象

比较可视化功能。

标记,分割和检测(激光雷达工具箱)

使用深度学习和几何算法标记、分割、检测和跟踪点云数据中的对象

特色的例子