-
Notifications
You must be signed in to change notification settings - Fork 400
AnyID‐LoraInpaintForAnyThing
anyid : 一键训练某一物体的Lora 并 一键应用在其他图片上更好的绘制
定位:
- 您可以用AnyID分支进行简便的物品(商品,衣物,动物)的LoRA训练
- 可以在上传的图片中涂抹部分区域使用训练好的物品进行替换,例如下图的猫猫就是训练的作者自己的猫猫。
注意: AnyID的推理目前仅支持,相似形状的衣物/物体 替换,算法仍在持续优化中,欢迎关注试用~
您可以直接使用分支Readme提供的镜像,一键拉起anyid分支的使用。
(使用前请进入EasyPhoto目录 git pull 至最新版)
也可以通过下面的方式进行手动的安装。
如您已经下载并体验了EasyPhoto插件的人脸版本(main),您可进入EasyPhoto 安装目录进行分支的切换来使用:
Step1: 进入EasyPhoto所在目录,键入git branch -a 查看本地及远程的所有分支。
git branch -a
若没有anyid 分支,请键入 git feth origin 拉取远程分支
git fetch
Step2: 切换分支
git checkout -b anyid remotes/origin/anyid
LightGlue官网地址:https://github.com/cvg/LightGlue
在终端中,(任意目录)运行下面的命令,来安装LightGlue(请注意需要安装在启动webui所在的python目录)
wget https://pai-vision-data-sh.oss-cn-shanghai.aliyuncs.com/aigc-data/easyphoto/models/LightGlue.zip
unzip LightGlue.zip
cd LightGlue
python -m pip install -e .
-
如windows环境未安装wget / unzip 命令,请手动下载并解压上方链接的zip包,在所用的python环境下,终端进入刚才解压的文件夹的目录,并 运行 python -m pip install -e . 命令。
-
秋叶安装包,单机右上角的启动命令提示符来进入终端。
执行完上述步骤后启动WebUI即可。
- 如启动后,遇LightGlue模型下载问题,可手动下载如下两个文件并放置在提示的目录里(可能需要修改相应的文件名)
- 【方式1】从WebUI 的网址下载安装
- 【方式2】手动下载 EasyPhoto 代码文件包,并参考上面的步骤切换到anyid分支
同上方介绍。
AnyID仍遵循EasyPhoto中的LoRA训练+ControlNet-based inpaint 链路。
我们通过LightGlue算法用上传的main图片对训练图片中的主体进行抠图,并排除异常(非当前ID数据),用于进行模型的训练。
请注意,所上传的main图片需尽可能的仅包含完整/正面的主体信息来更好的进行辅助抠图。
在训练完成后,您可切换至推理选项卡进行模型的推理。
上传一张需要替换的模版图片(template),并进行所要替换的区域的标注,点击生成即可完成推理。
整个推理大体上分为三步:
- Step1: 将main 图片与模版图片进行匹配,并完成初步贴图,得到用于控制的图像。
- Step2: 对贴图后的结果进行形状编辑,更好的使用模版的形状。【暂时关闭】
- Step3: 用SD模型根据输入图像及相关control进行inpaint,完成最终的模型推理。
名称 | 含义 | 默认值 |
---|---|---|
Diffusion Steps | Inpaint 推理步数 | 50 |
Diffusion denoising stength | Inpaint 重构系数 | 0.7 |
LoRA weight | LoRA 权重(越大越保留main特征) | 0.8 |
IoU Threshold | 匹配main和template的停止条件 (可达范围内越大越贴合,但搜索时间更长,可通过后台log查看优化过程) | 0.7 |
Angle | 贴图角度(启用优化时,作为初值,禁用时直接用于贴图) | 0.0 |
Ratio | 贴图放缩比例(同上) | 1.0 |
Batch Size | 出图数目 | 1 |
Refine Input Mask | 是否优化输入的Template mask | True |
Optimize Angle and Ratio | 是否优化贴图旋转角度及比例(关闭时直接使用angle,ratio) | True |
Refine Boundry | 是否优化边缘(开启后会对mask边界二次重绘) | True |
Pure Image | Main是否为颜色/花纹简单图像(开启后,整体色调保持与main主体一致,关闭后将由ipa先生成参考图像,用于保持原图花纹) | True |
Global Inpaint | 是否进行全图重绘。(开启后,出图更协调,但出图时间长,显存开销大。依赖于输入的模版图像本身的分辨率) | False |
您可在出图右侧查看结果,从左到右依次为:
- 直接inpaint结果
- refine boundary结果
- global inpaint结果
- first paste结果(贴图效果较差时,可考虑手动设置angle ratio并关闭优化)