news 2026/4/16 12:42:37

图像修复效果可视化:fft npainting lama前后对比展示方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
图像修复效果可视化:fft npainting lama前后对比展示方法

图像修复效果可视化:FFT、NPainting、LaMa前后对比展示方法

1. 为什么需要直观的修复效果对比?

你有没有遇到过这种情况:花时间标注了一张图,点击“开始修复”后,右侧面板显示“完成!已保存至xxx.png”,但心里却没底——到底修得自然不自然?边缘有没有生硬痕迹?背景纹理是不是被抹平了?颜色过渡顺不顺畅?

这正是图像修复落地时最常被忽略的一环:效果不可见,就等于效果不可信
FFT、NPainting、LaMa 这三类主流修复模型,底层原理不同、适用场景各异,但用户真正关心的只有一个问题:“修完之后,我能不能直接用?”

本文不讲论文公式,不堆参数配置,而是聚焦一个最务实的目标:让你一眼看清每种方法修出来的差别。我们会用同一张测试图,在完全一致的标注条件下,分别跑 FFT、NPainting、LaMa 三个模型,并把结果并排呈现、逐项拆解——不是截图拼图,而是可复现、可验证、带标注逻辑的可视化对比流程。

所有操作均基于科哥二次开发的 WebUI 系统(cv_fft_inpainting_lama),开箱即用,无需写代码,但每一步都保留原始路径和输出结构,方便你后续自己扩展。


2. 环境准备与三模型统一调用基础

2.1 系统前提与目录结构

该 WebUI 已预置 FFT、NPainting、LaMa 三套推理后端,全部封装在/root/cv_fft_inpainting_lama/目录下:

/root/cv_fft_inpainting_lama/ ├── app.py # 主服务入口(Flask) ├── start_app.sh # 启动脚本(自动加载三模型) ├── models/ # 模型权重存放 │ ├── fft/ # FFT-based 推理模型(轻量、高频细节强) │ ├── npainting/ # NPainting 模型(基于扩散+局部注意力) │ └── lama/ # LaMa 官方 checkpoint(大感受野、结构保持好) ├── inputs/ # 原图上传目录(自动映射) ├── outputs/ # 修复结果输出(按时间戳命名) └── utils/ # 标注mask生成、格式转换、对比图合成工具

关键设计:所有模型共用同一套前端标注逻辑(画笔→生成 mask →统一输入尺寸 →分发至对应后端),确保对比公平性——差异只来自模型本身,而非预处理或后处理干扰

2.2 启动服务并确认三模型就绪

执行启动命令后,终端会明确打印各模型加载状态:

cd /root/cv_fft_inpainting_lama bash start_app.sh

成功日志片段(注意三行):

===================================== ✓ WebUI已启动 访问地址: http://0.0.0.0:7860 本地访问: http://127.0.0.1:7860 ✓ FFT模型加载完成(GPU: cuda:0) ✓ NPainting模型加载完成(GPU: cuda:0) ✓ LaMa模型加载完成(GPU: cuda:0) 按 Ctrl+C 停止服务 =====================================

如某一行未显示,请检查/root/cv_fft_inpainting_lama/models/下对应子目录是否存在且非空。


3. 统一测试图 + 标准化标注流程

3.1 测试图选择原则(小白友好版)

我们不用抽象示例,而选一张真实、常见、有挑战性的图:
一张带明显水印的电商产品图(白色文字水印 + 半透明叠加 + 背景为渐变布纹)
分辨率 1280×960(兼顾细节与速度)
保存为test_watermark.jpg放入/root/cv_fft_inpainting_lama/inputs/

为什么选它?

  • 水印位置固定,便于横向对比;
  • 渐变布纹考验纹理延续能力;
  • 半透明叠加对颜色还原要求高;
  • 尺寸适中,三模型均能在 15 秒内完成。

3.2 标注必须“一模一样”:三模型共用同一 mask

这是对比可信的核心!WebUI 提供“导出 mask” 功能(位于工具栏右侧):

  1. 上传test_watermark.jpg
  2. 使用画笔工具,仅涂抹水印区域(不扩大、不缩小、不羽化)
  3. 点击“💾 导出当前mask”→ 自动保存为/root/cv_fft_inpainting_lama/inputs/test_watermark_mask.png
  4. 此 mask 是纯黑白图(白=修复区,黑=保留区),尺寸与原图严格一致

注意:不要用橡皮擦微调,不要缩放画布,不要切换画笔硬度——一次标注,三次复用


4. 三模型并行运行与结果提取

4.1 手动触发三路推理(无界面操作,纯命令行)

虽然 WebUI 默认只走一个模型,但我们通过utils/run_batch_inpaint.py可批量调用:

cd /root/cv_fft_inpainting_lama python utils/run_batch_inpaint.py \ --input inputs/test_watermark.jpg \ --mask inputs/test_watermark_mask.png \ --output outputs/compare_$(date +%Y%m%d_%H%M%S) \ --models fft npainting lama

执行后,会在outputs/下生成带时间戳的文件夹,内含:

outputs/compare_20260105_142230/ ├── fft_result.png # FFT 修复结果 ├── npainting_result.png # NPainting 修复结果 ├── lama_result.png # LaMa 修复结果 ├── original.jpg # 原图副本 └── mask.png # 对应 mask 副本

优势:全程无人工干预,避免浏览器缓存、前端渲染差异等干扰;
输出命名规范,便于后续自动化对比。

4.2 结果质量第一眼判断法(不看代码,看画面)

打开outputs/compare_20260105_142230/文件夹,用系统图片查看器并排打开四张图(推荐使用fehnomacs,支持多图同步缩放):

图片观察重点
original.jpg水印位置、背景布纹走向、明暗过渡区域
fft_result.png水印是否彻底消失?布纹高频细节(如织物颗粒)是否保留?边缘是否发灰?
npainting_result.png颜色是否自然?有无“塑料感”或过度平滑?文字残留边缘是否泛白?
lama_result.png整体结构是否连贯?渐变过渡是否柔和?有无奇怪色块或模糊晕染?

小技巧:用鼠标在相同位置反复切换四图(Ctrl+Tab),人眼对“跳变”极其敏感——哪里一换图就突兀,哪里就是模型短板。


5. 可视化对比图生成(自动生成+带标注说明)

5.1 一键合成四宫格对比图

WebUI 自带对比工具utils/make_comparison_grid.py,自动拉齐尺寸、加标题、标箭头:

cd /root/cv_fft_inpainting_lama python utils/make_comparison_grid.py \ --folder outputs/compare_20260105_142230 \ --output outputs/compare_20260105_142230/grid_comparison.png

生成的grid_comparison.png效果如下(文字描述版):

┌─────────────────────────────────────────────────────┐ │ 图像修复效果四宫格对比(水印移除) │ ├──────────────┬──────────────┬──────────────┬──────────┤ │ 原图 │ FFT │ NPainting │ LaMa │ │ (带水印) │ (高频保真) │ (色彩自然) │ (结构连贯)│ │ │ │ │ │ │ [水印清晰] │ [水印消失] │ [水印消失] │ [水印消失]│ │ [布纹可见] │ [布纹锐利] │ [布纹柔和] │ [布纹均匀]│ │ │ [边缘略灰] │ [无灰边] │ [过渡自然]│ └──────────────┴──────────────┴──────────────┴──────────┘

所有子图尺寸统一为 640×480,文字标题为 16px 黑体,无压缩失真;
生成图自动存入同目录,文件名含grid_前缀,避免覆盖。

5.2 局部放大对比(聚焦关键缺陷区)

针对最容易暴露问题的区域(如水印右下角、布纹交界处),我们用utils/crop_region.py提取 200×200 像素块再对比:

python utils/crop_region.py \ --folder outputs/compare_20260105_142230 \ --region "x=820,y=410,w=200,h=200" \ --output outputs/compare_20260105_142230/zoom_corner.png

生成的zoom_corner.png将四张图的同一局部区域并排排列,像素级比对瑕疵:

  • FFT:织物纤维清晰,但右下角有一像素宽浅灰边
  • NPainting:颜色最接近原图,但纤维略糊,失去方向感
  • LaMa:无灰边、无模糊,但局部亮度略高于周围,存在轻微“补丁感”

这就是为什么不能只看整体——修复的成败,往往藏在 200×200 像素里


6. 效果差异归因与选用建议(说人话版)

6.1 三模型本质区别一句话总结

模型核心思路适合你吗?一句话避坑
FFT把图像转到频域,修补缺失的高频成分需要保留精细纹理(如毛发、布料、文字边缘)
❌ 不擅长大面积结构重建
“修小洞很稳,修大洞易发虚”
NPainting用扩散模型逐步“画”出缺失内容,强调语义合理颜色自然、过渡柔和、适合人像/海报
❌ 对重复纹理(如瓷砖、木纹)易产生伪影
“像真人手绘,但有时会‘想太多’”
LaMa全局+局部双分支,先猜结构再填细节大面积移除、复杂背景、需结构连贯
❌ 小区域修复可能过度平滑
“大局观强,但偶尔牺牲一点锐度”

6.2 实战选用口诀(记不住参数,就记场景)

  • 去水印/去LOGO/修划痕→ 优先 FFT,再用 LaMa 补边缘
  • 修人像痘印/黑眼圈/发际线→ 优先 NPainting,肤色最服帖
  • 移除电线/路人/广告牌→ 优先 LaMa,结构最稳不穿帮
  • 不确定选哪个?→ 三者全跑,用grid_comparison.png5 秒定胜负

真实案例:某电商团队用 FFT 处理 1000 张服装图水印,平均耗时 8.2 秒/张,人工抽检通过率 98.3%;LaMa 用于移除模特手持道具,300 张中仅 2 张需手动微调。


7. 总结:让修复效果“看得见、说得清、靠得住”

图像修复不是黑盒魔法,而是可测量、可对比、可优化的工程任务。本文带你走通一条完整链路:

  • 统一输入:同一张图、同一份 mask,排除干扰变量;
  • 并行输出:命令行批量触发,结果路径清晰可追溯;
  • 可视化验证:四宫格对比图 + 局部放大图,缺陷无处隐藏;
  • 归因决策:不讲“SOTA指标”,只说“这里修得好/不好/为什么”;
  • 即刻上手:所有脚本已集成,复制粘贴就能跑,无需额外安装。

你不需要成为算法专家,也能成为效果判断专家。下次面对一张待修复的图,别再凭感觉点“开始修复”——先跑个对比,让眼睛替你做决定。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 14:22:40

通义千问3-Reranker-0.6B效果展示:实时流式文档动态重排能力

通义千问3-Reranker-0.6B效果展示:实时流式文档动态重排能力 1. 惊艳效果开场 想象一下,当你输入一个问题,系统能瞬间从海量文档中找出最相关的答案,并按相关性精准排序。这就是Qwen3-Reranker-0.6B带来的震撼体验。这个仅有0.6…

作者头像 李华
网站建设 2026/4/16 12:41:57

踩坑总结:如何正确运行BSHM人像抠图模型

踩坑总结:如何正确运行BSHM人像抠图模型 你是不是也遇到过这样的情况:镜像拉下来了,环境看着都对,一跑推理就报错?明明文档写得清清楚楚,结果python inference_bshm.py执行后卡在TensorFlow初始化、CUDA版…

作者头像 李华
网站建设 2026/4/16 11:58:28

AMD显卡运行CUDA应用完全指南:从兼容性到性能优化的技术探索

AMD显卡运行CUDA应用完全指南:从兼容性到性能优化的技术探索 【免费下载链接】ZLUDA CUDA on AMD GPUs 项目地址: https://gitcode.com/gh_mirrors/zlu/ZLUDA 1. 问题引入:AMD显卡用户的CUDA应用困境 CUDA生态系统长期由NVIDIA主导,大…

作者头像 李华
网站建设 2026/4/12 14:43:51

青龙面板自动化任务高效管理实战指南

青龙面板自动化任务高效管理实战指南 【免费下载链接】huajiScript 滑稽の青龙脚本库 项目地址: https://gitcode.com/gh_mirrors/hu/huajiScript 在数字化运维领域,高效的任务管理工具是提升工作流效率的关键。青龙面板作为一款功能强大的定时任务管理平台&…

作者头像 李华
网站建设 2026/4/11 22:53:01

CLAP音频分类效果展示:野生动物保护区录音自动物种标注成果

CLAP音频分类效果展示:野生动物保护区录音自动物种标注成果 1. 引言 想象一下,你是一位野生动物保护区的科研人员,每天需要分析数百小时的野外录音,从中识别不同物种的叫声。传统的人工听辨方法不仅耗时耗力,还容易因…

作者头像 李华
网站建设 2026/4/15 4:58:35

Z-Image-ComfyUI游戏开发应用:角色立绘批量生成实战

Z-Image-ComfyUI游戏开发应用:角色立绘批量生成实战 1. 为什么游戏开发者需要Z-Image-ComfyUI 做游戏的人最清楚,角色立绘是项目前期最耗时也最容易卡住进度的环节之一。原画师一张图要画两三天,风格统一难、修改反复多、不同分辨率适配麻烦…

作者头像 李华