Document not found! Please try again

Mutual Information Refinement for Flash-no-Flash ... - Semantic Scholar

1 downloads 0 Views 2MB Size Report
Sami Varjo1, Jari Hannuksela1, Olli Silvén1, and Sakari Alenius2 ..... Smith, S.M., Brady, J.M.: Susan – a new approach to low level image processing.
Mutual Information Refinement for Flash-no-Flash Image Alignment Sami Varjo1 , Jari Hannuksela1 , Olli Silv´en1 , and Sakari Alenius2 1 Machine Vision Group, Infotech Oulu and Department of Electrical and Information Engineering, P.O. Box 4500, FI-90014 University of Oulu, Finland [email protected],[email protected],[email protected] 2 Nokia Research Center, Tampere, Finland [email protected]

Abstract. Flash-no-flash imaging aims to combine ambient light images with details available in flash images. Flash can alter color intensities radically leading to changes in gradient directions and strengths, as well as natural shadows possibly being removed and new ones created. This makes flash-no-flash image pair alignment a challenging problem. In this paper, we present a new image registration method utilizing mutual information driven point matching accuracy refinement. For a phase correlation based method, accuracy improvement through the suggested point refinement was over 40 %. The new method also performed better than the reference methods SIFT and SURF by 3.0 and 9.1 % respectively in alignment accuracy. Visual inspection also confirmed that in several cases the proposed method succeeded in registering flash-no-flash image pairs where the tested reference methods failed. Keywords: registration, illumination, flash

1

Introduction

Computational imaging is used, not only to create, but also to improve existing digital images. Among the goals of image fusion research are a higher dynamic range for more natural coloring of the scene [12], a larger field of view via image mosaicking [30], and increased information content for super resolution images [18]. All methods combining data from several sources require the input images be spatially aligned, and failing to do so usually result in a anomalies, like ghosting effects, in the final result. Typically capturing images with low ambient light requires long exposure times. This leads easily to image blurring resulting from small movements of the camera if a tripod is not used. Other options are to increase the camera sensor sensitivity, or increase the aperture size, or to use external lighting. Increasing the sensor sensitivity leads easily to noisy images and aperture size adjustment is often limited by the optics. Flash is often used to provide extra illumination on the scene to reduce the required exposure time. While the flash images appear sharp, flash render colors

that are often unnatural compared to ambient light. Dark areas may appear too light and light areas too dark. This also often alters the directions and strengths of gradients in the two frames. Directional flash also has limited power, often yielding uneven lighting on the scene. The foreground and center of the scene are illuminated more than the background and edges. Flash also reflects from shiny surfaces like glass or metal producing artifacts. Previous problems can lead to a situation where the ambient light image has more information in certain areas than the flash image and the other way around. Automatic camera focus may also differ depending on whether the foreground or background of the scene is illuminated, resulting in out of focus blurring in different areas of images. The differences between ambient light images and flash images make flashno-flash image pair alignment a challenging problem. However, these same differences make the fusion of the flash-no-flash images desirable. While fusion methods [19, 2] and removal of artifacts introduced by flash have already been addressed [1], the flash images typically have been obtained using a tripod, or alignment is assumed to be solved without studying the alignment. For example, Eisemann and Durand utilize a gradient extraction-based method for image alignment when describing their flash image fusion with a notion that more advanced approaches could be used [5]. Since flash-no-flash image alignment is new research area, we discuss in the following chapters several popular alignment approaches and their suitability for the problem. We propose the use of mutual information for refining the point pair matching and a new alignment method based on that concept. In the experiments, we show that the refinement step can improve the alignment accuracy considerably, and that the new method performs better than the selected reference methods in alignment accuracy with flash-no-flash image pairs.

2

Alignment Methods

The goal in image alignment is to solve the transformation between two or more captured images. Alignment methods can be roughly divided into feature and image based approaches. In the former, the interest points are extracted from images and these are matched, based on selected features. Matching point sets are used to solve the transformation. The image based methods use image data for solving the global transformations. 2.1

Feature Based Methods

In feature based approaches, interest points are extracted from input images and suitable descriptors are calculated for each of these points. The interest points and the descriptors should be invariant to possible transformations so that matching points can be found. The interest points are typically visually distinct in the images, such as corners or centroids of continuous areas. The mapping between images can be solved using least squares type minimization approaches, if the point correspondences are well established. Usually nonlinear

optimization methods are used to solve transformations in over determined point sets to achieve more accurate results. The Harris corner detector has been widely utilized as an interest point detector [10]. Other well known methods for interest points and descriptors are the Smallest Univalue Segment Assimilating Nuclei (SUSAN) [23], the Scale Invariant Feature Transform (SIFT) [15] and the Speeded Up Robust Features (SURF) [3]. The above methods rely on spatial image information. Frequency domain approaches such as phase congruency also exist [13]. Maximally Stable Extremal Regions (MSER) [16] is an example of interest area detectors. Figure 1 presents examples illustrating the problems associated with aligning flash-no-flash images. The Harris corner value for a point is calculated using the gradients to estimate the eigenvalues for the points’ autocorrelation matrix in a given neighborhood. Flash clearly alters the gradients in the scenes. Foreground features are highlighted with flash while the ambient light image picks up the features in the background or behind transparent objects like windows. Interest point selection based on gradients can lead to point sets where no or only a few matches exist. SUSAN is based on assigning a gray value similarity measure for a pixel observed in a circular neighborhood [23]. This non-linear filtering method gives a high response for points where neighborhood intensities are similar to the center pixel value. Interest points like corners and edges have low values which can be found by thresholding. With flash-no-flash image pairs, prominent edges can differ, leading to false matching. Even when there are some corresponding

Fig. 1. Left: Harris feature response for a flash image (top) and no flash image (bottom), Center: SUSAN responses and interest points (yellow) for a flash image (top) and no flash image (bottom), Right: MSER features in a flash (top) and no flash (bottom) images. With MSER images the yellow areas are the found stable regions and the red marks seed points.

edges, the feature points match poorly due to changes in image intensities, and the approach fails in practice. MSER can be considered to be based on the well known watershed segmentation algorithm [17]. Compared to watershed, instead of finding segmentation boundaries MSER seeks regions which are stable on different watershed levels. The local minimum and the thresholding level define a maximally stable extremal region. But also here, flash alters the scene too much for this approach to perform reliably. The example image pair in Fig. 1 shows that the extracted areas not only vary in shape and size, but the stable areas also vary in location. SIFT key points are located in maximums and minimums in the difference of Gaussian filtered images in scale space. The descriptors based on gradient histograms are normalized using local maximum orientation. SURF also relies on gradients when locating and calculating descriptors for the key points. While the flash may relocate shadow edges, also the gradient directions may change since light areas can appear darker or vice versa. Heavy utilization of gradient strengths and directions affect their robustness with flash-no-flash image pair alignment. 2.2

Image Based Methods

There are several methods where no key points are extracted for image alignment, but the whole or a large part of the available image is used. Normalized cross correlation or phase correlation based approaches are the most well known image based alignment methods. The Fourier-Mellin transformation has been utilized widely for solving image translations and rotations [22]. Mutual information (MI) has proven to be useful for registering multi-modal data in medical applications [20]. MI is an entropy based measure describing the shared information content between two signals, originating from Shannon’s information theory. The typical approach is to approximate the images’ mutual information derivative with respect to all transformation parameters and apply a stochastic search to find the optimal parameters [28]. Hybrid methods of image based and interest point approaches can also be made. Coarse alignment using an image based method and feature based approaches for refining the result have been used for enhancing low-light images for mobile devices [25] and also for panorama stitching [21].

3

Proposed Method

We propose a method where interest point matches found using block phase correlation are refined using mutual information as the improvement criteria to overcome the problems discussed earlier. MI considers the joint distributions of gray values in the inputs instead of comparing the gray values directly. The mutual information can therefore describe the similarity of the two image patches enabling alignment even with multi-modal imaging cases [20]. Pulli et al. have

presented a similar approach but without the MI driven point refinement step [21]. The alignment is initialized by dividing one of the input images into subwindows. A single point is selected in each sub-window as the reference point that is matched in the other image using phase correlation. This gives the initial set of matching points with good control on the number of interest points, and distributes them uniformly on the images. Iterative mutual information based refinement is used to find more accurate point matching in each of the subwindows prior to solving the projective mapping between the point sets. The method is described and discussed in more detail below: 1. 2. 3. 4. 5. 6.

Solve rough prealignment from low scale images Divide input images into sub-windows Find a matching point for each sub-window using phase correlation Refine the point pair matching using mutual information RANSAC for removing the outliers Estimate the global transformation

Prealignment is required since the phase correlation applied for point matching is done in fairly small windows. These windows must overlap at least by a half for the phase correlation to work reliably. For example, when point matching in the subwindows is done using 128 pixel correlation windows, the overlap must be at least 64 pixels. Because the tolerance is fairly large, the prealignment can be done on a rough scale. Here down sampling by a factor of 4 was used. Prealignment rotation is solved with the method introduced by Vandewalle et al.[26]. Their method calculates frequency content in images as a function of the rotation angle by integrating the signal over radial lines in the Fourier domain. Now the rotation can be efficiently solved with a one-dimensional phase correlation while the translation is solved thereafter with conventional 2-D phase correlation. Sub-Windowing of the input images for point matching is done in two phases. First one image is divided over an evenly spaced grid and a single interest point is selected for each sub-window defined by the grid. In the second step for point matching, the phase correlation windows are established around the found point coordinates in both the inputs. This approach divides the points evenly on the image surface. This way no strong assumptions about the underlying transformation are made, yet it is likely that the point neighborhood contains some useful information that can be utilized later on in the mutual information based refinement step. Here, strong interest points in the flash image’s initial grid are located using the Harris corner detector. Other point selection techniques, like a strong Sobel response might be utilized as well. Note also that the point is selected only in one input image using this method, and the point matching is done in the other image in the vicinity of the same coordinates in the next step.

Matching Points with phase correlation is based on the Fourier shift theorem. Let image f2 (x, y) = f1 (x + ∆x, y + ∆y) and fˆ be the Fourier transformed function of f . Then the shift in the spatial domain is presented as a phase shift in the frequency domain (1). This relationship can be used to solve the translation between two image blocks [14]. The cross power spectra of fˆ2 and fˆ1 contain the needed phase correlation information, and the translation can be solved either in the spatial or Fourier domain. Taking the inverse transformation for normalized cross-correlation C and finding the maximum yields, the sought translation in the spatial domain (2). f ∗ denotes the complex conjugate. Phase correlation is capable of producing sub pixel translation accuracy [9]. fˆ2 (wx , wy ) = fˆ1 (wx , wy )ej(wx ∆x+wy ∆y) ,

C(˜ x, y˜) = F −1

∗ fˆ1 fˆ2 ∗ |fˆ1 fˆ2 |

!

,

(∆x, ∆y) = arg max C(˜ x, y˜) . (˜ x,˜ y)

(1)

(2) (3)

Point correspondences where correlation is below a thresholding value are rejected from the point set. Low correlation can originate from flat image areas, as in the well known aperture problem. Since phase correlation utilizes the phase difference in images instead of gray values for finding the translation, this makes it less affected by the intensity changes induced by the flash than approaches using pixel data directly. Further the zero mean unit variance scaling can be used to reduce the lighting variations in the input image blocks [29]. Point Set Refining is applied to the initial point sets to achieve more accurate point matching. The MI is measure based on joint distributions of gray values in two inputs. Jacquet et al. discusses in detail about the behavior of the probabilities defined by the joint distribution stating that when two images are well aligned, but the intensities of the same structure differ, the set of probabilities will not change, but those probabilities may be assigned to shifted gray value combinations [11]. Hence, the Shannon entropy will not be affected since it is invariant under permutation of elements. This makes the MI an appealing distance measure for cases where the image contents are heavily distorted by lighting or other non linear transformations. The MI of two discrete signals X, and Y is defined in (4) where, p(x) and p(y) are marginal probabilities and p(x, y) is the joint probability mass function. M I(X, Y ) =

XX

x∈X y∈Y

p(x, y)log2

p(x, y) , p(x)p(y)

(4)

In practice, the MI can be calculated by forming a 2-D joint distribution histogram for the gray values of the two input images. The histogram is normalized by the interest area size to give probability distribution p(x, y). Now the row

and column sums of the histogram give the marginal gray value probabilities p(x) and p(y) for both the input images. These probability estimates can be used to calculate the respective entropies, and finally the mutual information as presented in (5)–(8). The MI value can be normalized by dividing it by the minimum of entropies H(X) and H(Y ) [6] or by their sum [24]. H(X, Y ) =

X

X

−p(x, y) ∗ log2 (p(x, y)) ,

(5)

x∈p(x,y) y∈p(x,y)

H(X) =

X

−p(x) ∗ log2 (p(x)) ,

(6)

X

−p(y) ∗ log2 (p(y)) ,

(7)

x∈p(x)

H(Y ) =

y∈p(y)

M I(X, Y ) = H(X) + H(Y ) − H(X, Y ) .

(8)

For refining the point matching, the entropy values in one input image are calculated in 8-neighborhoods, and further the mutual information against the entropy present in the point in the other input image. Matching point location is adjusted by one pixel if higher mutual information is found in the 8neighborhood. Iterating this refining step several times allows us to find improved point matching in the given search radius. Here the refining was limited to 8 iterations, while usually only a couple iterations (2-6) were needed.

Global Transformation described by a homogenous 3x3 matrix with 8-degrees of freedom was solved with non-linear optimization. Despite pruning the point set by a correlation threshold and the mutual information refining, the point sets may contain outliers that must be rejected beforehand. Here RANSAC [8] was used to produce the final point set prior to solving the projective transformation.

4

Results And Discussion

Test images were taken with a Nikon D80 digital camera using an internal flash. The original images with a size of 3872x2592 pixels were down sampled by a factor of two for Matlab implementations. The effects of the phase correlation window sizes for point matching, as well as the effect of the refinement MI window size were studied to optimize the proposed method. Also the proposed method’s accuracy in flash-no-flash image alignment was compared to three state-of-theart methods. Figure 2 presents an example of matched points in the flash-no-flash image pair. The resulting image after fusing the aligned images using the method described in [2] is also presented.

Fig. 2. Matched points in a flash-no-flash image pair using blockwise phase correlation with mutual information-based point refining and the fused result image.

4.1

Effects of the Window Sizes

The mutual information window size had no clearly predictable effect on the resulting image pair registration accuracy. It appears that the MI window size does not have to be very large to achieve the refinement effect. The approach, without using MI refinement improved on average the the global mutual information (GMI) by 20.2%, while the utilization of refinement increased the GMI in a range of 30.2 to 31.3 % when the MI window size was varied between 25 and 150 pixels (table 1). The best result was achieved with a 75 pixel window size that was used later on. Table 1. Effect of window size in mutual information refinement on GMI. The best values are in bold numbers.

image Unregistered No MI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0,1247 0,1216 0,1157 0,1073 0,1072 0,1649 0,1444 0,2901 0,1171 0,0834 0,1076 0,1007 0,1254 0,0508 0,1182

0,1562 0,1514 0,1535 0,1513 0,1278 0,1804 0,1736 0,3600 0,1196 0,0875 0,1151 0,1221 0,1461 0,1246 0,1858

25 0,1550 0,1532 0,1529 0,1516 0,1278 0,1840 0,1720 0,4107 0,1236 0,0943 0,1141 0,1247 0,1456 0,1239 0,1863

Mutual information window size 50 75 100 150 200 0,1546 0,1540 0,1538 0,1520 0,1278 0,1841 0,1721 0,4136 0,1231 0,0978 0,1163 0,1244 0,1453 0,1234 0,1866

0,1558 0,1547 0,1539 0,1498 0,1282 0,1840 0,1720 0,4120 0,1227 0,0981 0,1158 0,1255 0,1463 0,1272 0,1871

0,1559 0,1542 0,1528 0,1466 0,1281 0,1850 0,1705 0,4142 0,1236 0,0949 0,1149 0,1275 0,1460 0,1267 0,1833

0,1560 0,1544 0,1508 0,1460 0,1281 0,1851 fail 0,4137 0,1206 0,0991 0,1161 0,1277 0,1460 0,1228 0,1862

0,1560 0,1546 0,1508 0,1469 0,1281 0,1853 fail 0,4116 0,1190 0,0964 0,1149 0,1277 0,1467 0,1202 0,1848

The phase correlation window size had a substantial effect on the accuracy of the basic method. Phase correlations using window sizes of 16, 32, 64, 128 and 256 were tested. GMI improved 1.0, 2.3 and 7.8 percent when doubling the window from 16 to 128 pixels. Doubling the window further did not improve the results. It is also good to notice that the computational time increases quadratically when the correlation window size is increased. Here a window of 128 pixels was selected for phase correlation based point matching. 4.2

Comparison to State-of-the-Art Methods

The reference SIFT implementation was the vlSIFT from Vedaldi and Flukerson [27]. For SURF, a Matlab implementation based on OpenSURF was used [7]. The same RANSAC and homography estimation methods were used as with the proposed method. The described method without the mutual information point refinement step was also tested (BlockPhc). In addition, the method by Pulli et al. presented in [21] was applied (PA). Table 2 contains the alignment accuracy results. The average root mean square error (RMSE) for registered images with the proposed method not using MI refinement, the proposed method, SIFT, SURF, and PA were 0.2857, 0.2816, 0.2819, 0.2825, 0.2860, respectively. The average RMSE for unregistered image pairs was 0.2915. The addition of a mutual information refinement step improves the block based phase correlation method accuracy by 41.6 %. The improvement over PA was 44.4 %. The new method yielded also more accurate results than Table 2. Comparison of the proposed method (BlockPhc+MI) to a method without a mutual information refinement step (BlockPhc), SIFT, SURF, and the method by Pulli et al. (PA). The best values are in bold numbers.

image Unregistered 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0,24499 0,24433 0,24980 0,25386 0,24582 0,36013 0,30986 0,48984 0,25545 0,32164 0,25342 0,25861 0,25789 0,35242 0,27389

PA 0,24173 0,24069 0,24466 0,24997 0,24143 0,35976 0,30938 0,48410 0,25535 0,31953 0,25278 0,24678 0,25137 0,35349 0,23896

RMSE BlockPhc BlockPhc+MI 0,23991 0,23994 0,24859 0,25541 0,24064 0,36163 0,30767 0,48943 0,26122 0,32058 0,25262 0,25088 0,25475 0,32054 0,24216

0,23949 0,23849 0,23854 0,24238 0,23970 0,36021 0,30762 0,48378 0,25663 0,31831 0,25223 0,24210 0,25027 0,31685 0,23799

SIFT

SURF

0,23981 0,23924 0,23925 0,23919 0,23994 0,36041 0,30798 0,48389 0,25541 0,32050 0,25289 0,24336 0,25023 0,31965 0,23729

0,24457 0,24005 0,24362 0,24199 0,24019 0,36039 0,30795 0,48547 0,25475 0,31865 0,25208 0,24356 0,25016 0,31751 0,23711

Fig. 3. Example of visual comparison of alignment results for image pair 14: (left) the proposed method, (middle) SIFT, and (right) SURF.

SIFT or SURF by 3.0 % and 9.1 % respectively. In two thirds of the test cases, the proposed method was ranked the best. In a quarter of the cases, SURF was the best and the remaining best rankings were divided between SIFT and PA. Visual inspection of aligned images was also used to confirm the results. The proposed approach, SIFT and SURF all yielded visually quite similar results. The obvious misalignments were only to the order of a few pixels for most of the cases. There where, however, a few cases where the reference methods failed considerably more, as is shown in Figure 3. The grayscale version of aligned no-flash images has been subtracted from the reference flash image. The images show that there is considerable misalignment present with both SIFT and SURF. PA failed completely in this case. The computational complexity of the proposed method can be estimated to be similar to SIFT and SURF. It might be also of interest to notice that the image size affects the computational load only in the prealignment phase. In the subsequent steps, the number of handled points with the utilized window sizes have a more pronounced impact on the execution time than the image size. Compared to SIFT and SURF the number of handled points is fairly small and well controlled.

5

Conclusions and Discussion

The presented method that applies mutual information to improve phase correlation based interest point matching is a promising approach for the improvement of flash-no-flash image alignment. The achieved improvement in alignment accuracy using mutual information refinement was 41.6 %. The approach works also generally better than the tested reference methods. The relative improvement with the proposed method against SIFT was 3.0 %, SURF 9.1 %, and PA 44.4%. The average RMSE values suggest that the proposed method is better than either SIFT or SURF for flash-no-flash image pair alignment. The best ranking was achieved in two thirds of the cases. Visual inspection also revealed that none of the tested methods performed ideally in every case. Although the crafted alignment algorithm was applied to phase correlation for interest point extraction, there is no reason why the mutual information based refinement approach would not work also with other point matching methods when registering flash-no-flash images. The main requirement is that the correspondence is readily established. However, while mutual information based point refining improves the registration accuracy, it also requires considerable computational resources. One approach to ease the computational load could be parallelization, since with the proposed block based approach each point pair can be handled as a separate case. Modern accelerators may contain tens or even hundreds of processing units that might be utilized to process point pairs simultaneously to achieve remarkable speedup in processing time. Since mutual information is independent of input sources, the approach might also be suitable for rigid multi-modal image alignment, like for infrared-visible image pairs.

References 1. Agrawal, A., Raskar, R., Nayar, S.K., Li, Y.: Removing photography artifacts using gradient projection and flash-exposure sampling. ACM Trans. Graph. 24, 828–835 (2005) 2. Alenius, S., Bilcu, R.: Combination of multiple images for flash re-lightning. In: IEEE 3rd Int. Symp. Commun. Contr. Sig. Proc. pp. 322 –327 (2008) 3. Bay, H., Tuytelaars, T., Van Gool, L.: Surf: Speeded up robust features. In: LNCS Computer Vision - ECCV 2006, vol. 3951, pp. 404–417 (2006) 4. Chum, O., Matas, J.: Geometric Hashing with Local Affine Frames, In: IEEE Comp. Soc. Conf. on Computer Vision and Pattern Recognition, 2006 , vol.1, pp. 879- 884, (2006) 5. Eisemann, E., Durand, F.: Flash photography enhancement via intrinsic relighting. ACM Trans. Graph. 23, 673–678 (2004) 6. Est´evez, P.A., Tesmer, M., Perez, C.A., Zurada, J.M.: Normalized mutual information feature selection. Trans. Neur. Netw. 20, 189–201 (2009) 7. Evans, C.: Notes on the opensurf library. Tech. Rep. CSTR-09-001, University of Bristol (2009) 8. Fischler, M.A., Bolles, R.C.: Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Commun. ACM 24(6), 381–395 (1981)

9. Foroosh, H., Zerubia, J., Berthod, M.: Extension of phase correlation to subpixel registration. IEEE Trans. Image Process. 11(3), 188–200 (2002) 10. Harris, C., Stephens, M.: A combined corner and edge detector. In: Proceedings of the 4th Alvey Vision Conference. pp. 147-151 (1988) 11. Jacquet, W., Nyssen, W., Bottenberg, P., Truyen, B., deGroen, P.: 2D image registration using focused mutual information for application in dentistry. Computers in Biology and Medicine 39, 545–553, (2009) 12. Kang, S.B., Uyttendaele, M., Winder, S., Szeliski, R.: High dynamic range video. ACM Trans. Graph. 22, 319–325 (2003) 13. Kovesi, P.: Image features from phase congruency. Journal of Computer Vision Research pp. 2–26 (1999) 14. Kuglin, C., Hines, D.: The phase correlation image alignment method. In: IEEE Proc. Int. Conference on Cybernetics and Society. pp. 163–165 (1975) 15. Lowe, D.G.: Distinctive image features from scale-invariant keypoints. Int. J. Comput. Vis. 60, 91–110 (2004) 16. Matas, J., Chum, O., Urban, M., Pajdla, T.: Robust wide-baseline stereo from maximally stable extremal regions. In: Proceedings of the British Machine Vision Conference. pp. 384–393 (2002) 17. Nistr, D., Stewnius, H.: Linear time maximally stable extremal regions. In: LNCS Computer Vision - ECCV 2008. vol. 5303, pp. 183–196 (2008) 18. Park, S.C., Park, M.K., Kang, M.G.: Super-resolution image reconstruction: a technical overview. IEEE Signal Process. Mag. 20, 21 – 36 (2003) 19. Petschnigg, G., Szeliski, R., Agrawala, M., Cohen, M., Hoppe, H., Toyama, K.: Digital photography with flash and no-flash image pairs. ACM Trans. Graph. 23, 664–672 (2004) 20. Pluim, J.P.W.: Mutual-information-based registration of medical images: A survey. IEEE Trans. Med. Imag., vol. 22 pp. 986–1004 (2003) 21. Pulli, K., Tico, M., Xiong, Y.: Mobile panoramic imaging system. In: ECVW2010, Sixth IEEE Workshop on Embedded Computer Vision (2010) 22. Reddy, B.S., Chatterji, B.N.: An FFT-based Technique for Translation, Rotation and Scale-Invariant Image Registration. IEEE Trans. Im. Proc. 5, 1266–1271 (1996) 23. Smith, S.M., Brady, J.M.: Susan – a new approach to low level image processing. Int. J. Comput. Vis. 23, 47-78 (1997) 24. Studholme, C., Hill, D.L.G., Hawkes, D.J.: Overlap invariant entropy measure of 3D medical image alignment. Pattern Recognition. Vol. 32, no. 1, pp. 71–86. (1999) 25. Tico, M., Pulli, K.: Low-light imaging solutions for mobile devices. In: Conference Record of the Forty-Third Asilomar Conference on Signals, Systems and Computers. pp. 851–855 (2009) 26. Vandewalle, P., S¨ usstrunk, S., Vetterli, M.: A frequency domain approach to registration of aliased images with application to super-resolution. EURASIP J. Appl. Signal Process. 2006, 233–233 (2006) 27. Vedaldi, A., Fulkerson, B.: VLFeat: An open and portable library of computer vision algorithms. http://www.vlfeat.org/ (2008) 28. Viola, P., Wells III, W.M.: Alignment by maximization of mutual information. Int. J. Comp. Vis. 137–154 (1997) 29. Xie, X., Lam, K-M.: An efficient illumination normalization method for face recognition. Pattern Recognition Letters pp. 609–617 (2006) 30. Xiong, Y., Pulli, K.: Fast panorama stitching on mobile devices. In: IEEE Digest of Technical Papers: Int. Conference on Consumer Electronics. pp. 319–320 (2010)