posted on 2010-10-18, 13:20authored byGabriel Gabrielides
A system that learns to recognize 3-D objects from single and
multiple views is presented. It consists of three parts: a simulator
of 3-D figures, a Learner, and a recognizer.
The 3-D figure simulator generates and plots line drawings of
certain 3-D objects. A series of transformations leads to a number of
2-D images of a 3-D object, which are considered as different views
and are the basic input to the next two parts.
The learner works in three stages using the method of Learning
from examples. In the first stage an elementary-concept learner learns
the basic entities that make up a line drawing. In the second stage a
multiple-view learner learns the definitions of 3-D objects that are to
be recognized from multiple views. In the third stage a single-view
learner learns how to recognize the same objects from single views.
The recognizer is presented with line drawings representing 3-D
scenes. A single-view recognizer segments the input into faces of
possible 3-D objects, and attempts to match the segmented scene with a
set of single-view definitions of 3-D objects. The result of the
recognition may include several alternative answers, corresponding to
different 3-D objects. A unique answer can be obtained by making
assumptions about hidden elements (e. g. faces) of an object and using a
multiple-view recognizer. Both single-view and multiple-view recognition
are based on the structural relations of the elements that make up a
3-D object. Some analytical elements (e. g. angles) of the objects are
also calculated, in order to determine point containment and conveziti.
The system performs well on polyhedra with triangular and
quadrilateral faces. A discussion of the system's performance and
suggestions for further development is given at the end.
The simulator and the part of the recognizer that makes the
analytical calculations are written in C. The learner and the rest
of the recognizer are written in PROLOG.