最近写文章缺少一个数据集的实验材料,于是在网上找了找,发现没有关于scannetv2完整的使用。于是就想着写一篇这个吧。
目录
1.下载
关于Scannetv2的数据介绍就不写了,完整的官网在这里:GitHub - ScanNet/ScanNethttps://github.com/ScanNet/ScanNet/tree/master
至于下载哪些东西看自身的需求,如果是复现3D点云像Stratified[2203.14508] Stratified Transformer for 3D Point Cloud Segmentation (arxiv.org)https://arxiv.org/abs/2203.14508或者SWIN3D[2304.06906] Swin3D: A Pretrained Transformer Backbone for 3D Indoor Scene Understanding (arxiv.org)
https://arxiv.org/abs/2304.06906
一般是参考了PointGroup的数据集:
GitHub - dvlab-research/PointGroup: PointGroup: Dual-Set Point Grouping for 3D Instance Segmentationhttps://github.com/dvlab-research/PointGroup如果用的数据集相同,那么对应的百度云下载链接在这里:
scannet.zip_免费高速下载|百度网盘-分享无限制 (baidu.com)https://pan.baidu.com/s/1-Iix-F_1mBS3s8JMYFLUdQ?pwd=ttsf
2.数据处理
这部分就有些棘手了
首先,下载解压后是这样的:
这里已经有了test,我们需要分出train和val。怎么分?
根据这个分(我没找到自动分的方法,按理说肯定有,但是没找到,反正是这么个分法):
ScanNet/Tasks/Benchmark at master · ScanNet/ScanNet · GitHub
手动创建目录,剪切。。。分完之后的如图:
接下来还要将所有的子文件夹中的文件取出来(train、val、test。都需要),就像这样:
移动完之后:
接下来进行数据处理
把这两个保存到分组后的数据集中:
像这样:
然后根据PointGroup进行数据处理,分别运行这仨,就完成数据处理了,下面就可以进自己的网络训练了:
python prepare_data_inst.py --data_split train
python prepare_data_inst.py --data_split val
python prepare_data_inst.py --data_split test