开源
Segment Anything:开源的图像修复算法
来源:元经纪     阅读:2028
网站管理员
发布于 2023-06-21 09:58
查看主页

概述

Segment Anything可以修复图像视频3D 场景中的任何内容!

删除任何东西

单击图像中的一个对象,Inpainting Anything 将立即将其删除

安装

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

要求python>=3.8

python -m pip install torch torchvision torchaudio
python -m pip install -e segment_anything
python -m pip install -r lama/requirements.txt

在 Windows 中,我们建议您先安装miniconda并以管理员身份打开Anaconda Powershell Prompt (miniconda3)。然后 pip install ./lama_requirements_windows.txt而不是 ./lama/requirements.txt

用法

下载Segment AnythingLaMa中提供的模型检查点(例如sam_vit_h_4b8939.pthbig-lama),并将它们放入./pretrained_models. 为了简单起见,你也可以到这里,直接下载pretrained_models,放到目录下./得到./pretrained_models

指定一个图像和一个点,Remove Anything 将删除该点处的对象。

python remove_anything.py \
    --input_img ./example/remove-anything/dog.jpg \
    --coords_type key_in \
    --point_coords 200 450 \
    --point_labels 1 \
    --dilate_kernel_size 15 \
    --output_dir ./results \
    --sam_model_type "vit_h" \
    --sam_ckpt ./pretrained_models/sam_vit_h_4b8939.pth \
    --lama_config ./lama/configs/prediction/default.yaml \
    --lama_ckpt ./pretrained_models/big-lama

如果您的机器有显示设备,您可以更改--coords_type key_in为。--coords_type click如果click设置,运行上面的命令后,将显示图像。(1) 使用鼠标左键记录点击的坐标。支持修改点,只记录最后一点坐标。(2) 使用右键单击完成选择。

随便填一个文字内容

文字提示:“长凳上的泰迪熊”

单击一个对象,输入您想要填充的内容,Inpaint Anything 将填充它!

  • 单击一个对象;
  • SAM将对象分割出来;
  • 输入文字提示;
  • 文本提示引导的修复模型(例如,稳定扩散)根据文本填充“孔”。

安装

要求python>=3.8

python -m pip install torch torchvision torchaudio
python -m pip install -e segment_anything
python -m pip install diffusers transformers accelerate scipy safetensors

用法

下载Segment Anything中提供的模型检查点(例如sam_vit_h_4b8939.pth)并将它们放入./pretrained_models. 为了简单起见,你也可以到这里,直接下载pretrained_models,放到目录下./得到./pretrained_models

指定图像、点和文本提示,然后运行:

python fill_anything.py \
    --input_img ./example/fill-anything/sample1.png \
    --coords_type key_in \
    --point_coords 750 500 \
    --point_labels 1 \
    --text_prompt "a teddy bear on a bench" \
    --dilate_kernel_size 50 \
    --output_dir ./results \
    --sam_model_type "vit_h" \
    --sam_ckpt ./pretrained_models/sam_vit_h_4b8939.pth

替换任何东西

文字提示:“办公室里的男人”

单击一个对象,输入要替换的背景,Inpaint Anything 将替换它!

  • 单击一个对象;
  • SAM将对象分割出来;
  • 输入文字提示;
  • 文本提示引导的修复模型(例如,Stable Diffusion)根据文本替换背景。

安装

要求python>=3.8

python -m pip install torch torchvision torchaudio
python -m pip install -e segment_anything
python -m pip install diffusers transformers accelerate scipy safetensors

用法

下载Segment Anything中提供的模型检查点(例如sam_vit_h_4b8939.pth)并将它们放入./pretrained_models. 为了简单起见,你也可以到这里,直接下载pretrained_models,放到目录下./得到./pretrained_models

指定图像、点和文本提示,然后运行:

python replace_anything.py \
    --input_img ./example/replace-anything/dog.png \
    --coords_type key_in \
    --point_coords 750 500 \
    --point_labels 1 \
    --text_prompt "sit on the swing" \
    --output_dir ./results \
    --sam_model_type "vit_h" \
    --sam_ckpt ./pretrained_models/sam_vit_h_4b8939.pth

删除任何 3D对象

Remove Anything 3D 可以从 3D 场景中删除任何对象!

删除任何视频

只需单击第一个视频帧中的某个对象,Remove Anything Video 就可以从整个视频中删除该对象!

  • 单击视频第一帧中的对象;
  • SAM将对象分割出来(使用三个可能的掩码);
  • 选择一个面具;
  • 利用OSTrack等跟踪模型对视频中的目标进行跟踪;
  • SAM根据跟踪结果将每一帧的物体分割出来;
  • 利用STTN等视频修复模型对每一帧中的对象进行修复。

安装

要求python>=3.8

python -m pip install torch torchvision torchaudio
python -m pip install -e segment_anything
python -m pip install -r lama/requirements.txt
python -m pip install jpeg4py lmdb

用法

下载Segment AnythingSTTN中提供的模型检查点(例如sam_vit_h_4b8939.pthsttn.pth),并将它们放入./pretrained_models此外,从此处下载OSTrack预训练模型(例如vitb_384_mae_ce_32x4_ep300.pth)并将其放入. 为了简单起见,你也可以到这里,直接下载pretrained_models,放到目录下得到。另外,下载pretrain,将目录放入并获取。./pytracking/pretrain././pretrained_models./pytracking./pytracking/pretrain

指定一个视频、一个点、视频 FPS 和蒙版索引(指示使用第一帧的蒙版结果),然后 Remove Anything Video 将从整个视频中删除该对象。

python remove_anything_video.py \
    --input_video ./example/video/paragliding/original_video.mp4 \
    --coords_type key_in \
    --point_coords 652 162 \
    --point_labels 1 \
    --dilate_kernel_size 15 \
    --output_dir ./results \
    --sam_model_type "vit_h" \
    --sam_ckpt ./pretrained_models/sam_vit_h_4b8939.pth \
    --lama_config lama/configs/prediction/default.yaml \
    --lama_ckpt ./pretrained_models/big-lama \
    --tracker_ckpt vitb_384_mae_ce_32x4_ep300 \
    --vi_ckpt ./pretrained_models/sttn.pth \
    --mask_idx 2 \
    --fps 25

通常设置为 2,这--mask_idx通常是第一帧最有信心的蒙版结果。如果对象没有很好地分割出来,您可以尝试其他蒙版(0 或 1)。

[/hidecontent]

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
微软游戏部门再次裁员
3599元起买吗!RTX 5060 Ti 16GB完整规格流出
decentradit:如何构建自己的web3 Ethereum社交网络
纪录片《单挑荒野:水之章》开播 德爷时隔7年经典IP回归
脑机接口研究工作组

首页

分类

定制方案

消息

我的