工程 (七) ——PolarSeg点云语义分割
工程 分割 点云 语义
2023-09-11 14:18:27 时间
目录
一、基本原理
1.1 极坐标划分
点云有越远越稀疏的特性,相对于传统的BEV视角,点云分割更加的均匀。
1.2 网络特征提取
二、工程目录
data:数据集
dataloader:数据集下载
imgs:论文配图
network:主网络和相关代码
out:模型结果
pretrained_weight: 模型预训练权重
semantic-kitti-api:semantic-kitti数据集工具包
其他文件为使用文件
三、环境配置
git clone https://github.com/AbangLZU/PolarSeg.git
#1 激活环境
conda activate polarnet
#2 安装pytorch
conda install pytorch torchvision cudatoolkit=11.3 -c pytorch
#3 pytorch >= 1.8.0 安装pytorch-scatter
conda install pytorch-scatter -c pyg
#4 安装其他工具包 将文件中的pytorch相关删除
pip install -r requirement.txt
pip install vispy
pip install matplotlib
四、semantic-kitti数据集介绍
4.1 文件目录
sequences下包含了一系列的数据集
velodyne为64线激光雷达的数据
labels 为点云的标注文件
poses.txt 为里程计的信息
4.2 yaml文件
split: # sequence numbers
train:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 9
- 10
valid:
- 8
test:
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
将数据集的序号分成train val test,以及语义分割的类别和对应的点云颜色
4.3 semantic-kitti-api官方工具包
Semantic-kitti 本身开源了一个工具包以供可视化
git clone https://github.com/AbangLZU/semantic-kitti-api.git
cd semantic-kitti-api
pip install -r requirements.txt
# 可视化
python visualize.py --dataset /path/to/your/kitti/dataset --sequence 00
四、代码运行
4.1 训练
python train_SemanticKITTI.py --data ./data/kitti/dataset
训练时需要等一段时间,统计完所有的训练数据集,不要急。统计完之后开始训练。
训练完成后,权重保存在与train.py同目录下的SemKITTI_PolarSeg.pt中
4.2 验证
python test_pretrain_SemanticKITTI.py -d ./data/kitti/dataset/ -p ./pretrained_weight/SemKITTI_PolarSeg.pt
通过yaml文件可以知道,11到21为测试集,代码也直接生成这些数据集的预测文件
会生成out文件夹,里面存放的预测出来的label文件,将这个文件代替原本数据集的labels,即可进行可视化。
python visualize.py --dataset ./data/kitti/dataset --sequence 13
五、代码解析
相关文章
- 从ruby实现时间服务器ntp同步功能也谈“逆向工程”
- [Android] Android工程以jar包形式向第三方应用提供服务
- 智能家居项目(2):项目工程框架的搭建
- Serverless 工程实践 | 零基础上手 Knative 应用
- 十分钟快速玩转 Aliware MQ-阿里云消息队列Demo工程实践
- 【安富莱专题教程第5期】工程调试利器RTT实时数据传输组件,替代串口调试,速度飞快,可以在中断和多任务中随意调用
- 用 Weex 命令行快速创建工程
- ML之FE:基于BigMartSales数据集利用Featuretools工具(1个dataframe表结构切为2个Entity表结构)实现自动特征工程之详细攻略
- DataScience:数据预处理/特征工程之常用的数据变换(MinMaxScaler变换/log对数变换等)实现代码集合
- ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码
- ML之FE:特征工程中常用的五大数据集划分方法(留1法/留p法、随机划分法、K折交叉验证法、自定义分割法、特殊类型数据分割法【时间序列数据】、自助采样法)理论讲解及其代码实现
- 【Android Gradle 插件】Gradle 基础配置 ⑥ ( Android工程 Gradle 常用命令 | gradlew 可执行文件 | 查看帮助文档 | 查看应用依赖 )
- 《逆向工程核心原理》学习笔记4 5
- 谷歌开源可视化工具Facets,将用于人+AI协作项目研究——无非就是一个用于特征工程探索的绘图工具集,pandas可以做的
- 创建一个新的工程
- 首批列入民族网游工程的21种游戏公布