10.1007@3 540 36131 655

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Application of Learning Machine Methods to 3D

Object Modeling

Cristina Garcı́a and José Alı́ Moreno

Laboratorio de Computación Emergente,


Facultades de Ciencias e Ingenierı́a,
Universidad Central de Venezuela.
{cgarcia, jose}@neurona.ciens.ucv.ve
http://neurona.ciens.ucv.ve/Laboratorio

Abstract. Three different machine learning algorithms applied to 3D


object modeling are compared. The methods considered, (Support Vector
Machine, Growing Grid and Kohonen Feature Map) were compared in
their capacity to model the surface of several synthetic and experimental
3D objects. The preliminary experimental results show that with slight
modifications these learning algorithms can be very well adapted to the
task of object modeling. In particular the Support Vector Machine Kernel
method seems to be a very promising tool.

1 Introduction

Object modeling is a very important technique of computer graphics and has


been matter of study for more than two decades. The technique has found a
broad range of applications, from computer-aided design and computer drawing
to image analysis and computer animation. In the literature several approaches
to object modeling can be found. One approach is to look for a rigid model that
best fits the data set, an alternate one is to deform a model to fit the data.
The latter ones are known as dynamically deformable models. They were first
introduced by Kass, Witkin and Terzopoulos [1] and have created much interest
since then because of their clay like behavior. A complete survey can be found
in [2].
To achieve 3D object modeling, it is desirable that the applied method show
a great flexibility in terms of shape and topology representation capacity. A
deformable model with this characteristic is the simplex mesh developed by
Delingette [3], [4]. It is a non-parametric deformable model, that can take virtu-
ally any shape of any topology with a very low computational cost as compared
to other deformable models with the same flexibility. It is well known that sev-
eral machine learning algorithms are able to induce efficiently, in a more or
less automatic manner, surfaces and topology preserving mappings on arbitrary

This research was supported by the Fondo Nacional de Ciencia, Tecnologı́a e Inno-
vación (FONACIT) under project G-97000651.

F.J. Garijo, J.C. Riquelme, and M. Toro (Eds.): IBERAMIA 2002, LNAI 2527, pp. 536–545, 2002.
c Springer-Verlag Berlin Heidelberg 2002

Application of Learning Machine Methods to 3D Object Modeling 537

dimensional noisy data. The proposed approach to 3D object modeling takes ad-
vantage of this low cost surface representation capacity inherent to these learning
algorithms.
In this paper we describe the application of the Support Vector Kernel
Method (SVM) [5], the Kohonen Self-Organizing Feature Maps [6] and the Grow-
ing Grid [7] machine learning algorithms to model objects from data sets that
contain information from one or more 3D objects. In general the application of
the algorithms start with a cloud of 3D data points and no a priori information
regarding the shape or topology of the object or objects in the scene. These
data points are applied to the learning algorithms, that with simple modifica-
tions on the learning rules, generate adaptively a surface adjusted to the surface
points. In case of the Kohonen Feature Map and the Growing Grid, a K-means
clustering algorithm, with as many prototype vectors as objects in the scene,
is initially applied to the data. Next, a spherical network is initialized in the
neighborhood of each prototype vector, in the interior of the clouds of points.
Finally the learning rule is applied and the networks deform and grow (Growing
Grid) until they reach stability at the surface of the clouds of points. In case
of the Support Vector Kernel Method the data points are mapped to a high
dimensional feature space, induced by a Gaussian kernel, where support vectors
are used to define a sphere enclosing them. The boundary of the sphere forms in
data space (3D) a set of closed surfaces containing the clouds of points. As the
width parameter of the Gaussian kernel is increased, these surfaces fit the data
more tightly and splitting of surfaces can occur allowing the modeling of several
objects in the scene. At the end of each of these processes we will have a model
for each object.
The organization of the paper is as follows: in the second section, an overview
of the applied learning machine methods and their modifications for 3D object
modeling are discussed. In the third section experimental results are presented
and finally in the fourth section the conclusions and further work are described.

2 Learning Machine Methods


3D Object modeling is an ill defined problem for which there exist numerous
methods [2], [8], [9], [10]. In the present approach, learning machine methods
that produce data clustering are applied to surface modeling. These clustering
methods can be based on parametric models or can be non-parametric. Para-
metric algorithms are usually limited in their expressive power, i.e. a certain
cluster structure is assumed. In this work experiments of surface modeling with
three non-parametric (Kohonen Feature Map, Growing Grid and SVM Kernel
Method) clustering algorithms are presented and compared. In what follows a
brief discussion of each learning method is made.

2.1 Support Vector Kernel Method


The idea behind the application of the support vector formalism [5] to object
modeling follows the SVM clustering method in [11]. Let {x} be a data-set of N
538 C. Garcı́a and J.A. Moreno

3D points representing the objects in the scene. Using a nonlinear transformation


Φ from the input 3D space to some high dimensional feature space, we look for
the smallest enclosing sphere of radius R described by the constraints:

Φ(xi ) − a2 ≤ R2 ∀i . (1)


Where use is made of the Euclidean norm and a is the center of the sphere.
Soft constraints are incorporated by adding slack variables ξi

Φ(xi ) − a2 ≤ R2 + ξi ξi ≥ 0 ∀i . (2)


This problem is solved in the formalism of Lagrange by introducing and
minimizing the Lagrangian
  
L = R2 − (R2 + ξi − Φ(xi ) − a2 ) βi − ξi µi + C ξi . (3)
i i i

Where µ, β are positive Lagrange multipliers, C is a constant and the last


term is a penalty term.
The stationarity of the Lagrangean with respect to R and ξi leads to the
following relations:

βi = 1 . (4)
i

a= βi Φ(xi ) . (5)
i
βi = C − µi . (6)

The Karush, Kuhn and Tucker complementary conditions result in:

ξi µi = 0 . (7)
2 2
(R + ξi − Φ(xi ) − a ) βi = 0 . (8)

From these relations it is easy to verify that a point xi with ξi > 0 is outside
the sphere in feature space, such points have µi = 0 and βi = C. A point with
ξi = 0 is inside or on the surface of the sphere in feature space. To be on the
surface it must have βi not equal to zero. Points with 0 < βi < C will be referred
to as Support Vectors.
The above relations allow the derivation of the Wolf dual of the Lagrangian:
 
W = βi Φ(xi ) · Φ(xi )
− βi βj Φ(xi ) · Φ(xj )
. (9)
i i,j

and the problem is solved by maximizing the dual. The dot products
Φ(xi ) · Φ(xj )
can be conveniently replaced by a suitable Mercer kernel
K(xi , xj ) in this way the Wolf dual can be rewritten as
 
W = βi K(xi , xi ) − βi βj K(xi , xj ) . (10)
i i,j
Application of Learning Machine Methods to 3D Object Modeling 539

The Lagrange multipliers βi are obtained by maximizing this expression. This


is computationally done by the application of the Sequential Minimal Optimiza-
tion (SMO) algorithm [12].
In the approach to object modeling with SVM the Gaussian kernel is em-
ployed, with q as the width parameter

K(xi , xj ) = exp(−qxi − xj 2 ) . (11)

In feature space the square of the distance of each point to the center of the
sphere is
R2 (x) = Φ(x) − a2 . (12)
The radius of the sphere is

R = {R(xi ) | xi is a support vector} . (13)


In practice the average over all support vectors is taken. The surface of the
clouds of points in 3D data space is given by the set:

{x | R(x) = R} . (14)

2.2 Kohonen Feature Map


The Kohonen Feature Map [6] is an unsupervised learning machine that typically
consists of one layer of processing units in a network of constrained topology. In
its learning phase the weight vectors are randomly initialized. During learning,
for every input vector the Best Matching Unit (BMU) is determined. The BMU
and a number of units in a neighborhood of the BMU, in the constrained topo-
logical network, are adjusted in such a way that the weight vectors of the units
resemble more closely the input vector. The weight vectors wj (t) of the units
surrounding the BMU are adjusted less strongly, according to the distance they
have to the BMU, applying the Kohonen Learning Rule:

wj (t + 1) = wj (t) + ε(t) Φij (t) (x(t) − wj (t)) . (15)

where the learning rate ε(t) is a linear time decreasing function, x(t) is the input
vector at time t, and Φij (t) is the neighborhood function with the form:
 
−|j − i|2
Φij (t) = exp . (16)
σ 2 (t)
Here j is the position of the BMU in the topological network and i the
position of a unit in its neighborhood. The width parameter σ(t) is also a linear
time decreasing function. It can be noted that since the learning rate and the
width parameter both decrease in time the adjustments made on the weight
vectors become smaller as the training progresses. On a more abstract level, this
means that the map will become more stable in the later stages of the training.
It can be appreciated that the result of learning is that the weight vectors of
the units resemble the training vectors. In this way the Kohonen Feature Map
540 C. Garcı́a and J.A. Moreno

produces a clustering of the n-dimensional input vectors onto the topological


network.
In order to model the surface of the input data points, two modifications
to the Kohonen Feature Map are introduced: (a) The constrained topological
network chosen is a spherical grid. (b) the weight vectors of the BMU and its
neighbors are actualized only if the input vector is external to the actual spherical
grid. The implementation used three different rates to decrease parameters ε and
σ: a first rapid stage, a middle slower but longer stage and a final short fine tuning
stage.

2.3 Growing Grid Method

This model [7] is an enhancement of the feature map. The main difference is that
the initially constrained network topology grows during the learning process. The
initial architecture of the units is a constrained spherical network with a small
number of units. A series of adaptation steps, similar to the Kohonen learning
rule, are executed in order to update the weight vectors of the units and to gather
local error information at each unit. This error information is used to decide
where to insert new units. A new unit is always inserted by splitting the longest
edge connection emanating from the unit with maximum accumulated error.
In doing this, additional units and edges are inserted such that the topological
structure of the network is conserved.
The implemented process involves three different phases: an initial phase
where the number of units is held constant allowing the grid to stretch, a phase
where new units are inserted and the grid grows, and finally a fine tuning phase.

3 Experimental Results

The learning algorithms for modeling are applied on several synthetic objects
represented in the form of clouds of 3000 points each obtained from the applica-
tion of a 3D lemniscate with 4, 5 and 6 foci. The initial and final parameters used
for the Kohonen Feature Map were: ε0 = 0.5, εf = 0.0001, σ0 = 4, σf = 0.01,
with a total of 105 iterations. For the Growing Grid: ε0 = 0.05, εf = 0.001, and
a constant σ = 0.7, the iteration number is distributed as: 10 x Unit number in
the stretching phase; 200 x Unit number in the growing phase, and 200 x Unit
number for fine tuning. The parameters in the SVM algorithm are C = 1.0 and
q = 2 (Fig. 1 and Fig. 3), q = 4 (Fig. 2), and q = 0.00083 (Fig. 4) and q = 3.33
(Fig. 5).
In Fig. 1 the original surface (5 foci lemniscate) and the surface models
resulting from the application of the three learning methods (a) Kohonen Feature
Map (b) Growing Grid and (c) SVM algorithms are shown. The Kohonen Map
consisted on a spherical topological network with 182 units initialized in the
interior of the cloud of points. The Growing Grid was also a spherical network
with 6 initial units initialized in the interior of the cloud, the network was grown
up to 162 units. The SVM model was constructed with 49 support vectors. It can
Application of Learning Machine Methods to 3D Object Modeling 541

be appreciated that the three algorithms achieve a reasonable modeling of the


original object. The best results are produced by the Growing Grid and SVM
methods.

Fig. 1. Results of the three machine learning methods in the modeling of a surface
from a solid generated by a 5 foci lemniscate. (a) Kohonen Feature Map (b) Growing
Grid and (c) SVM Kernel method

In Fig. 2 the original surface (6 foci lemniscate) and the surface models re-
sulting from de application of the three learning methods (a) Kohonen Feature
Map (b) Growing Grid and (c) SVM algorithms are shown. The Kohonen Map
consisted on a spherical topological network with 266 units initialized in the in-
terior of the cloud of points. The Growing Grid was also a spherical network with
6 initial units initialized in the interior of the cloud and grown up to 338 units.
The SVM model was constructed with 77 support vectors. It can be appreciated
that again in this experiment the three algorithms achieve a reasonable modeling
of the original object. The best results are produced by the Growing Grid and
SVM methods.
In Fig. 3 the original surface (4 foci lemniscate) and the surface models re-
sulting from the application of the two learning methods Growing Grid (a-c)
and SVM (b) algorithms are shown. In these experiments the object is of partic-
ular interest since it consists of two parts joined by a point, an approximation
to a scene of two separate objects. For the experiment leading to Fig. 3(a), a
single Growing Grid initialized as a spherical network with 6 initial units in the
center of the cloud of points was used. The network was grown up to 134 units.
It is clear that the model produced in this case is not a good one. In order to
overcome this deficiency the data is initially clustered by a K-means algorithm
with two prototype vectors. Then two Growing grids, similar to the latter, are
initialized in the neighborhood of the prototype coordinates. A better model,
shown in Fig. 3(c), is then obtained. The SVM model was constructed with 38
support vectors. In this experiment both the Kohonen feature Map and the sin-
gle Growing Grid do not produce good models of the surface. However, it can
542 C. Garcı́a and J.A. Moreno

Fig. 2. Results of the three machine learning methods in the modeling of a surface
from a solid generated by a 6 foci lemniscate. (a) Kohonen Feature Map (b) Growing
Grid and (c) SVM Kernel method

be appreciated that the SVM method and the multiple Growing Grids achieve
reasonable models and are superior.

Fig. 3. Results of two machine learning methods in the modeling of a surface from a
solid generated by a 4 foci lemniscate. (a) Growing Grid and (b) SVM Kernel method
(c) Double Growing Grid

In Fig. 4 the original surface (experimental data from the left ventricle of a
human heart echocardiogram) and the surface models resulting from the appli-
cation of the two learning methods (a) Growing Grid and (b) SVM algorithms
are shown. For this case the Growing Grid was a spherical network with 6 initial
units initialized in the interior of the cloud of points. The network was grown
up 282 units. The SVM model was constructed with 46 support vectors.
Application of Learning Machine Methods to 3D Object Modeling 543

Fig. 4. Results of two machine learning methods in the modeling of a surface from
experimental data (left ventricle of a human heart echocardiogram). (a) Growing Grid
and (b) SVM Kernel method

In Fig. 5 the original surface (4 foci disconnected lemniscate) and the surface
models resulting from de application of the two learning methods (a) Double
Growing Grid and (b) SVM algorithms are shown. In these experiments the
methods are applied to two separate objects in the scene. In the application
of the Growing Grid algorithm an initial clustering step with a two prototype
K-means algorithm is carried out. Then two Growing Grids initialized as spher-
ical networks with 6 units in the neighborhood of the prototype coordinates
are evolved. The grids are grown up to 240 units each. The SVM model was
constructed with 50 support vectors. It can be appreciated that both the SVM
method and the multiple Growing Grids achieve reasonable good models in this
multiple object case.

Fig. 5. Results of two machine learning methods in the modeling of a surface from a
solid generated by a 4 foci disconnected lemniscate (Two separate objects). (a) Double
Growing Grid and (b) SVM Kernel method
544 C. Garcı́a and J.A. Moreno

In Table 1 the average execution times for the three machine learning al-
gorithms, measured on a Pentium III 500 MHz. Processor, are shown. It is to
be appreciated that the execution time for the Growing Grid method is an or-
der of magnitude greater than those of the other two methods. In any case the
computational costs of the algorithms are reasonably low.

Table 1. Average execution times for the three machine learning methods

Figure Method Parameters Time


Fig. 1 Kohonen Feature Map 182 units 22 seg
Growing Grid 162 units 219 seg
SVM 49 SVs 32 seg
Fig. 2 Kohonen Feature Map 266 units 33 seg
Growing Grid 338 units 344 seg
SVM 77 SVs 37 seg
Fig. 3 Growing Grid 134 units 133 seg
SVM 38 SVs 26 seg
Fig. 4 Growing Grid 282 units 492 seg
SVM 46 SVs 5 seg
Fig. 5 Double Growing Grid 484 units 640 seg
SVM 50 SVs 42 seg

4 Conclusions and Future Work

This work compared the application of three machine learning algorithms in the
task of modeling 3D objects from a cloud of points that represents either one or
two disconnected objects. The experiments show that the Kohonen Feature Map
and the Growing Grid methods generate reasonable models for single objects
with smooth spheroidal surfaces. If the object possess pronounced curvature
changes on its surface the modeling produced by these methods is not very
good. An alternative to this result is to allow the number of units in the network
to increase together with a systematic fine tuning mechanism of the units in
order to take account of the abrupt changes on the surface. This modifications
are theme of further work in case of the Growing Grid algorithm.
On the other hand, the experimental results with the Support Vector Ker-
nel Method are very good. In the case of single smooth objects the algorithm
produces a sparse (small number of support vectors) model for the objects. A
very convenient result for computer graphics manipulations. This extends to the
case with two objects in which the method is able to produce models with split
surfaces. A convenient modification of the SVM algorithm would be to include
a better control on the number of support vectors needed in the model. This
possibility could hinder the rounding tendency observed in the SVM models and
Application of Learning Machine Methods to 3D Object Modeling 545

allow the modeling of abrupt changes of the surface as seen on the data of the
echocardiogram.
To model several objects, with the Kohonen and Growing Grid methods, a
good alternative is to evolve multiple networks conveniently initialized in the
interior of the clouds of points of each object. To this end, an initial K-means
clustering algorithm, with as many prototypes as objects in the scene, is ap-
plied to the data. The networks are then initialized in the neighborhood of the
coordinates of the prototypes.
The considered data sets for multiple objects are not a representation of
a real scene. In a real scene the clusters of data points will be connected by
background information (walls and floor). The future work will also include the
extension of the actual algorithms to make them applicable to real scenes.
Finally it must be noted that in all cases the computational costs of the
algorithms are reasonably low, a fact that can lead to real time implementations.

Acknowledgements. Gratitude is expressed to Guillermo Montilla for allowing


us the use of his Virtual Vision Machine software, available at
http://www.cpi.uc.edu.ve/Pagina%20VVM/index.htm

References
1. Kass, M., Witkin, A., Terzopoulos, D.: Snakes: Active contour models. Int. J. Of
Computer Vision 2 (1998) 321–331
2. Gibson, S.F.F, Mirtich, B.: A Survey of Deformable Modeling in Computer Graph-
ics. Mitsubishi Electric Research Laboratory Technical Report (1997)
3. Delingette, H.: Simplex Meshes: A General Representation for 3D Shape Recon-
struction. Technical Report 2214, INRIA, France (1994)
4. Delingette, H.: General Object Reconstruction based on Simplex Meshes. Technical
Report 3111, INRIA, France (1997)
5. Cristianini, N., Shawe-Taylor, J.: An Introduction to Support Vector Machines.
Cambridge University Press (2000)
6. Kohonen, T.: Self-Organization Associative Memory. 3rd edn. Springer-Verlag,
Berlin (1989)
7. Fritzke, B.: Some Competitive Learning Methods. Institute for Neural Computa-
tion, Ruhr-Universität Bochum, Draft Report (1997)
8. Bro-Nielsen, B.: Active Nets and Cubes. Technical Report, Institute of Mathemat-
ical Modeling Technical University of Denmark (1994)
9. Metaxas, D.: Physics-based Deformable Models: Applications to Computer Vision,
Graphics, and Medical Imaging. Kluwer Academic, Boston (1997)
10. Yoshino, K., Kawashima, T., Aoki, Y.: Dynamic Reconfiguration of Active Net
Structure. Proc. Asian Conf. Computer Vision (1993) 159–162
11. Ben-Hur, A., Horn, D., Siegelmann, H. T., Vapnik, V.: A Support Vector Method
for Clustering. International Conference on Pattern Recognition (2000)
12. Platt, J.: Fast Training of Support Vector Machines Using Sequential Minimal
Optimization. http://www.research.microsoft.com/ jplatt

You might also like