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/
相关推荐
2401_882727573 小时前
低代码配置式组态软件-BY组态
前端·后端·物联网·低代码·前端框架
追逐时光者4 小时前
.NET 在 Visual Studio 中的高效编程技巧集
后端·.net·visual studio
大梦百万秋4 小时前
Spring Boot实战:构建一个简单的RESTful API
spring boot·后端·restful
斌斌_____5 小时前
Spring Boot 配置文件的加载顺序
java·spring boot·后端
路在脚下@5 小时前
Spring如何处理循环依赖
java·后端·spring
海绵波波1076 小时前
flask后端开发(1):第一个Flask项目
后端·python·flask
小奏技术7 小时前
RocketMQ结合源码告诉你消息量大为啥不需要手动压缩消息
后端·消息队列
AI人H哥会Java9 小时前
【Spring】控制反转(IoC)与依赖注入(DI)—IoC容器在系统中的位置
java·开发语言·spring boot·后端·spring
凡人的AI工具箱9 小时前
每天40分玩转Django:Django表单集
开发语言·数据库·后端·python·缓存·django
奔跑草-9 小时前
【数据库】SQL应该如何针对数据倾斜问题进行优化
数据库·后端·sql·ubuntu