视觉人工智能指南

LaMa 分辨率-稳健修复

LaMa (Large Mask Inpainting) is an image inpainting model from Samsung AI researchers, presented at WACV 2022, that fills large holes in photos by using Fourier convolutions to see the whole image at once.

听听这个指南AI叙述 · ~8 min

在本页阅读时间 9 分钟
  1. 概述
  2. 主要要点
  3. 深入探讨
  4. Removing an object from a photo with LaMa
  5. 现实世界的实施
  6. LaMa 分辨率的未来-稳健修复
  7. 付诸实践
  8. 资料来源与延伸阅读
  9. 不断探索
  10. 常见问题

概述

Trained only on 256 by 256 crops, it works on much larger images, and its small size and open code made it the default object-removal engine in many free tools.

主要要点

  1. LaMa is a large-mask image inpainting model from Samsung AI researchers, posted in September 2021 and published at WACV 2022.
  2. Fast Fourier convolutions give LaMa an image-wide receptive field from its first layers, which helps fill large holes and repeating patterns.
  3. The base LaMa-Fourier has 27 million parameters, about a quarter the size of CoModGAN, yet scored better FID in most of the paper's tests.
  4. LaMa trains on 256 by 256 crops but works at much higher resolutions, which the official README puts at up to about 2K.
  5. LaMa's fills are plausible inventions, not recovered pixels, and the model struggles with periodic patterns under strong perspective.

深入探讨

Image inpainting is the task of filling in a missing or masked region of a photo so that the result looks natural. The user supplies an image and a mask, a black-and-white image marking which pixels to replace, and the model paints new content into the hole. Uses range from removing a tourist from a landmark shot to repairing scratches. The fill is a plausible guess, not a recovery of what was really there: the original pixels are gone, and the model invents content consistent with its surroundings. LaMa, short for Large Mask Inpainting, is a 2021 model designed for the hardest version of this task, where the hole is large and the image is high resolution.

The paper, by Roman Suvorov, Elizaveta Logacheva, Victor Lempitsky and colleagues at Samsung AI Center Moscow, Samsung Research and the Skolkovo Institute of Science and Technology, was posted to arXiv on September 15, 2021 and published at WACV 2022. Its diagnosis was that earlier inpainting networks lacked an effective receptive field, the area of the input that can influence each output pixel. An ordinary convolution looks only at a small neighborhood, such as 3 by 3 pixels, so a network needs many layers before a pixel in the middle of a large hole can see anything outside it. When the hole is bigger than the receptive field, the network has no context and produces blur or repeated smudges.

LaMa's answer has three parts. The first is the fast Fourier convolution (FFC), introduced by Lu Chi, Borui Jiang and Yadong Mu at NeurIPS 2020. An FFC splits a layer's channels into two branches. The local branch uses ordinary convolutions. The global branch applies a fast Fourier transform, which re-expresses the whole feature map as a sum of waves at different frequencies, processes those frequencies with a small learned layer, and transforms back. Because every frequency component depends on every pixel, the global branch gives each layer an image-wide receptive field from the very first block. This also suits repeating patterns such as brick walls, fences and windows, which show up as strong peaks at particular frequencies.

The second part is the loss, the measure of error that training minimizes. LaMa combines an adversarial loss, in which a separate discriminator network tries to tell filled patches from real ones, with a high receptive field perceptual loss. A perceptual loss compares images through the features of another pretrained network rather than pixel by pixel, so it rewards plausible structure instead of an exact copy of the original. LaMa computes it with a ResNet-50 segmentation network that uses dilated convolutions, which spread out their kernel taps to cover large areas, so the loss itself judges global layout. The third part is training data: masks drawn as wide polygonal strokes or large boxes of random shape, chosen with equal probability, so the model learns to fill big holes rather than thin scratches.

The results justified the design. The base LaMa-Fourier model has 27 million parameters, against 109 million for CoModGAN and 85 million for MADF, the two closest competitors. On the Places scene dataset with wide masks it scored a Fréchet Inception Distance (FID, a measure of how realistic a set of images looks, lower is better) of 2.21 against 5.94 for AOT GAN and 3.76 for MADF, though CoModGAN's 1.82 was better on that one test. On segmentation-shaped masks LaMa scored 5.35 against 6.40 for CoModGAN, and on CelebA-HQ faces with wide masks 6.96 against 24.4. The authors trained a larger Big LaMa with 18 residual blocks and 51 million parameters on 4.5 million Places-Challenge images, using eight NVIDIA V100 GPUs for about 240 hours.

The resolution-robust part of the name refers to generalization. LaMa was trained on 256 by 256 crops but evaluated at up to 1536 by 1536, and the paper found that FFC models degrade much less as resolution grows than models with regular or dilated convolutions. The official README says LaMa generalizes to resolutions up to about 2K. A 2022 CVPR workshop paper by Prakhar Kulshreshtha, Brian Pugh and Salma Jiddi of Geomagical Labs pushed further: it optimizes the network's intermediate features at inference time with a multiscale consistency loss, so coarse, coherent structure from a downscaled pass guides fine detail at full resolution. That refinement was merged into the official code.

Compared with diffusion-based inpainting, such as Stable Diffusion inpainting checkpoints, LaMa is a single forward pass with no text prompt. That makes it fast and predictable for removal, where the goal is to make something disappear into the background. Diffusion models can add new content described in a text prompt, like replacing a bench with a fountain, at the cost of many denoising steps per image. IOPaint reflects this split, using LaMa for erasing and diffusion models such as PowerPaint and SDXL inpainting for replacement and outpainting.

LaMa has clear limits. Its authors note that it usually struggles when strong perspective distorts periodic structures, such as a tiled floor receding into the distance, which is common in internet photos unlike its training data. The Fourier version is about 20% slower than a regular-convolution version of the same model. And because it hallucinates plausible content, it should never be used to claim what a hidden area actually contained, for instance in evidence or documentation.

Running LaMa is inexpensive. The checkpoint is small, inference is one network pass, and IOPaint runs it on a CPU, though a GPU is faster. Training a model from scratch is another matter, as Big LaMa's roughly 1,900 GPU-hours show, and the Places-Challenge training images alone take about 476 GB. The official repository provides pretrained models, Docker scripts for CPU and CUDA, and a mask generator for evaluation.

04工作示例

Removing an object from a photo with LaMa

  1. Pick a photo with an unwanted object against a fairly uniform background, such as a sign on a grassy field.

  2. Create a mask the same size as the photo, painting the object and a small margin around it white and everything else black.

  3. Install IOPaint with pip and start it with the LaMa model on CPU, then open the local web page it serves.

  4. Load the photo, brush over the object, and run the fill; alternatively place image.png and image_mask001.png in a folder and run the official predict script with big-lama.

  5. Zoom in on the filled area at full resolution and look for blur, repeated patches or broken straight lines.

  6. Repeat with a photo where the object sits in front of a tiled floor in perspective, and compare the quality of the two fills.

它显示了什么

A cleaned photo and a direct comparison of an easy and a hard case. The plain background should fill convincingly, while the perspective tiles will likely show bent or misaligned lines, the failure mode the paper's authors describe.

现实世界的实施

Erasing unwanted people, objects, defects or watermarks in IOPaint, an Apache-2.0 open-source tool from Sanster, the developer of lama-cleaner, which uses LaMa for removal and runs on CPU, NVIDIA GPU or Apple Silicon.

Batch inpainting a folder of photos with the official advimman/lama repository by saving each mask as image1_mask001.png next to image1.png and running bin/predict.py with the big-lama checkpoint.

Improving high-resolution results with the feature refinement method from Geomagical Labs, which optimizes LaMa's internal features at inference time and is enabled in the official code with refine=True.

Running LaMa on Apple devices through CoreMLaMa, a community conversion to Apple's Core ML format listed in the official repository's README.

Benchmarking a new inpainting model against LaMa on Places and CelebA-HQ with FID and LPIPS, the datasets and metrics used in the original paper.

LaMa 分辨率的未来-稳健修复

The LaMa authors left one question explicitly open in their 2022 paper: whether Fourier convolutions can handle deformed periodic signals, such as patterns seen in strong perspective, where the model usually struggles. High-resolution coherence was a second thread, addressed in 2022 by feature refinement at inference time, which trades extra computation per image for better structure without retraining. The broader direction of inpainting has since moved toward diffusion models that can add content guided by text, and tools such as IOPaint now pair LaMa for removal with diffusion models such as PowerPaint, BrushNet and SDXL inpainting for replacement and outpainting. LaMa's lasting role is as a light, fast removal model and a standard baseline on Places and CelebA-HQ. Open problems for the field include filling holes that hide complex objects or text, measuring realism in ways that match human judgment better than FID, and labeling edited images so that plausible fills are not mistaken for real content.

付诸实践

为什么这很重要

  • 速度与规模. 视觉人工智能可以大规模自动化检查、检测和标记任务。
  • 构建选择. 创意团队可以通过更少的手动修改更快地构建概念原型。
  • 团队与工作流程. 操作可以使用以前难以处理的图像和视频信号。

留意

  • 如果出处不明,肖像权和同意可能会成为法律风险。
  • 模型性能可能因光照、人口统计和环境的不同而有所不同。
  • 除非监控置信阈值,否则误报可能会被忽视。

后续步骤

  1. 定义精确度、召回率和错误成本的接受标准。
  2. 使用符合实际生产条件的数据进行测试。
  3. 为低置信度或高影响力的预测添加人工审核。
  4. 跟踪模型漂移并在相机或数据集更改后重新验证。

资料来源与延伸阅读

  1. arXiv (WACV 2022)Resolution-robust Large Mask Inpainting with Fourier Convolutions
  2. GitHubadvimman/lama: LaMa Image Inpainting
  3. NeurIPS 2020Fast Fourier Convolution
  4. arXiv (CVPR 2022 Workshop)Feature Refinement to Improve High Resolution Image Inpainting
  5. GitHubSanster/IOPaint

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

Take the LaMa Resolution-Robust Inpainting quiz

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

What is LaMa Resolution-Robust Inpainting?

LaMa (Large Mask Inpainting) is an image inpainting model from Samsung AI researchers, presented at WACV 2022, that fills large holes in photos by using Fourier convolutions to see the whole image at once. Trained only on 256 by 256 crops, it works on much larger images, and its small size and open code made it the default object-removal engine in many free tools.

赋予 LaMa 图像全球视野的标志性建筑组件是什么?

LaMa 使用快速傅立叶卷积 (FFC),其部分在频域中运行,以在单层中提供全局感受野。

为什么 LaMa 比许多早期的修复模型更能处理大型面具?

由于 FFC 可以立即看到整个图像,因此即使在非常大的缺失区域中,LaMa 也可以连贯地延续纹理和几何形状。

What resolution behavior did the LaMa paper report?

The authors report that LaMa generalized to higher-than-training resolutions in their experiments; performance is still dependent on the image and mask.

由于其频域处理,LaMa 能够特别出色地处理哪种纹理?

频域卷积非常适合周期性图案,因此 LaMa 干净利落地继续重复砖墙和瓷砖地板等纹理。

Compared with large diffusion-based inpainting systems, how is LaMa commonly positioned?

LaMa is a convolutional inpainting approach built around FFCs and is often used where an efficient fill is useful; speed and memory depend on the implementation and hardware.