Full text: Proceedings, XXth congress (Part 3)

   
    
  
   
  
   
   
  
   
  
   
    
  
   
  
   
   
   
  
  
   
   
   
   
  
   
   
   
   
  
   
   
   
    
  
   
  
    
    
  
   
  
    
  
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B3. Istanbul 2004 
information for the recognition task. The data can be seen as 
implicitly represented knowledge which has to be made 
explicit. 
A well known representation for knowledge is the use of a 
graph structure. Here the special case of a conceptual graph 
applies (Sowa, 2001). The information is represented in the 
nodes and edges. The nodes are labelled with the concepts and 
the edges determine the relations between the concepts. In this 
representation the task of identifying a sketch is identical with 
the task of finding a sub graph isomorphism between the graph 
representation of the sketch data and the graph representation of 
the reference data. 
A sub graph isomorphism (Cortadella, 2000; Lipschutz, 1976) 
is given if for every node in the pattern another node in the 
reference can be found with the same Type and when the edges 
of the pattern graph have corresponding edges in the reference 
graph. 
When organizing the knowledge about the sketch and the 
reference data in graphs, a semantic component is needed. How 
this can be provided is shown here, following (Sowa, 2000) 
At first the problem is dealing with objects of the real world 
where the objects are defined by the human understanding of 
the world. Objects in this sense can be roads, buildings, 
junctions, railroads, etc. The given terms are already a 
classification of the individual objects and can be called 
classes. The individual objects themselves are then called 
instances of a class. Each instance can be given a unique name 
which allows the identification of this particular instance. The 
classification should be unambiguous. 
Each object is now considered to be one node of the graph and 
labelled with its class and the name of the object. This step 
doesn't produce connections between the nodes and the graph is 
totally disconnected. 
The next step is dealing with relations between the given 
objects, making the graph unique if it describes a unique 
situation in reality. For the description of the graph structure it 
is not important which kind of relations are used. A relation can 
be modelled between an arbitrary number of objects. Usually 
two objects are involved but there can be more than two objects 
or only one object which relates to itself in some particular 
way. One example is the neighbourhood relation which is 
dealing with two objects. A set of useful relations is given later 
in this article. If we had only binary relations it would be easy 
to introduce them as labelled connections between the objects. 
But here it makes more sense to introduce new nodes into the 
graph which are treated the same way like the nodes introduced 
for the objects. They are labelled with a class and a name, 
where the name does not refer to something real but is needed 
to identify this relation in a unique way. The difference to 
ordinary objects is that edges are introduced into the graph 
which connect the relation node with all the object nodes which 
are subject of the relation. for an example see Figure 4. 
Et 
"a ~ 
OBJ OBJ OBJ 
NN pa x / 
E REL 
F4 
OBJ 
Figure 4: Conceptual Graph. 
In some cases the border between objects and relations 
disappears and an object is also a relation. An example are road 
segments. A road segment is a real object but it always has the 
connection to a node of the road graph like a junction or a sharp 
bend which would require an explicit relation between the road 
segment and the road graph node. This can be simplified by 
treating the road segment like a relation and directly connect its 
node to the junction object node. 
As a result we have one single connected graph of concepts for 
the reference data and one single connected graph for the sketch 
data. This representation is very basic and several different 
algorithms can use it for certain tasks. 
3.2 Matching algorithms 
With the graph representation it is possible to find an algorithm 
that identified the pattern graph inside the reference graph. 
There is a lot of literature about algorithms dealing with sub 
graph isomorphism, but some essential properties are shown 
here. An algorithm is detailed more in depth in this section. In 
(Bengoetxea, 2002) an overview of matching concepts is given. 
Two cases have to be considered. Traditionally a sub graph 
isomorphism implicates the exact match between the pattern 
and a subset of the reference. Every node must satisfy all 
constraints including all connections between the nodes. This is 
simple to describe but it was proved that this task is NP- 
complete and the complexity of any algorithm is growing 
exponential with the number of nodes in the graph except for 
some special cases. One example for exact graph matching is 
the algorithm of (Ullmann, 1976). 
The second case is dealing with error tolerant methods and 
mostly called inexact graph matching. For this case the NP- 
completeness has been proven too and its complexity is of a 
greater order than in the exact case. 
Nonetheless or because of this fact a lot of approaches have 
been developed to solve this problem, like statistical analysis of 
the structure, evolutionary algorithms or exploitation of 
geometric distribution of graph parts. 
The simplest approach is to apply an exhaustive tree search to 
the possible assignments of the graph nodes to each other. With 
the additional information of classes and names at the nodes the 
search space remains small enough to provide a quick search 
for identical sub graphs. This is the VF-Algorithm described by 
(Cordella, 2001) with some slight modifications. 
The algorithms starts with a given node of the pattern, which 
should be a very unique one, in order to test the most promising 
matching pairs first. Then it tries the following for every node 
in the reference graph with the same class and name: Îterate 
through all nodes and edges of the pattern graph with a depth 
first search. For every node try to match the pattern node with 
the actual reference node or for every edge iterate through all 
open edges of the reference graph and make the next connected 
node the actual node. If the nodes match, save this assignment 
and push all unassigned edges in the reference connected to the 
node to the list of open edges. If the nodes don't match or no 
open edge can be found, backtrack to the last saved state. Do 
the backtracking too when no open edges or nodes are left. A 
solution is found when all nodes are assigned. 
  
  
  
   
  
i beh 4 - | 
Figure 5: The region of assigned nodes (dotted) is growing, 
while potential assignments are evaluated (dashed). 
  
   
     
  
   
  
   
   
  
   
  
   
  
   
   
  
   
  
  
  
Interna 
In Fig 
actuall 
This is 
the dej 
backtre 
actual 
actual i 
This al 
the alg 
least fi 
One dr 
is theo 
the ass 
branch 
Each o 
and ba 
is reac 
enorme 
and na 
found i 
Other | 
by usir 
Anothe 
contair 
constrt 
Some 
geome 
project 
pattern 
into thi 
tight c 
This aj 
matchi 
similar 
up ton 
The la: 
graphs 
NOW SC 
The ba 
definiti 
This se 
to des: 
leaves 
data. C 
only pl 
geome 
source 
objects 
geome
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.