从上传到导出:FFT NPainting LaMa完整工作流演示
图像修复不是魔法,但当你第一次看到一张带水印的旧照片在几秒内变得干净如新,那种“这真的可以?”的惊讶感,和当年第一次用Photoshop的“内容识别填充”时一模一样。不过这一次,你不需要订阅、不用调参数、甚至不用打开命令行——只需要拖一张图进来,画几笔,点一下按钮,结果就出来了。
今天要演示的,是科哥基于LaMa模型二次开发的fft npainting lama镜像。它不是另一个花哨的在线工具,而是一个开箱即用、部署即用、专为图像重绘与物品移除优化的本地WebUI系统。它不讲论文、不堆指标,只做一件事:把你想去掉的东西,自然地“抹掉”,再用周围的内容聪明地“补上”。
下面,我们就从零开始,走完一次完整的、真实的、不跳步的工作流——从把图片拖进浏览器,到把修复好的PNG文件下载到本地硬盘。
1. 启动服务:三行命令,静待启动提示
别被“FFT”“LaMa”这些词吓住。这个镜像已经为你打包好了所有依赖,包括PyTorch、OpenCV、Gradio,以及经过轻量优化的LaMa推理后端。你唯一需要做的,就是启动它。
打开终端(SSH或本地控制台),依次执行:
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 停止服务 =====================================这个“✓”就是你的信号灯——服务已就绪。不需要配置端口、不用改防火墙、不用查日志报错。只要看到这个提示,就可以直接进入下一步。
小贴士:如果你是在云服务器上运行,记得在安全组中放行
7860端口;如果是本机运行,直接打开http://127.0.0.1:7860即可。
2. 界面初识:左边画,右边看,中间是你的画布
在浏览器中打开http://你的服务器IP:7860,你会看到一个简洁、无广告、无弹窗的界面。没有注册、没有登录、没有“升级高级版”的横幅——只有两个并排区域,和几个直白的按钮。
整个界面可以理解为一个“所见即所得”的画板:
- 左侧是你的操作区:这里是你上传图片、涂抹标注、擦除调整的地方。它不是预览图,而是真正的可编辑画布。
- 右侧是结果区:它不会提前显示任何东西,只等你按下“ 开始修复”后,才亮出最终成果。
- 底部状态栏:实时告诉你当前卡在哪一步:“等待上传……”、“初始化……”、“执行推理……”、“完成!已保存至……”
这种左右分屏的设计,刻意回避了传统AI工具常见的“输入→参数面板→输出”三层嵌套结构。它把“你做什么”和“结果什么样”物理隔离,强迫你专注在“我要修哪里”这个最核心的问题上。
2.1 上传图像:三种方式,总有一种顺手
支持以下任意一种上传方式:
- 点击上传:点击灰色虚线框区域,唤出系统文件选择器;
- 拖拽上传:直接将
.png、.jpg、.jpeg或.webp文件拖入虚线框; - 粘贴上传:截图后按
Ctrl+V,图像会自动出现在画布上。
建议优先使用 PNG 格式。因为 JPG 在压缩过程中会引入轻微噪点和色块,LaMa 模型虽然鲁棒,但面对原始信息更干净的 PNG,修复边缘的连贯性和纹理一致性会明显更好。
注意:上传后,图像会自动居中适配画布,你可以用鼠标滚轮缩放(部分浏览器支持)、拖拽平移,方便后续精细标注。
3. 标注修复区域:不是“选中”,而是“告诉AI:这里要重画”
这是整个工作流里最关键的一步,也最容易被新手忽略细节。很多人以为“画得越细越好”,其实恰恰相反——LaMa 的强项,是理解上下文并生成合理内容;它的弱项,是处理模糊不清的边界。
所以,标注的核心原则是:宁大勿小,宁整勿碎。
3.1 画笔工具:白色 = 待重绘区域
界面上默认激活的就是画笔工具(图标是 🖌)。它的作用非常纯粹:你在画布上涂的每一处白色,就等于对AI说:“这一块,请你完全重画。”
画笔大小滑块:不要固定用一个尺寸。
- 小画笔(10–30px):用于勾勒物体边缘、去除细小文字、修复人像瑕疵;
- 中画笔(50–100px):适合移除LOGO、水印、电线等中等尺寸干扰物;
- 大画笔(150px+):快速覆盖大面积背景杂物,比如杂乱的桌面、路人甲、窗外的树杈。
涂抹技巧:
- 不必追求“一笔描边”。可以多涂几遍,让白色区域略略超出实际目标边缘(约5–10像素),系统会自动羽化过渡;
- 对于不规则形状(比如一只猫的轮廓),不必苛求完美闭合,只要主体区域被白色覆盖即可;
- 避免“点状涂抹”——零散的小白点会让AI困惑,它需要一块有面积、有上下文的区域来推理。
3.2 橡皮擦工具:精准修正,而非推倒重来
图标是 🧽。它的存在,是为了让你在画错时,不必清空重来。
- 使用场景举例:
- 你不小心把人物肩膀涂白了,只想去掉背景里的垃圾桶 → 用橡皮擦掉肩膀部分;
- 水印边缘有毛刺,想微调 → 用小号橡皮擦轻轻修边;
- 标注后发现范围太大,影响了主体 → 擦掉多余部分,保留核心区域。
关键认知:橡皮擦不是“取消操作”,而是“重新定义修复区域”。每一次擦除,都是在帮AI更准确地理解你的意图。
3.3 撤销与清除:安全网就在手边
- 撤销(↩):支持单步回退,适用于刚涂错一笔就意识到的情况;
- 清除():一键清空当前所有标注(包括画笔和橡皮擦痕迹),但不删除原图。这是最常用的安全键——当你试了几次都不满意,点它,从头再来。
4. 执行修复:一次点击,全程静默等待
确认左侧画布上的白色区域已覆盖所有需移除内容后,点击那个醒目的 ** 开始修复** 按钮。
此时,右侧结果区会立刻显示状态:“初始化……”,接着变为“执行推理……”。整个过程无需你干预,也不需要你去调任何参数(没有“置信度”“迭代次数”“风格强度”这类选项)。
典型耗时参考(实测):
- 手机拍摄人像(1080×1440):约 8–12 秒;
- 电商主图(2000×2000):约 15–25 秒;
- 高清风景图(3000×4000):约 35–55 秒。
如果等待超过 90 秒,建议检查:① 图像是否超 4000px;② 是否未标注任何白色区域(状态栏会提示“ 未检测到有效的mask标注”);③ 服务是否仍在运行(
ps aux | grep app.py)。
5. 查看与导出:结果即刻可见,文件自动落盘
当状态栏变成绿色的“完成!已保存至: /root/cv_fft_inpainting_lama/outputs/outputs_20250405142233.png”,右侧结果区就会同步刷新,显示出修复后的完整图像。
这时,你有两件事可以立刻做:
5.1 对比验证:用最朴素的方式判断效果
- 把修复图和原图并排打开(截图或另存为),重点看三个地方:
- 修复区域内部:纹理是否自然?颜色是否与周围融合?有没有“塑料感”或“糊成一片”?
- 修复区域边缘:过渡是否柔和?有没有生硬的白边、黑边或色差环?
- 非修复区域:原图其他部分是否被意外修改?(正常情况下,LaMa 严格遵循 mask,绝不会动未标注区域)
实测中,对于“移除电线”“擦除水印”“去除路人”等常见任务,该镜像在 90% 以上场景下,首次修复即达到可交付水平。复杂场景(如透明玻璃瓶、发丝边缘)可配合“分区域多次修复”进一步提升。
5.2 下载导出:路径明确,命名规范
文件已自动保存至服务器路径:/root/cv_fft_inpainting_lama/outputs/outputs_YYYYMMDDHHMMSS.png
- 文件名中的时间戳(如
20250405142233)精确到秒,确保不重名; - 格式固定为 PNG,无损保存,保留全部 Alpha 通道(如有);
- 你可通过以下任一方式获取:
- FTP/SFTP 工具(如 FileZilla)连接服务器,进入该目录下载;
- 云平台文件管理器(如阿里云/腾讯云控制台)直接下载;
- 终端命令快速获取(适合批量):
# 查看最新生成的文件 ls -t /root/cv_fft_inpainting_lama/outputs/ | head -n 1 # 复制到家目录便于下载 cp /root/cv_fft_inpainting_lama/outputs/outputs_*.png ~/ && ls ~/
隐藏技巧:修复完成后,你可以直接点击左侧画布上的“ 清除”,然后把右侧这张修复图拖回左侧——它就成了新的“原图”。这意味着,你可以对同一张图进行多轮精细化修复:第一轮去大件,第二轮修边缘,第三轮调细节。
6. 进阶实战:四类高频场景的落地要点
理论看完,不如直接上手。以下是四个真实用户最常遇到的场景,附带具体操作要点和避坑提醒。
6.1 场景一:去除半透明水印(如公众号二维码、网站LOGO)
- 问题难点:水印半透明,边缘与背景融合,单纯涂白易残留灰影;
- 推荐做法:
- 用中号画笔,以水印为中心,向外扩展涂抹约 15–20 像素;
- 特别注意水印文字的“笔画间隙”,这些地方容易漏标;
- 若首次修复后仍有淡影,不要加厚涂抹,而是下载后重新上传,用小画笔对残留区域单独修复。
6.2 场景二:移除前景人物(如合影中误入的陌生人)
- 问题难点:人物与背景深度交织,衣物纹理复杂;
- 推荐做法:
- 先用大画笔粗略圈出整个人形(宁可多包一点背景);
- 切换小画笔,沿头发、衣角、手指等精细边缘补涂;
- 关键:确保人物脚部与地面交界处也被覆盖,否则AI可能生成“悬浮腿”。
6.3 场景三:修复老照片划痕与折痕
- 问题难点:划痕细长、方向不一,全自动修复易失真;
- 推荐做法:
- 放大图像(滚轮),用最小画笔(10px)逐条涂抹划痕;
- 对于交叉划痕,先涂一条,修复后下载,再上传修复另一条;
- 避免一次性涂抹整片折痕区域——那会让AI“脑补”出不存在的褶皱。
6.4 场景四:去除屏幕反光/镜头眩光
- 问题难点:高光区域亮度极高,与周围色差大,易修复成“白斑”;
- 推荐做法:
- 用中号画笔涂抹反光区域,并主动向周围暗部延伸 5–10 像素;
- 修复后若中心仍显亮,说明标注范围不够——不是模型不行,是它没被给足“上下文”。
7. 稳定性与工程化建议:让它真正成为你的生产力工具
这个镜像不是玩具,而是为日常使用设计的。以下几点,能帮你把它真正融入工作流:
- 长期运行建议:
将start_app.sh加入开机自启(如 systemd service),避免每次重启都要手动拉起; - 批量处理准备:
虽然WebUI是单图交互,但其后端app.py是标准Python脚本。熟悉后,可编写简单脚本调用其API,实现“上传一批图→自动标注→批量修复”; - 资源监控提醒:
LaMa 推理较吃显存。若你同时跑多个AI服务,建议用nvidia-smi监控GPU占用,预留至少 3GB 显存余量; - 版本更新与维护:
镜像由科哥持续维护。关注其微信(312088415)获取更新通知,新版本通常包含:修复特定场景的 artifacts、提升小图修复速度、增加对 WebP 动图首帧的支持等。
8. 总结:一个回归本质的图像修复工作流
我们走完了从启动、上传、标注、修复到导出的全链路。回顾整个过程,你会发现它刻意剔除了三样东西:
- 剔除了参数焦虑:没有“CFG值”“采样步数”“去噪强度”,因为LaMa的mask驱动范式,天然就不需要这些;
- 剔除了格式转换:上传即用,导出即PNG,不强制你学BMP/EXR/TIFF;
- 剔除了学习成本:所有操作符合直觉——你想删什么,就涂什么;涂错了,就擦掉;不满意,就重来。
它不是一个“全能AI画图器”,而是一个“精准图像外科医生”:刀锋所指,只动该动之处,其余毫发无伤。
当你下次面对一张带干扰物的照片,不再需要打开PS反复尝试“内容识别填充”的成功率,也不用在十几个在线工具间反复上传测试——你只需打开浏览器,三秒上传,十秒涂抹,二十秒等待,然后,得到一张干净的结果。
这才是AI工具该有的样子:不喧宾夺主,只默默把事情做好。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。