SegAnyGAussians(SAGA)项目配置和运行

GitHub项目地址:Jumpat/SegAnyGAussians: The official implementation of SAGA (Segment Any 3D GAussians) (github.com)


 一、项目准备

1、下载原项目的zip包解压

2、下载third_party目录下的两个模块,放到对应目录下

3、下载预训练模型和数据集

数据集和预训练模型放到项目目录下,项目结构可以参考下图(之后的参考命令也是以此项目结构为基础):


二、项目配置

1、配置CUDA 11.6环境,使用nvcc -V命令确认

2、配置pytorch环境,使用命令:

pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116

3、配置pytorch3d,使用命令:

conda install https://anaconda.org/pytorch3d/pytorch3d/0.7.1/download/linux-64/pytorch3d-0.7.1-py37_cu116_pyt1121.tar.bz2

4、分别cd到以下几个目录,通过命令安装子模块

在以下目录:
./submodules/diff-gaussian-rasterization
./submodules/diff-gaussian-rasterization_contrastive_f
./submodules/simple-knn
./third_party/kmeans_pytorch
./third_party/segment-anything

分别使用命令:
pip install -e .

5、其他需要的模块使用 pip install即可

pip install plyfile==0.8.1
pip install tqdm
pip install jupyter
pip install opencv-python
pip install matplotlib
pip install numba

6、一些常见的报错
# (1)No such file or directory: ':/usr/local/cuda-11.6/bin/nvcc': ':/usr/local/cuda-11.6/bin/nvcc'
解决:终端执行export CUDA_HOME=/usr/local/cuda
# (2)subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1
解决:setup.py中的“cmdclass={'build_ext': BuildExtension}”改为“cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False)}”
# (3)Unable to create environments file. Path not writable.
解决:终端执行sudo chown -R 1000:1000 /home/userName/.conda,然后重启电脑。其中,userName就是当前登陆用户的用户名。


三、项目运行

1、extract_features.py的第18行加上parser.add_argument("--downsample", default="4", type=str)

说明:设置一次。以防使用下采样4倍的数据集时报错。

2、特征提取。

python extract_features.py --image_root <path to the scene data> --sam_checkpoint_path <path to the pre-trained SAM model> --downsample <1/2/4/8>

例如:python extract_features.py --image_root data/360_v2/bicycle --sam_checkpoint_path dependencies/sam_ckpt/sam_vit_h.pth --downsample 4

3、mask生成。

python extract_segment_everything_masks.py --image_root <path to the scene data> --sam_checkpoint_path <path to the pre-trained SAM model> --downsample <1/2/4/8>

例如:python extract_segment_everything_masks.py --image_root data/360_v2/bicycle --sam_checkpoint_path dependencies/sam_ckpt/sam_vit_h.pth --downsample 4

4、预训练3DGS模型。

python train_scene.py -s <path to COLMAP or NeRF Synthetic dataset>

例如:python train_scene.py -s data/360_v2/bicycle

5、训练三维特征。

python train_contrastive_feature.py -m <path to the pre-trained 3DGS model>

例如:python train_contrastive_feature.py -m output/1c7b8dc0-0

其中:1c7b8dc0-0是预训练的3DGS模型

6、分割。

执行prompt_segmenting.ipynb,也可以将其另存为prompt_segmenting.py并执行

其中需要设置这些参数:

参数

参数值

DATA_ROOT

data/360_v2/bicycle

MODEL_PATH

./output/1c7b8dc0-0

FEATURE_GAUSSIAN_ITERATION

30000

SAM_CKPT_PATH

./dependencies/sam_ckpt/sam_vit_h.pth

mask_id

0,1,2

input_point

Np.array([[392,500]])

说明:

(1)mask_id根据需要设置为0或1或2。

(2)input_point:提示点。来源于数据集的第一张图片。例如使用下采样4倍后的数据集,那么应该使用images_4的第一张图片来指定提示点。此处使用了一个提示点。实际训练时根据需要可使用多个提示点。

7、在SIBR_Viewers工具中执行:./install/bin/SIBR_gaussianViewer_app -m output/1c7b8dc0-0

说明:

(1)需要把seg_no_mask_point_cloud.ply重命名为point_cloud.ply。

(2)-m后面的是模型的路径。

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值