Programming Assignment 1

Yiming Liu (yimingl@princeton.edu)

Oct 9


Coherence Search

I have implemented Ashikhmin's coherence search in my program. Coherence search tends to copy a large patch from the exemplar image to the target image. However, it suffers from one problem: when it comes to the image's border, it has no choice but find another patch, and thus there will be an apparent seam between the two patches. The kappa paramenter in Image Analogies is designed to overcome this problem. The larger its value is, the more it prefers coherence search to exhaustive search. When kappa is assigned an appropriate value, the algorithm will copy patches from the exemplar, and use exhaustive search to repair the seam.

Note that for most cases I restrict the coherence search to deduce the candidates only with pixels tightly adjacent to it. The reason is that it is meaningless to let (x+2, y) follow the coherence of (x, y), if (x+1, y) does not follow.

The following images compare the difference between the algorithm without coherence search, with an appropriate value of kappa, and with a bad value of kappa, for the texture synthesis task. The exemplar's resolution is 192x192, while all result images' resolution is 256x256.

Common parameters:

Exemplar:


Result without using coherence search


Result using coherence search with an appropriate value of kappa

kappa = 2.0

Result using coherence search with bad values of kappa

kappa = 0.1


kappa = 20.0