structural and syntactic pattern recognition
play

Structural and Syntactic Pattern Recognition Selim Aksoy - PowerPoint PPT Presentation

Structural and Syntactic Pattern Recognition Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr CS 551, Fall 2019 CS 551, Fall 2019 2019, Selim Aksoy (Bilkent University) c 1 / 57 Introduction


  1. Structural and Syntactic Pattern Recognition Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr CS 551, Fall 2019 CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 1 / 57

  2. Introduction ◮ Statistical pattern recognition attempts to classify patterns based on a set of extracted features and an underlying statistical model for the generation of these patterns. ◮ Ideally, this is achieved with a rather straightforward procedure: ◮ determine the feature vector, ◮ train the system, ◮ classify the patterns. ◮ Unfortunately, there are also many problems where patterns contain structural and relational information that are difficult or impossible to quantify in feature vector form. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 2 / 57

  3. Introduction ◮ Structural pattern recognition assumes that pattern structure is quantifiable and extractable so that structural similarity of patterns can be assessed. ◮ Typically, these approaches formulate hierarchical descriptions of complex patterns built up from simpler primitive elements. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 3 / 57

  4. Introduction ◮ This structure quantification and description are mainly done using: ◮ Relational descriptions (principally graphs), ◮ Formal grammars. ◮ Then, recognition and classification are done using: ◮ Relational graph matching (for relational descriptions), ◮ Parsing (for formal grammars). ◮ We will study graph-theoretic approaches, strings, and grammatical methods. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 4 / 57

  5. Graph-Theoretic Methods — Definitions ◮ Graphs are valuable tools for representing relational information. ◮ A graph G = { N, R } is an ordered pair represented using: ◮ a set of nodes (vertices), N , ◮ a set of edges (arcs), R ⊆ N × N . ◮ A subgraph of G is itself a graph G s = { N s , R s } where N s ⊆ N and R s consists of edges in R that connect only the nodes in N s . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 5 / 57

  6. Graph-Theoretic Methods — Definitions ◮ A graph is connected if there is a path between all pairs of its nodes. ◮ A graph is complete if there is an edge between all pairs of its nodes. ◮ A relation from set A to set B is a subset of A × B . ◮ It is usually shown using a function f : A → B or b = f ( a ) . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 6 / 57

  7. Graph-Theoretic Methods — Definitions ◮ For example, the relation “lies on” can contain: R = { ( floor , foundation ) , ( rug , floor ) , ( chair , rug ) , ( person , chair ) } . ◮ Note that relations have directions, i.e., the order in which an entity appears in the pair is significant. ◮ Higher-order relations can be shown as ordered n -tuples that can also be viewed as ordered pairs of an ( n − 1) -tuple and a single element, e.g., ((( A × B ) × C ) × D ) . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 7 / 57

  8. Graph-Theoretic Methods — Definitions ◮ In directional graphs (digraphs), edges have directional significance, i.e., ( a, b ) ∈ R means there is an edge from node a to node b . ◮ When the direction of edges in a graph is not important, i.e., specification of either ( a, b ) or ( b, a ) ∈ R is acceptable, the graph is an undirected graph . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 8 / 57

  9. Graph-Theoretic Methods — Definitions ◮ A relational graph represents a particular relation graphically using arrows to show this relation between the elements as a directed graph. ◮ A tree is a finite acyclic (containing no closed loops or paths or cycles) digraph. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 9 / 57

  10. Comparing Relational Graph Descriptions ◮ One way to recognize structure using graphs is to let each pattern structural class be represented by a prototypical relational graph. ◮ An unknown input pattern is then converted into a structural representation in the form of a graph, and this graph is then compared with the relational graphs for each class. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 10 / 57

  11. Comparing Relational Graph Descriptions ◮ The observed data rarely matches a stored relational representation “exactly”, hence, graph similarity should be measured. ◮ One approach is to check whether the observed data match a “portion” of a relational model. ◮ Case 1: Any relation not present in both graphs is a failure. ◮ Case 2: Any single match of a relation is a success. ◮ A realistic strategy is somewhere in between these extremes. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 11 / 57

  12. Graph Isomorphism ◮ A digraph G with p nodes can be converted to an adjacency matrix : ◮ Number each node by an index { 1 , . . . , p } . ◮ Represent the existence or absence of an edge as  1 if G contains an edge from node i to node j,  Adj ( i, j ) = 0 otherwise .  ◮ Consider two graphs G 1 = { N 1 , R 1 } and G 2 = { N 2 , R 2 } . ◮ A homomorphism from G 1 to G 2 is a function f from N 1 to N 2 : ( v 1 , w 1 ) ∈ R 1 ⇒ ( f ( v 1 ) , f ( w 1 )) ∈ R 2 . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 12 / 57

  13. Graph Isomorphism ◮ A stricter test is that of isomorphism , where f is required to be 1:1 and onto: ( v 1 , w 1 ) ∈ R 1 ⇔ ( f ( v 1 ) , f ( w 1 )) ∈ R 2 . ◮ Isomorphism simply states that relabeling of nodes yields the same graph structure. ◮ Given two graphs G 1 and G 2 each with p nodes, to determine isomorphism: ◮ Label the nodes of each graph with labels 1 , . . . , p . ◮ Form the adjacency matrices M 1 and M 2 for both graphs. ◮ If M 1 = M 2 , G 1 and G 2 are isomorphic. ◮ Otherwise, consider all the p ! possible labelings on G 2 . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 13 / 57

  14. Graph Isomorphism a b c d a’ b’ c’ d’ a” b” c” d” f ( a ) = a ′′ a 0 1 0 1 a’ 0 1 1 0 a” 0 1 0 1 f ( b ) = b ′′ b 1 0 1 0 b’ 1 0 0 1 b” 1 0 1 0 f ( c ) = c ′′ c 0 1 0 1 c’ 1 0 0 1 c” 0 1 0 1 f ( d ) = d ′′ d 1 0 1 0 d’ 0 1 1 0 d” 1 0 1 0 Figure 1: An example of isomorphism of two undirected graphs with p = 4 . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 14 / 57

  15. Graph Isomorphism ◮ Unfortunately, determining graph isomorphism is computationally expensive (NP complete). ◮ Furthermore, it is also not a practical similarity measure because it allows only exact matches but not all existing relations for a given class are observed in practical problems. ◮ G 1 and G 2 are called subisomorphic if a subgraph of G 1 is isomorphic to a subgraph of G 2 . ◮ Clearly, this is a less restrictive structural match than that of isomorphism. ◮ However, determining subisomorphism is also computationally expensive. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 15 / 57

  16. Extensions to Graph Matching ◮ To allow structural deformations, numerous extensions to graph matching have been proposed. ◮ Extract features from graphs G 1 and G 2 to form feature vectors x 1 and x 2 , respectively, and use statistical pattern recognition techniques to compare x 1 and x 2 . ◮ Use a matching metric as the minimum number of transformations necessary to transform G 1 into G 2 . CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 16 / 57

  17. Extensions to Graph Matching ◮ Common transformations include: ◮ Node insertion, ◮ Node deletion, ◮ Node splitting, ◮ Node merging, ◮ Edge insertion, ◮ Edge deletion. ◮ Note that computational complexity can still be high and it may be difficult to design a distance measure that can distinguish structural deformations between different classes. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 17 / 57

  18. Attributed Relational Graphs ◮ In addition to representing pattern structure, the representation may be extended to include numerical and symbolic attributes of pattern primitives. ◮ An attributed graph G = { N, P, R } is a 3-tuple where ◮ N is a set of nodes, ◮ P is a set of properties of these nodes, ◮ R is a set of relations between nodes. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 18 / 57

  19. Attributed Relational Graphs ◮ Let p i q ( n ) denote the value of the q ’th property of node n of graph G i . ◮ Nodes n i ∈ N i and n 2 ∈ N 2 are said to form an agreement ( n 1 , n 2 ) if p 1 q ( n 1 ) ∼ p 2 q ( n 2 ) where “ ∼ ” denotes similarity. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 19 / 57

  20. Attributed Relational Graphs ◮ Let r i j ( n x , n y ) denote the j ’th relation involving nodes n x , n y ∈ N i . ◮ Two assignments ( n 1 , n 2 ) and ( n ′ 1 , n ′ 2 ) are considered compatible if j ( n 1 , n ′ j ( n 2 , n ′ r 1 1 ) ∼ r 2 2 ) ∀ j. ◮ Two attributed graphs G 1 and G 2 are isomorphic if there exists a set of 1:1 assignments of nodes in G 1 to nodes in G 2 such that all assignments are compatible. CS 551, Fall 2019 � 2019, Selim Aksoy (Bilkent University) c 20 / 57

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend