MimicBrush:智能图像编辑新宠,能否革新你的创意设计?
一、介绍
MimicBrush 是一款由阿里巴巴和香港大学联合研发的图像编辑工具,它通过模仿参考图像,对目标图像选定区域进行自动局部编辑。以下是关于 MimicBrush 的详细介绍:
1.技术特点
- 智能匹配 :利用尖端 AI 技术,MimicBrush 能够智能识别源图像和参考图像之间的语义关系,实现精准的局部重绘效果。用户只需在源图像上标出需要编辑的区域,并提供一张参考图像,MimicBrush 便能自动捕捉两者之间的联系,完成编辑。
- 零样本编辑 :MimicBrush 在训练过程中,通过随机选择视频剪辑中的两帧,遮盖其中一帧的某些区域,并学习使用另一帧的信息恢复这些被遮盖的区域。这种方式使得模型能够自监督地捕捉不同图像之间的语义对应关系,实现零样本图像编辑。
- 易于操作 :用户无需具备专业的图像编辑技能,只需进行简单的操作即可完成复杂的图像编辑任务。例如,在源图像上绘制蒙版,然后上传参考图像,MimicBrush 便能自动完成编辑。
2.应用场景
- 电商商品展示 :在电商领域,MimicBrush 可以用于商品图片的编辑和美化,提高商品的展示效果。
- 图片编辑和内容迁移 :无论是专业的图片编辑人员还是普通用户,都可以使用 MimicBrush 进行快速、高效的图片编辑和内容迁移。
- 创意设计 :设计师可以利用 MimicBrush 进行创意设计,将不同图像的元素融合在一起,创造出独特的视觉效果。
3.技术原理
MimicBrush 的技术原理主要基于深度学习模型,特别是两种 U-Net 结构:“imitative U-Net”和“reference U-Net”。这两个 U-Net 之间会进行信息交互,帮助系统定位出参考图像中对应的区域。在训练过程中,模型会学习如何从参考图像中提取特征,并将其应用到源图像的指定区域中。
4.开源与社区
MimicBrush 已经作为开源项目发布在 GitHub 上(地址:https://github.com/ali-vilab/MimicBrush),用户可以直接下载并使用该工具。此外,还有相关的论文和项目主页可供学习和参考(论文地址:https://arxiv.org/abs/2406.07547,项目主页:https://xavierchen34.github.io/MimicBrush-Page)。
二、容器构建说明
建议使用 RTX3060+12G 及以上 显卡
1. 安装 miniconda
进入 Anaconda 官网:
Miniconda — Anaconda 文档
找到快速命令行安装,选择 Linux 系统,复制代码进入终端进行安装。
等待安装完成。
2. 安装并更新基础命令,让后续使用更快捷: unzip、lsof、git、git-lfs
apt-get update
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs
3. 克隆项目仓库,并打开文件
git clone https://github.com/ali-vilab/MimicBrush.git
cd MimicBrush
4. 创建 python 为 3.11版本的虚拟环境,名称为mimi
conda create -n mimi python=3.11 -y
5. 激活虚拟环境mimi
conda activate mimi
6. 安装项目依赖文件及相应包
pip install -r requirements.txt
7.改代码添加进py文件,自动下载相应模型
进入/MimicBrush/run_gradio3_demo.py
将以下代码添加进py文件
from modelscope.hub.snapshot_download import snapshot_download as ms_snapshot_download
sd_dir = ms_snapshot_download('xichen/cleansd', cache_dir='./modelscope')
print('=== Pretrained SD weights downloaded ===')
model_dir = ms_snapshot_download('xichen/MimicBrush', cache_dir='./modelscope')
print('=== MimicBrush weights downloaded ===')
例如
8.改地址添加进yaml文件
进入/MimicBrush/configs/inference.yaml
将红框部分代码进行替换
替换为
model_path:
mimicbrush_ckpt_path: /MimicBrush/modelscope/xichen/MimicBrush/mimicbrush/mimicbrush.bin
pretrained_reference_path: /MimicBrush/modelscope/xichen/cleansd/stable-diffusion-v1-5
pretrained_imitativer_path: /MimicBrush/modelscope/xichen/cleansd/stable-diffusion-inpainting
pretrained_vae_name_or_path: /MimicBrush/modelscope/xichen/MimicBrush/sd-vae-ft-mse
image_encoder_path: /MimicBrush/modelscope/xichen/MimicBrush/image_encoder
depth_model: /MimicBrush/modelscope/xichen/MimicBrush/depth_model/depth_anything_vitb14.pth
9. 指定端口,运行 py 文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅)
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
python run_gradio3_demo.py
耐心等待
下载完成后运行成功,出现以下显示
三、网页演示
运行成功后获取访问链接,进入 webUI 界面后即可操作