总说
这里主要讲解Inpainting的主要发展历程。从2001年到2014年的图像填充方法概述。
1. ImageInpainting(00年)
2. Simultaneous Structure and Texture Image Inpainting
3. Object Removal by Exemplar-Based Inpainting
4. Shift-Map Image Editing
5. PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing
6. The Generalized PatchMatch Correspondence Algorithm
7. Image Completion Approaches Using the Statistics of Similar Patches
8. Image Inpainting (14年总结性的inpainting文章)
TODO
暂时不写第八篇了,有点累。以后再写吧。。
Image Inpainting(00年)
简单来说,该文章提出Inpainting的方法就是从已知区域往未知区域,逐步向内填充。
填充的公式如下:
而 Int(i,j) 则通过以下公式计算:
慢慢缕缕:未知区域定义为 Ω , 已知区域是 Ω¯¯¯ 。 In(i,j) 表示 (i,j) 坐标的点在第 n 次迭代时的值。
δLn−→−(i,j) : 这个表示(i,j)点的信息的变化量。
Nn−→−(i,j) :表示一个方向,后面说明这个方向。
L→(i,j) 应该是图像的光滑估计算子。论文中这里取拉普拉斯算子。
Ln−→(i,j)=Inxx(i,j)+Inyy(i,j) , 那么 Nn−→−(i,j)
如何定义 N→(i,j)
如何定义呢?一个简单的想法是,定义成垂直于边界 δΩ 的signed distance。比如是这样的:
对于每个点(在 Ω 内), N 方向应该垂直于一个收缩的
这样的设定
定义:
Nn−→−(i,j):=∇⊥In(i,j) ,其中 ∇⊥In(i,j) 是垂直于 ∇In(i,j) 的方向。
实际操作
Inpainting方式
先计算 Ln(i,j)=Inxx(i,j)+Inyy(i,j)
再算
再弄 δLn−→−(i,j)=(Ln(i+1,j)−Ln(i−1,j),Ln(i,j+1),Ln(i,j−1))
再算