主要内容

点云处理

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

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

您可以使用pcregistericppcregisterndtpcregistercorr,pcregistercpd将移动的点云注册到固定的点云上。这些配准算法分别基于迭代最近点(ICP)算法、正态分布变换(NDT)算法、相位相关算法和相干点漂移(CPD)算法。您可以使用注册的点云构建一个映射,检测环路闭包,优化映射以纠正漂移,并在预构建的映射中执行定位。有关更多细节,请参见在MATLAB中实现点云SLAM

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

功能

全部展开

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

进行预处理

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

查找和删除点

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

注册点云

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

变换的点云

rigidtform3d 三维刚几何变换
pctransform 变换三维点云

对齐或合并点云

pcalign 对齐点云阵列
pccat 串联三维点云阵列
pcmerge 合并两个3d点云

确定闭环候选方案

findPose 利用正态分布变换(NDT)算法对地图内的点云进行定位
scanContextDistance 扫描上下文描述符之间的距离
scanContextDescriptor 从点云中提取扫描上下文描述符
scanContextLoopDetector 使用扫描上下文描述符检测循环闭包

优化了

createPoseGraph 创建构成图
optimizePoses 使用相对位姿约束优化绝对位姿

创建本地化的地图

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

主题

Baidu
map