发布日期:2024-09-25 13:34 点击次数:118
Inpaint Anything 不错拓荒图像、视频和3D 场景中的任何本体!maose
TL; DR:用户不错通过单击来选择图像中的任何对象。借助巨大的视觉模子,举例SAM、LaMa和富厚扩散 (SD),Inpaint Anything粗略告成地移除对象(即Remove Anything)。此外,在用户输入文本的指示下,Inpaint Anything 不错用任何思要的本体填充对象(即Fill Anything)或纵情替换其布景(即Replace Anything)。
新闻
[2023/9/15]Remove Anything 3D代码可用![2023/4/30]Remove Anything 视频可用!您不错从视频中删除任何对象![2023/4/24]援手土产货 Web UI!您不错在土产货启动演示网站![2023/4/22]网站可用!您不错通过界面体验 Inpaint Anything![2023/4/22]Remove Anything 3D可用!您不错从 3D 场景中删除任何 3D 对象![2023/4/13]arXiv 上的时候证据可用!
功能
移除任何本体填充纵情本体替换任何本体删除任何3D本体(新功能)填充纵情3D本体替换任何3D本体删除任何视频(新功能)填充当何视频替换任何视频
亮点
援手纵情宽高比援手2K别离率arXiv 上的时候证据可用(新)网站已上线 (新)土产货网页用户界面可用(新)援手多种风景(即图像、视频和 3D 场景)(新)
删除悉数本体
单击图像中的某个对象,Inpainting Anything 将立行将其删除!
点击一个对象;分割任何模子(SAM)将对象分割出来;拓荒模子(举例,LaMa)填补了“朦拢”。
安设
需要
python>=3.8
python -m pip install torch torchvision torchaudiopython -m pip install -e segment_anythingpython -m pip install -r lama/requirements.txt
在 Windows 中,咱们冷落您最初安设miniconda并以不停员身份掀开。然后 pip install./lama_requirements_windows.txt而不是./lama/requirements.txt。
Anaconda Powershell Prompt (miniconda3)
用法
下载Segment Anything和LaMa中提供的模子搜检点(举例sam_vit_h_4b8939.pth和big-lama),并放入。 为了通俗起见,你也不错赶赴这里,平直下载pretrained_models,将目次放入,即可得回。
./pretrained_models
./pretrained_models
关于 MobileSAM,sam_model_type 应使用“vit_t”,sam_ckpt 应使用“./weights/mobile_sam.pt”。关于 MobileSAM 技俩,请参阅MobileSAM
bash script/remove_anything.sh
指定一个图像和一个点,“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
若是你的机器有流露设备,不错改为。若是诞生了,启动上述敕令后,图像就会流显露来。(1)使用左键单击纪录单击的坐标。它援手修改点,而且只纪录临了一个点的坐标。(2)使用右键单击完成选择。
--coords_type key_in
--coords_type click
click
演示
填充纵情本体
单击一个对象,输入您思要填充的本体,Inpaint Anything 就会填充它!
点击一个对象;SAM将物体分割出来;输入文本指示;文本指示带领的拓荒模子(举例,富厚扩散)凭据文本填补“朦拢”。
安设
需要
python>=3.8
python -m pip install torch torchvision torchaudiopython -m pip install -e segment_anythingpython -m pip install diffusers transformers accelerate scipy safetensors
用法
下载Segment Anything中提供的模子搜检点(举例sam_vit_h_4b8939.pth)并放入。为了通俗起见,您也不错赶赴,平直下载pretrained_models,色影院将目次放入,即可得回。
./pretrained_models
./pretrained_models
关于 MobileSAM,sam_model_type 应使用“vit_t”,sam_ckpt 应使用“./weights/mobile_sam.pt”。关于 MobileSAM 技俩,请参阅MobileSAM
bash script/fill_anything.sh
指定图像、点和文本指示,然后启动:
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将物体分割出来;输入文本指示;文本指示带领的拓荒模子(举例,富厚扩散)凭据文本替换布景。
安设
需要
python>=3.8
python -m pip install torch torchvision torchaudiopython -m pip install -e segment_anythingpython -m pip install diffusers transformers accelerate scipy safetensors
用法
下载Segment Anything中提供的模子搜检点(举例sam_vit_h_4b8939.pth)并放入。 为了通俗起见,您也不错赶赴,平直下载pretrained_models,将目次放入即可。
./pretrained_models
./pretrained_models
关于 MobileSAM,sam_model_type 应使用“vit_t”,sam_ckpt 应使用“./weights/mobile_sam.pt”。关于 MobileSAM 技俩,请参阅MobileSAM
bash script/replace_anything.sh
指定图像、点和文本指示,然后启动:
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 就不错从通盘场景中删除该对象!
单击源视图的第一个视图中的一个对象;SAM将对象分割出来(使用三个可能的掩码);选择一个面具;哄骗OSTrack等追踪模子来追踪这些视图中的对象;SAM凭据追踪后果在每个源视图平分割出对象;哄骗LaMa等拓荒模子来拓荒每个源视图中的对象。哄骗NeRF等新颖视图合成模子来合成莫得物体的场景的新颖视图。
安设
需要
python>=3.8
python -m pip install torch torchvision torchaudiopython -m pip install -e segment_anythingpython -m pip install -r lama/requirements.txtpython -m pip install jpeg4py lmdb
用法
下载Segment Anything和LaMa中提供的模子 checkpoint(如sam_vit_h_4b8939.pth),放入。 另外,从这里下载OSTrack预现实模子(如vitb_384_mae_ce_32x4_ep300.pth)放入。 另外,下载 [nerf_llff_data](如horns),放入。 为了通俗起见,你也不错到这里,平直下载pretrained_models,将目次放入,即可得回。 另外,下载pretrain,将目次放入,即可得回。
./pretrained_models
./pytracking/pretrain
./example/3d
./pretrained_models
./pytracking
./pytracking/pretrain
关于 MobileSAM,sam_model_type 应使用“vit_t”,sam_ckpt 应使用“./weights/mobile_sam.pt”。关于 MobileSAM 技俩,请参阅MobileSAM
bash script/remove_anything_3d.sh
指定一个 3d 场景、一个点、场景建立和遮罩索引(指令使用第一个视图的哪个遮罩后果),然后 Remove Anything 3D 将从通盘场景中删除该对象。
python remove_anything_3d.py \--input_dir ./example/3d/horns \--coords_type key_in \--point_coords 830 405 \--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 \--mask_idx 1 \--config ./nerf/configs/horns.txt \--expname horns
推特 男同经常诞生为 1,这经常是第一帧最真确的掩码后果。若是对象莫得被很好地分割出来,你不错尝试其他掩码(0 或 2)。
删除悉数视频
只需单击视频第一帧中的某个对象,“Remove Anything Video”即可从通盘视频中删除该对象!
点击视频第一帧中的某个对象;SAM将对象分割出来(使用三个可能的掩码);选择一个面具;哄骗OSTrack等追踪模子来追踪视频中的对象;SAM凭据追踪后果在每帧平分割出物体;哄骗STTN等视频拓荒模子来拓荒每一帧中的对象。
安设
需要
python>=3.8
python -m pip install torch torchvision torchaudiopython -m pip install -e segment_anythingpython -m pip install -r lama/requirements.txtpython -m pip install jpeg4py lmdb
用法
下载Segment Anything和STTN中提供的模子搜检点(举例sam_vit_h_4b8939.pth和sttn.pth),并将它们放入。此外,从这里下载OSTrack预现实模子(举例vitb_384_mae_ce_32x4_ep300.pth)并将其放入。为了通俗起见,您也不错赶赴这里,平直下载pretrained_models,将目次放入并获取。另外,下载pretrain,将目次放入并获取。
./pretrained_models
./pytracking/pretrain
./pretrained_models
./pytracking
./pytracking/pretrain
关于 MobileSAM,sam_model_type 应使用“vit_t”,sam_ckpt 应使用“./weights/mobile_sam.pt”。关于 MobileSAM 技俩,请参阅MobileSAM
bash script/remove_anything_video.sh
指定一个视频、一个点、视频 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,这经常是第一帧最真确的掩码后果。若是对象莫得被很好地分割出来,你不错尝试其他掩码(0 或 1)。
演示
素材着手于聚积maose,致谢!