
课程简介
本课程专为有志于从事自动驾驶、机器人导航、三维视觉、激光雷达感知等领域的学习者设计。课程系统覆盖三维点云处理的完整技术链路,从点云数据基础、滤波降噪、特征提取,到分割聚类、目标检测识别、SLAM建图,再到深度学习在点云上的前沿应用(PointNet/PointNet++、3D目标检测),帮助学员建立扎实的理论基础与工程落地能力。
推荐语言
一、核心语言
-
C++(PCL/Open3D底层开发、高性能点云处理)
-
Python(算法快速原型验证、深度学习模型训练)
-
CMake(C++项目构建与管理)
二、核心算法与技术模块
基础篇
-
点云数据表示:xyz格式、PCD格式、LAS格式、二进制与ASCII存储
-
坐标系转换:世界坐标系、相机坐标系、激光雷达坐标系变换(刚体变换、欧拉角、四元数)
-
滤波降噪:体素滤波(Voxel Grid)、半径滤波(Radius Outlier Removal)、统计滤波(Statistical Outlier Removal)、直通滤波(PassThrough)
特征提取与描述
-
关键点检测:ISS、NARF、Harris3D
-
特征描述子:FPFH、PFH、SHOT、Spin Image
分割与聚类
-
基于模型的分割:RANSAC(平面、圆柱、球体拟合)
-
基于聚类的分割:DBSCAN、欧氏聚类、区域生长(Region Growing)、超体素(Supervoxel)
配准与建图
-
点云配准:ICP(Iterative Closest Point)、NDT(Normal Distributions Transform)、多尺度ICP
-
SLAM建图:LOAM(Lidar Odometry and Mapping)、LeGO-LOAM、SC-LeGO-LOAM
三维目标检测
-
传统方法:基于聚类+分类器的检测
-
深度学习方法:PointNet、PointNet++、PointPillars、VoxelNet、CenterPoint
语义分割
-
点云语义分割:PointNet++语义分割、RandLA-Net、SparseConvNet
-
实例分割:点云实例分割、Panoptic Segmentation
三、核心工具与框架
-
PCL(Point Cloud Library):工业级C++点云处理库(涵盖所有经典算法实现)
-
Open3D:Python/C++双接口现代点云处理库
-
ROS/ROS2:机器人操作系统(点云消息通信、RViz可视化)
-
深度学习框架:PyTorch / TensorFlow(用于PointNet、3D检测模型训练)
-
可视化工具:CloudCompare(点云标注与查看)、MeshLab、RViz、Matplotlib(3D可视化)
-
数据集:KITTI、nuScenes、Waymo Open Dataset、SemanticKITTI、ModelNet40
四、实战项目(贯穿课程)
-
项目一:基于PCL的手写点云预处理管线(滤波 + 分割 + 特征提取)
-
项目二:激光雷达SLAM系统搭建(LOAM算法从零实现)
-
项目三:三维目标检测模型训练与部署(PointPillars + 实时推理)
-
项目四:点云语义分割实战(基于RandLA-Net + SemanticKITTI数据集)
-
项目五:点云配准系统(ICP + NDT + 全局配准)
五、开发环境与工具
-
操作系统:Ubuntu 18.04/20.04(推荐,课程基于Linux开发)
-
编译器:g++、CMake 3.10+
-
Python环境:Anaconda(管理虚拟环境)
-
CUDA:可选,用于深度学习训练加速
-
Docker:提供预配置的开发环境镜像
-
版本控制:Git(源码管理与协作)

评论(0)
暂无评论