news 2026/3/22 3:01:12

从0开始学图像修复:fft npainting lama实战入门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从0开始学图像修复:fft npainting lama实战入门

从0开始学图像修复:FFT NPainting LaMa实战入门

图像修复听起来很高大上,但其实它解决的是我们每天都会遇到的小问题:照片里多了一根电线、截图里有碍眼的水印、老照片上有划痕、电商图里要移除模特手里的样品……这些看似琐碎的需求,过去只能靠专业修图师花几十分钟处理,而现在,一个轻量级WebUI就能在几秒内完成。本文不讲复杂的数学推导,也不堆砌论文术语,只带你用最直接的方式——上传、涂抹、点击、下载——真正把图像修复用起来。

这不是一个“理论很美,落地很难”的教程。它基于一个已经打包好的、开箱即用的镜像:fft npainting lama重绘修复图片移除图片物品 二次开发构建by科哥。它没有依赖繁杂的Python环境配置,不需手动编译CUDA,更不需要你调参调到怀疑人生。它就是一个安静运行在服务器上的网页工具,点开就能修图。

下面的内容,就是为你准备的“第一张图修复指南”。你会看到:如何启动服务、界面每个按钮是干什么的、怎么画才不会修出奇怪的边缘、为什么有时候修完颜色发灰、以及那些官方文档里没写但实际踩坑时最痛的细节。全程零基础可跟,只要你会用浏览器、会拖拽文件、会点鼠标。


1. 启动服务:三行命令,让修复工具活过来

很多教程一上来就让你装PyTorch、配Conda环境、下载几个G的模型权重……这一步就劝退了80%想试试的人。而这个镜像的好处在于:所有依赖都已预装完毕,你只需要唤醒它。

打开你的终端(SSH连接到服务器或本地Docker环境),依次执行:

cd /root/cv_fft_inpainting_lama bash start_app.sh

注意路径必须完全一致——这是镜像内部约定的固定工作目录。如果提示No such file or directory,请确认你是否以 root 用户登录,或镜像是否完整拉取成功。

几秒钟后,你会看到一段清晰的提示:

===================================== ✓ WebUI已启动 访问地址: http://0.0.0.0:7860 本地访问: http://127.0.0.1:7860 按 Ctrl+C 停止服务 =====================================

这不是日志,这是“服务已就绪”的明确信号。此时,你不需要做任何额外操作,服务已在后台稳定运行。

1.1 访问方式说明

  • 如果你在云服务器上部署(如阿里云、腾讯云):
    在浏览器中输入http://你的服务器公网IP:7860(例如http://47.98.123.45:7860)。确保安全组已放行7860端口。

  • 如果你在本地电脑通过Docker运行:
    直接访问http://127.0.0.1:7860即可。

  • 如果打不开?先别急着重装——绝大多数情况是网络或端口问题:

    • 执行netstat -tuln | grep 7860确认端口确实在监听;
    • 执行ps aux | grep app.py确认Python进程正在运行;
    • 检查浏览器是否拦截了非HTTPS连接(部分新版Chrome对http://地址有警告,但可点击“高级→继续访问”)。

关键提醒:这个WebUI不依赖GPU显存占用监控,也不需要你手动指定设备。它默认使用CPU推理(已针对性能优化),即使在2核4G的入门级服务器上也能稳定运行。如果你有NVIDIA显卡且驱动正常,系统会自动启用CUDA加速,你完全感知不到切换过程——这才是真正“隐形”的工程化封装。


2. 界面初识:看懂这四个区域,你就掌握了80%的操作逻辑

第一次打开页面,别被界面上的图标和按钮吓住。它其实只有两个核心任务:左边画,右边看结果。整个界面被清晰地划分为四大功能区,我们逐一看清它们的真实作用:

2.1 左侧:图像编辑区——你的“数字画布”

这里不是用来P图的,而是用来“告诉AI:这里要修”。

  • 上传区域:支持三种方式——点击选择文件、直接拖拽图片进来、甚至Ctrl+V粘贴剪贴板里的截图。实测发现,微信/QQ截图后直接Ctrl+V是最顺滑的工作流。
  • 画笔工具:默认激活。涂抹区域会显示为半透明白色,这就是你定义的“待修复区域”。记住一个铁律:白色覆盖越完整,修复越干净;白色漏掉一点,那里就原封不动
  • 橡皮擦工具:不是用来“擦错”,而是用来“精修边界”。比如你画笔太大,把不该修的背景也涂进去了,就用橡皮擦轻轻擦掉边缘。
  • 清除按钮():比Ctrl+Z更彻底。它会清空当前所有标注、重置画布,适合试错成本低的快速迭代。

2.2 右侧:修复结果区——你的“实时放映厅”

  • 修复后图像显示框:不是预览图,而是最终输出。它会等修复完成才刷新,不闪烁、不跳变,所见即所得。
  • 处理状态栏:显示四类关键信息:
    等待上传图像并标注修复区域...→ 初始态;
    初始化...→ 模型加载中(通常<1秒);
    执行推理...→ 正在计算(时间取决于图大小);
    完成!已保存至: /root/.../outputs_20240512143022.png→ 成功标志,含精确路径。

为什么右侧不显示“原始图+修复图”对比?
因为这个工具的设计哲学是“专注修复动作本身”。对比图容易分散注意力,而真实工作流中,你更关心“修完能不能直接用”。如果你需要对比,只需在修复前右键另存原始图,修复后再下载新图,用任意看图软件并排打开即可——简单、直接、无冗余。


3. 实战四步法:一张图,从上传到下载的完整闭环

我们用一张带水印的风景照来走一遍全流程。不假设你有任何前置知识,每一步都拆解到“手指该点哪里”。

3.1 第一步:上传图像(3种方式,选最快的那个)

  • 推荐方式:拖拽上传
    找到你的待处理图片(比如手机拍的带日期水印的照片),直接用鼠标左键按住图片文件,拖进左侧虚线框内。松手即上传,无需点击确认。

  • 注意事项:

  • 支持格式:.png(首选,无损)、.jpg/.jpeg(通用)、.webp(现代格式);

  • 不支持.bmp.tiff.gif(动图);

  • 若上传后画面模糊或变色,大概率是原图用了CMYK色彩模式(常见于设计稿),请先用Photoshop或在线工具转为RGB再上传。

3.2 第二步:标注修复区域(画笔不是越细越好)

这是决定效果上限的关键步。很多人以为“画得越细越准”,其实恰恰相反。

  • 正确做法

    1. 先用中号画笔(滑块调到中间位置),快速把水印整体涂白;
    2. 再切到小号画笔(滑块向左),沿着水印边缘“描一圈”,确保白色完全盖住边缘像素;
    3. 最后用橡皮擦轻轻擦掉水印外1–2像素的多余白色(防止AI误读背景结构)。
  • ❌ 常见错误:

    • 只涂水印文字,忽略周围1像素的阴影/描边 → 修复后留黑边;
    • 用最大画笔狂涂,把整片天空都涂白 → AI会胡乱“脑补”云朵,结果失真;
    • 涂抹太薄、半透明 → 系统识别为无效mask,状态栏报错未检测到有效的mask标注

底层原理一句话:LaMa模型本质是“根据mask区域周围的纹理,生成最可能的连续内容”。它不理解“水印是什么”,只认“白色区域+周围像素”。所以你的任务不是教AI,而是给它提供最干净的“填空题”。

3.3 第三步:点击修复(耐心等待,但不用干等)

点击 ** 开始修复** 按钮后:

  • 状态栏会立即变为初始化...→ 表示模型已加载完毕,准备就绪;
  • 几秒后变为执行推理...→ 此时CPU/GPU正在全力计算;
  • 小图(<800px)约5秒,中图(1000–1600px)约12–18秒,大图(>2000px)建议先缩放——这不是性能差,而是高分辨率下需要更多上下文建模。

小技巧:修复过程中别关页面,但可以切到其他标签页。WebUI采用异步通信,不影响后台运算。

3.4 第四步:查看与下载(路径比你想的更友好)

修复完成后,右侧立刻显示高清结果图。此时:

  • 查看效果:直接滚动鼠标滚轮缩放,检查边缘是否自然、颜色是否连贯;
  • 下载文件:结果已自动保存,路径明确显示在状态栏:
    /root/cv_fft_inpainting_lama/outputs/outputs_20240512143022.png
    你只需用FTP工具(如FileZilla)或服务器命令cp /root/cv_fft_inpainting_lama/outputs/*.png /home/user/即可取出。

为什么不用WebUI内置下载按钮?
因为镜像定位是“生产环境轻量部署”,避免浏览器下载大文件失败、中断等问题。自动保存到固定路径,既稳定又便于脚本批量处理——这才是工程师思维。


4. 效果优化:三次点击,让修复从“能用”变成“惊艳”

刚上手时,你可能会遇到:修完边缘发虚、颜色偏灰、或者纹理不连贯。别归咎于模型,90%是标注和参数的小调整。

4.1 边缘生硬?扩大标注范围 + 启用羽化

LaMa默认开启边缘羽化(soft mask blending),但前提是你的标注要“略超边界”。

  • 正确操作:用画笔时,让白色区域向外多涂2–3像素(肉眼可见的微小扩展);
  • ❌ 错误操作:严丝合缝描边,追求“精准”——这反而切断了AI的过渡参考。

实测对比:同一张人像去痣图,标注扩大3像素后,修复边缘完全不可见,而精准描边则留下一圈浅色晕影。

4.2 颜色发灰?检查原始图色彩空间

这是新手最高频的困惑。原因只有一个:你上传的JPG是sRGB,但某些相机直出图自带Adobe RGB或ProPhoto RGB色彩配置文件,浏览器渲染时自动降饱和。

  • 解决方案:
    用系统自带“照片”应用(Windows)或“预览”(macOS)打开原图 → “另存为” → 勾选“转换为sRGB” → 保存后重新上传。

  • 不要用PS“转换为配置文件”,那会改变色值;要用“转为sRGB并保留外观”,这才是无损转换。

4.3 纹理不连贯?分区域多次修复

面对复杂场景(如:一张图里既有水印又有电线还有划痕),不要试图一次全涂。

  • 推荐流程:
  1. 先只涂水印区域,修复并下载;
  2. 将这张修复图作为新源图上传;
  3. 再涂电线区域,修复;
  4. 如此迭代,直到所有目标清除。

为什么有效?因为LaMa每次修复都基于“当前图像上下文”。第一次修复后,背景已更干净,第二次AI能学到更准确的纹理规律——这比单次大范围mask更鲁棒。


5. 典型场景速查:5类高频需求,对应操作清单

不用死记硬背,遇到问题直接查这一节:

场景关键操作注意事项
去除水印用中号画笔整体涂抹,边缘稍扩大半透明水印需重复修复1次,勿强行加大涂抹面积
移除电线/杆子沿电线走向细长涂抹,宽度=2倍电线直径避免涂抹两侧背景,否则AI会“复制”背景纹理造成重复
修复老照片划痕小画笔沿划痕轨迹单点点击(非拖拽),形成虚线状mask划痕过深时,先用橡皮擦清理周边噪点再修复
人像去瑕疵(痘、斑)超小画笔(滑块最左),单点覆盖瑕疵中心切忌涂抹整片脸颊,会导致肤色不均
去除文字LOGO分块涂抹:先涂文字主体,再涂阴影/描边大段文字建议分2–3次,每次不超过10个字符

特别提醒:所有场景都遵循同一原则——标注是“引导”,不是“指令”。你涂的不是“删除区域”,而是“请AI参考周围,生成最合理的替代内容”的请求区域。


6. 总结:图像修复不是魔法,而是一门“提问的艺术”

看到这里,你应该已经完成了人生中第一次AI图像修复。也许你修掉了一个碍眼的水印,也许你清除了老照片上的一道裂痕,也许你只是好奇地点了点按钮——但重要的是,你亲手验证了一个事实:高质量图像修复,真的可以零代码、零配置、零等待,就在浏览器里发生。

这个镜像的价值,不在于它用了LaMa还是FFT,而在于它把前沿算法封装成了一支“傻瓜式画笔”。你不需要知道傅里叶变换如何提升频域重建,也不用理解扩散模型的采样步数,你只需要明白:白色 = 请求,周围 = 上下文,点击 = 信任。

下一步,你可以尝试:

  • 用不同尺寸的图测试处理时间;
  • 对比PNG和JPG上传后的细节保留度;
  • 把修复后的图发到朋友圈,看朋友猜不猜得出哪里被修过。

技术的意义,从来不是让人仰望,而是让人伸手就能触达。而你现在,已经伸出手,并握住了它。


获取更多AI镜像

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

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

如何突破游戏瓶颈?FactoryBluePrints助你打造完美基地

如何突破游戏瓶颈&#xff1f;FactoryBluePrints助你打造完美基地 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 在戴森球计划的浩瀚宇宙中&#xff0c;你是否曾因工厂布局…

作者头像 李华
网站建设 2026/3/14 13:37:20

Qwen3-VL-8B-Thinking:AI视觉推理与多模态交互终极指南

Qwen3-VL-8B-Thinking&#xff1a;AI视觉推理与多模态交互终极指南 【免费下载链接】Qwen3-VL-8B-Thinking 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-8B-Thinking 导语&#xff1a;Qwen3-VL-8B-Thinking作为Qwen系列最新视觉语言模型&#xff0c…

作者头像 李华
网站建设 2026/3/11 8:39:13

2026年开源大模型趋势入门必看:Qwen3-4B弹性部署实战指南

2026年开源大模型趋势入门必看&#xff1a;Qwen3-4B弹性部署实战指南 1. 为什么现在必须关注Qwen3-4B&#xff1f; 你可能已经注意到&#xff0c;2026年的大模型圈正在悄悄变天——不是比谁参数更大、显卡更多&#xff0c;而是比谁更“好用”&#xff1a;启动快、跑得稳、中文…

作者头像 李华
网站建设 2026/3/21 18:47:51

Qwen_Image_Cute_Animal_For_Kids性能瓶颈分析与优化

Qwen_Image_Cute_Animal_For_Kids性能瓶颈分析与优化 1. 这不是普通AI画图工具&#xff0c;而是专为孩子设计的“可爱动物生成器” 你有没有试过给孩子讲一个关于小熊猫骑自行车的故事&#xff0c;然后想立刻画出那幅画面&#xff1f;或者想为幼儿园手工课准备一套毛茸茸的卡…

作者头像 李华
网站建设 2026/3/5 13:47:57

效果惊艳!lama修复复杂背景下的大块缺失区域

效果惊艳&#xff01;lama修复复杂背景下的大块缺失区域 图像修复这件事&#xff0c;以前总让人又爱又怕——爱它能“无中生有”&#xff0c;怕它修完像贴了层塑料膜。尤其是面对一张人物站在老街石墙前的照片&#xff0c;想把闯入画面的电线杆整个抹掉&#xff0c;结果边缘发…

作者头像 李华
网站建设 2026/3/14 7:47:45

YOLO26测试集评估:val.py脚本参数详解

YOLO26测试集评估&#xff1a;val.py脚本参数详解 YOLO26作为最新一代目标检测模型&#xff0c;在精度、速度与部署友好性上实现了显著突破。但再强的模型&#xff0c;也需要一套科学、可复现的评估流程来验证其真实能力。而val.py——这个看似简单却承载着核心评估逻辑的脚本…

作者头像 李华