文章目录
- 引言
- 安装
- Demo
github: https://github.com/Atlas-wuu/Inpaint-Anything-Description
引言
前段时间看了万物分割SAM、文生图Stable Diffusion、开集检测Grounding DINO,它们之间可以互相补充,AIGC变得更加可控。Inpaint Anything将SAM与Stabel Diffusion结合,通过人工选择目标point的方式进行目标替换。
通过人工选择point交互,生成效率比较低,因此假期开发了Inpaint-Anything-Description,通过输入原始图片、图中需要替换的目标文本描述及替换后目标的文本描述即可。
安装
- 通过conda创建python>=3.8的虚拟环境
conda create -n inpaint python=3.8
conda activate inpaint
- 从GitHub clone代码
git clone https://github.com/Atlas-wuu/Inpaint-Anything-Description.git
- 安装相关库
安装 torch
cd Inpaint-Anything-Description
pip install torch torchvision torchaudio
安装SAM
pip install -e segment_anything
安装Stable Diffusion
pip install diffusers transformers accelerate scipy safetensors
安装GroundingDINO
cd GroundingDINO
pip install -q -e .
Demo
src_prompt表示待替换目标描述;
dst_prompt表示替换后目标描述;
python fill_anything_str.py \
--input_img ./example/fill-anything/sample1.png \
--src_prompt "white dog" \
--dst_prompt "bear" \
--dilate_kernel_size 50 \
--output_dir ./results \
--grounddino_model_type "swin_t" \
--grounddino_ckpt ./pretrained_models/groundingdino_swint_ogc.pth \
--sam_model_type "vit_h" \
--sam_ckpt ./pretrained_models/sam_vit_h_4b8939.pth
下图为原图中白色狗替换为熊,
–src_prompt “white dog”
–dst_prompt “bear”
|
|
|
下图为原图中公交车替换为骑车的人,
–src_prompt “bus”
–dst_prompt “a man riding bike”
|
|
|
👉👉👉如果觉得不错,感谢关注与🌟!