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 Anything和LaMa中提供的模型检查点(例如sam_vit_h_4b8939.pth和big-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 将填充它!
要求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 将替换它!
要求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
Remove Anything 3D 可以从 3D 场景中删除任何对象!
只需单击第一个视频帧中的某个对象,Remove Anything Video 就可以从整个视频中删除该对象!
要求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 Anything和STTN中提供的模型检查点(例如sam_vit_h_4b8939.pth和sttn.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]