news 2026/4/16 12:17:53

fft npainting lama在线演示站点搭建:公网访问全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
fft npainting lama在线演示站点搭建:公网访问全流程

fft npainting lama在线演示站点搭建:公网访问全流程

1. 引言

1.1 项目背景与应用场景

在图像处理领域,图像修复技术被广泛应用于去除水印、移除不需要的物体、修复老照片瑕疵等场景。近年来,基于深度学习的图像修复模型如LaMa(Large Mask Inpainting)凭借其对大范围缺失区域的优秀重建能力,成为主流解决方案之一。

本文介绍如何基于fft_npainting_lama项目构建一个可公网访问的图像修复 WebUI 系统,并实现完整的二次开发部署流程。该系统由开发者“科哥”进行本地化优化和界面增强,支持画笔标注、实时预览、自动保存等功能,适用于个人使用或轻量级服务部署。

1.2 核心功能概述

本系统主要特性包括:

  • 基于 LaMa 模型的高质量图像修复
  • 可视化 WebUI 界面,支持拖拽上传与画笔标注
  • 支持 PNG/JPG/WEBP 等常见格式
  • 自动边缘羽化与颜色保真优化
  • 输出路径管理与时间戳命名机制
  • 易于扩展的模块化结构,便于二次开发

通过本文,你将掌握从环境配置到公网暴露的完整部署流程,最终实现一个可通过外网访问的图像修复服务。


2. 环境准备与本地部署

2.1 系统要求

建议运行环境如下:

组件推荐配置
操作系统Ubuntu 20.04 / 22.04 LTS
CPUIntel i5 或以上(推荐)
GPUNVIDIA GPU(CUDA 支持),显存 ≥ 6GB(非必须但大幅提升性能)
内存≥ 8GB
存储空间≥ 20GB(含模型缓存)

注意:若无 GPU,也可使用 CPU 推理,但处理速度较慢(尤其大图)。

2.2 依赖安装

首先确保已安装以下基础工具:

sudo apt update sudo apt install -y git python3 python3-pip python3-venv nginx

安装 CUDA 和 PyTorch(如有 GPU):

# 安装 PyTorch with CUDA support (example for 11.8) pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

2.3 克隆项目并初始化

cd /root git clone https://github.com/kege/cv_fft_inpainting_lama.git cd cv_fft_inpainting_lama

创建虚拟环境并安装 Python 依赖:

python3 -m venv venv source venv/bin/activate pip install -r requirements.txt

2.4 启动本地 WebUI 服务

执行启动脚本:

bash start_app.sh

成功后输出如下提示:

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

此时可在本地浏览器访问http://127.0.0.1:7860查看界面是否正常加载。


3. WebUI 使用详解

3.1 主界面布局说明

系统采用双栏设计,左侧为编辑区,右侧为结果展示区:

┌─────────────────────────────────────────────────────┐ │ 🎨 图像修复系统 │ │ webUI二次开发 by 科哥 | 微信:312088415 │ ├──────────────────────┬──────────────────────────────┤ │ │ │ │ 🎨 图像编辑区 │ 📷 修复结果 │ │ │ │ │ [图像上传/编辑] │ [修复后图像显示] │ │ │ │ │ [🚀 开始修复] │ 📊 处理状态 │ │ [🔄 清除] │ [状态信息显示] │ └──────────────────────┴──────────────────────────────┘
功能分区:
  • 图像上传区:支持点击上传、拖拽上传、剪贴板粘贴(Ctrl+V)
  • 画笔工具栏:用于绘制需要修复的 mask 区域
  • 操作按钮:开始修复、清除画布
  • 状态显示区:实时反馈处理进度与输出路径

3.2 图像修复操作流程

步骤一:上传原始图像

支持方式: - 点击上传按钮选择文件 - 将图片直接拖入上传区域 - 复制图像后在页面中按下Ctrl+V粘贴

支持格式:PNG,JPG,JPEG,WEBP

推荐使用 PNG 格式以避免压缩损失影响修复质量。

步骤二:标注待修复区域

使用画笔工具在图像上涂抹白色区域,表示希望被修复的部分。

关键参数: -画笔大小滑块:调节笔触直径(建议小区域用小笔,大面积用大笔) -橡皮擦工具:修正误标区域 -撤销功能:部分浏览器支持Ctrl+Z

提示:标注应完全覆盖目标物体或水印,略超出边界有助于边缘融合。

步骤三:执行图像修复

点击"🚀 开始修复"按钮,系统将执行以下流程:

  1. 验证输入图像与 mask 是否有效
  2. 加载 LaMa 模型(首次运行会自动下载)
  3. 执行推理生成修复图像
  4. 显示结果并保存至本地

处理时间参考: - 小图(<500px):约 5 秒 - 中图(500–1500px):10–20 秒 - 大图(>1500px):20–60 秒(CPU 更久)

步骤四:查看与下载结果

修复完成后,右侧将显示修复后的图像。系统自动保存文件至:

/root/cv_fft_inpainting_lama/outputs/outputs_YYYYMMDDHHMMSS.png

可通过 FTP/SFTP 工具下载,或配置 Nginx 进行静态资源代理。


4. 公网访问配置

4.1 端口开放与防火墙设置

默认服务监听0.0.0.0:7860,需确保服务器防火墙允许外部访问此端口。

开放 7860 端口(以 ufw 为例):
sudo ufw allow 7860/tcp sudo ufw reload
云服务商安全组配置

登录云平台控制台(如阿里云、腾讯云、AWS),在实例安全组中添加入站规则:

  • 协议类型:TCP
  • 端口范围:7860
  • 源 IP:0.0.0.0/0(或限制特定 IP)

4.2 使用 Nginx 反向代理(推荐)

为提升安全性与稳定性,建议使用 Nginx 做反向代理,并启用 HTTPS。

安装 Nginx 并配置站点
sudo nano /etc/nginx/sites-available/inpainting

写入以下配置:

server { listen 80; server_name your-domain.com; # 替换为你的域名或公网IP location / { proxy_pass http://127.0.0.1:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_buffering off; proxy_request_buffering off; } }

启用站点:

sudo ln -s /etc/nginx/sites-available/inpainting /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx
(可选)配置 SSL 证书

使用 Let's Encrypt 获取免费 HTTPS 证书:

sudo certbot --nginx -d your-domain.com

此后可通过https://your-domain.com安全访问服务。

4.3 访问公网地址

完成上述步骤后,在任意设备浏览器中输入:

http://<服务器公网IP>:7860

或(若配置了域名):

https://your-domain.com

即可访问图像修复系统。

示例:http://123.45.67.89:7860


5. 常见问题与优化建议

5.1 常见问题排查

问题现象可能原因解决方案
无法访问 WebUI服务未启动检查ps aux \| grep app.py
页面空白浏览器 CORS 或 JS 错误清除缓存或更换浏览器
修复失败缺少依赖或模型未下载查看日志确认错误信息
标注无效未正确绘制 mask确保用白色完全覆盖目标区域
输出文件找不到路径权限不足检查/outputs/目录读写权限

5.2 性能优化建议

  1. 启用 GPU 加速
  2. 确保 CUDA 和 cuDNN 正确安装
  3. 修改config.yaml设置device: cuda

  4. 降低图像分辨率

  5. 对超大图像先缩放至 2000px 以内再处理

  6. 使用 SSD 存储

  7. 提高模型加载与 I/O 速度

  8. 并发控制

  9. 当前版本不支持高并发,建议单用户使用或加限流中间件

5.3 安全性注意事项

  • 禁止暴露敏感端口:仅开放必要端口(如 80/443)
  • 限制访问来源:可通过 Nginx 配置 IP 白名单
  • 定期更新依赖:防止第三方库漏洞
  • 避免暴露管理员接口:如 Gradio 的调试面板

6. 二次开发与扩展建议

6.1 项目结构解析

cv_fft_inpainting_lama/ ├── app.py # 主应用入口 ├── core/ # 核心推理逻辑 │ ├── model_loader.py │ └── inference.py ├── webui/ # 前端界面组件 ├── outputs/ # 修复结果存储目录 ├── models/ # 模型缓存目录(自动生成) ├── requirements.txt # 依赖列表 └── start_app.sh # 启动脚本

6.2 功能扩展方向

  1. 多语言支持
  2. 修改前端文本标签,增加国际化切换

  3. 用户认证系统

  4. 在 Nginx 层增加 Basic Auth 或接入 OAuth2

  5. API 接口封装

  6. 添加 RESTful API 接口供程序调用

python @app.route('/api/inpaint', methods=['POST']) def api_inpaint(): # 接收 base64 图像与 mask,返回修复结果 pass

  1. 批量处理功能
  2. 支持上传多张图像并队列处理

  3. 结果分享链接

  4. 自动生成临时下载链接,便于协作

7. 总结

7.1 技术价值总结

本文详细介绍了基于fft_npainting_lama构建图像修复系统的全流程,涵盖:

  • 本地环境部署与依赖安装
  • WebUI 使用方法与操作技巧
  • 公网访问配置(端口开放 + Nginx 反向代理)
  • 安全性与性能优化建议
  • 二次开发扩展思路

该项目结合了先进的 LaMa 图像修复算法与友好的可视化交互设计,具备良好的实用性和可定制性。

7.2 实践建议

  1. 生产环境慎用公网暴露:建议内网使用或配合身份验证
  2. 定期备份输出数据:防止磁盘满导致服务异常
  3. 监控资源占用:特别是 GPU 显存与内存使用情况
  4. 保留原作者版权信息:尊重开源协议与开发者劳动成果

通过合理配置,该系统可作为个人图像处理助手,也可集成进内容管理系统用于自动化去水印等任务。


获取更多AI镜像

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

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

DCT-Net自动化测试:构建持续集成管道确保模型稳定性

DCT-Net自动化测试&#xff1a;构建持续集成管道确保模型稳定性 你是一位机器学习工程师&#xff0c;负责维护一个基于DCT-Net的人像卡通化API服务。这个服务被广泛用于社交应用、虚拟形象生成和内容创作平台&#xff0c;每天处理数万次请求。每次你更新模型或优化推理逻辑时&…

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

普通人如何玩转AI管家?UI-TARS云端傻瓜式教程

普通人如何玩转AI管家&#xff1f;UI-TARS云端傻瓜式教程 你是不是也经常觉得&#xff0c;电脑操作太繁琐&#xff1f;点开浏览器、搜索信息、下载文件、整理文档……这些重复性工作明明可以交给AI来做。可一看到“安装模型”“配置环境”“写代码”&#xff0c;就头大如斗&am…

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

UI-TARS桌面智能助手:让电脑听懂你的每一个指令

UI-TARS桌面智能助手&#xff1a;让电脑听懂你的每一个指令 【免费下载链接】UI-TARS-desktop A GUI Agent application based on UI-TARS(Vision-Lanuage Model) that allows you to control your computer using natural language. 项目地址: https://gitcode.com/GitHub_T…

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

5大理由告诉你:为什么2025年每个开发者都需要霞鹜文楷

5大理由告诉你&#xff1a;为什么2025年每个开发者都需要霞鹜文楷 【免费下载链接】LxgwWenKai LxgwWenKai: 这是一个开源的中文字体项目&#xff0c;提供了多种版本的字体文件&#xff0c;适用于不同的使用场景&#xff0c;包括屏幕阅读、轻便版、GB规范字形和TC旧字形版。 …

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

Unity插件崩溃怎么办?BepInEx框架深度诊断指南

Unity插件崩溃怎么办&#xff1f;BepInEx框架深度诊断指南 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 问题发现与定位流程 当Unity游戏在使用BepInEx插件框架时出现崩溃&…

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

opencode函数拆分建议:复杂逻辑模块化重构实战案例

opencode函数拆分建议&#xff1a;复杂逻辑模块化重构实战案例 1. 引言 随着AI编程助手在开发流程中的深度集成&#xff0c;如何高效利用这类工具进行代码质量提升成为开发者关注的重点。OpenCode作为2024年开源的终端优先AI编码框架&#xff0c;凭借其多模型支持、隐私安全设…

作者头像 李华