0


免费开源的图片修复工具Lama Cleaner

在这里插入图片描述

什么是 Lama Cleaner ?

Lama Cleaner

是由

SOTA AI

模型提供支持的图像修复工具。可以从图片中移除任何不需要的物体、缺陷和人,或者擦除并替换(

powered by stable diffusion

)图片上的任何东西。

看看官方提供的视频,应该比较容易理解其功能

Lama Cleaner 0.24.0 示例

其实主要功能就

3

项:

  1. 删除图像上不需要的东西;
  2. 修复旧照片;
  3. 替换图片上的东西;
Lama Cleaner

分为

GPU

版本和

CPU

版本,这两个版本的体积相差巨大,老苏猜测

CPU

版本应该是个精简版,没有内置

stable diffusion

,因此是不支持替换功能的,能否修复旧照片,老苏没试,因为手上没有

在这里插入图片描述

GPU

版本的要求最起码应该是要有

Nvidia

显卡的,具体型号老苏没用过也不懂,反正老苏的小机器上只有集显,也就只能选择

CPU

版随便玩玩

  • cuda11.6
  • pytorch1.12.1
  • minimum nvidia driver 510.39.01+
CPU

版镜像下载后大约是

2G

,

GPU

版保守估计

10G

,大家要留好空间

安装

在群晖上以 Docker 方式安装。

在注册表中搜索

lama-cleaner

,选择第二个

cwq1913/lama-cleaner

,版本老苏选的是

cpu-0.26.1

如果你的机器有

Nvidia

显卡,可以试试

gpu

的版本

在这里插入图片描述

docker

文件夹中,创建一个新文件夹

lama

,并在其中建两个子文件夹,分别是

huggingface_cache

torch_cache

文件夹装载路径说明

docker/lama/huggingface_cache
/root/.cache/huggingface

存放

sd1.5

模型

docker/lama/torch_cache
/root/.cache/torch

存放

lama/ldm/zits/mat/fcf

模型

对于

stable-diffusion 1.5

模型,您需要接受访问条款,并获取

access token

,具体方法请自行研究官方文档,因为

cpu

版本不涉及这个模型的下载和使用;

在这里插入图片描述

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用netstat-tunlp|grep 端口号

本地端口容器端口

8184
8184

默认的容器端口是

8080

可以通过命令行修改,这里老苏用了

8184

环境

没有用到环境变量,但是用了命令行,这个我们之前说过,命令行只有第一次生效,所以别忘记了,因为我们前面改了容器端口

命令

中输入

lama-cleaner --device cpu --port8184--host0.0.0.0

在这里插入图片描述

命令行安装

如果你熟悉命令行,可能用

docker cli

更快捷

# 新建文件夹 lama 和 子目录mkdir-p /volume2/docker/lama/{huggingface_cache,torch_cache}# 进入 lama 目录cd /volume2/docker/lama

# 运行容器docker run -d\--restart unless-stopped \--name lama-cleaner \-p8184:8184 \-v$(pwd)/torch_cache:/root/.cache/torch \-v$(pwd)/huggingface_cache:/root/.cache/huggingface \
   cwq1913/lama-cleaner:cpu-0.26.1 \
   lama-cleaner --device=cpu --port=8184--host=0.0.0.0

在这里插入图片描述

也可以用

docker-compose

安装,将下面的内容保存为

docker-compose.yml

文件

version:'3'services:lamecleaner:image: cwq1913/lama-cleaner:cpu-0.26.1
    container_name: lama-cleaner
    restart: unless-stopped
    ports:- 8184:8184volumes:- ./torch_cache:/root/.cache/torch
      - ./huggingface_cache:/root/.cache/huggingface
    command: lama-cleaner --device=cpu --port=8184 --host=0.0.0.0

换一种

command

写法也是可以的

command:- lama-cleaner 
      ---device=cpu 
      ---port=8184 
      ---host=0.0.0.0

还可以写成

command:["lama-cleaner","--device=cpu","--port=8184","--host=0.0.0.0"]

老苏之所以跟研究茴香豆的“茴”字到底有几种写法一样研究

command

的写法,是因为几种安装方式都存在差异,尤其是图形化安装时,因为写了

=

号导致容器一直起不来,总是隔一段时间就忘记,真是受不了自己;

然后执行下面的命令

# 新建文件夹 lama 和 子目录mkdir-p /volume2/docker/lama/{huggingface_cache,torch_cache}# 进入 lama 目录cd /volume2/docker/lama

# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d

运行

第一次启动失败了,从日志看,需要下载

Downloading: "https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt" to /root/.cache/torch/hub/checkpoints/big-lama.pt

所以第一种方法是将

github.com

加入科学上网的白名单,再次启动容器就开始下载了

在这里插入图片描述

看到

* Running on http://0.0.0.0:8184/ (Press CTRL+C to quit)

,就可以开始使用了

在这里插入图片描述

下载的

big-lama.pt

/docker/lama/torch_cache/hub/checkpoints

目录中

在这里插入图片描述

所以第二种方式是,如果你的群晖不能科学上网的话,你可以借助

ghproxy

,直接下载这个模型文件丢到上面的目录中

# 通过代理下载模型文件的地址
https://ghproxy.com/github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt

当然这是

CPU

版,需要的模型比较少,如果是

GPU

版的话,估计模型会更多,注意看日志吧

使用

在浏览器中输入

http://群晖IP:8184

就能看到主界面

老苏随便选了一张,准备把中间的小刺猬抹掉

在这里插入图片描述

这个效果怎么样?

在这里插入图片描述

对比原始图看看,灯是被遮挡了的缘故,所以是无法还原的,远处的云和山不放大看细节,还原度还是可以的,起码不会一眼穿帮吧

在这里插入图片描述

参考文档

Sanster/lama-cleaner: Image inpainting tool powered by SOTA AI Model. Remove any unwanted object, defect, people from your pictures or erase and replace(powered by stable diffusion) any thing on your pictures.
地址:https://github.com/Sanster/lama-cleaner


本文转载自: https://blog.csdn.net/wbsu2004/article/details/128311080
版权归原作者 杨浦老苏 所有, 如有侵权,请联系我们删除。

“免费开源的图片修复工具Lama Cleaner”的评论:

还没有评论