Page 1

Self-organizing Deformable Model:

A New Method for Fitting Mesh Model to

Given Object Surface

Ken’ichi Morooka and Hiroshi Nagahashi

Imaging Science and Engineering Laboratory,

Tokyo Institute of Technology,

4259 Nagatsuta-cho, Midori-ku, Yokohama 226-8503, Japan

{morooka, longb}@isl.titech.ac.jp

Abstract. This paper presents a new method for projecting a mesh

model of a source object onto a surface of an arbitrary target object.

A deformable model, called Self-organizing Deformable Model(SDM), is

deformed so that the shape of the model is fitted to the target object.

We introduce an idea of combining a competitive learning and an energy

minimization into the SDM deformation. Our method is a powerful tool

in the areas of computer vision and computer graphics. For example, it

enables to map mesh models onto various kinds of target surfaces like

other methods for a surface parameterization, which have focused on

specified target surface. Also the SDM can reconstruct shapes of target

objects like general deformable models.

1 Introduction

Recent developments of measurement devices enable us to deal with 3D object

models. In the 3D modeling, users prefer to not only display original models but

also generate new models by editing original ones, or create animations from

them. However, the direct use of original models is computationally expensive

because they are composed of a large number of points on the object surfaces.

One of the solutions for this problem is a surface parameterization which is

to find a relationship between an object of complex shape and a primitive ob-

ject of simple shape. This relationship makes it possible to deal with the models

of complex shape efficiently and easily through their corresponding primitives.

Moreover, since objects can be represented by a unified form, it is easy to estab-

lish a correspondence between multiple models. Therefore, the parameterization

method is a powerful tool in the areas of computer vision and computer graphics

including 3D object morphing[1], object recognition[2], and texture mapping.

Many techniques for the parameterization have been reported. One of them is

to reconstruct object surfaces by using deformable models [2,3,4,5]. Practically,

the initial deformable model is a mesh of plane or sphere. The mesh model is

deformed by moving its vertices so that it fits to a target object. The other

method for the parameterization is to compute a mapping function[6,7], which

enables us to project the object mesh model onto a primitive object surface such

G. Bebis et al. (Eds.): ISVC 2005, LNCS 3804, pp. 151–158, 2005.

c ? Springer-Verlag Berlin Heidelberg 2005

Page 2

152 K. Morooka and H. Nagahashi

as planar or spherical one. There are some types of mapping functions including

harmonic mapping and conformal one.

However, most of the traditional methods using a mapping function have

been designed only for their specific primitives. Users must choose the mapping

function according to the shape of the target object. This mapping technique

is desired to be able to map any mesh models onto arbitrary surfaces. On the

contrary, the fitting of a deformable model to a target object is formulated as

an optimization problem of an energy function that measures the deviation of

the model from the surface points of the target. Since the deformation of the

model from the points on the target surface uses a lot of points and vertices

of the model, it is necessary to find an optimum solution in the large search

space which includes many local minima. Accordingly, some initial conditions of

the deformable model greatly influence on both the computational cost of the

recovery and the accuracy of the obtained model. However, the estimation of the

initial model becomes more difficult when the shape of the object is complicated.

It is difficult for users to implement the preferable deformation. For example, the

inadequate movement may lead to some problems such as the self-intersection

of the model. Therefore, the traditional methods using deformable models are

required to find an optimal movement of vertices through trial-and-error.

This paper presents a new method for fitting a deformable model to the points

of a target object. The deformable model is called Self-organizing Deformable

Model(SDM), which can reduce the computational cost while keeping the quality

of the obtained model. Our proposed method is composed of two major steps:

1)generate the rough model of the object by deforming the SDM based on a

competitive learning, and 2)improve the accuracy of the model by minimizing

an energy function. Our SDM can specify a correspondence between an arbitrary

point and a vertex of the deformable model, while this specification is a difficult

task for traditional methods using deformable models.

2 Self-organizing Deformable Model

2.1 Notations

First, we describe some notations for our SDM. The SDM is a deformable mesh

model represented by triangular patches. The deformation of the SDM is made by

the combination of a competitive learning and an energy minimization method.

The purpose of deforming the SDM is to fit it to a target surface. The target

surface is represented by a set of points on the surface, called control points. We

can choose arbitrary shapes for both initial shape of the SDM and target surface.

As shown in Fig. 1, both of the initial SDM and the target surface can be selected

from various kinds of models including sphere, animals and human faces. Here

note that the SDM and the target surface must have the same topological type.

Using notations adopted in [8], the SDM M can be regarded as a two-tuple

M = (V,K), where V is a set of 3D positions vi(1 ≤ i ≤ Nv) of Nvvertices, and

K is an abstract simplicical complex which contains all adjacency information

of M. Moreover, K includes three types of subsets of simplices: a subset of

Page 3

SDM: A New Method for Fitting Mesh Model to Given Object Surface 153

Initial SDM database

Recovery of target surface from SDM

Final SDM

initial SDM

SDM

deformation

target surface

Target surface database

Projection of SDM onto target surface

Final SDM

SDM

deformation

target surfaceinitial SDM

Fig.1. Concept of our proposed method

vertices i ∈ Kv, a subset of edges e = {i,j} ∈ Ke, and a subset of faces f =

{i,j,k} ∈ Kf. Therefore, K = Kv∪Ke∪Kf. Here, our edge representation has a

commutative property. For example, the edge e3as shown in Fig. 2 is composed

of two vertices i3and i4(i3,i4∈ Kv), and is described as e3= {i3,i4} = {i4,i3}.

We represent each face of the SDM with a list of its three vertices arranged in

counterclockwise direction, i.e., the face f2 as shown in Fig. 2 is described by

f2= {i2,i4,i3} = {i4,i3,i2} = {i3,i2,i4}.

When two vertices in Kvare connected only by one edge in Ke, these vertices

are topological neighbors of each other. Given two vertices i1and i4as shown

in Fig. 2, a path from i1to i4is defined as a series of edges. Then, a topological

distance L(i1,i4) between them is defined as the number of edges of the shortest

path from i1to i4. Hence, another topological distance L(i4,i1) from i4to i1is

equal to L(i1,i4). The shortest path between i1and i4is illustrated by dashed

lines, and the topological distance L(i1,i4) (= L(i4,i1)) is 2.

2.2Formulation of SDM Deformation

There are two purposes of deforming the SDM: one is to fit the SDM to a

target surface S, and the other is to recover S from the SDM. Considering

our SDM notation, the first purpose of the SDM deformation is to project the

SDM onto S by changing the vertex positions in V while keeping the original

topology among vertices represented by K. This projection is called the topology-

preserving mapping. Given an initial SDM

topology-preserving mapping Φ is formulated as

Mband a final SDM Md, the

Φ : Mb= (Vb,K) ?−→ Md= (Vd,K)

To formulate the second purpose of the SDM deformation, we define an error

function for reconstructing the target surface S from the SDM M. Each control

(1)

Page 4

154K. Morooka and H. Nagahashi

i2

e3

f2

i1

i4

i3

Fig.2. Example of notations in our SDM

control point

winner vertex

movement

target surface

SDM

Fig.3. SDM Deformation

point puon S is corresponded to its closest vertex among all vertices of M. Let

Ωibe a set of control points that are made correspondence with a vertex i. Also

we denote as Γi a set of faces fm∈ Kf which include the vertex i. Then, the

error function is defined as a distance D(M,S) between M and S:

D(M,S) =1

3

|Γi||Ωi|

i∈V

where |Γi| and |Ωi| is the total amounts of elements in Γiand Ωi, respectively.

A function H(pu,fm) returns the Euclidean distance between puand fm.

From eqs.(1) and (2), the deformation of Mbis formulated by the optimiza-

tion problem of finding Mdand˜Φ which satisfy the following conditions:

Md=˜Φ(Mb);

˜Φ = argmin

Φ

1

?

?

fm∈Γi

?

pu∈Ωi

{H(pu,fm)}2,

(2)

(3)

(4)

D(Φ(Mb),S).

3SDM Deformation

3.1 Overview

This section explains how to deform a SDM. Generally, the projection function Φ

in eq.(1) is nonlinear, and a deformation from Mbto Mdis not always unique.

Here, as shown in Fig.3, the SDM introduces a framework of Self-Organizing Map

(SOM)[9] so that the SDM and control points on a target surface are regarded as

a network and input data of the SOM, respectively. Then, vertices of the SDM

and their 3D positions correspond to units of the network and positional vectors

of units, respectively.

SOM is one of the well-known methods for finding a topology-preserving map-

ping. By using SOM, we can obtain a network which represents the distribution

of given input data. The network consists of units and edges. Each unit has a po-

sitional vector which provides a position in the input data space. The algorithm

using SOM consists of three steps. The first step is to compute the Euclidean

distance between an input data randomly selected and every unit of the net-

work. Next, the unit with the minimum distance is selected as a winner unit of

Page 5

SDM: A New Method for Fitting Mesh Model to Given Object Surface 155

the input data. For the winner unit and its neighbor units, their positions are

modified so that these units become closer to the input data. These processes

are repeated until all units are not modified. In the algorithm, the network is

deformed by moving units in the input data space.

From the geometrical point of view, the model resulting from SOM has the

character that the Voronoi region of each vertex of the SDM includes almost

the same number of control points. This means that the final SDM Mdcan not

always recover the object surface completely because Mdmay not be satisfied

with the equation (4). In order to cope with this problem, we further deform

the SDM by minimizing an energy function to improve the accuracy of the

reconstructed target surface by the SDM. The energy function in our method is

based on the error function in eq.(2). When the vertex i is located at the position

vi, the value of the energy function E for the vertex i is computed by

?

E(vi) =

fm∈Γi

?

pu∈Ωi

{H(pu,fm)}2.

(5)

3.2

Our deformation of the SDM is composed of the following steps:

Algorithm

1. Initialize a time parameter t to t = 0.

2. From the set of control points on a target surface S, randomly choose a

control point p(t)at time t.

3. Determine a winner vertex k(t)∈ K by

k(t)= argmin

i∈K[np· (p(t)− vi)],

(6)

where np is a normal vector at p(t). The expression ?x? is the Euclidean

norm of a vector x.

4. For the winner vertex k(t)and its neighbors, adapt their positions according

to the topological distances from k(t):

vi← vi+ ?(t)λ(i|k(t))(p(t)− vi).

where ?(t) is a learning rate which determines the extent to which the vertex

is adapted towards the point, and is defined by ?(t) = ?b(?d

?dare, respectively, an initial value and a final value of ?, and these values

are set to ?b= 3.0 and ?d = 0.1. Tcis the maximum number of repeating

from step 2 to 5.

The neighborhood function λ(i|k) in eq.(7) means an adaptation rate of an

arbitrary vertex i for a winner vertex k. It is a decreasing function of the

topological distance between two vertices. The value of λ() is computed by

λ(i|k) = exp[−1

2

σ(t)

(7)

?b)t/Tc. Here, ?band

?L(i,k)

?2].

(8)

The standard deviation σ(t) of the Gaussian is obtained by σ(t) = σb(σd

for a initial value σband a final value σd. We empirically set σband σd to

σb= 0.1 and σd= 0.005, respectively.

σb)t/Tc

Page 6

156 K. Morooka and H. Nagahashi

5. If all vertices are not moved, or t ≥ Tc, then go to step 6. Otherwise, t ← t+1

and go to step 2.

6. For each vertex i:

(a) Choose potential vectors ˜ vi by ˜ vi = vi+ w(p−vi) for updating the

position viof the vertex i. Then, puincluded in Ωiis a corresponding

control point of the vertex i. The parameter w is a variable which gives

a rate for moving vito pu.

(b) Find the vector v∗

isatisfying

v∗

i= argmin

˜ vi

E(˜ vi),

(9)

where E(vi) is the energy function in eq.(5). And update viby vi← v∗

7. If the SDM M is satisfied with D(M,S) < θe, the process is terminated.

Otherwise, go to step 6. Here, θeis a threshold.

i.

Our algorithm can control the deformation of the SDM by changing the ways

how to choose a control point in step 2, and how to determine a winner vertex in

step 3. For example, a user can have the constraint that an arbitrary vertex i is

always selected as the winner of a special control point pu. Under this constraint,

the SDM is deformed so that the vertex i constantly moves toward pu. When

choosing probability of control points on a particular region of the target surface

is higher than that of other points, the vertices of the SDM tend to move toward

the region. Therefore, the way to choose points makes an influence on the density

of vertices of the SDM on the target surface.

4 Experimental Results

In order to verify the applicability of our proposed method, we made some

experiments of applying the SDM to various kinds of 3D object models. The

models “bone”, “venus” and “rabbit” downloaded from Cyberware webpage are

contained in the models used in our experiment. When a set of range points on

a target surface are given, these range points are directly used as control points.

On the other hand, when the target surface is represented by some parametric

functions, control points are calculated from the functions.

At first, a face model of a male is generated by applying the SDM to the range

data of the face as shown in Fig.4(a). The range data is composed of about 85,000

points on the facial surface. The initial shape of the SDM is the tessellated sphere

by subdividing each triangular facet of an icosahedron recursively [10]. Fig.4(b)

shows the surface resulting from our SDM at level 3, which is obtained by 4 times

subdivision. It takes about two minutes to obtain the result on a PC platform

with Intel Pentium IV 2.8[GHz]. To improve the accuracy of the model, we

increase the number of vertices by performing 1-to-4 subdivision for all patches

of the SDM twice, and obtain the SDM at level 5. The newly obtained vertices

are moved by repeating steps 6 and 7 in the algorithm of our SDM deformation.

The final result is shown in Fig.4(c). Here, an approximation error by the SDM

Page 7

SDM: A New Method for Fitting Mesh Model to Given Object Surface 157

(a)(b) (c)(d)

Fig.4. Recovery of an object shape by SDM: (a)range data of a male face; (b)face

model obtained by deforming SDM at level 3; (c)face obtained by deforming SDM at

level 5; (d)reconstructed bone model

(a) (b) (c)

Fig.5. Projection of object model onto some kinds of surfaces by our SDM. Top

row: mesh models of (a)venus, (b)pig and (c)rabbit; bottom row: models mapped onto

(a)plane, (b)spherical surface and (c)cylinder.

is defined as the average distance between each patch of the model and points

on the face. The errors of two models as shown in Fig.4(b) and (c) are 0.27 and

0.12[mm], respectively. Since these models is obtained by the recursive division

of patches, it is easy to generate the multiresolution model of the face. Our

SDM is applied to other kinds of models. Fig. 4(d) shows an example of bone

reconstructed from a spherical SDM.

The second experiment is to project some mesh models of objects onto simpler

surfaces such as plane and sphere. The top row in Fig. 5 shows the initial SDMs.

The model of the “venus” is projected onto a plane, where each grid point on

the plane is used as a control point. In the projection of both models of a “pig”

and a “rabbit”, all control points on the target surfaces are calculated from their

surface functions. The number of control points used in each projection is ten

times larger than that of vertices included in a mesh model to be projected. The

Page 8

158 K. Morooka and H. Nagahashi

bottom row in Fig. 5 displays the projected models. From these results, we can

conclude that our method can project mesh models onto some kinds of mapping

surfaces in a unified framework.

5 Conclusion

This paper proposed a new method for projecting mesh models onto a given

surface by Self-organizing Deformable Model(SDM). The basic idea behind the

SDM is the combination of the competitive learning and the energy minimiza-

tion. Some experimental results show that our SDM is a powerful tool for various

fields in computer vision and computer graphics. For example, the SDM enables

us to establish the correspondence between two mesh models by mapping them

onto a common target surface. One of its applications using this correspondence

is a morphing between the models. Now we have developed some applications

using the SDM.

Acknowledgment

This research was partially supported by the Ministry of Education, Science,

Sports and Culture, Grant-in-Aid for Young Scientists (B), 15700149, 2005, and

Scientific Research (B), 17300033, 2005.

References

1. Morooka, K., Sugisawa, K., Nagahashi, H.: 3d morphing between objects with

different topologies. In: Proc. IASTED Int. Conf. on CGIM. (2002) 1–7

2. Matsuo, H., Kimura, M., Iwata, A.: Multi-scale and hierarchical description using

energy controlled active balloon model. In: Proc. ICPR’98. (1998) 205–209

3. Duan, Y., Qin, H.: A subdivision-based deformable model for surface reconstruc-

tion of unknown topology. Graphical Models 66 (2004) 181–202

4. Gibson, S., Mirtich, B.: A survey of deformable modeling in computer graphics.

Technical report (1997)

5. Bro-Nielsen, M.: Active nets and cubes. Technical report (1994)

6. Eck, E., DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M., Stuetzle, W.: Mul-

tiresolution analysis of arbitrary meshes. Computer Graphics 29 (1995) 173–182

7. Floater, M., Hormann, K.: Recent advances in surface parameterization. In: Mul-

tiresolution in Geometric Modeling 2003. (2003) 259–284

8. Lee, A., Sweldens, W., Schr¨ oder, P., Cowsar, L., Dobkin, D.: Maps: Multiresolution

adaptive parameterization of surfaces. In: SIGGRAPH 98. (1998) 95–104

9. Kohonen, T., ed.: Self-Organizing Maps. Springer-Verlag, Berlin Heidelberg New

York (1996)

10. Horn, B., ed.: Robot Vision. MIT Press, Cambridge (1986)