而且有个专门为这种 NAS 优化的版本。

首选:IOPaint

它就是干这个的——AI 图像修复(inpainting),官方明确列出的用途就是 去除物体、瑕疵、水印、路人。

推荐用这个镜像,专门为 NAS 和家用环境打包:

jonach1998/iopaint:latest

官方原版镜像插件经常报 ModuleNotFoundError,这个版本预装了全部插件,开箱即用,还专门针对低内存设备做了优化。

部署 YAML

Container Manager → 项目 → 新增 → 路径选 /volume1/docker/iopaint → 粘贴:

services:
  iopaint:
    image: jonach1998/iopaint:latest
    container_name: iopaint
    restart: unless-stopped
    ports:
      - "8089:8080"
    volumes:
      - /volume1/docker/iopaint/cache:/app/cache
      - /volume1/docker/iopaint/output:/output
    environment:
      - DEVICE=cpu
      - MODEL=lama
      - LOW_MEM=true
      - ENABLE_INTERACTIVE_SEG=false
      - ENABLE_REALESRGAN=false
      - ENABLE_GFPGAN=false
      - ENABLE_REMOVE_BG=false
      - OMP_NUM_THREADS=4
      - MKL_NUM_THREADS=4
    mem_limit: 3g

几个针对你 J3455 的调整说明:

参数 为什么这么设
DEVICE=cpu 没有独显,必须走 CPU
LOW_MEM=true 关键。不使用时自动卸载模型,防止 OOM
ENABLE_INTERACTIVE_SEG=false SAM 分割模型很吃内存, 8GB 扛不住,关掉
其余插件关掉 超分、人脸修复、抠图你都用不上,关了省内存、启动快
OMP_NUM_THREADS=4 匹配你 J3455 的四核

端口 8089 避开你已经占用的 8083。

使用

浏览器开 http://NAS的IP:8089:

  1. 拖入图片
  2. 用画笔涂抹水印区域(涂满、稍微超出边缘一点效果更好)
  3. 点 Erase / 擦除
  4. 看效果,不满意换模型重试,满意就下载

首次使用会自动下载 LaMa 模型(约 200MB),挂在 /app/cache 里,下次启动不用再下。

性能预期(说实话)

J3455 跑这个会比较慢,单张可能 30 秒到 2 分钟。试卷图先缩到宽 1600–2000 再传,能快很多,而且去水印本来也不需要原图那么大。

6 张图大概几分钟跑完,可以接受。

其他方案,供对比

方案 适用 评价
IOPaint (LaMa) 任意位置、任意样式的水印 ⭐ 通用性最好,推荐
zuruoke/watermark-removal 固定位置的标准图库水印(iStock 等) 对公众号水印不对症,还要手动下模型
guillaumemeyer/watermarks-remover 只清元数据(C2PA/EXIF),不管画面上的可见水印 跟你的需求不一样