本地部署图片去水印工具
Lama Cleaner 介绍
Lama Cleaner是一款完全免费开源,而且没有分辨率限制的图片去水印、修复工具。Lama Cleaner,内置了多种AI 模型构建,功能相当的齐全。可用于快速去除图像中各种水印、物品、人物、字体、等对象,并支持老照片修复、文本替换图像内容等。
安装过程
Anaconda创建python 虚拟环境
conda create -n lama-clean python=3.11
注
python版本,3.7+ 即可,本次安装使用3.11 环境
conda activate lama-clean
pip安装lama-cleaner
pip install lama-cleaner -i https://pypi.tuna.tsinghua.edu.cn/simple
启动lama-cleaner
lama-cleaner --model=lama --device=cpu --port=9088 --gui
注
本机使用的是macbookpro m2pro处理器,所以使用cpu模式,如果是windows 且有nvidia 处理器,可以利用gpu进行处理,启动命令如下:
lama-cleaner --model=lama --device=cuda --port=9090 --gui
查看lama-cleaner界面
http://127.0.0.1:9090/
FAQ 启动报错处理
下载模型文件失败
(lama-clean) dftshine@zhangleideMacBook-Pro lama % lama-cleaner --model=lama --device=cpu --port=9090 --gui
- Platform: macOS-13.0-arm64-arm-64bit
- Python version: 3.11.13
- torch: 2.7.1
- torchvision: 0.22.1
- Pillow: 11.3.0
- diffusers: 0.16.1
- transformers: 4.27.4
- opencv-python: 4.12.0.88
- xformers: N/A
- accelerate: N/A
- lama-cleaner: 1.2.5
- rembg: N/A
- realesrgan: N/A
- gfpgan: N/A
/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/site-packages/lama_cleaner/model/ldm.py:272: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.
@torch.cuda.amp.autocast()
[W712 13:22:23.481466000 init.cpp:768] Warning: nvfuser is no longer supported in torch script, use _jit_set_nvfuser_enabled is deprecated and a no-op (function operator())
Downloading: "https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt" to /Users/dftshine/.cache/torch/hub/checkpoints/big-lama.pt
Traceback (most recent call last):
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/urllib/request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/http/client.py", line 1303, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/http/client.py", line 1349, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/http/client.py", line 1298, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/http/client.py", line 1058, in _send_output
self.send(msg)
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/http/client.py", line 996, in send
self.connect()
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/http/client.py", line 1468, in connect
super().connect()
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/http/client.py", line 962, in connect
self.sock = self._create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/socket.py", line 863, in create_connection
raise exceptions[0]
File "/Users/dftshine/anaconda3/envs/lama-clean/lib/python3.11/socket.py", line 848, in create_connection
sock.connect(sa)
TimeoutError: [Errno 60] Operation timed out
....
....
urllib.error.URLError: <urlopen error [Errno 60] Operation timed out>
处理方法:手动下载模型并放到指定路径
手动下载模型文件
用浏览器或下载工具(如迅雷)访问模型地址:
https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt
(如果访问慢,可用百度网盘链接: https://pan.baidu.com/s/1s3lqJN6glMgj7P-YvWCoZA?pwd=uczj 提取码: uczj )
将模型放到缓存路径
下载完成后,将
big-lama.pt
复制到lama-cleaner
自动读取的缓存路径:
你的错误信息中已提示路径:/Users/dftshine/.cache/torch/hub/checkpoints/
(如果文件夹不存在,手动创建 checkpoints
文件夹)
附:
即梦AI 生成的壁纸,使用 lama-cleaner 后的效果