LaMa-Dilated (ONNX)
LaMa-Dilated 是一个基于 LaMa (Large Mask Adversarial)思想、并使用 Dilated(空洞)卷积 作为 backbone 的图像修复(inpainting)模型。
本仓库提供的是 导出为 ONNX 格式 的权重,方便在 C++/Qt 客户端或 其他推理运行时(如 onnxruntime)里直接加载,无需 PyTorch。
原项目:https://github.com/advimman/lama 导出方:PyTorch pytorch 2.5.1 → ONNX(详见下方 Model card)
适用场景
- 擦除图像中不需要的物体、文字、人物
- 老照片划痕、污渍修复
- 任意 mask 区域的语义合理填充
输入 / 输出
| 类型 | 名称 | 形状 | dtype | 说明 |
|---|---|---|---|---|
| 输入 | image |
[1, 3, 512, 512] |
float32 | RGB 图像,已经归一化到模型期望的输入范围(通常是 [-1, 1] 或 [0, 1],视导出约定) |
| 输入 | mask |
[1, 1, 512, 512] |
float32 | 待修复区域 mask,1 = 待修复,0 = 保留 |
| 输出 | painted_image |
[1, 3, 512, 512] |
float32 | 修复后的 RGB 图像 |
处理尺寸
- 模型训练时假设方形输入 512×512。
- 非正方形或不同分辨率的输入请自行
resize / pad到 512×512,再把输出crop / resize回原图。
Model card
- ONNX opset:ai.onnx:20
- ONNX IR version:9
- Producer:pytorch 2.5.1
- 模型文件(仓库总大小 174.48 MB):
model.onnx— 主版本(opset ai.onnx:20,IR 9),155.38 KB,推荐使用 onnxruntime ≥ 1.16model.ort-win7-1.14.1.onnx— 兼容 onnxruntime 1.14.1 / Win7 部署 的版本(opset 18,IR 8),155.38 KB。原版 op_type 全部为 ai.onnx 域经典算子 (Add / BN / Concat / Conv / ConvTranspose / Mul / Pad / Relu / Sigmoid / Slice / Sub),仅 metadata 降级,未引入新算子。model.data— 外部权重数据,174.18 MB。当前model.onnx实际未声明 external_data 引用,权重已内联于 .onnx 文件;model.data保留以便 后续导出兼容。
使用示例(onnxruntime, Python)
import numpy as np
import onnxruntime as ort
# 主版本(推荐 ort >= 1.16)
sess = ort.InferenceSession("model.onnx",
providers=["CPUExecutionProvider"])
# ort 1.14.1 / Win7 部署专用
sess = ort.InferenceSession("model.ort-win7-1.14.1.onnx",
providers=["CPUExecutionProvider"])
image = np.random.rand(1, 3, 512, 512).astype(np.float32) # 替换为真实图像
mask = np.zeros((1, 1, 512, 512), dtype=np.float32) # 1 = 待修复
mask[..., 100:200, 100:200] = 1.0
out = sess.run(["painted_image"],
{"image": image, "mask": mask})[0]
# out.shape == (1, 3, 512, 512), float32
使用示例(onnxruntime, C++)
#include <onnxruntime_cxx_api.h>
// 构造 OrtEnv / SessionOptions / Session ...
// 读 image, mask 为 float32, 形状 {1,3,512,512} 和 {1,1,512,512}
// 运行 -> painted_image
// 详见 onnxruntime 官方示例。
引用
@inproceedings{suvorov2022lama,
title = {Resolution-Robust Large Mask Inpainting with Fourier Convolutions},
author = {Suvorov, Roman and Logacheva, Elizaveta and Mashikhin, Anton and Remizova, Anastasia and Ashukha, Arseniy and Silvestrov, Aleksei and Bogomolov, Evgeny and Kohli, Lala and Lempitsky, Victor},
booktitle = {WACV},
year = {2022}
}
License
本仓库权重遵循原 LaMa 项目许可(Apache-2.0)。 任何商用、二次分发请遵守原作者条款:https://github.com/advimman/lama
Uploaded on 2026-07-10 via upload_lama_dilated_ort_win7.py.