什么是 Lama Cleaner ?
Lama CleanerSOTA AIpowered by stable diffusion
Lama CleanerGPUCPUCPUstable diffusion
如果觉得部署麻烦,还可以在文章末尾下载软件版使用
也是用的luma这个模型
一、安装1、LaMa Cleaner最简单的安装方法是通过pip安装pip 是 Python 的包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。如果电脑上没安装python,那么去官网 python.org 下载3.7 ~ 3.10版本的安装包(亲测最新的3.11.2版不支持),默认安装已经自带了该工具。安装完python后,如果仍没有办法在终端中运行pip,请检查一下python安装目录下的scripts子目录是否已经加入了系统的Path变量中。pip安装是最简单的( 支持python 3.7 ~ 3.10)
pip install lama-cleaner
安装完成后,运行以下命令启动lama cleaner, 首次运行时会自动下载所需模型。
lama-cleaner --model=lama --device=cuda --port=8080
然后直接在浏览器访问:
http://localhost:8080
如果,我是说如果,你没有启动成功,或者报一些奇怪的问题,可以后台踢我,建议尽量自行百度解决。
更多其它使用方法可以去参考官方:https://lama-cleaner-docs.vercel.app/
2、如果不会pip也可以直接下载封装好的安装包我把目前最新版本的安装包文件(版本0.35.0)放在百度网盘上了,174M。文章末尾回复关键词下载!
安装
win_config.bat
win_config.bat
直到出现下面的界面:
http://127.0.0.1:7860/
Save configurations
使用
lama-cleanerwin_start.bat
弹出cmd窗口,首次运行时会自动开始下载 lama 模型文件,如下:
lama-cleaner
Brush
可以看到,效果杠杠的,速度也很快,可以说是立竿见影,当然,如果你没有独立显卡,使用CPU的话可能会慢一些。
关于模型(Model)在下文有详细的介绍,一般用lama即可;如果你电脑也没有支持CUDA的Nvidia显卡,选择CPU。最后点击页面顶端的“Save configrations”按钮,会在安装目录中保存成一个启动配置文件installer_config.json,这样下次启动lama cleaner时就会以相应的参数启动。最后关掉此页面,在终端窗口中按Ctrl+C键可结束此配置程序。在终端中运行.\win_start.bat命令,开始运行lama cleaner。如果有需要下载的模型支持包,会自动下载安装,如下图所示:
首次正常下载安装后,以后就不需要重复下载了。如果有异常,可反复运行win_start.bat。最终会成功启动lama cleaner。关掉cleaner窗口退出时,在终端中按任意键即可:
Lama cleaner界面及使用都很简单,不用过多解释,要点都在下图中标注了:
二、AI模型
这部分内容需要科学上网才可以在原网站看得到,为了方便我就翻译保存过来(由于我的机器没有支持CUDA的Nvidia显卡,所以我只实际测试了LaMa一个模型,其它模型在我机器上运行太慢不得不放弃测试。从介绍中看其它模型的效果还是非常令人期待的)。Lama Cleaner支持许多开箱即用的AI修复模型,这些模型可分为三类:1、擦除类(Erase)A. LaMa
LaMa是具有傅里叶卷积的分辨率稳健型大型掩模修复模型,由三星研究院官方实现。
文章开头的效果图,就是LaMa模型的。B. LDM
基于潜在扩散模型的高分辨率图像合成LDM 相比于LaMa:
- 👍 可能获得比 LaMa 更好、更有细节的结果
- 👍 通过调整步数(step)来获得处理时间和图片质量的平衡
- 😐 处理速度比LaMa模型慢的多 (3080 12it/s)
- 😐 需要更多的GPU内存 (512×512 5.8G)
以下为效果图对比:原图:
LaMa模型处理后:
LDM模型处理后:
C. ZITS
ZITS 相比于 LaMa:· 👍更好的整体结构
· 😐 线框模块在 CPU 上非常慢
以下为效果图对比:原图:
ZITS模型处理后:
LaMa模型处理后:
D.MAT: Mask-Aware Transformer for Large Hole Image Inpainting(用于大孔图像修复的掩模感知转换器)
就是在原图上大面积涂抹后,它仍能给画出个比较理想的效果来:
2、擦除和替换类(Erase and Replace)A.Stable Diffusion: 根据文字描述替换图片中的物体。
这个也挺牛,用文字描述就能替换图片中的物体。没办法发油管视频,截图示意如下:在提示框内输入A fox sitting on a bench(一只坐在长凳上的狐狸)就能把原图上的选中的小狗给换掉!
B.Paint by Example: 使用示例图像指导模型在图像上生成类似的内容。
啥也不用说了,看图吧:
3、图片编辑(Picture Editing)A.InstructPix2Pix: 使用文本说明编辑图片。
输入文本,就把原图给修改完了,神不神奇?!
三、其它事项
1、Interactive SegmentationLama Cleaner集成了一个Interactive Segmentation(交互式分段模型),开关在页面底部的工具栏内:。此模型使用鼠标左键单击可以自动选择需要擦除的部分,用鼠标右键可以自动从已选择的部分中去除误选择的部分。选择完成后,点击Accept按钮 开始擦除。2、Manual Inpainting Mode默认情况下,lama cleaner将在画笔涂抹结束松开鼠标左键后立即执行图片修复。可以在设置中启用手动修复模式:
在手动模式下,可以一次涂抹多处需要擦除的部分,然后点击工具栏内的橡皮擦图标一并执行擦除。
3、Inpainting Strategy(修图策略)Lama Cleaner提供了三种在图像上运行修复模型的方法,可以在设置中进行更改。三种方法对比如下:
封装好的软件下载(绿色版)该工具是对ama 模型进行的 2 次封装,开箱即用。免去了复杂的安装过程。本人实验过,对于一个人工智能新手来说,直接使用 lama 的教程估计几天都不一定成功。对于电脑没有显卡的也可以使用哦,启动工具的时候指定 cpu 模式就行了,具体可以查看仓库介绍。另外该仓库不仅封装了 lama 模型,还包括其它模型,比如 LDM,ZITS,可以在工具启动的时候指定使用哪个模型。该工具中还附带了 gui 工具,运行起来就可以直接使用。原始图片:
处理后图片:
前后图片对比: