Lama Cleaner是一个免费的、开源的、完全自托管的修复工具,里面提供了很多最前沿的AIGC模型。可以使用它从图片中删除任何不需要的物体、缺陷、人物,或删除和替换图片上的任何内容。本文章详细介绍了该工具的所有功能,并体验了下每个功能的实际效果。
一 安装
# pip直接安装
pip install lama-cleaner
本文安装时版本更新到1.2.5
二 Paint By Example图像物体插入
github:https://github.com/Fantasy-Studio/Paint-by-Example
paper:Paint by Example: Exemplar-based Image Editing with Diffusion Models
因为需要的数据集无法构建,提出替代方案,用一张图的检测框作为mask,框里面的图就是参考图。把参考图里面的目标还原回原始图里。把还原回来的图和真实的原图做损失计算。
为了保证该方法不偷懒,直接学复制粘贴操作。分别提出下面两点创新:
利用预训练的SD作初始化,把参考图提取特征后只保留CLS的token,再通过Cross Attention的方式,加上一些额外的全连接层到扩散过程中去解码特征。避免图像特征给多了让神经网络偷懒。
参考图做数据增强,(反转,平移等),检测框的mask形状做更多的随机调整,模拟真实性。
下面的操作就是先是选定两张图片,一张为要放置物体的原图(该原图要涂要添加物体的区域),另外一张为物体图像(将图片中的物体放在第一张图片的指定区域)
自动下载模型的指令
lama-cleaner --model=paint_by_example --device=cuda --port=8080
手动下载模型的指令
把https://huggingface.co/Fantasy-Studio/Paint-by-Example/tree/main的模型都下载,保存在某个目录中
lama-cleaner --model=paint_by_example --device=cuda --port=8080 --sd-local-model-path=/home/***/Fantasy-Studio/Paint-by-Example
备注:绝对路径和相对路径