以点云为主体,提供两个方向自由选择:
- 传统图形学点云处理
- 深度学习下的点云处理
点云,三维空间中的数据,例如二维空间下的数据是由像素组成的图像,三维空间下的数据就是由空间中的点组成的点云。
传统点云处理
根据点云处理库的教程学习实现以下任务
- 可视化点云
- 点云体素下采样
- 点云滤波
- 点云变换
- 顶点法向估计
- 点云表面重建
![可视化点云](https://i.imgur.com/66ncKvd.png)
![体素下采样](https://i.imgur.com/XE2M5pM.png)
![点云表面重建](https://i.imgur.com/9Z318Q8.png)
Open3D [Intel 2018]
Intel 2018年提出的现代化的3D点云处理工具库。
特性:
- 支持Python,配置容易上手简单。也支持C++
- 英文文档教程
- 支持机器学习 TensorFlow 和 PyTorch
PCL
老牌传统点云处理库
特性:
- 仅支持C++,配置使用更繁杂
- 发展久,点云算法涵盖更大更全,教程更加细致也更繁杂,网络资料也更容易找
点云深度学习
使用计图Jittor框架,了解深度学习基础,最后实现几个点云深度学习模型的实验,进行点云的分割、识别、处理等。
计图
清华开源机器学习框架——计图(Jittor):动态编译,内部使用创新的元算子和统一计算图的深度学习框架, 元算子和Numpy一样易于使用,并且超越Numpy能够实现更复杂更高效的操作。而统一计算图则是融合了静态计算图和动态计算图的诸多优点,在易于使用的同时,提供高性能的优化。
前端语言为Python,类似于PyTorch。后端自动使用CUDA、CPU、GPU。平台:
- Linux(主要)
- Mac
- Windows(Beta,不稳定)
计图库支持的点云深度学习模型:
- PointNet
- PointNet++
- PointCNN
- DGCNN
- PointConv
计图官网教程不多,需要自己主动找一些论文或者其他教程资料进行补充。
![PointNet的点云分类和分割](http://stanford.edu/~rqi/pointnet/images/teaser.jpg)
![PointConv点云分割](http://web.engr.oregonstate.edu/~wuwen/SegExp.png)