创建实例
根据实际需求,选择合适的显卡数目、型号、Pytorch版本,Python版本等。
这里我选的3090显卡,镜像如下,强烈建议和我选一样的
数据上传
1.打包数据
在本地将数据打包整理好(识别程序和对应的自建数据集,这里数据集用nusences-mini测试)
1.1 下载识别模型并安装依赖
FANG-MING/occupancy-for-nuscenes: 3D occupancy (github.com)在此网站下载程序文件,并根据Installation部分的提示安装依赖包
installation部分参考另一篇文章——
1.2 下载模型参数
根据Preparing-1中的指示下载模型参数,并放在ckpt/文件夹下
1.3 下载Nusences-mini数据集
https://www.nuscenes.org/nuscenes#download
1)下载 nuScenes-panoptic
2)下载 nuScenes-lidarseg
3)下载 Full dataset (v1.0)
4)整理数据集文件
将1)、2)、3)解压后,把1)下的panoptic文件夹放在3)的v1.0-mini文件夹下;1)下的v1.0-mini文件夹下的所有数据放在3)v1.0-mini\v1.0-mini下。同理2)文件处理
最终文件整理结果如图
1.4 整理程序文件
开始处理occ-for-nus文件夹。根据以下路径,创建文件夹,并将刚刚v1.0-mini下的所有文件转移到./project/data/nuscenes文件夹下
./project/data/nuscenes/
注意是把v1.0-mini下面的所有文件转移到 ./project/data/nuscenes,不是直接把v1.0-mini文件夹放在该路径下
修改data_converter.py(因为我们只跑mini数据集,所以要稍作修改)
修改1:将标注的v1.0-trainval 修改为v1.0-mini
修改2:
补充一个模块 import os ,这是在运行过程中报os未定义的错发现的
2.下载OSS客户端
下载完成后,双击进入OSS命令行窗口
3.上传数据
将occ-for-nus数据按照ZIP格式打包,使用以下命令行将数据上传至OSS
4.转载数据
打开恒源云-我的实例-JupyterLabJupyterLab
登录
将刚刚上传的数据转储到/hy-tmp中
出现如下界面表示转出成功
然后打开hy-tmp,使用如下指令解压zip包,解压后可以通过ls命令查看是否解压成功
远程连接(可选)
通过VSCode进行远程连接,可视化效果更强,遇到报错可以直接在文件里修改
运行代码
打开occ-for-nus文件
运行如下代码
python data_converter.py --dataroot ./project/data/nuscenes/ --save_path ./project/data/nuscenes/occupancy/
运行结果:
此时occ数据标注工作已经完成,只剩等待,做好心理准备,会非!常!慢!
如果你只需要数据标注,后面就不用看了,以下为模型训练:
环境搭建
搭建过程参考我的另一篇MMdetection3D ( OCC-for-Nus Installation为例)在恒源云平台安装教程-CSDN博客
训练模型
建立模型数据软链接
之前我们打包好的数据是放在/hy-tmp/occ-for-nus/project/data/nuscenes下的,对于单跑数据标注是ok的(一般用于数据集构建人员)
实际上官网上这个路径下的nuscenes是个软连接,多几行代码的事!我们简单做一下微调即可
首先将数据集移动到实际需要存储的位置,命令如下:
mv /hy-tmp/occ-for-nus/projec/data/nuscenes /hy-tmp/occ-for-nus/mmdetection3d/data/
这句话的意思就是把 /hy-tmp/occ-for-nus/projec/data/nuscenes文件移到/hy-tmp/occ-for-nus/mmdetection3d/data/目录下
然后进入/hy-tmp/occ-for-nus/projec/data文件夹下,用ln命令建立软连接
cd /hy-tmp/occ-for-nus/projec/data/
ln -s /hy-tmp/occ-for-nus/mmdetection3d/data/nuscenes nuscenes
生成.pkl文件
首先进入指定文件夹下,然后运行create_data.py
cd /hy-tmp/occ-for-nus/mmdetection3d
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes
这里注意,如果用nuscenes的mini数据集跑,需要在第二条命令后加上--version v1.0-mini,即
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes --version v1.0-mini
训练
cd /hy-tmp/occ-for-nus/project
bash launcher.sh config/occupancy.py out/occupancy
模型测试
下载好的文件放在/hy-tmp/occ-for-nus/project/ckpts中,然后执行下面的命令
cd /hy-tmp/occ-for-nus/project
python eval.py --py-config config/occupancy.py --ckpt-path ckpts/occupancyNet.pth
模型可视化
输入下面的命令进行模型可视化
python /hy-tmp/occ-for-nus/utils/vis_pts.py --pts-path $LIDARPATH