本Demo使用Ultralytics-YOLO8对水印位置进行检测,然后使用IOPaint移除yolo识别的目标水印。
本Demo使用的last.pt模型来自yolo8-watermark-brand仓库。
本Demo支持使用IOPaint
的api方式
去除水印,只需在configs.py中配置USE_IOPAINT_API=True
,可减少批量操作时iopaint命令行方式的初始化耗时。
如果配置USE_IOPAINT_API=True
,需要先启动iopaint服务:
python iopaint_server.py
当然,也可以选择对接单独部署的IOPaint
服务,只需要在configs.py中配置自定义的IOPAINT_SERVER_HOST
即可。
点击展开查看依赖信息
python==3.8.18
torch==2.3.0+cu118
torchvision==0.18.0+cu118
ultralytics==8.2.26
IOPaint==1.3.3
onnxruntime_gpu==1.18.0
# the onnx dependency is to automatically export the onnx model at train time
onnx==1.16.1
onnx-simplifier==0.4.36
onnxsim==0.4.36
onnxslim==0.1.28
1、【推荐】使用vscode的Dev Containers
模式,参考.devcontainer/README.md
2、【可选】其他虚拟环境方式
-
用conda创建一个env环境:
conda create -n yolo8-plus-iopaint python=3.8.18 -y
-
进入env环境
conda activate yolo8-plus-iopaint
-
安装依赖
-
【二选一】安装
torch-cpu
版pip install torch torchvision
-
【二选一】安装
torch-cuda
版pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
-
【必要】安装依赖
pip install -r requirements.txt
-
-
Demo1:
ultralytics + IOPaint(命令行方式)
,脚本:remove_watermark.pypython remove_watermark.py
-
Demo2:
onnxruntime + IOPaint(命令行方式)
,脚本:remove_watermark_with_onnx.py
pt转onnx模型可参考yolo_utils.py的mian函数python remove_watermark_with_onnx.py
点击展开查看
> 1、如果遇到`Could not locate zlibwapi.dll. Please make sure it is in your library path`错误,需要下载相关dll放置到目标位置:- 点击下载:https://pan.baidu.com/s/1SrxZFkxwpwydn1fuFaWtgw?pwd=6cgb 提取码: 6cgb
- lib文件放到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\lib
(这里以windows系统为例,其中v11.x
是实际安装的cuda版本路径) - dll文件放到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x\bin
(这里以windows系统为例,其中v11.x
是实际安装的cuda版本路径)
before | after |
---|---|