Antonio Criminisi, Patrick Perez, and Kentaro Toyama
A new algorithm is proposed for removing large objects from digital images. The challenge is to ﬁll in the hole that is left behind in a visually plausible way. In the past, this problem has been addressed by two classes of algorithms: (i) “texture synthesis” algorithms for generating large image regions from sample textures, and (ii) “inpainting” techniques for ﬁlling in small image gaps. The former has been demonstrated for “textures” – repeating two-dimensional patterns with some stochasticity; the latter focus on linear “structures” which can be thought of as one-dimensional patterns, such as lines and object contours. This paper presents a novel and effcient algorithm that combines the advantages of these two approaches. We ﬁrst note that exemplar-based texture synthesis contains the essential process required to replicate both texture and structure; the success of structure propagation, however, is highly dependent on the order in which the ﬁlling proceeds. We propose a best-ﬁrst algorithm in which the confidence in the synthesized pixel values is propagated in a manner similar to the propagation of information in inpainting. The actual colour values are computed using exemplar- based synthesis. In this paper the simultaneous propagation of texture and structure information is achieved by a single , efficient algorithm. Computational efficiency is achieved by a block-based sampling process. A number of examples on real and synthetic images demonstrate the effectiveness of our algorithm in removing large occluding objects as well as thin scratches. Robustness with respect to the shape of the manually selected target region is also demonstrated. Our results compare favorably to those obtained by existing techniques.