什么是 Lama Cleaner ?
Lama Cleaner
是由SOTA AI
模型提供支持的图像修复工具。可以从图片中移除任何不需要的物体、缺陷和人,或者擦除并替换(powered by stable diffusion
)图片上的任何东西。
Lama Cleaner
分为 GPU
版本和 CPU
版本,这两个版本的体积相差巨大,老苏猜测CPU
版本应该是个精简版,没有内置 stable diffusion
,因此是不支持替换功能的,能否修复旧照片,目前这款开源工具在github上也是有12kstar:关于安装方式,官方也提供了多种方式,我这边实验的话,是用的pip方式,非常简单,安装好python环境,直接pip装包,执行启动命令后,直接在网页端打开就好,真实即开即用。
如果觉得部署麻烦,还可以在文章末尾下载软件版使用
也是用的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
,双击运行:
会弹出cmd窗口自动下载安装所需的环境,整个下载过程根据网络情况不同,可能有快有慢(有魔法最好开启魔法),不要着急,安静等待,如果安装过程因网络问题出现错误导致失败也没有关系,重新运行
win_config.bat
即可,如下:
直到出现下面的界面:
此时会自动从浏览器打开配置页面,网址为 http://127.0.0.1:7860/
,如下:
参照上图进行设置,然后点击网页顶部的
Save configurations
保存。
使用
前面准备工作已完成,现在开始使用,切换到
lama-cleaner
文件夹,双击运行win_start.bat
弹出cmd窗口,首次运行时会自动开始下载 lama 模型文件,如下:
下载完成后,会自动打开
lama-cleaner
的 GUI 窗口,如下:
这时候就可以使用了,去水印操作也非常简单,可以点击中间区域导入需要处理的图片,也可以直接将图片拖进来,图片导入后,根据水印大小结合下方的
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 工具,运行起来就可以直接使用。原始图片:
处理后图片:
前后图片对比: