Point Pattern Matching Algorithm for Planar Point Sets under Euclidean Transform

. Point pattern matching is an important topic of computer vision and pattern recognition. In this paper, we propose a point pattern matching algorithm for two planar point sets under Euclidean transform. We view a point set as a complete graph, establish the relation between the point set and the complete graph, and solve the point pattern matching problem by ﬁnding congruent complete graphs. Experiments are conducted to show the e ﬀ ectiveness and robustness of the proposed algorithm.


Introduction
Point pattern matching problem is an important task of computer vision and pattern recognition.It is to find a good correspondence between two point sets in m-dimensional space.In general, it can be classified into two kinds.One is that the point number of the two point sets is the same.The other is that the point numbers are different.The first case is called complete matching, while the second case is called incomplete matching or partial matching.Point pattern matching has found many applications, such as image registration, motion detection, object tracking, automated visual inspection of flat objects, autonavigation, and pose estimation.
In the past decades, many researchers have devoted themselves to designing high performance point pattern matching algorithms.Griffin and Alexopoulos 1 present a method for the complete matching problem.They calculate the two pattern controids and align them and then construct a bipartite graph.The point matching is finally found by determining the maximal cardinality matching of the bipartite graph.Vinod and Ghose 2 the proposed algorithm.Experimental results are given in Section 4 and conclusions are made in Section 5.

Congruent Complete Graphs
A point set can be represented by a complete graph as follows.A vertex denotes a point and the weight of an edge connecting two vertices represents the Euclidean distance between the corresponding two points.For a given point set, if the point number is n, the edge number of its corresponding complete graph is n n−1 /2.Clearly, if V and V are two matched point sets under reflection transform, or transform of translation and rotation, the corresponding edges of their complete graphs are equal, and vice versa.In general, translation and rotation transform and reflection transform are collectively called Euclidean transform.Definition 2.1.If all corresponding edges of two complete graphs are equal, they are congruent graphs.
Let G V and G V be the complete graphs of V and V , respectively, and G V ∼ G V represent that G V and G V are congruent graphs.Thus, there is a property of congruent graphs.

Property 1.
If G V ∼ G V , the point sets V and V are the matching sets under Euclidean transform.
If two point sets are the matching sets under Euclidean transform, corresponding edges of congruent graphs formed by these point sets are equal, and vice versa.As shown in Figure 1, since G {p 1 , p 2 , p 3 , p 4 } ∼ G {q 1 , q 2 , q 3 , q 4 } , {p 1 , p 2 , p 3 , p 4 }, and {q 1 , q 2 , q 3 , q 4 } are the matching sets under reflection transform.Similarly, {p 1 , p 2 , p 3 , p 4 } and {v 1 , v 2 , v 3 , v 4 } are the matching sets under translation and rotation transform since . ., v k } be two planar point sets.If we use the Euclidean distance between any two points to represent the corresponding edge weight of graph, the complete graph of each point set has k k − 1 /2 edges.Clearly, we can find congruent complete graphs by calculating all edges and establishing their corresponding relations.However, such computational cost is large.To reduce computation, we can calculate matched edges based on the following theorem.Theorem 2.2.Let v a , v a and v b , v b be two pairs of matched points between V and V .Thus, we have G V ∼ G V if they satisfy the following conditions.Proof.As shown in Figure 2 a , suppose that v a , v b , and v i i / a, i / b are not collinear, and for a given vertex v j , there are also no three collinear vertices among {v a , v b , v i , v j }.According to the condition 2 , assume that v i and v j are on one side of the straight line v a v b .Thus, v i and v j are on the corresponding side of straight line v a v b .Using the condition 1 , it is deduced that This means that the distance between v i and other vertex is equal to that between v i and the corresponding vertex.The case that v i and v j are on different side of straight line v a v b can be proven by using the similar steps.
Consider the case that vertices are collinear.If v a , v b , and v i are collinear, v a , v b , and v i are also collinear Condition 3 .If v j and v j are on the straight lines v a v b and v a v b respectively, it is clearly that |v i v j | |v i v j |.If they are not on the straight lines as shown in Figure 2 From the above analysis, it can be found that |v i v j | |v i v j | can be derived if the vertices v i and v j satisfy the above-mentioned conditions.So G V ∼ G V .
Obviously, the pattern matching between two point sets P and Q under Euclidean transform can be achieved by calculating their congruent complete graphs.The detailed algorithm is as follows.
1 For each vertex p i ∈ P i 1, 2, . . ., n , calculate the Euclidean distance |p i p j | i / j between p i and p j and sort these distances to make an ascending sequence.
2 For each vertex q i ∈ Q i 1, 2, . . ., m , calculate the Euclidean distance |q i q j | i / j between q i and q j and sort these distances to make an ascending sequence.
3 Compute the congruent complete graphs between G P and G Q by Theorem 2.2 and determine whether or not P and Q are matched.

Parameters of Congruent Complete Graphs
If two point sets are matched, one can be viewed as the transformed result of the other, where the transform may be translation and rotation transform or reflection transform.Note that Euclidean distance between two points is invariant under these transforms.Parameters of the above transforms are discussed as follows. 1 Translation and rotation transform denoted as T θ,t x ,t y : let x, y be the coordinates of a point and x , y the coordinates of its transformed version.If they satisfy the following equation: the transform is called translation and rotation transform, where θ is the rotation angle t x and t y are the translations along x-axis and y-axis, respectively.The θ, t x , and t y are the parameters of translation and rotation transform.2 Reflection transform denoted as T l : if l is the perpendicular bisector of the line segment connecting x, y and x , y , the two points are a pair of matched points under the T l , where l is the symmetry axis and the parameter of the reflection transform.Parameter calculations are as follows.
For translation and rotation transform, let p 1 , q 1 and p 2 , q 2 be two pairs of matched points under translation and rotation transform, that is, T θ,t x ,t y q i p i i 1, 2 , where the coordinates of q i and p i are x i , y i and x i , y i , respectively.Substitute the coordinates of each pair of points into 2.1 and then obtain the following equation: where θ is the included angle between − −− → q 1 q 2 and − −− → p 1 p 2 .From 2.2 , it is found that the transform parameters t x , t y , and θ can be uniquely determined by two pairs of matched points.
For reflection transform, suppose that {q 1 , q 2 , . . ., q r } is the transformed result of {q 1 , q 2 , . . ., q r } under the transform T l , as shown in Figure 3.If q i i 1, 2, . . ., r and q i are not the same point, the perpendicular bisector l of the line segment connecting q i and q i is the symmetry axis of the reflection transform.From the above analysis, it is clearly that the parameters t x , t y , and θ can uniquely determine a translation and rotation transform, and the symmetry axis l can determine a reflection transform.
. ., v k } under the Euclidean transform, V and V are a pair of matched point sets.

Calculation of Congruent Complete Graphs
Let P {p 1 , p 2 , . . ., p m } and Q {q 1 , q 2 , . . ., q n } be two matched point sets in a 2D plane.To find the congruent complete graphs containing vertices p a and q b , we calculate the distances |p a p i | i 1, 2, . . ., m, i / a and |q b q j | j 1, 2, . . ., n, j / b , and make these distances in ascending order, where the sorted result of |p a p i | is {d 1 , d 2 , . . ., d m−1 } and that of |q b q j | is {s 1 , s 2 , . . ., s n−1 }.Thus, congruent complete graphs can be calculated by the following steps.
1 Let i 1 and j 1.If d i s j , record the matched points forming the matched sets and let i ← i 1.If d i > s j , let j ← j 1.If d i < s j , let i ← i 1. Repeat the computation until i m or j n.
2 Select a pair of matched points p c and q f from the above matched sets, whose distances to p a and q b are equal.Calculate the distances from p c and q f to other corresponding matched points, respectively, and compute the congruent complete graphs by the Theorem 2.2.If the congruent complete graphs are available, we extract other congruent complete graphs from the rest points.Otherwise, we select another matched pair to calculate congruent complete graphs until all matched pairs are used.

Matching Algorithm Based on Complete Graphs
For incomplete matching problem, if we calculate complete graphs of all points to identify congruent graphs, the computational cost is large.In here, nearest neighbor algorithm is exploited to improve efficiency.Let P {p 1 , p 2 , . . ., p m } and Q {q 1 , q 2 , . . ., q n } be two matched point sets, and the matched probability in P is ρ, that is, ρm points of P have matched points in Q.Thus, the matched probability ρ in Q can be calculated by ρ ρm n .

3.1
Note that the minimum point number of congruent complete graphs is 3. Suppose that the selected neighbor point numbers in P and Q are k and t.For each point of P and Q, we apply the method 19 to find its nearest neighbor points.A small number of neighbor points is helpful to improve computational speed.However, average matched point number for each point could not be smaller than 3.In the words, the k or t value must satisfy ρk ≥ 3 or ρ t ≥ 3. Thus, we have where • means upward rounding.So we have Detailed steps of the proposed matching algorithm are as follows.
Step 1.For each point of Q, extract t neighbor points by the method 19 , calculate the distances to the neighbor points, and sort these distances.
Step 2. Randomly select a point from P and find its k neighbor points by the method 19 again.Next, calculate its distances to the k neighbor points, and sort these distances.Apply the Theorem 2.2 to determine matched graphs between the complete graph forming by these k 1 points of P and the other complete graph of each point of Q.During the determination, we record the transform parameters and the transform type, that is, translation and rotation transform or reflection transform.
Step 3. Repeat Step 2 and merge the congruent complete graphs with the same transform parameters and the same transform type.If the point number of the congruent complete graphs is bigger than a predefined threshold T, we recalculate the transform parameters.If the calculated results are equal to the prior values, the corresponding points forming the congruent complete graphs are the matched points.The algorithm is done.Otherwise, turn to Step 2.

Experimental Results
To validate the proposed algorithm, many experiments are conducted and all results show the effectiveness of our algorithm.In here, typical examples including the synthesized point sets and the real point sets from fingerprints are presented.For the synthesized examples, point sets under the two kinds of Euclidean transform are both considered, where the matched probability in P is 0.8, that is, ρ 0.8.As the points may be perturbed by noises in a real-world situation, we define a threshold ε 4. If the difference between two distances is smaller than the threshold, their corresponding edges are considered as a matched pair.

Reflection Transform
The point sets are produced as follows.Firstly, 40 random points with integer coordinates are generated in a square sized 256 × 256 to form the point set P .A reflection transform with symmetric axis y 2x 3 and a translation transform with t x 7 and t y 4 are then applied to the 40 points.So 40 points of Q are then obtained.To test the robustness of our algorithm, 10 random points in the 256 × 256 square are generated and then added into P .Another reflection is applied to the 10 points to generate their transformed versions, which are then added to Q.Moreover, another 10 points, which do not belong to P , are added to Q.During the point generations, the distance between each two points is not smaller than 10.Furthermore, the coordinates of points in P and Q are both perturbed by Gaussian noises with 0 mean and 1 variance, and the quantization errors caused by the noises are controlled within ±3.Coordinates of the points in P and Q are presented in Tables 1 and 2, where the serial numbers of points are randomly arranged.As expected, the propose algorithm correctly finds 40 matched pairs of points.The matched results are listed in Table 3.

Translation and Rotation Transform
The point set P used in Subsection 4.1 is also adopted here.We apply the translation and rotation transform with t x 7, t y 4, and θ 0.716 radian to the first 40 points of P and  1 and 2, where n i and n j are the serial numbers of points in Tables 1 and 2.
No then obtain 40 points of Q. Next, we apply another transform of translation and rotation to the last 10 points of P and add the transformed points to Q.Moreover, another 10 points are added to Q.During generation, the distance between each two points is also not smaller than 10.Similarly, Gaussian noises with 0 mean and 1 variance is also exploited to perturb the points of Q. Table 4 are the coordinates of those points of Q.Our algorithm correctly determines 40 matched pairs of points, as shown in Table 5.

Fingerprint Matching
To view the performance in a real-world situation, the proposed algorithm is applied to fingerprint recognition.Figure 4 presents two fingerprint images taken from the same finger of a person.The circled feature points are manually selected and their coordinates are also manually extracted by using the software origin.In this experiment, the circled features represent those points for pattern matching and the total number of used features in each fingerprint image is 42.Our algorithm finds 35 matched pairs of features, indicating the practicability of the proposed algorithm.The results are as shown in Figure 5, where the "×" marks represent the feature points in Figure 4 a , the " " marks represent the feature points in Figure 4 b , and the circle marks mean the matched pairs.  1 and 4, where n i and n j are the serial numbers of points in Tables 1 and 4. No

Conclusions
A novel point pattern matching algorithm is proposed in this paper, which views point pattern matching problem as complete graph matching.For each point, the proposed algorithm constructs its complete graph by using its neighbor points.Point pattern matching is then solved by finding congruent complete graphs between the point sets.The proposed algorithm is suitable for the point sets under Euclidean transform.Many experiments are done, and the results show that our algorithm is robust and effective.As finding a matched pair of points in advance is not needed, the proposed algorithm is not influenced by calculation errors causing in point pair determination, and, therefore, achieves robustness.Complete graphs are formed by those points in neighbor.It effectively reduces computational cost and improves speed.

Figure 1 :
Figure 1: Congruent complete graphs and corresponding point sets.
and v i are collinear.

Figure 2 :
Figure 2: Two pairs of congruent complete graphs.

Figure 4 :
Figure 4: Two different fingerprint images from the same finger with circled features.

Figure 5 :
Figure 5: Matched pairs between Figures 4 a and 4 b .

Table 1 :
Coordinates of the points in P.

Table 2 :
Coordinates of the points in Q under reflection transform.

Table 3 :
Matched pairs n i , n j between Tables

Table 4 :
Coordinates of the points in Q under translation and rotation transform.

Table 5 :
Matched pairs n i , n j between Tables