Bootstrap

复现点云实例分割模型SoftGroup

原文链接:

https://arxiv.org/pdf/2203.01509v1.pdf

代码链接:

https://github.com/thangvubk/SoftGroup.git

本人小白一枚,只是想记录学习的一个过程,欢迎大家一起讨论

我主要是在自己的本机和服务器进行了环境配置,下面记录一下自己的配置过程以及我遇到的一些问题,以及如何训练公开数据集和训练自己的数据集。

一环境配置

1在本机ubuntu22.04的环境配置

注:这个过程是非常顺利,按照官方文档进行配置就可以了

整个配置过程如下:

1)conda create -n softgroup python=3.7

2)conda activate softgroup

3)下载softgroup代码

git clone https://github.com/thangvubk/SoftGroup.git

(注:这里建议一定要git下载源码,之前用的下载的压缩包,后面运行代码的时候会出现ops.voxel_id这个错误

AttributeError: module 'softgroup.ops' has no attribute 'voxelize_idx' · Issue #117 · thangvubk/SoftGroup · GitHub

作者回复就是下载最新版本的代码

4)conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=10.2 -c pytorch

(注:conda install pytorch cudatoolkit=10.2 -c pytorch不要用官方这个他会自动安装10.2版本对应的最高的pytorch,我当时用里这个后面会出现一些错误,建议使用指定版本的指令

5)pip install spconv-cu102

6)pip install -r requirements.txt

7)sudo apt-get install libsparsehash-dev

8)python setup.py build_ext develop

----------------------------以上就是在自己的电脑上配置过程

二、服务器上进行环境配置

和上面步骤前6步都一样,由于服务器没有sudo权限,所以主要说一下怎么在没有sudo权限下或者在windows系统下,如何安装libsparsehash-dev)

7)conda install -c bioconda google-sparsehash

8)python setup.py build_ext develop

(注在这一步上面出现了一些错误)

 问题一:ninja错误

解决方法更换gcc版本,之前在自己本机配置是用的7.5,而服务器是9.3,所以更换了服务器版本从9.3降为7.5,之后又出现了问题二

问题二:编译过程中出现找不到一个哈希表有关的文件

解决办法:是因为google-sparsehash版本问题

找到报错位置/public/fzu_fln/chenhao/yinjunyu/SoftGroup/softgroup/ops/src/datatype/datatype.h文件,对头文件进行修改

将 #include <google/dense_hash_map>换成#include <sparsehash/dense_hash_map>

9)安装成功标志

出现下面这个即代表安装成功

三在公开数据集上面进行训练与测试

我主要是在stpls3d和s3dis上面进行了测试,使用的是官方的预训练权重

1)数据预处理

安装作者的要求将对应数据集处理成指定的格式

2)下载官方预训练权重

3)测试结果及可视化

这里我就只放一下我在stpls3d上面的可视化结果(由于作者没有给这个数据集的可视化代码,我就自己写了一个)

四在自己数据集上面进行训练与测试

       我是做了两种格式一种是S3DIS一种是stpls3d。最后我是选择了STPLS3D这种格式,原因是因为同样的数据量使用S3DIS格式会出现任务被杀死,需要多卡运行。

小白第一次写,就是做个分享和学习,写的不好还请见谅。

;