Pattern Analysis and Applications

, Volume 1, Issue 3, pp 189–201 | Cite as

A graph isomorphism algorithm for object recognition

  • M. A. Abdulrahim
  • M. Misra


We present an algorithm to solve the graph isomorphism problem for the purpose of object recognition. Objects, such as those which exist in a robot workspace, may be represented by labelled graphs (graphs with attributes on their nodes and/or edges). Thereafter, object recognition is achieved by matching pairs of these graphs. Assuming that all objects are sufficiently different so that their corresponding representative graphs are distinct, then given a new graph, the algorthm efficiently finds the isomorphic stored graph (if it exists). The algorithm consists of three phases: preprocessing, link construction, and ambiguity resolution. Results from experiments on a wide variety and sizes of graphs are reported. Results are also reported for experiments on recognising graphs that represent protein molecules. The algorithm works for all types of graphs except for a class of highly ambiguous graphs which includes strongly regular graphs. However, members of this class are detected in polynomial time, which leaves the option of switching to a higher complexity algorithm if desired.


Graph isomorphism Graph matching Labelled graphs Local consistency Object recognition Pattern recognition Random graphs 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Eshera MA, King-Sun Fu. A graph distance measure for image analysis. IEEE Trans Systems, Man Cybern 1984; 14(3)Google Scholar
  2. 2.
    Wong EK. Model matching in robot vision by subgraph isomorphism. Pattern Recognition 1992; 25(3): 287–303Google Scholar
  3. 3.
    Chen T-W, Lin W-C. A neural network approach to CSG-based 3-D object recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence 1994; 16(7)Google Scholar
  4. 4.
    Peng M, Gupta NK. Invariant and occluded object recognition based on graph matching. Int J Elec Engg Educ 1995; 32: 31–38Google Scholar
  5. 5.
    Messmer BT, Bunke H. A new algorithm for error-tolerant subgraph isomorphism detection. IEEE Transactions on Pattern Analysis and Machine Intelligence 1988; 20(5): 493–504Google Scholar
  6. 6.
    Xu J. GMA: A Generic Match Algorithm for structural homomorphism, isomorphism, and maximal common substructure match and its applications. J Chem. Infor Comput Sci 1996; 36(1): 25–34Google Scholar
  7. 7.
    Suganthan PN, Teoh EK, Mital DP. Pattern recognition by homomorphic graph matching using hopfield neural networks. Image Vision Comput 1995; 13(1)Google Scholar
  8. 8.
    Gold S, Rangarajan A. A graduated assignment algorithm for graph matching. IEEE Transactions on Pattern Analysis and Machine Intelligence 1996; 18(4): 309–319Google Scholar
  9. 9.
    Read RC, Corneil DG. The graph isomorphism disease. Journal Graph Theory 1977; 1: 339–363Google Scholar
  10. 10.
    Liu X, Klein DJ. The graph isomorphism problem. Journal Computational Chemistry 1991; 12(10): 1243–1251Google Scholar
  11. 11.
    Rao AC, Varada Raju D. Application of the Hamming number technique to detect isomorphism among kinematic chains and inversions. Mech Mach Theory 1991; 26(1): 55–75Google Scholar
  12. 12.
    Das N, Bhattacharya BB, Dattagupta J. Isomorphism of conflict graphs in multistage interconnection networks and its application to optimal routing. IEEE Trans Comput 1993; 42(6): 665–677Google Scholar
  13. 13.
    Ambler AP, Barrow HG, Brown CM, Burstall RM, Popplestone RJ. A versatile computer-controlled assembly system. Proceedings of Third International Joint Conference on Artificial Intelligence 1973; 298–307Google Scholar
  14. 14.
    Corneil DG, Mathon RA. Algorithmic techniques for the generation and analysis of strongly regular graphs and other combinatorial configurations. Discrete Math 1978; 2: 1–32Google Scholar
  15. 15.
    Garey MR Johnson DS. Computers and Intractability, A Guide to the Theory of NP-Completeness. W.H. Freeman, 1979Google Scholar
  16. 16.
    Luks EM. Isomorphism of graphs of bounded valence can be tested in polynomial time. J Comput Syst Sci 1982; (25): 42–65Google Scholar
  17. 17.
    Corneil DG, Gotlieb CC. An efficient algorithm for graph isomorphism. J ACM 1970; 17(1)Google Scholar
  18. 18.
    Babai L, Erdos P, Selkow S. Random graph isomorphism. SIAM J Comput 1980; 9(3): 628–635Google Scholar
  19. 19.
    Babai L. On the complexity of canonical labeling of strongly regular graphs. SIAM J Comput 1980; 9(1): 212–216Google Scholar
  20. 20.
    Spielman DA. Faster isomorphism testing of strongly regular graphs. Technical report, University of California Berkeley, Computer Science Division, Berkeley, California 94720, 1996. Can be retrieved from Scholar
  21. 21.
    von der Malsburg C, Bienenstock E. A neural network for retrieval of superimposed connection patterns. Europhysics Letters 1987; 3(11): 1243–1249Google Scholar
  22. 22.
    Bienenstock E, von der Malsburg C. A neural network for invariant pattern recognition. Europhysics Letters 1987; 4(1): 121–126Google Scholar
  23. 23.
    Abdulrahim M, Misra M. A practical algorithm for labeled graph isomorphism. Technical Report CSM-MACS-97-16, Colorado School of Mines, Department of Mathematical and Computer Sciences, Golden, Colorado, December 1997Google Scholar
  24. 24.
    Merck KGaA Darmstadt. The relibase system, 1997. Joint work between Merck KGaA Darmstadt and University of Marburg. Can be accessed at Scholar

Copyright information

© Springer-Verlag London Limited 1998

Authors and Affiliations

  • M. A. Abdulrahim
    • 1
  • M. Misra
    • 1
  1. 1.Department of Mathematical and Computer SciencesColorado School of MinesGoldenUSA

Personalised recommendations