Overview
这是一篇比较经典的exemplar-based的inpainting算法,算法思路比较简单,是一种贪心算法,主要分为以下几步:
1、在需要填充区域的轮廓上计算权重,选择权重最大的轮廓点作为待填充点
2、在该点周围领域取一个一定大小的patch块,在图像其他区域内找该patch快的最近邻patch
3、将最近邻patch块对应到需要填充区域的部分复制到等待填充的区域,再重复上述步骤,直至所有点都填充完毕。
从上述算法流程来看,算法比较简单,是一个基于填充区域轮廓优先级的算法,算法是一个贪心算法。存在的一个明显弊端就是无法保证最终整体填充效果。
Impletion Detail
1. filling order
paper中着重讲述了填充顺序的关键性,也是本片paper的主要创新点,轮廓点上的优先级由两部分组成,其中C(p)是confidence term, D§是data term.
P ( p ) = C ( p ) D ( p ) P(p) = C(p)D(p) P(p)=C(p)D(p)
1、confidence term: 表明该点的可靠度
2、data term: 根据patch周围数据进行计算的项
1.1 confidence term
condidence 项可视为围绕在点 p p p周围点的可信度,目的是优先填充那些周围有更多已知点的patch快。
其计算公式如下, Ψ p \Psi_p Ψp表示以 p p p点为中心的patch快,其中 ∣ Ψ p ∣ |\Psi_p| ∣Ψp∣ 是整个patch的面积,
C ( p