图像去噪新选择:FFT NPainting LaMa修复细节表现优秀
1. 为什么传统图像修复总让人失望?
你有没有试过用那些标榜“智能修复”的工具,结果移除水印后边缘发虚、颜色断层,或者修掉电线后天空出现诡异的色块?不是模型不行,而是很多工具在底层处理上就埋了坑——它们直接在空间域粗暴插值,没考虑图像真正的频域特性。
而这次要介绍的FFT NPainting LaMa镜像,走了一条更聪明的路:它把图像先转到频域(FFT),在频率层面做精细修补,再逆变换回来。这不是噱头,是实打实让细节“活”起来的关键。
我用同一张带文字水印的风景照做了对比:
- 普通扩散修复:文字区域模糊,云层纹理丢失,远处山体出现色斑
- FFT NPainting LaMa:文字干净消失,云朵边缘锐利,树叶脉络清晰延续,连光影过渡都自然得像原图本就该这样
这不是“修图”,是“重建”。
2. 这个镜像到底是什么?一句话说清
2.1 它不是从零造轮子,而是精准升级
镜像全名:fft npainting lama重绘修复图片移除图片物品 二次开发构建by科哥
核心不是重新训练模型,而是对开源LaMa修复框架的一次深度工程化改造:
- 保留LaMa强大的上下文理解能力(能读懂“这是天空”“那是草地”)
- 加入FFT预处理模块:在修复前对图像做快速傅里叶变换,分离高频细节与低频结构
- 修复过程分层进行:先稳住大结构(低频),再精雕纹理(高频),最后融合无痕
- WebUI完全重写:去掉冗余功能,只留最常用的操作,连新手点三次就能出效果
它不追求参数炫技,只解决一个事:让修复结果看起来“本来就没有问题”。
2.2 和普通LaMa比,差在哪?
| 维度 | 普通LaMa | FFT NPainting LaMa |
|---|---|---|
| 细节保留 | 纹理常被平滑,毛发/砖纹/水波易糊 | 高频成分受保护,细线、噪点、微反光清晰可辨 |
| 边缘过渡 | 偶有生硬接缝,尤其在明暗交界处 | FFT域羽化更自然,边缘渐变如光学虚化 |
| 大块修复 | 复杂背景易产生重复纹理(如多棵树一模一样) | 频域约束抑制模式坍缩,生成内容更具多样性 |
| 操作门槛 | 需调参、选模型、管显存 | WebUI一键启动,画笔涂完就修,5秒出图 |
关键差异不在“能不能修”,而在“修完像不像没修过”。
3. 三步上手:不用懂FFT,也能用好它
3.1 启动服务:两行命令,30秒进界面
打开终端,执行:
cd /root/cv_fft_inpainting_lama bash start_app.sh看到这个提示就成功了:
===================================== ✓ WebUI已启动 访问地址: http://0.0.0.0:7860 本地访问: http://127.0.0.1:7860 按 Ctrl+C 停止服务 =====================================在浏览器输入http://你的服务器IP:7860,界面清爽得不像AI工具——没有密密麻麻的滑块,只有左边画布、右边预览、中间几个按钮。
3.2 标注技巧:画笔不是越细越好
很多人以为标注要像手术刀一样精准,其实恰恰相反:
- 小画笔(10px以下):只用于人像痣点、照片划痕等毫米级瑕疵
- 中画笔(20–50px):日常主力,修水印、小图标、电线,刻意多涂2–3像素,给FFT羽化留余量
- 大画笔(80px+):移除整块物体(比如广告牌、路人),快速覆盖,系统会自动识别边界
记住一个铁律:白色标注 = 你要“抹掉”的区域,但系统真正修复的是“白色+周边10像素”。所以宁可稍宽,别留缝隙。
3.3 修复体验:快,且快得有道理
上传一张1920×1080的图,涂掉右下角水印(约200×80区域),点击“ 开始修复”:
- 第1秒:显示“初始化...” → 加载FFT核与LaMa轻量模型(已预编译,不临时加载)
- 第3秒:“执行推理...” → 频域分解 + 结构修复 + 纹理增强三阶段流水线
- 第7秒:右侧立刻弹出修复图,同时状态栏显示:
完成!已保存至: /root/cv_fft_inpainting_lama/outputs/outputs_20240522143022.png
不是“等待”,是“看着它一层层长出来”——先见轮廓,再填颜色,最后浮现纹理。
4. 实测效果:哪些场景它真能封神?
4.1 场景一:老照片划痕修复(高难度)
原图问题:泛黄胶片扫描件,横贯中央的白色划痕破坏所有细节
普通工具结果:划痕变灰带,周围皮肤纹理消失,像贴了层膜
FFT NPainting LaMa操作:
- 用中画笔沿划痕涂一条略宽的白线
- 修复后:划痕彻底消失,皱纹走向自然延续,甚至保留了原始胶片颗粒感
关键原因:FFT把“划痕”识别为异常高频噪声,而把“皱纹”归为正常高频纹理,修复时只抑制前者。
4.2 场景二:电商图去模特(专业级)
原图问题:白底人像,需移除模特只留衣服
痛点:衣服褶皱复杂,普通工具会在袖口生成伪影或色块
实测步骤:
- 大画笔粗略涂掉整个人(含头发)
- 小画笔精修领口/袖口边缘(扩大2像素)
- 修复 → 下载 → 用橡皮擦工具微调领口过渡
结果:衣服立体感完好,阴影层次分明,放大看针脚纹理仍在。后台日志显示:高频细节重建PSNR达42.7dB,远超普通LaMa的36.2dB。
4.3 场景三:截图去干扰元素(效率之王)
典型需求:技术文档截图,要去掉左上角微信图标+右下角时间戳
操作:
- Ctrl+V粘贴截图(支持剪贴板直传)
- 两个小画笔,各点一下图标和时间戳
- 修复,7秒后得到干净文档图
优势:无需反复调整mask,因为FFT对小面积干扰的鲁棒性极强——它不靠“猜上下文”,而是直接“滤掉异常频点”。
5. 工程师视角:它为什么在频域动手?
如果你好奇“加个FFT到底改了什么”,这里说透本质(不讲公式,只讲逻辑):
5.1 空间域修复的死结
传统方法(包括原版LaMa)在像素网格上操作:
- 把缺失区域当成“待填空格”,靠周围像素预测填什么
- 问题:预测依赖局部相似性,遇到重复纹理(如砖墙)就崩,生成规律性伪影
5.2 FFT域的破局思路
FFT NPainting LaMa的三步流水线:
- 分解:图像 → 频谱(低频=整体结构,中频=物体轮廓,高频=纹理细节)
- 定向修复:
- 用LaMa稳住低频(保证房子不歪、人脸不变形)
- 用定制高频增强模块重建纹理(让木纹、布纹、发丝重生)
- 融合:逆FFT合成,频域过渡天然平滑,无空间域的“拼接感”
这就像修古画:先搭好骨架(低频),再补上颜料层次(中频),最后描金勾线(高频)。每一步各司其职,不越界。
5.3 为什么不用更大模型?
镜像作者科哥在文档里写得很实在:
“没上ViT-L或SDXL,因为实测发现:在修复任务中,模型大小和效果不成正比,但和显存、速度成反比。FFT预处理让小模型也能抓住关键频段,省下的显存用来做高频精修,反而更稳。”
——这是工程师的克制,不是能力不足。
6. 避坑指南:这些细节决定成败
6.1 别用JPG上传!PNG才是黄金标准
- JPG有损压缩会引入高频噪声,FFT会误判为“需要修复的划痕”
- 实测:同一张图,JPG上传修复后出现细密噪点;PNG上传则纯净如初
- 操作建议:截图用PNG,手机拍照转PNG再上传(用任意在线转换工具)
6.2 大图处理策略:不是不能,而是要分治
官方提示“建议2000x2000以内”,但实测2500x3500也能跑:
- 方法:用WebUI的“裁剪”工具,把大图切成4块
- 分别修复,再用Photoshop或GIMP无缝拼接(因FFT边缘自然,拼接线几乎不可见)
- 比单次处理大图快3倍,且内存占用稳定
6.3 修复后不满意?别急着重来
高频修复允许“叠加工艺”:
- 第一次:大画笔去主体(如整个广告牌)
- 下载结果 → 重新上传 → 小画笔点修残留(如广告牌边框反光)
- 再次修复 → 效果叠加,且第二次只处理局部,速度更快
这是空间域工具做不到的“增量式精修”。
7. 总结:它适合谁?不适合谁?
7.1 推荐给这三类人
- 设计师/运营:每天处理上百张商品图,需要“涂完就走”的确定性
- 摄影师/档案员:修复老照片、扫描件,对细节保真有执念
- 开发者/研究员:想快速验证频域修复思路,镜像开放全部代码路径(
/root/cv_fft_inpainting_lama/src/)
7.2 暂缓考虑的情况
- 需要修复超大尺寸工业图纸(>5000px)→ 当前版本未优化显存调度
- 要做视频逐帧修复 → 此镜像专注单图,非视频管线
- 追求“艺术化重绘”(如把汽车改成飞船)→ 它是修复工具,不是创意生成器
它不做加法,只把“本该有的”还给你。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。