update link log polar paper

This commit is contained in:
Macster 2013-05-05 00:25:41 -07:00
parent 3cabd4e874
commit f5c3dec484
2 changed files with 4 additions and 4 deletions

View file

@ -52,7 +52,7 @@
<p>The Fractal Mosaic algorithm is a rotation, scale, and translation invariant photomosaic algorithm. While traditional photomosaics create a larger image out of smaller square images on a rectangular grid, Fractal Mosaics creates a larger image out of rectangular images that can be placed at arbitrary locations, can be scaled to any size, and can be rotated by any angle. </p>
<p>This is accomplished with a combination of image search (i.e. image retrieval) algorithms and an image registration algorithm developed with NASA funding by Siavash Zokai and George Wolberg at the City College of New York (<a href="http://www.researchgate.net/publication/2830220_Robust_Image_Registration_Using_Log-Polar_Transform/file/d912f51116dedc8a30.pdf">pdf</a>).</p>
<p>This is accomplished with a combination of image search (i.e. image retrieval) algorithms and an image registration algorithm developed with NASA funding by Siavash Zokai and George Wolberg at the City College of New York (<a href="http://www-cs.engr.ccny.cuny.edu/~wolberg/pub/icip00.pdf">pdf</a>).</p>
<p align="center"><img src="https://raw.github.com/s-ben/Fractal-Mosaics/gh-pages/images/eye_mosaic_flickr_800pix.jpg?login=s-ben&amp;token=d045d2a20e53d9009700d6829157669f" alt="Alt text">
<p style="text-align:center">Figure 1: Fractal Mosaic created with graffiti image set (best viewed <a href="https://raw.github.com/s-ben/Fractal-Mosaics/gh-pages/images/eye_mosaic_flickr_large.jpg?login=s-ben&amp;token=87b09134a5f66d314547e419299a65b7">large</a>)</p>
@ -105,7 +105,7 @@
<p>After an initial survey of the image registration literature, a frequency domain image registration algorithm was evaluated; specifically, Fourier-Mellin-based image registration, as implemented in this <a href="http://www.mathworks.com/matlabcentral/fileexchange/3000-fourier-mellin-based-image-registration-with-gui" target="_blank">Matlab code</a>. This would have been much more computationally efficient than the spatial domain algorithm eventually chosen, as rotation, scale, and translation are efficiently recovered in one step. However, this technique proved not robust enough for the photomosaic application. This is likely because it relies more heavily on the assumption made by all image registration algorithms: that the two images being matched are of the same object/scene. In photomosaics however, we are matching parts of the target image to random library images. The assumption that the library images are rotated, scaled, and translated versions of the target image is weak. </p>
<p>An image registration algorithm that operates in the spatial domain was tried; specifically, the “Log-polar registration” algorithm found in the paper “Robust Image Registration Using Log-Polar Transform” (<a href="http://www.researchgate.net/publication/2830220_Robust_Image_Registration_Using_Log-Polar_Transform/file/d912f51116dedc8a30.pdf">pdf</a>). This algorithm proved very robust. And most importantly, it met the main aesthetic criteria: for any two images presented to the algorithm, it aligned them the way a human would. To test this claim out for yourself, check out the video below showing the algorithm at work matching library images to a target image. </p>
<p>An image registration algorithm that operates in the spatial domain was tried; specifically, the “Log-polar registration” algorithm found in the paper “Robust Image Registration Using Log-Polar Transform” (<a href="http://www-cs.engr.ccny.cuny.edu/~wolberg/pub/icip00.pdf">pdf</a>). This algorithm proved very robust. And most importantly, it met the main aesthetic criteria: for any two images presented to the algorithm, it aligned them the way a human would. To test this claim out for yourself, check out the video below showing the algorithm at work matching library images to a target image. </p>
<p style="text-align:center"><a href="http://www.youtube.com/watch?v=fw7deJSLVE4" target="new"><img src="images/video_screenshot_200rms_500pix.png" width="500" height="427" longdesc="http://www.youtube.com/watch?v=fw7deJSLVE4"></a></p>
<p>The downside to Log-polar registration is increased computation. Because Log-polar registration only recovers rotation and scale, to recover translation, it must be applied to every location (pixel) in the target image. The location resulting in the lowest rms error is then chosen as the estimate. This creates a lot of extra computation. To mitigate this, the authors of the algorithm use a coarse-to-fine multi-resolution framework, whereby estimates computed in lower resolution images are used as initial guesses in higher resolution images. The following section reviews Log-polar registration in Fractal Mosaics.</p>

View file

@ -49,7 +49,7 @@
</div>
<article class="markdown-body">
<h1>Image Registration Algorithm Steps</h1>
<p>The following page details how the multi-resolution framework from the paper “Robust Image Registration Using Log-Polar Transform” (<a href="http://www.researchgate.net/publication/2830220_Robust_Image_Registration_Using_Log-Polar_Transform/file/d912f51116dedc8a30.pdf">pdf</a>) was adapted to the photomosaic problem. It is assumed that you've already read the main Fractal Mosaics &quot;<a href="index.html">paper</a>&quot; which gives an overview of the algorithm.</p>
<p>The following page details how the multi-resolution framework from the paper “Robust Image Registration Using Log-Polar Transform” (<a href="http://www-cs.engr.ccny.cuny.edu/~wolberg/pub/icip00.pdf">pdf</a>) was adapted to the photomosaic problem. It is assumed that you've already read the main Fractal Mosaics &quot;<a href="index.html">paper</a>&quot; which gives an overview of the algorithm.</p>
<p>Essentially, we apply Log-polar registration on low resolution images, searching for matches, and only drill down to higher resolution images when the library image being evaluated produces a low enough rms error.</p>
<ol>
<li style="font-weight:bold;">Create low resolution versions of the target image </li>
@ -108,7 +108,7 @@
<h2>Levels</h2>
<p>The steps described in the first two sections will produce a mosaic. However, the scale range of Log-polar registration will restrict the size of images in the mosaic. In the paper outlining Log-polar registration (<a href="http://www.researchgate.net/publication/2830220_Robust_Image_Registration_Using_Log-Polar_Transform/file/d912f51116dedc8a30.pdf">pdf</a>), the authors claim up to 10X scale recovery. In this author’s experiments, scale was only recovered reliably up to 2X. This is due to the fact that we’re not registering images of the same objects/scene, but rather random library images. If we were doing traditional image registration, this would be equivalent to matching images with extreme warping/distortion. Therefore, using the image resolutions presented thus far, the smallest image in the mosaic would be the size of a target tile (1/3 of the mosaic size), scaled down by 1/2, or 1/6th the size of the target image. This means the “resolution” of the overall mosaic is low. We can only have relatively large matches (tiles), some of which may not match the target image very well. To create a “higher resolution” mosaic, one where smaller library images fill in target image details, we introduce higher “levels”. </p>
<p>The steps described in the first two sections will produce a mosaic. However, the scale range of Log-polar registration will restrict the size of images in the mosaic. In the paper outlining Log-polar registration (<a href="http://www-cs.engr.ccny.cuny.edu/~wolberg/pub/icip00.pdf">pdf</a>), the authors claim up to 10X scale recovery. In this author’s experiments, scale was only recovered reliably up to 2X. This is due to the fact that we’re not registering images of the same objects/scene, but rather random library images. If we were doing traditional image registration, this would be equivalent to matching images with extreme warping/distortion. Therefore, using the image resolutions presented thus far, the smallest image in the mosaic would be the size of a target tile (1/3 of the mosaic size), scaled down by 1/2, or 1/6th the size of the target image. This means the “resolution” of the overall mosaic is low. We can only have relatively large matches (tiles), some of which may not match the target image very well. To create a “higher resolution” mosaic, one where smaller library images fill in target image details, we introduce higher “levels”. </p>
<p>Essentially, at each level we repeat the same algorithm steps, but start with a higher resolution “lowest resolution” target. At level one (L1), we use the 8x8 “lowest resolution” target image, as illustrated in Figure 3. For level 2 (L2), we start with a 16x16 lowest resolution target image, as illustrated in Figure 5. This does not change the resolutions used in Log-polar registration. The 16x16 lowest resolution image is still treated as if it were created from 8x8 tiles. There are just more 8x8 tiles to evaluate now, and those tiles are smaller relative to the actual size of the overall mosaic. Again, we create higher resolution versions of the target image from the lowest resolution image (8x8, 16x16....down to 128x128). At higher levels, the reference target images are simply larger.</p>