当前位置:   article > 正文

HQ-SAM代码复现

HQ-SAM代码复现

代码地址SysCV/sam-hq: Segment Anything in High Quality [NeurIPS 2023] (github.com)

一:快速安装

适用于已经配好环境,可以直接上手使用。对于新手不推荐使用这种方式,不太容易看懂。

  1. pip install segment-anything-hq
  2. python
  3. from segment_anything_hq import sam_model_registry
  4. model_type = "<model_type>" #"vit_l/vit_b/vit_h/vit_tiny"
  5. sam_checkpoint = "<path/to/checkpoint>"
  6. sam = sam_model_registry[model_type](checkpoint=sam_checkpoint)
  1. from segment_anything_hq import sam_model_registry
  2. model_type = "<model_type>" #"vit_l/vit_b/vit_h/vit_tiny"
  3. sam_checkpoint = "<path/to/checkpoint>"
  4. sam = sam_model_registry[model_type](checkpoint=sam_checkpoint)

这段代码的意思是找到这个 segment_anything_hq 所在的位置,然后修改下面模型的名字和模型的地址。 

可以通过运行下面这个命令具体使用用例

  1. export PYTHONPATH=$(pwd)
  2. python demo/demo_hqsam_pip_example.py

二:标准安装

2.1环境配置

需要的环境有PyTorch和TorchVision依赖项,安装支持CUDA的PyTorch和TorchVision。

PyTorch官网地址Start Locally | PyTorch

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

具体安装Pytorch可以查看这篇文章在PyCharm中安装Pytorch的GPU版本-CSDN博客

我这边做一个简单的介绍,在官网中找到符合自己型号的cuda,然后复制下面的命令到PyCharm中去下载。

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

2.2在本地克隆储存库并使用

git clone https://github.com/SysCV/sam-hq.git
cd sam-hq; pip install -e .

2.3安装依赖项

用于掩码后处理,以COCO格式保存掩码、示例笔记本以及ONNX格式导出模型是必需的。juptyer也需要运行notebooks。

pip install opencv-python pycocotools matplotlib onnxruntime onnx timm

2.4conda环境的创建

  1. conda create --name sam_hq python=3.8 -y
  2. conda activate sam_hq
  3. conda install pytorch==1.10.0 torchvision==0.11.0 cudatoolkit=11.1 -c pytorch -c nvidia
  4. pip install opencv-python pycocotools matplotlib onnxruntime onnx timm
  5. # under your working directory
  6. git clone https://github.com/SysCV/sam-hq.git
  7. cd sam-hq
  8. pip install -e .
  9. export PYTHONPATH=$(pwd)

2.5模型检查点

HQ-SAM模型有三种不同的型号版本,对应不用的主干尺寸。这些模型可以直接使用。

我们首先先创建一个文件夹,文件夹就按这下面的命令创建。然后把下载的模型放到这个文件夹中。

mkdir pretrained_checkpoint

然后下载模型 ,由下面这张图我们可以看出,由B到L,再到H,模型的大小是越来越来大的,对应的推理速度也是越来越慢。

  1. from segment_anything import sam_model_registry
  2. sam = sam_model_registry["<model_type>"](checkpoint="<path/to/checkpoint>")

上面这段代码的意思是,找到segment_anything所在的模块,然后修改下面模型的名称和模型的位置。模型在以下这个位置。

修改下面这两个地方。

2.6开始使用

配置完环境,修改完路径和名称就可以使用了。

要想获得HQ-SAM的视觉效果

python demo/demo_hqsam.py

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/304460?site
推荐阅读
相关标签
  

闽ICP备14008679号