Python开源工具库使用之图片去水印IOPaint

前言

最近发现一款去除图片水印的开源软件 IOPaint,感觉很不错,分享一下。它是一款基于 SOTA AI 模型的软件,可以实现从图片中擦除任何不需要的物体、缺陷、人,还可以替换掉(通过stable diffusion),并且还能够支持 CPU 运行(当然替换功能 stable diffusion 使用 CPU 太慢了,不建议使用),以往的深度学习软件只能使用 GPU,这款工具还可以支持 CPU 就很满足需求。并且这款工具还通过插件支持其它功能,如脸部修复、图片超分辨率、移除背景等

一、去除水印

1.1 安装部署

通过pip安装

bash 复制代码
pip install torch==2.1.2 torchvision==0.16.2
pip install iopaint

在安装完成后,通过如下命令启动,可以指定 model 路径

bash 复制代码
iopaint start --model=lama --model-dir=models --device=cpu --port=8080

执行命令后,会从 github上下载模型文件,如果下载太慢,可手动下载,并放在models\torch\hub\checkpoints下面

github模型文件:github.com/Sanster/mod...

1.2 实战

当部署完成后,可通过localhost:8080来访问web界面

二、面部修复

2.1 安装运行

按照下面命令安装运行

bash 复制代码
pip install facexlib
pip install tb-nightly -i https://mirrors.aliyun.com/pypi/simple
pip install gfpgan
iopaint start --model=lama --model-dir=models --device=cpu --port=8080 --enable-gfpgan --gfpgan-device cpu

在运行时,会从 github 下载模型文件,同样可以手动下载放在和上面模型同样位置

github 模型文件地址:

2.2 使用

三、图像提升分辨率

3.1 安装

bash 复制代码
pip install realesrgan

iopaint start --model=lama --model-dir=models --device=cpu --port=8080 --enable-realesrgan --realesrgan-model RealESRGAN_x4plus --realesrgan-device cpu

github 模型文件地址:github.com/xinntao/Rea...

3.2 使用

四、移除背景

4.1 安装

bash 复制代码
pip install rembg
pip install huggingface
set HF_ENDPOINT=https://hf-mirror.com
iopaint start --model=lama --model-dir=models --device=cpu --port=8080 --enable-remove-bg

4.2 使用

五、报错及解决方法

5.1 ERROR: Cannot install gfpgan

bash 复制代码
 from facexlib.version import __version__
    ModuleNotFoundError: No module named 'facexlib'
    During handling of the above exception, another exception occurred:
ERROR: Cannot install gfpgan==0.2.3, gfpgan==0.2.4, gfpgan==1.3.0, gfpgan==1.3.1, gfpgan==1.3.2, gfpgan==1.3.4, gfpgan==1.3.5, gfpgan==1.3.6, gfpgan==1.3.7 and gfpgan==1.3.8 because these package versions have conflicting dependencies.

原因:没有安装facexlib

解决方法:

bash 复制代码
pip install facexlib

5.2 The conflict is caused by: gfpgan 1.3.8 depends on tb-nightly

bash 复制代码
ERROR: Cannot install gfpgan==0.2.1, gfpgan==0.2.3, gfpgan==0.2.4, gfpgan==1.3.0, gfpgan==1.3.1, gfpgan==1.3.2, gfpgan==1.3.4, gfpgan==1.3.5, gfpgan==1.3.6, gfpgan==1.3.7 and gfpgan==1.3.8 because these package versions have conflicting dependencies.

The conflict is caused by:
    gfpgan 1.3.8 depends on tb-nightly
    gfpgan 1.3.7 depends on tb-nightly
    gfpgan 1.3.6 depends on tb-nightly
    gfpgan 1.3.5 depends on tb-nightly
    gfpgan 1.3.4 depends on tb-nightly
    gfpgan 1.3.2 depends on tb-nightly
    gfpgan 1.3.1 depends on tb-nightly
    gfpgan 1.3.0 depends on tb-nightly
    gfpgan 0.2.4 depends on tb-nightly
    gfpgan 0.2.3 depends on tb-nightly
    gfpgan 0.2.1 depends on tb-nightly
ERROR: ResolutionImpossible: for help

原因:依赖问题,当前源为清华源

解决方法:换源安装 tb-nightly

bash 复制代码
pip install tb-nightly -i https://mirrors.aliyun.com/pypi/simple

5.3 Initialize RemoveBG plugin Traceback

bash 复制代码
ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x000000004842BA60>, 'Connection to huggingface.co
timed out. (connect timeout=10)')
LocalEntryNotFoundError: An error happened while trying to locate the file on the Hub and we cannot find the requested
files in the local cache. Please check your connection and try again or make sure your Internet connection is on

原因:需要从 huggingface.co 下载模型,直连超时,换个镜像

解决方法:

bash 复制代码
pip install huggingface
set HF_ENDPOINT=https://hf-mirror.com

参考

  1. www.iopaint.com/
相关推荐
00后程序员1 小时前
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
后端
HyggeBest1 小时前
Mysql的数据存储结构
后端·架构
TobyMint2 小时前
golang 实现雪花算法
后端
G探险者2 小时前
【案例解析】一次 TIME_WAIT 导致 TPS 断崖式下降的排查与优化
后端
码农之王2 小时前
(一)TypeScript概述和环境搭建
前端·后端·typescript
玛奇玛丶2 小时前
面试官:千万级订单表新增字段怎么弄?
后端·mysql
木木一直在哭泣2 小时前
基于 XXL-JOB 的任务调度封装实践:xxl-job-start 项目详解
后端
掘金狂热勇士2 小时前
Bullet 物理引擎:开启逼真物理模拟的大门
后端
扎瓦3 小时前
ThreadLocal 线程变量
java·后端
涡能增压发动积3 小时前
一起来学 Langgraph [第一节]
后端