Adnan A. Y. Mustafa, “Quick matching of binary images”, Proc. SPIE 9599, Applications of Digital Image Processing XXXVIII, 95990N (September 22, 2015). © Copyright 2015 Society of Photo Optical Instrumentation Engineers. One print or electronic copy may be made for personal use only. Systematic electronic or print reproduction and distribution, duplication of any material in this paper for a fee or for commercial purposes, or modification of the content of the paper are prohibited. http://dx.doi.org/10.1117/12.2187376
Quick Matching of Binary Images Adnan A. Y. Mustafa* Department of Mechanical Engineering Kuwait University P. O. Box 5969 - Safat - Kuwait 13060
[email protected] ABSTRACT Matching images is a fundamental problem in image processing. The most common technique used to compare binary images is to calculate the correlation between two images or simply to subtract them. Both of these methods –as well as other matching methods– require some type of similarity operation to be applied to the whole image, and hence they are image size dependent. This implies that as image size increases, more processing time is required. However, with image sizes already exceeding 20 mega-pixels and standard image sizes doubling approximately every five years, the need to find a size invariant image matching method is becoming crucial. In this paper, we present a quick way to compare and match binary images based on the Probabilistic Matching Model (PMM). We present two simple image size invariant methods based on PMM: one for fast detection of dissimilar binary images and another for matching binary images. For detecting dissimilar binary images we introduce the Dissimilar Detection via Mapping method (DDM). We compare DDM to other popular matching methods used in the image processing arena and show that DDM is magnitudes faster than any other method. For binary image matching, we use DDM as a preprocessor for other popular methods to speed up their matching speed. In particular, we use DDM with cross correlation to speed it up. Test results are presented for real images varying in size from 16 kilo-pixel images to 10 mega-pixel images to show the method’s size invariance. Keywords: Binary image matching, matching algorithm, image mapping and image retrieval.
1. INTRODUCTION The problem of image matching arises frequently in the field of image processing and analysis under many topics such as, image registration, template matching, image retrieval and image classification. Matching methods can be classified as either feature-based that rely on some method of extracting important image features and then matching these features between images, or area-based methods (also referred to as direct or intensity methods) that are based on comparing image intensity values directly without feature extraction. Attempting to extract features from binary images is difficult due to the fact that they only have two intensity levels, resulting in a limited amount of scene detail. This makes featurebased methods impractical and area-based methods become the method of choice. Furthermore, feature-based methods are much slower than area-based methods since they are multi-stage: initially the whole image is scanned to search for features, followed by a feature extraction stage, and finally a matching stage. Binary image matching is usually accomplished by calculating the cross-correlation between the images [1] or simply by just subtracting the two images [2]. When matching an image to a database of images, these methods –as well as other area-based methods– require a similarity operation S (or dissimilarity operation D) to be applied to the whole image to find the best match. Then the candidate image that produces the maximum similarity (or minimum dissimilarity) is selected as the best image match IB,
I B (I o , I) arg maxβ S (I o , I i ) i
or
I B (Io , I) arg minβ D (I o , Ii )
Ii {I1 … IN}
(1)
i
where Io is the image being matched and Ii is a candidate image from a database consisting of N images. Because S and D is applied to the whole image, these methods are image size dependent; as size increases, more processing time is required. With 20 mega-pixel images common today, and image size doubling approximately every 5 years, these methods can become computationally expensive when attempting to match such images to databases consisting of
*
[email protected]; phone (+965) 2498 7117; fax (+965) 2484 7131
thousands of images. Even with the fast computers that are available today, these methods are quite slow. The dependency of area-based matching methods on image size is a serious handicap to these methods that has not been fully addressed. In this paper, we present a fast method for matching binary images. We concentrate on two objectives and distinguish between them; detecting dissimilar images and matching images. To detect dissimilar images we apply,
I B (I o , I) arg min β'D (I o , Ii ) i
Ii {I1 … In}
(2)
where D differs from D in that it measures dissimilarity quickly by selecting only a few number of points to be compared –regardless of image size rather than the whole image. This method is called the Dissimilar Detection via Mapping method (DDM) and is based on the Probabilistic Matching Model (PMM) for binary image matching [3] [4]. PMM states that only few points need to be examined to detect dissimilar images; as few as 8 points for a 90% successful detection rate if the images are distinct-dissimilar. Hence, DDM is magnitudes faster than other methods and is size invariant as we show. We compare performance of DDM with other well known methods and show its superiority in detecting dissimilar images. When it comes to matching purposes –i.e. detecting similarity– DDM cannot be used independently, as PMM does not support similarity matching. Alternatively, DDM can be used with any other matching method to speed up matching. We show this by applying DDM as a preprocessor for cross-correlation and show how it can speed it up considerably. The remainder of this paper is organized as follows: section 2 points out related literature and section 3 reviews previous related research necessary for understanding the methodology; PMM and the binary similarity distance. Section 4 presents the main theme of this paper and begins by explaining the strategy followed by DDM, for both dissimilarity detection and image matching. The criterion for measuring performances is also discussed. Section 5 presents tests of comparing DDM with other popular methods. We finally conclude our paper in section 6.
2. RELATED LITERATURE Cross-correlation is the most widely accepted method for image matching in the computer vision arena. Cross correlation has been used for motion tracking [5], motion estimation [6], defect detection [7] [8], stereo matching [9] and others. Many techniques have attempted to improve using cross-correlation; updating computations at each window location for template matching [10] [11], using pre-computed tables [12], constructing basis functions [13], Fourier coefficients [14], Haar-like binary features [15], as well as other techniques [16] [17] [18] [19] [20] [21]. Image subtraction, usually computed as the sum of the absolute difference between two images is also a very popular approach for image matching and signals in general [2]. It is the primary operation used for motion detection and video compression. Different strategies and adaptive techniques have been employed to reduce the computations of the template matching problem [22] [23] [24], as well as hardware implementations [25] [26] [27] [28] [29]. Joint entropy and mutual information is a third popular approach for matching that has seen significant interest over the last 20 years, particularly in the medical filed as a solution to the image registration problem [30] [31]. A good survey can be found in [32]. Other area-based methods have also been developed based on a variety of principles; minimizing the image intensity combinations between two images [33], using a modified Hausdorff distance and local-dissimilarity maps [34] [35], mathematical morphology [36], as well as other innovative similarity distances [37] [38]. A survey of binary similarity distances can be found in [39].
3. THE BINARY SIMILARITY DISTANCE, IMAGE CLOSENESS AND PMM In this section, we briefly summarize previous work related to this research that is necessary for the understanding of the work presented. We review the binary similarity distance (), the Probabilistic Matching Model (PMM) and binary image mapping variations. 3.1 The binary similarity measure () The binary similarity measure () [40] measures the amount of similarity and concurrence between two images based on a pixel-to-pixel comparison and categorizes image closeness as:
Similar (S): The two images are considered to be the same and are of two types: a) Exact (E) where the two images are exactly the same, or b) Inverse (I) where the two images have inverse intensities.
Dissimilar (R): The two images are different and this can only be true if they are not similar and are of two types: a) Distinct-dissimilar Images (D) where the two images are completely different, or b) Quasi-similar (Q) where the two images have concurrences between them.
is defined as, (u,v) = |1 – 2Po((z = u v) = z)|, z {0,1}
(3)
where u and v are the two images of size n, is the exclusive-or (XOR) operation and Po(z) denotes the probability mass function of z = u v. has the range, 0 1; = 0 distinct-dissimilar images, 0 < < 1 quasi-similar images and = 1 similar images. is a function of the Hamming distance (dH), γ(u, v) 1
2 d H (u, v) n
(4)
3.2 The Probabilistic Matching Model (PMM) The Probabilistic Matching Model (PMM) theorem and its corollaries were introduced in [3] [4] and can be summarized as follows:
By mapping corresponding points between any two distinct-dissimilar (D) binary images, the probability of the images being dissimilar on the pth mapping, P(D, p), is given by, 1
P( D, p) 1 2
p1
p 1
Given any two distinct-dissimilar binary images, the number of random mappings required to ascertain that the two images are dissimilar with probability P is, 0P1
p(D,P) = 1 – log2(1– P)
(5)
(6)
As the similarity for any quasi-similar image pair decreases and approaches zero, the image pair becomes closer to being distinct-dissimilar, and therefore, i. For any probability P, the mean number of random mappings, p, required to ascertain that any two binary images are quasi-similar with similarity , cannot be less than the number of mappings required to ascertain that any two binary images are distinct-dissimilar, i.e., p(Q = ,P) p(D,P) ii.
(7)
For any probability P, the mean number of random mappings, p, required to ascertain that any two binary images are quasi-similar is dependent on and, p(Q = 1, P) p(Q = 2, P)
for
1 2
(8)
i.e., as increases and images become more similar, the mapping values for given confidences will be higher than image pairs with less similarity. 3.3 Using Image Mappings to Detect Dissimilarity Determining if two images are similar or dissimilar is facilitated by examining the mapping tuple size and image mapping variations () between the two images [41]. The 15 possible binary image mapping variations are summarized in Table 1. To determine dissimilarity, corresponding image points are mapped until one of the following possible three cases is true:
The mapping tuple size reaches a size of 2 with mapping variation 5, 6, 9, or 10. In this case, the images are deemed dissimilar.
The mapping tuple size reaches a size of 3; images are deemed dissimilar.
The number of mappings reaches the mapping limit (Lmap), which is the maximum number of points selected for mapping. If the mapping limit is reached then the image closeness is unresolved and inconclusive.
Table 1: The 15 Mapping Variations for Binary Images* tuple mapping pixel image size mappings closeness i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A B 1 similar C D A,B dissimilar A,C A,D 2 similar B,C B,D dissimilar C,D A,B,C A,B,D 3 dissimilar A,C,D B,C,D 4 A,B,C,D dissimilar * Pixel mappings: A: 00, B: 01, C: 10 and D: 11.
4. DETECTION AND MATCHING OF BINARY IMAGES When comparing images, we distinguish between two objectives: 1.
Detecting dissimilarity: The objective is to reach a judgment that the images are dissimilar. In this case, image closeness is deemed as being either dissimilar or inconclusive.
2.
Matching images: The objective is to decisively affirm that the images are either similar or dissimilar.
It should be noted that the focus of this paper is not in measuring the level of similarity and closeness between dissimilar images, but rather detecting dissimilarity or similarity between them. Nevertheless, measuring similarity is easily accomplished by extending the matching process to perform the similarity measurement. 4.1 Dissimilar Detection via Mapping Method (DDM) A method based on the strategy outlined in §3.3 was developed and is referred to as the Dissimilar Detection via Mapping method (DDM). DDM can be used to detect dissimilarity between images at a very fast rate. However, it cannot be used for matching, i.e. to detect similarity. Nonetheless, if the goal is to match binary images to see if they are either similar or dissimilar, then DDM can be used as an efficient preprocessor for other matching methods (e.g. crosscorrelation). In this case, if the images are dissimilar then DDM will perform the detection at a very fast rate. On the other hand, if the images are similar (or have an extremely high similarity value > 0.99) then DDM will terminate inconclusively, and the matching method is invoked to affirmatively reach judgment about similarity. We will use crosscorrelation in conjunction with DDM, as it is much faster than other matching methods tested. We will refer to this method as DDM-corr. Hence, the procedure for matching binary images can be summarized as follows: 1.
Initially an attempt is made to determine if the images are dissimilar using the same strategy for DDM outlined in §3.3. If the images are found to be dissimilar the procedure terminates.
2.
If the mapping limit has been reached by DDM in step 1 then the cross-correlation between the images is calculated.
3.
If the correlation computed is 1 or 1 then the images are similar (exact or inverse, respectively), otherwise they are dissimilar.
4.2 Mapping Counter Limit The most important parameter of the mapping algorithm used in DMM is the mapping counter limit, Lmap, which represents the maximum number of mappings attempted to decisively determine dissimilar images. As the number of mapping attempts increases, the probability of detecting dissimilar images increases –at the expense of increased processing time. Selection of Lmap is chosen based on two factors: the amount of similarity/dissimilarity () between the images and the requested detection confidence (DC). 4.3 Matching Methods and Measuring Performance In this research, we will compare the performance of DDM to other matching methods by measuring how fast they process image pairs. This will be done for both cases, detecting dissimilar images and matching images. 4.3.1 Area-Based Image Matching Methods Many area-based image matching methods are available as previously mentioned in the literature review. We will compare DDM to four of the most popular methods; a) Sum of the Absolute Difference, b) Cross-correlation, c) Joint entropy and Mutual information and d) Simple Matching Distance. a. Sum of the Absolute Difference Method (SAD) The Sum of the Absolute Difference (SAD) is defined as, SAD(I1,I2) = |I1 – I2|
(9)
where I1 and I2 are the images to be compared. If the result is zero then the images are identical, otherwise the images are different. b. Cross-correlation (corr) Cross-correlation between two images is based on the correlation statistical measure (formally known as Pearson's correlation coefficient) [42] and is calculated by,
corr(I1 , I 2 )
cov(I1 , I 2 ) I1 I 2
(10)
where cov(I1,I2) is the covariance matrix of I1 and I2, and I is the standard deviation of I. If corr(I1,I2) = 1 or 1 then the images are the same or inverted, respectively. Any other value, indicates that the images are different. An added advantage of using correlation is that most software libraries have this function as a predefined built-in optimized routine. c. Joint Entropy (E) and Mutual Information (I) Joint entropy (E) and Mutual information (I) have their basis in information theory [43]. They can effectively be used for matching purposes. Let E(I) denote the entropy of an image I given by, 1
E (I) hi (I) log 2 (hi (I)
(11)
i 0
where hi(I) for i = 0,1 denotes the normalized histogram distribution of image I. Let E(I1,I2) denote the joint entropy between I1 and I2 given by, 1
E (I1, I 2 )
1
hij (I1, I 2 ) log2 (hij (I1, I 2 ))
(12)
i 0 j 0
where hij(I1,I2) for i,j = 0,1 denotes the joint normalized histogram distribution of the two images I1 and I2. Then for binary images we have, 0 ≤ E(I) ≤ 1
and
0 ≤ E(I1,I2) ≤ 2
A joint entropy dissimilarity distance (JE) can then be defined as [44],
(13)
2 I (I1, I 2 ) 1 , E (I1) E (I 2 ) where I is the mutual information defined as, JE (I1, I 2 )
E(I1) + E(I2) 0
I(I1,I2) = E(I1) + E(I2) E(I1,I2)
(14)
(15)
A value of JE(I1,I2) = 0 indicates no similarity and a value of JE(I1,I2) = 1 indicates exact similarity. Unfortunately, calculating entropy is computationally intensive because of the multiple calls to the log function. However, techniques have been developed to reduce the computation cost [45]. d. Simple Matching Distance (SMD) Another simple technique to distinguish binary images is to logically XOR the images. The XOR operation is computed on a pixel-to-pixel basis by, u v (u v) (u v)
(16)
and produces a value of 1 when u and v are different and 0 otherwise. If this expression is applied to the whole image on a pixel basis and its values are summed, the Binary Hamming distance [46] is produced, d H (I1, I 2 ) (I1 I 2 )
(17)
However, values produced by this expression are image size dependent and hence this expression needs to be normalized to give meaningful results. Once normalized, the Simple Matching Distance (SMD) [47] is produced, 1 1 d H (I1, I 2 ) (I1 I 2 ) n n
SMD (I1, I 2 )
(18)
A value of zero for SMD indicates complete similarity between two images, while a value of unity indicates inverse similarity; any other value indicates dissimilarity. 4.3.2 Time and Processing Rate Indexes We present two performance indexes to measure the performance of DMM with respect to other methods. a)
Detecting dissimilarity: Let ηD for a given method x, be the number of images processed by DDM for a single image processed by method x, to detect dissimilarity, and is computed by,
ηD
x
Tx TD
(19)
where Tx is the amount of time it takes method x to detect dissimilarity for a given set of images and TD is the amount of time it takes DDM to detect dissimilarity for the same set. b) Matching images: Let ηM denote the matching performance of DDM-corr with respect to corr, measured by the number of images processed by DDM-corr for a single image processed by corr, and is computed by,
ηM
Tc TDc
(20)
where TC is the amount of time it takes corr to match all pair of images as being either similar or dissimilar and TDc is the amount of time it takes DDM-corr to match a pair of images as being either similar or dissimilar.
5. DISCUSSION In this section, we present experimental results that compare the time and processing rate performance of DMM against other methods, for both cases; dissimilarity detection and image matching. Seven real images image sets of different sizes are employed, 1) 16k set: This set consists of four 16 kilo-pixel images of size 128128 shown in Fig. 1.
2) 64k set: This set consists of four 64 kilo-pixel images of size 256256 shown in Fig. 2. 3) 256k set: This set consists of four 256 kilo-pixel images of size 512512 shown in Fig. 3. 4) 300k set: This set consists of four 300 kilo-pixel images of size 640480 shown in Fig. 4. 5) 3M set: This set consists of four 3 mega-pixel images of size 20481536 shown in Fig. 5. 6) 8M set: This set consists of four 8 mega-pixel images of size 32642448 shown in Fig. 6. 7) 10M set: This set consists of four 10 mega-pixel images of size 36482736 shown in Fig. 7. The statistics for the image sets are shown in Table 2, where the following statistics for each set is displayed: minimum (min), maximum (max), median (median), mean value (), and standard deviation ( ). We see that the 16k set has the image pair with the smallest value (min = 0), while the 8M set has the image pair with the largest value (max = 0.479). The 8M set also has the highest among all sets with ≈ 0.300. In comparison, the other sets have < 0.200, with the 3M set with the smallest mean value ( = 0.069).
Fig. 1. The four 16k images (129128).
Fig. 3. The four 256k images (512512).
Fig. 2. The four 64k images (256256).
Fig. 4. The four 300k images (640480).
Fig. 5. The four 3M images (20481536).
Fig. 6. The four 8M images 32642448).
Fig. 7. The four 10M images (36482736).
Set 16k 64k 256k 300k 3M 8M 10M
Table 2: Statistics for the Image Sets Image size min max median 128128 0.000 0.364 0.096 0.140 256256 0.093 0.284 0.199 0.196 521512 0.024 0.206 0.088 0.102 640480 0.002 0.256 0.169 0.145 20481536 0.029 0.129 0.053 0.069 32642448 0.122 0.479 0.292 0.297 36482736 0.026 0.363 0.098 0.170
0.128 0.068 0.056 0.090 0.039 0.130 0.135
/ 1.094 2.882 1.821 1.611 1.769 2.285 1.259
DMM will be compared to, 1) The sum of the absolute method (SAD) as given by (9). 2) Correlation as given by (10). Since this function is a predefined built in function call in most software programs, two instances of this method will be employed: a.
The predefined routine. This will be referred to as corr.
b.
(10) evaluated explicitly. This will be referred to as corr2.
3) The normalized joint entropy method (JE) as given by (14). 4) The Simple matching distance (SMD) as given by (18).
Note that DMM is the only method where the time detection performance is affected by the amount of similarity between image pairs. The other methods are image size dependent and image similarity has no effect on matching time. 5.1 Performance Comparison for Detecting Dissimilar Images The goal here is to see how fast dissimilar images are detected by DDM and compare its performance to the methods mentioned above. Each image set consists of 4 images and every image is compared to the other images in the set; thus 6 image pairs are matched per set. The average time per image pair to detect dissimilarity is compared for each method. Fig. 8 plots the average time per image pair for each set for the different methods given in s1. From the plot,
DDM greatly outperforms the other methods, with it being magnitudes faster than the other methods.
Detection time increases with image size for all methods except for DDM where it is fairly constant across all image sizes. The slight increase in time for the 8M image set (at n = 8106) is due to the high similarity among the images of this set ( = 0.297).
DDM takes an average of 11.0 s to process a single image pair, i.e. it can process about 90,826 image pairs per second. The ability to process more than 90 thousand images per second to detect dissimilar images –regardless of image size- is an extremely fast processing rate.
The second best performance was for corr (which outperformed the explicit version corr2 by about 4.6 times).
Next in performance was SMD and SAD with the former outperforming the latter by about 10%.
JE was the slowest among all methods taking as long as 4.86106 s per image pair to compare 10M images, as compared to 13 s for DDM, and 5.2105 s for corr.
The impressive unparalleled performance of DDM over other methods clearly makes it the method of choice for detecting dissimilar binary images. This is further exemplified by examining the ηD performance curves shown in Fig. 9. From the curves; we observe the following for 16k images: for the time it takes corr to process a single image pair to be dissimilar, DDM would have processed 20 image pairs. For 64k images: DDM can process more than a hundred image pairs for every pair processed by corr. For 256k images: DDM can process about a thousand image pairs for every pair processed by corr. For 300k images: DDM can process more than 1100 image pairs for every pair processed by corr. For 3M images: DDM can process 15 thousand image pairs for every pair processed by corr. For 8M images: DDM can process 24 thousand image pairs for every pair processed by corr. Finally for 10M images: DDM can process 40 thousand image pairs for every pair processed by corr. Comparing DDM to the remaining methods produce larger processing differences (e.g. for 10M images, DDM can process about 225 and 227 thousand image pairs for every pair processed by SMD and SAD, respectively). 5.2 Matching Binary Images In this section, we will match binary images to determine if images are similar or dissimilar. DDM in conjunction with correlation, denoted by DDM-corr, will be evaluated and its performance will be compared to the corr function, which was found to be the second fastest matching method after DDM. Recall that DDM-corr consists of two parts; initially an attempt is made to determine if a pair of images are dissimilar by mapping corresponding pixels using DMM. If all mapping attempts are exhausted and Lmap, is reached, then the corr routine is invoked to determine the similarity between the images.
1
Tests conducted on a HP xw4400 workstation.
Fig. 8. Average dissimilar detection time for the different detection methods.
Fig. 9. Curves of ηD against image size for the various methods tested.
We will use the same database used in the previous section consisting of 4 images per set. However, here every image will be matched against every image in the set including itself for a total of 10 image pairs for each set. As a result, there are 4 cases per set where an image will be matched against itself, and DDM will fail to detect dissimilarity. A plot of Tc and TDc against image size is shown in Fig. 10. We observe,
For the two smallest image sets, the 16k and 64k image sets, Tc < TDc and ηM < 1 while for the remaining sets, Tc > TDc and ηM > 1.
As a result of above, the time performance curves intersect at a point. The image size corresponding to the point of intersection is called the critical image size (scr). Image sizes below scr have Tc < TDc, while image sizes above scr have Tc > TDc. For the database size used (N = 4 images), scr = ~9.528104 pixels (i.e. ~310310 sized images).
From these results, using DDM-corr is only effective for image sizes greater than the critical image size. However, the critical image size computed above is not constant and depends on other factors, such as database size and the percentage of very similar images in the database (), a.
The performance of DDM-corr over corr increases with image size and database size, as can be seen from the following plots,
Fig. 11 shows theoretical curves of ηM against image size (n) for various database sizes with = 0.1. As image size increases, ηM increases and approaches a performance limit equal to the size of the image database employed. For example, for N = 103, ηM = 103 for n > 3106, i.e. using DDM as a preprocessor for matching 3 mega-pixel images or greater, to a database consisting of a thousand images, will speed up corr by a times! For a database consisting of 10 thousand images, DDM will speed up corr by 10 thousand times for matching images of size greater than 10 mega-pixels!
Fig. 12 shows theoretical curves of ηM against database size (N) for various image sizes with = 0.1. As database size increases, ηM increases and approaches a performance limit equal to the ratio of the average correlation matching time to the average DDM matching time. For example, for 8M images, ηM = 3104 for N > 106, i.e. using DDM as a preprocessor for matching 8 mega-pixels images to a database consisting of more than a million images, will speed up corr by 30 thousand times!
b. As decreases the performance of ηM increases. In other words, for large images and large databases, DDM will speed up corr considerably.
Fig. 10. Plots of Tc and TDc against image size for all sets.
Fig. 11. Theoretical curves of ηM vs. image size for various database sizes ( = 0.1).
Fig. 12. Theoretical curves of ηM vs. database size for various image sizes ( = 0.1).
6. CONCLUSION In this paper we have presented a fast method for detecting dissimilar binary images. The method is called the Dissimilar Detection via Mapping method (DDM) and is based on the Probabilistic Matching Model (PMM) for binary image matching. The method requires the comparison of only a few points to detect dissimilar images regardless of image size. Detecting dissimilarity when images are very similar requires additional points to be compared, but is still very fast. We show that the average detection time of dissimilar images is in the order of micro-seconds on the system tested, and will be much faster on systems equipped with faster processors. DDM was compared to other popular matching methods such as, cross-correlation, sum of the absolute difference (SAD), simple matching distance and joint entropy (mutual information). Results show that DDM is magnitudes faster than all of these methods. As an example for 10 mega-pixel images, for the time it takes cross-correlation (the second fastest method tested) to detect an image to be dissimilar, DDM would have processed more than 40 thousand images and detected their dissimilarity! Comparing DDM to other methods produce more impressive results; e.g., for the time it takes SAD to check dissimilarity, DDM would have processed more than 227 thousand images!
A limitation of DDM is that, while it can detect dissimilarity extremely fast regardless of image size, it cannot be used to detect similarity. However, DDM can be used in conjunction with other matching methods to increase their matching performance considerably. We showed that using DDM with cross-correlation increased the time performance of correlation considerably, particularly when matching large images to huge databases.
REFERENCES [1] Anuta, P., “Spatial Registration of Multispectral and Multitemporal Digital Imagery Using Fast Fourier Transform Techniques”, IEEE Transactions on Geoscience Electronics, 8(4), 353-368 (1970). [2] Barnea, D. and Silverman, H., “A Class of Algorithms for Fast Digital Image Registration”, IEEE Transactions on Computers, 21(2), 179-186 (1972). [3] Mustafa, Adnan A., “An Image Size Invariant Method for Quick Detection of Dissimilar Binary Images”, Proceedings of the International MultiConference of Engineers and Computer Scientists, Vol. I, Hong Kong, March 18-20, 348-353 (2015). [4] Mustafa, Adnan A., “Probabilistic Model for Quick Detection of Dissimilar Binary Images”, Journal of Electronic Imaging, 2015, accepted for publication. [5] Hii, A., Hann, C., Chase, J. and Van Houten, E., “Fast normalized cross correlation for motion tracking using basis functions”, computer methods and programs in biomedicine, 8(2), 144–156 (2006). [6] Luo, J. and Konofagou, E., “A Fast Normalized Cross-Correlation Calculation Method for Motion Estimation”, IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control, 57(6), 1347-1357 (2010). [7] Tsai, D., Lin, C., Chen, J., “The evaluation of normalized cross correlations for defect detection”, Pattern Recognition Letters, 24(15), 2525–2535 (2003). [8] Lin, C. and Chen, C., “Fast normalized cross correlation for defect detection”, Pattern Recognition Letters, 24(15), 2625–2631 (2003). [9] Zhang, K., Lu, J., Lafruit, G., Lauwereins, R., and Van Gool, L. “Robust stereo matching with fast normalized cross-correlation over shape-adaptive regions”, 16th IEEE International Conference on Image Processing (ICIP), 2357-2360 (2009). [10] Leberl, F. W., Radargrammetric Image Processing, Artech House, Massachusetts, (1990). [11] Mukherji, S., “Fast Algorithms for Binary Cross-correlation”, proceedings of Geoscience and Remote Sensing Symposium, V.1, 4-11 July (2005). [12] Lewis, J., "Fast Template Matching", Vision Interface, 120-123, (1995). [13] Hii, A. J. H., Hann, C. E., Chase, J. G., & Van Houten, E. E., “Fast normalized cross correlation for motion tracking using basis functions”, Computer methods and programs in biomedicine, 82(2), 144-156 (2006). [14] Kim, H. Y., “Rotation-discriminating template matching based on Fourier coefficients of radial projections with robustness to scaling and partial occlusion”, Pattern Recognition 43(3), 859-872 (2010). [15] Tang, F. and Tao, H., “Fast multi-scale template matching using binary features”, 8th IEEE Workshop on Applications of Computer Vision, 36-39 (2007). [16] Liu, M. and Li, L., “Cross-correlation based binary image registration for 3D palmprint recognition”, 11th IEEE International Conference on Signal Processing, 1597–1600 (2012). [17] Mattoccia, S., Tombari, F, Di Stefano, L., “Reliable rejection of mismatching candidates for efficient ZNCC template matching”, 15th IEEE International Conference on Image Processing, 849- 852 (2008). [18] Yoo, Jae-Chern, Byoung Deog Choi, and Hyoung-Kee Choi. “1-D fast normalized cross-correlation using additions”. Digital Signal Processing, 20(5), 1482-1493 (2010). [19] Luo, Jianwen, and Konofagoum, Elisa E., “A fast normalized cross-correlation calculation method for motion estimation”, IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control, 57(6), 1347-1357 (2010). [20] Choi, Min-Seok and Whoi-Yul Kim. “A novel two stage template matching method for rotation and illumination invariance”, Pattern Recognition, 35(1), 119-129 (2002). [21] Lin, Yi-Hsien, and Chen, Chin-Hsing, “Template matching using the parametric template vector with translation, rotation and scale invariance”, Pattern Recognition, 41(7), 2413-2421 (2008). [22] Li, R., Zeng, B. and Liou, M., “A New Three-Step Search Algorithm for Block Motion Estimation”, IEEE Transactions on Circuits and Systems for Video Technology, 4(4), 438-442 (1994). [23] Chen, Y., Hung, Y., and Fuh, C., “Fast Block Matching Algorithm Based on the Winner-Update Strategy”, IEEE Transactions on Image Processing, 10(8), 1212-1222 (2001).
[24] Fouda, Y.M. (2015). “A Robust Template Matching Algorithm Based on Reducing Dimensions”, Journal of Signal and Information Processing, 6, 109-122. (2015). [25] Vassiliadis, S., Hakkennes, E. A., Wong, J. S.., & Pechanek, G. G., “The sum-absolute-difference motion estimation accelerator”, Proceedings of the IEEE Euromicro Conference, 2, 559-566 (1998). [26] Guevorkian, D., Launiainen, A., Liuha, P., and Lappalainen, V., “Architectures for the sum of absolute differences operation”, IEEE Workshop on Signal Processing Systems, 57-62 (2002). [27] Jarno Vanne, Eero Aho, Timo D. Hämäläinen, and Kimmo Kuusilinna, “A High-Performance Sum of Absolute Difference Implementation for Motion Estimation”, IEEE Transactions on Circuits and Systems for Video Technology, 16(7), 876-883 (2006). [28] Hiroaki Niitsuma, Tsutomu Maruyama, “Sum of Absolute Difference Implementations for image processing on FPGAs”, International Conference on Field Programmable Logic and Applications, 167-170 (2010). [29] Wong, S., Vassiliadis, S., & Cotofana, S., “A Sum of Absolute Differences Implementation in FPGA Hardware”, Proceedings of the 28th Euromicro Conference, 183-188 (2002). [30] Maes, F., Collignon, A., Vandermeulen, D., Marchal, G. and Suetens, P., “Multimodality Image Registration by Maximization of Mutual Information”, IEEE Transactions on Medical Imaging, 16(2), 187-198 (1997). [31] Tomaževič, D., Likar, B. and Pernuš, F., “Multi-Feature Mutual Information Image Registration”, Image Anal Stereol, 31, 43-53. (2012):43-53 doi:10.5566/ias.v31.p43-53. [32] Josien P. W. Pluim*, J. B. Antoine Maintz, and Max A. Viergever, “Mutual-Information-Based Registration of Medical Images: A Survey”, IEEE Transactions on Medical Imaging, 22(8), (2003). [33] Mustafa, Adnan A. and Ganter, Mark A., “An Efficient Image Registration Method by Minimizing Intensity Combinations”, Research in Computer and Robot Vision, Archibald, C. and Kwok, P. (Eds.), World Scientific Press, Singapore, 247-268 (1995). [34] Baudrier, E., Millon, G., Nicolier, F. and Ruan, S., “A fast binary-image comparison method with local-dissimilarity quantification”, 18th International Conference Pattern Recognition, 216-219, (2006). [35] Baudrier, E., Nicolier, F., Millon, G. and Ruan, S., “Binary-image comparison method with local-dissimilarity quantification”, Pattern Recognition, 41, 1461-1478 (2008). [36] Vidal, J. and Crespo, J., “Sets Matching in Binary Images Using Mathematical Morphology”, International Conference of the Chilean Computer Science Society, 110-115 (2008). [37] Teshome, M., Zerubabe, L. and Yoon, K., “A Simple Binary Image Similarity Matching Method Based on Exact Pixel Matching”, International Conference on Computer Engineering and Applications, 12-15, (2009). [38] Sleit, A., Saadeh, H., Al-Dhamari, I. and Tareef, A., “An Enhanced Sub image Matching Algorithm for Binary Images”, American conference on Applied Mathematics, 565-569 (2010). [39] Choi, S., Cha, S. and Tappert, C., “A Survey of Binary Similarity and Distance Measures”, Journal of Systemics, Cybernetics and Informatics, 8(1), 43-48 (2010). [40] Mustafa, Adnan A., “A Modified Hamming Distance Measure for Quick Rejection of Dissimilar Binary Images”, International Conference on Computer Vision and Image Analysis applications, (2015). [41] Mustafa, Adnan A., “A Framework for Quick Rejection of Dissimilar Binary Images”, International Journal of Signal Processing Systems, 1(2), 237-243 (2013). doi: 10.12720/ijsps.1.2.237-243. [42] Montgomery D. C. and G. C. Runger, Applied Statistics & Probability for Engineers, 6th Edition, John Wiley (2014). [43] Cover, Thomas M., and Joy A. Thomas, Elements of information theory, John Wiley & Sons, (2012). [44] Mustafa, A. A., “Joint Entropy and Mutual Information similarity distances for Binary image matching”, Kuwait University, Dept. of Mechanical Engineering, Technical Report AAM-2015-1, (2015). [45] Mansour, A. M., El-Sawy, A. M., Aziz, M. S. and Sayed, A. T., “A New Hardware Implementation of Base 2 Logarithm for FPGA”, International Journal of Signal Processing Systems, 3(2), 171-181 (2015). [46] Hamming, Richard W., "Error detecting and error correcting codes", Bell System Technical Journal, 29(2), 147–160 (1950). [47] Sokal, R. R. and C. D. Michener, “A statistical method for evaluating systematic relationships”, Bulletin of the Society of University of Kansas, 38, 1409-1438 (1958).