
into texture and structure components that are completed
using texture synthesis and image inpainting, respectively.
The final result is the sum of the two completed components.
Based on texture segmentation, a tensor-voting algorithm is
introduced to smoothly link structures across holes to repair
images [Jia and Tang 2003].
Interactive guidance has also been p roposed. Previous sys-
tems have utilized source region selection, depth informa-
tion [P´erez et al. 2004], and “point of interest” [Drori et al.
2003] to further improve their completion results.
While previous approaches have produced some amazing re-
sults, they have difficulties completing images where com-
plex salient structures exist in the missing regions. Such
salient structures may include curves, T-junctions, and X-
junctions. A challenging example to previous techniques is
shown in Figure 1, where the region left by the removed
pumpkin needs to be filled in. Although the human vi-
sual system has the ability to perceptu ally complete missing
structures [Noe et al. 1998] (e.g., completing the window
frames occluded by the pumpkin in Figure 1), the underly-
ing mechanisms (e.g., visual Gestalt principles [Koffka 1935,
1967]) remain unclear. Moreover, previous patch-by-patch
completion algorithms operate in a greedy manner that may
also cause discontinuities in salient stru ctures. Due to the
inherent ambiguity of image completion from a single image,
we must leverage high-level knowledge.
1.2 Our Approach
Our approach is based on the following observations.
• For natu ral images, the most salient missing structures
can often be approximated by a few well-defined curves.
• There exists a synthesis ordering for image completion:
the regions with salient structures should be completed
before filling in other regions.
Therefore, our approach proceeds in three steps: user inter-
action to specify the curves, structure propagation to syn-
thesize regions with salient structures, and texture propaga-
tion to fill in the remaining unknown regions. Note that we
completely separate structure propagation and texture prop-
agation and perform structure propagation first. Compared
with previous methods, this completion process largely re-
duce the breaking of salient structures which human eyes are
sensitive to.
In our system, we allow t he user to draw a few curves that
extend from the known region to the unknown region to in-
dicate how the global structures should be completed. As
shown in Figure 1(b), two nearly perpendicular lines com-
plete the window frames. These two simple lines can sig-
nificantly reduce inherent ambiguity in the unknown regions
because they provide information on what structure should
be propagated and where texture can be obt ained. By draw-
ing a few curves or lines, the user can generate desirable
completed images by propagating the salient structures ac-
cordingly.
Given the user-sp ecified curves, our approach first synthe-
sizes t he missing structure and texture information along
the curves inside the unknown region. Unlike previous tech-
niques that synthesize image patches in a greedy patch-
by-patch manner, we formulate structure propagation as a
global optimization problem. For all the patches synthesized
on th e specified curves, the color difference in the overlap-
ping area between neighboring patches is globally minimized.
I
Ω
p
i
C
P
P (x
i
)
(a) (b)
Figure 2: Structure propagation - 1D chain. (a) I is the
input image region, Ω is the unknown region and C is a user-
specified curve. St ructure propagation synthesizes missing
image patches on a set of anchor points {p
i
}
L
i=1
using the
sample set P. (b) P (x
i
) is a candidate patch in P which is
chosen for the anchor point p
i
.
If a single curve is specified by the user, we connect the
synthesized patches as a chain, and solve the optimization
problem effectively using dynamic programming. For multi-
ple intersecting curves, we connect the patches as a graph,
and adopt the efficient belief propagation algorithm for op-
timization. Figure 1(c) shows the intermediate result after
structure propagation using belief p ropagation.
The user-specified curves also partition the input image I
into several regions. Using patch-based texture synthesis,
texture propagation synthesizes the remaining missing re-
gions using samples from respective segmented regions. A
photometric correction method in the gradient domain fur-
ther improves the synthesis results. Figure 1(d) shows the
final result after filling in all unknown regions.
2 Structure Propagation
In this section, we introduce the concept of structure prop-
agation using a single curve C specified by the user. The
problem we address is how to synthesize missing structure
and texture along curve C in th e unknown region by using
samples around the curve in the known region. Applying
structure propagation for multiple non-intersecting curves is
straightforward. We will discuss the case of multiple inter-
secting curves in Section 3.
We first sparsely sample curve C in the unknown region
Ω to generate a set of L anchor points {p
i
}
L
i=1
. A s illus-
trated in Figure 2(a), the centers of the synthesized patches
are located at these anchor points, which form a single
chain, or a one-dimensional graph G = {V, E}. V is the
set of L nodes corresponding t o the anchor points, and
E is the set of all edges connecting adjacent no des on C.
The sampling interval is typically half of the patch size to
guarantee sufficient overlaps. Outside Ω, the sample set
P = {P (1), P (2), ..., P (N)} contains all patches whose cen-
ters are within a narrow band (typically 1-5 pixels wide)
along curve C, as shown in Figure 2(a). Typically the sam-
ple size N is in the order of hundreds or thousands.
We thus consider structure propagation as a graph labeling
problem. For each anchor position p
i
, we find a label x
i
∈
{1, 2, ..., N} corresponding t o one of the sample patches. We
select the sample p atch P (x
i
) from P, and paste it at point
p
i
as shown in Figure 2(b).
评论