^{1}

^{2}

^{1}

^{2}

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 finding congruent complete graphs. Experiments are conducted to show the effectiveness and robustness of the proposed algorithm.

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

In the past decades, many researchers have devoted themselves to designing high performance point pattern matching algorithms. Griffin and Alexopoulos [

In [^{3/2}), where ^{4/3} log

Most of the above algorithms are designed to solve the matching problem under affine transform or the transform of translation and rotation. These works are not suitable for the point sets under reflection transform. To overcome this problem, we propose an efficient algorithm based on the fact that the Euclidean distance between any two points is invariant. This algorithm is not only suitable for point sets under reflection transform, but also effective for those under translation and rotation transform. The rest of the paper is organized as follows. Section

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

If all corresponding edges of two complete graphs are equal, they are congruent graphs.

Let

If

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

Let V = {

Congruent complete graphs and corresponding point sets.

Let

If

If

As shown in Figure _{a}v_{b}

Two pairs of congruent complete graphs.

Consider the case that vertices are collinear. If

From the above analysis, it can be found that

Obviously, the pattern matching between two point sets

For each vertex

For each vertex

Compute the congruent complete graphs between

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

For translation and rotation transform, let (

For reflection transform, suppose that

Symmetry axis of reflection transform.

From the above analysis, it is clearly that the parameters

Let

Let

Select a pair of matched points

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

Note that the minimum point number of congruent complete graphs is 3. Suppose that the selected neighbor point numbers in

Detailed steps of the proposed matching algorithm are as follows.

For each point of

Randomly select a point from

Repeat Step

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

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

Coordinates of the points in

No. | ( | No. | ( | No. | ( | No. | ( | No. | ( |
---|---|---|---|---|---|---|---|---|---|

1 | (132, 225) | 11 | (153, 36) | 21 | (212, 203) | 31 | (125, 73) | 41 | (114, 157) |

2 | (108, 214) | 12 | (94, 13) | 22 | (252, 150) | 32 | (79, 20) | 42 | (128, 126) |

3 | (174, 82) | 13 | (28, 6) | 23 | (245, 69) | 33 | (64, 102) | 43 | (213, 233) |

4 | (144, 73) | 14 | (18, 77) | 24 | (59, 19) | 34 | (208, 107) | 44 | (128, 178) |

5 | (241, 241) | 15 | (200, 67) | 25 | (13, 137) | 35 | (196, 48) | 45 | (234, 201) |

6 | (187, 233) | 16 | (187, 139) | 26 | (10, 28) | 36 | (59, 161) | 46 | (204, 83) |

7 | (235, 179) | 17 | (3, 90) | 27 | (219, 174) | 37 | (34, 246) | 47 | (191, 103) |

8 | (166, 219) | 18 | (125, 9) | 28 | (120, 54) | 38 | (34, 145) | 48 | (20, 214) |

9 | (60, 135) | 19 | (56, 37) | 29 | (253, 18) | 39 | (202, 153) | 49 | (220, 142) |

10 | (12, 62) | 20 | (31, 93) | 30 | (73, 50) | 40 | (2, 185) | 50 | (102, 131) |

Coordinates of the points in

No. | ( | No. | ( | No. | ( | No. | ( | No. | ( | No. | ( |
---|---|---|---|---|---|---|---|---|---|---|---|

1 | (−63, 110) | 11 | (−58, 149) | 21 | (−23, 164) | 31 | (60, 85) | 41 | (105, 245) | 51 | (12, 284) |

2 | (−94, 165) | 12 | (−34, 193) | 22 | (−13, 266) | 32 | (47, 117) | 42 | (78, 294) | 52 | (−8, 204) |

3 | (−71, 166) | 13 | (−51, 218) | 23 | (21, 30) | 33 | (35, 137) | 43 | (63, 315) | 53 | (106, 97) |

4 | (−102, 196) | 14 | (−34, 235) | 24 | (81, −182) | 34 | (48, 165) | 44 | (−63, 305) | 54 | (116, −96) |

5 | (−61, 205) | 15 | (−26, 296) | 25 | (11, 129) | 35 | (61, 190) | 45 | (151, 117) | 55 | (51, −137) |

6 | (−132, 218) | 16 | (−7, 31) | 26 | (4, 238) | 36 | (163, −69) | 46 | (163, 149) | 56 | (93, −49) |

7 | (−109, 228) | 17 | (−15, 63) | 27 | (6, 258) | 37 | (74, 61) | 47 | (181, 180) | 57 | (1, 72) |

8 | (−87, 245) | 18 | (−26, 80) | 28 | (−75, −45) | 38 | (76, 134) | 48 | (130, 189) | 58 | (130, −189) |

9 | (−41, 88) | 19 | (1, 93) | 29 | (25, 313) | 39 | (98, 149) | 49 | (163, 199) | 59 | (52, 342) |

10 | (−48, 127) | 20 | (−12, 149) | 30 | (47, 52) | 40 | (70, 214) | 50 | (135, 254) | 60 | (135, −254) |

Matched pairs (

No. | ( | No. | ( | No. | ( | No. | ( |
---|---|---|---|---|---|---|---|

1 | (11, 11) | 11 | (26, 23) | 21 | (36, 39) | 31 | (22, 8) |

2 | (46, 13) | 12 | (39, 27) | 22 | (44, 40) | 32 | (12, 9) |

3 | (34, 14) | 13 | (27, 51) | 23 | (43, 43) | 33 | (3, 12) |

4 | (22, 15) | 14 | (45, 29) | 24 | (25, 53) | 34 | (4, 21) |

5 | (13, 16) | 15 | (10, 30) | 25 | (40, 45) | 35 | (19, 57) |

6 | (24, 17) | 16 | (20, 31) | 26 | (48, 46) | 36 | (16, 26) |

7 | (32, 18) | 17 | (33, 32) | 27 | (37, 47) | 37 | (5, 59) |

8 | (30, 19) | 18 | (50, 34) | 28 | (18, 1) | 38 | (9, 38) |

9 | (31, 20) | 19 | (41, 35) | 29 | (15, 5) | 39 | (1, 41) |

10 | (49, 22) | 20 | (17, 37) | 30 | (29, 6) | 40 | (6, 42) |

The point set

Coordinates of the points in

No. | ( | No. | ( | No. | ( | No. | ( | No. | ( | No. | ( |
---|---|---|---|---|---|---|---|---|---|---|---|

1 | (−72, 116) | 11 | (−30, 95) | 21 | (−4, 303) | 31 | (69, 75) | 41 | (107, 200) | 51 | (37, −206) |

2 | (−112, 145) | 12 | (−11, 123) | 22 | (15, 320) | 32 | (68, 154) | 42 | (94, 221) | 52 | (−94, −81) |

3 | (−53, 164) | 13 | (−35, 145) | 23 | (39, 57) | 33 | (57, 232) | 43 | (99, 283) | 53 | (9, −223) |

4 | (−117, 179) | 14 | (−12, 222) | 24 | (25, 69) | 34 | (59, 252) | 44 | (137, 140) | 54 | (13, −150) |

5 | (−76, 210) | 15 | (−40, 260) | 25 | (29, 90) | 35 | (80, 256) | 45 | (115, 145) | 55 | (101, −45) |

6 | (−128, 212) | 16 | (24, 27) | 26 | (26, 127) | 36 | (58, 279) | 46 | (152, 168) | 56 | (114, 186) |

7 | (−107, 228) | 17 | (−3, 32) | 27 | (−16, −98) | 37 | (95, 93) | 47 | (186, 184) | 57 | (86, −84) |

8 | (−67, 275) | 18 | (4, 140) | 28 | (52, 309) | 38 | (85, 113) | 48 | (150, −68) | 58 | (24, −126) |

9 | (−24, 59) | 19 | (−1, 170) | 29 | (31, 344) | 39 | (99, 132) | 49 | (165, 198) | 59 | (53, 141) |

10 | (−49, 74) | 20 | (−9, 197) | 30 | (54, 71) | 40 | (85, 180) | 50 | (147, 217) | 60 | (−47, −211) |

Matched pairs (

No. | ( | No. | ( | No. | ( | No. | ( |
---|---|---|---|---|---|---|---|

1 | (25, 1) | 11 | (13, 16) | 21 | (16, 33) | 31 | (6, 21) |

2 | (40, 2) | 12 | (26, 17) | 22 | (39, 34) | 32 | (19, 24) |

3 | (36, 3) | 13 | (50, 19) | 23 | (49, 35) | 33 | (5, 29) |

4 | (48, 4) | 14 | (41, 20) | 24 | (27, 36) | 34 | (32, 30) |

5 | (37, 6) | 15 | (43, 22) | 25 | (18, 37) | 35 | (4, 32) |

6 | (10, 9) | 16 | (24, 23) | 26 | (46, 41) | 36 | (11, 39) |

7 | (17, 10) | 17 | (30, 25) | 27 | (34, 42) | 37 | (3, 40) |

8 | (20, 11) | 18 | (31, 27) | 28 | (22, 43) | 38 | (29, 47) |

9 | (33, 12) | 19 | (45, 28) | 29 | (9, 13) | 39 | (15, 48) |

10 | (44, 14) | 20 | (12, 31) | 30 | (1, 15) | 40 | (23, 50) |

To view the performance in a real-world situation, the proposed algorithm is applied to fingerprint recognition. Figure

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

A fingerprint image

Another fingerprint image

Matched pairs between Figures

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.

This work was partially supported by the Natural Science Foundation of China (60963008), the Guangxi Natural Science Foundation (2011GXNSFD018026, 0832104), the Project of the Education Administration of Guangxi (200911MS55), the Scientific Research and Technological Development Program of Guangxi (10123005–8), and the Scientific and Technological Research Projects of Chongqing’s Education Commission (KJ081309). The authors would like to thank Dr. Zhenjun Tang for English correction and the anonymous referees for their valuable comments and suggestions.