
LaMa 图像修复实战指南如何 5 条命令跑出第一个修复结果【免费下载链接】lama LaMa Image Inpainting, Resolution-robust Large Mask Inpainting with Fourier Convolutions, WACV 2022项目地址: https://gitcode.com/GitHub_Trending/la/lamaLaMaLarge Mask Inpainting with Fourier ConvolutionsWACV 2022是一个基于傅里叶卷积的图像修复项目给它一张原图和一张掩码它负责填出掩码内的像素。模型官方在 256×256 上训练可以泛化到约 2k 的图像。如果你的需求是照片去物、破损修补或者想复现和微调大掩码修复模型这个项目提供预训练权重和完整的训练、评估管线。第一次上手5 条命令跑出第一个修复结果先克隆仓库并建环境conda 和 virtualenv 两条路线的命令都写在 README 的 Environment setup 一节。最短路径是git clone https://gitcode.com/GitHub_Trending/la/lama cd lama # 克隆仓库并进入项目 conda env create -f conda_env.yml conda activate lama # 创建并激活 Python 环境然后下载预训练模型。官方推荐 big-lama在 Places Challenge 数据上训练适合大场景压缩包的下载入口列在 README 里按其说明下载并解压把big-lama目录放在项目根目录。同一个数据包里还有示例集 LaMa_test_images解压后是一组现成的原图掩码可直接当输入。再跑推理。两个环境变量必须导出否则脚本会因找不到依赖而报错export TORCH_HOME$(pwd) export PYTHONPATH$(pwd) # 必需的环境变量 python3 bin/predict.py model.path$(pwd)/big-lama indir$(pwd)/LaMa_test_images outdir$(pwd)/output # 开始推理跑完后 outdir 里就是修复结果。没有 GPU 就在命令末尾加devicecpu速度变慢但能跑想要零安装环境docker/2_predict.sh可直接拉镜像执行推理。看懂输入与输出原图、掩码、结果的文件对应关系输入目录只有一条规则掩码是文件名带mask的 PNG原图由掩码文件名去掉_maskXXX再拼上图片后缀得到。例如image1.png原图image1_mask001.png掩码与原图同尺寸白色区域是要修复的部分输出outdir 下生成与掩码同名的image1_mask001.png输出后缀可用out_ext改默认.png上图是仓库 countless 掩码目录里的示例输入照片关键在文件名配对而不是画面内容。原图后缀读自 configs/prediction/default.yaml 的img_suffix默认.png。如果你的原图是.jpg需要在命令后追加dataset.img_suffix.jpg否则掩码找不到对应原图这批数据会被跳过。图像进入网络前会被填充到 8 的倍数pad_out_to_modulo: 8不需要你手动对齐尺寸。掩码可以手绘也可以用仓库脚本生成。由语义分割生成时掩码内容大致长这样三个关键开关掩码类型、refine、device掩码生成配置——决定你测什么场景。configs/data_gen/ 下有 6 个文件两个维度细/中/粗thin/medium/thick× 256/512 画布。起步用random_medium_512.yaml输出 512×512 裁剪图加中等大小的洞thick 适合大面积缺失测试所有配置都把掩码面积限制在图像 50% 以内max_tamper_area: 0.5。用法python3 bin/gen_mask_dataset.py $(pwd)/configs/data_gen/random_medium_512.yaml raw_images/ out/ --ext jpg # 批量生成图片和掩码refineTrue——质量与速度的交换。默认关闭。打开后走多尺度细化每个尺度迭代 15 次n_iters: 15最多 3 个下采样层级max_scales: 3图像会被自动缩放进 180 万像素预算px_budget: 1,800,000。大图的最终版建议打开边缘和纹理更干净批量跑测试集时保持关闭。device——无 GPU 的兜底。默认cuda。加devicecpu用 CPU 推理512×512 的图像单张从几秒到几分钟不等验证流程够用正式跑批再回 GPU。卡住时怎么办常见现象对照表现象原因对策输入目录里部分数据没被处理扫描规则是*mask*.png原图由掩码文件名反推掩码命名成name_maskXXX.png与原图同目录输出全白或整张图都被重画掩码全白或原图后缀不匹配导致配错对检查img_suffix是否与原图后缀一致CUDA 报错或显存不足无 GPU 或大图占显存加devicecpu或换 256 画布的掩码配置大图边缘发虚、有接缝没走细化阶段追加refineTrue提示找不到模型model.path指向的目录结构不对指向解压后含config.yaml和models/的顶层目录自训模型用model.checkpointlast.ckpt或 epoch 号另外注意模型在 256×256 上训练官方说明可泛化到约 2k远超 2k 的原图建议先降采样或分块再修效果才有保障。深入方向仓库里值得读的目录傅里叶卷积核心saicinpainting/training/modules/ffc.pyFFC 层是论文的主要贡献训练入口与配置bin/train.py configs/training/ 下的lama-fourier、big-lama等入口指标评估bin/evaluate_predicts.py输出 FID/SSIM/LPIPS对应实现见 saicinpainting/evaluation/losses/数据准备脚本fetch_data/Places 和 CelebA-HQ 的下载、切分、掩码生成交互教程根目录 LaMa_inpainting.ipynb按步骤走一遍完整修复流程下一步可以直接做一件事用random_medium_512给你自己的几张图生成掩码先跑一次bin/predict.py再对同一批输入追加refineTrue跑一次对比两组输出基本就能建立对这个项目参数取舍的直观感觉。【免费下载链接】lama LaMa Image Inpainting, Resolution-robust Large Mask Inpainting with Fourier Convolutions, WACV 2022项目地址: https://gitcode.com/GitHub_Trending/la/lama创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考