主要内容

本页采用了机器翻译。点击此处可查看英文原文。

处理点云

对三维点云进行预处理、可视化、配准、拟合几何形状、构建地图、实现 SLAM 算法以及使用深度学习

点云是三维空间中的一组数据点。这些点共同构成一个三维形状或目标。数据集中的每个点由 xyz 几何坐标表示。点云可用于将大量单个空间测量值组合成一个数据集,该数据集可表示为一个可描述的目标。点云处理用于机器人导航和感知、深度估计、立体视觉、视觉配准以及高级驾驶辅助系统 (ADAS)。Computer Vision Toolbox™ 算法提供点云处理功能,用于对点云进行下采样、去噪和变换。工具箱还提供点云配准、三维点云的几何形状拟合,以及读取、写入、存储、显示和比较点云的功能。您可以合并多个点云来重建一个三维场景,或使用配准的点云构建地图,检测闭环,优化地图以校正漂移,以及在预置的地图中执行定位。有关详细信息,请参阅Implement Point Cloud SLAM in MATLAB

要执行点云配准,即将两个或多个点云对齐到单个坐标系的过程,通常需要先将一个点云作为参考,即固定点云,然后将其他点云(即移动点云)与之对齐。点云的绝对位姿指的是点云相对于参考系(通常称为世界坐标系)的全局位置和方向。Computer Vision Toolbox 提供了各种配准方法,用于将移动点云配准到固定点云。这些方法包括迭代最近点 (ICP)、正态分布变换 (NDT)、相位相关和相干点漂移 (CPD)。您还可以使用激光雷达配准分析器 (Lidar Toolbox)以交互方式进行配准,并比较使用不同配准方法、调节参数和预处理步骤所得的结果。

函数

全部展开

pcread从 PLY 或 PCD 文件中读取三维点云
pcwrite将三维点云写入 PLY 或 PCD 文件
pcfromdepthConvert depth image to point cloud (自 R2022b 起)
pcfromkinectPoint cloud from Kinect for Windows
velodyneFileReaderRead point cloud data from Velodyne PCAP file
pcviewsetManage data for point cloud based odometry and SLAM
pointCloud用于存储三维点云的对象
pcviewerVisualize and inspect large 3-D point cloud (自 R2023a 起)
pcshowPlot 3-D point cloud
pcshowpairVisualize difference between two point clouds
pcplayerVisualize streaming 3-D point cloud data
showShapeDisplay shapes on image, video, or point cloud

预处理

pcbinSpatially bin point cloud points
pcdenoise从三维点云中去除噪声
pcdownsample对三维点云进行降采样
pcnormals估计点云的法线

查找和删除点

findPointsInCylinderFind points within a cylindrical region in a point cloud (自 R2023a 起)
findPointsInROIFind points within a region of interest in the point cloud
findNearestNeighborsFind nearest neighbors of query points in point cloud
findNeighborsInRadiusFind neighbors within radius for query points in point cloud
removeInvalidPoints从点云中移除无效点
pcsegdistSegment point cloud into clusters based on Euclidean distance
segmentGroundFromLidarDataSegment ground points from organized lidar data
segmentLidarDataSegment organized 3-D range data into clusters
pcbinSpatially bin point cloud points

配准点云

pcregistercorrRegister two point clouds using phase correlation
pcregistericp使用 ICP 算法对两个点云进行配准
pcregistercpdRegister two point clouds using CPD algorithm
pcregisterndtRegister two point clouds using NDT algorithm

变换点云

rigidtform3d三维刚性几何变换 (自 R2022b 起)
pctransform对三维点云进行变换

对齐或合并点云

pcalignAlign array of point clouds
pccatConcatenate 3-D point cloud array
pcmerge合并两个三维点云

确定闭环候选项

findPoseLocalize point cloud within map using normal distributions transform (NDT) algorithm
scanContextDistanceDistance between scan context descriptors
scanContextDescriptorExtract scan context descriptor from point cloud
scanContextLoopDetectorDetect loop closures using scan context descriptors (自 R2021b 起)

优化位姿

createPoseGraphCreate pose graph
optimizePosesOptimize absolute poses using relative pose constraints

创建定位地图

pcmapndtLocalization map based on normal distributions transform (NDT)
pcfitcylinderFit cylinder to 3-D point cloud
pcfitplane将平面拟合到三维点云
pcfitsphereFit sphere to 3-D point cloud
pcnormals估计点云的法线
fitPolynomialRANSACFit polynomial to points using RANSAC
ransac对噪声数据进行建模
cylinderModelParametric cylinder model
planeModel用于存储参数化平面模型的对象
sphereModelObject for storing a parametric sphere model

模块

全部展开

Point Cloud ViewerVisualize streaming point cloud data sequence (自 R2023a 起)

主题

精选示例