a 3d object retrieval system based on multi …dynamic/download/...a 3d object retrieval system...
TRANSCRIPT
A 3D Object Retrieval System Based on Multi-Resolution Reeb Graph
Ding-Yun Chen and Ming Ouhyoung Department of Computer Science and Information Engineering,
National Taiwan University, Taipei, Taiwan E-mail: {dynamic, ming}@cmlab.csie.ntu.edu.tw
Abstract This paper proposes a 3D model retrieval
system which extended the work of Hilaga in 2001.
We apply the pre-processing stage to 3D models in
practical use. The demo system with over 450 3D
models from the Net is on the web page:
http://3dsite.dhs.org/~dynamic, and can also be used
in PocketPC with wireless LAN card. There are 445
various models in our database.
1. Introduction In this decade, multimedia data, which usually
doesn’t need any text to represent, grow rapidly.
Content-based retrieval for multimedia data becomes
more and more important. In order to communicate
with people’s information, the MPEG group aims to
create MPEG-7 international standard, also known as
“Multimedia Content Description Interface”, for the
description of the multimedia data, including image,
video, audio, 2D shape and 3D object [8]. 3D object
retrieval research is active now, because the
technique of 3D modeling and digitizing tools is on a
progressive improvement.
In the last few years, several articles have been
devoted to the study of 3D object retrieval. Cyr and
Kimia [5] proposed an aspect-graph approach. They
generate a set of 2D silhouette for each 3D object, and
then measure the similarity between two views by 2D
shape similarity metrics. Kolonias et al. [3] proposed
aspect ratio, a binary 3D shape mask and set of paths
outlining the shape of the 3D object for matching.
Paquet and Rioux [7] presented an approach for 3D
models retrieval using the distribution of moment,
normal, cord, color, material and texture. Zhang and
Chen [2] propose a 3D model retrieval system using
volume-surface ratio, aspect ratio, moment invariants
and Fourier transformation coefficients. Elad et al. [6]
apply relevant feedback to 3D object retrieval, which
uses moments as features. Osada et al. [4] propose and
analyze a method for computing shape signatures for
arbitrary 3D polygonal models. Hilaga et al. [1]
propose a technique in which similarity between
polyhedral models is quickly, accurately, and
automatically calculated by comparing the skeletal and
topological structure. The structure decomposes 3D
model to a one-dimensional graph structure. The graph
is invariant to translation, rotation and scaling, robust
against connectivity changes, and resistant against
noise, certain changes due to deformation.
Our system is based on the research of Hilaga,
which is one of the best ideas among the previous
works. Fig. 1 shows the flow chart of our system
when querying by a 3D object. The last two stages
are the same with Hilaga, please refer to [1]. Chapter
2 details the pre-processing stage in our system.
2. Pre-Processing of 3D Object This stage is designed for accurately and fast
getting the search key. There are four steps in this
stage: merging vertices, merging parts, re-sampling
and adding short-cut edges. The first two steps solve
practical problems when many models are used. The
last two steps are modified from the approach of
Hilaga [1].
Fig. 1 The flow chart of our system.
The same vertices may be shared in duplicate at
adjacent triangles for 3D models. The first step is to
merge these vertices. The way we used is to sort the
vertices according to the coordinate, and then check
the adjacent vertices. The time complexity is O(nlgn),
since we use the heapsort algorithm.
3D models are saved as different parts in many
cases for easy editing and animation. The approach
we used is to construct the search key by the whole
model rather than some separated parts. Therefore,
we add edges to connect different parts. The
approach is similar to the first step. The coordinate of
each vertex is quantized first, and an edge is created
to connect the same quantized value for the separated
parts. The time complexity is also O(nlgn).
For more accurate calculation of the search key,
each triangle has to be re-sampled. Each triangle
splits into smaller triangles until all edges are less
than a threshold. To speedup re-sampling time in all
cases, each triangle is split at once. There are three
cases for all triangles. In the first case, there is only
one edge in triangle larger than threshold, just split
into two triangles. In the second case, if two edges in
a triangle are larger than threshold, the two edges are
averagely split into many segments. Re-sample by
connecting the new vertices from the two edges. In
the third case, if all three edges in triangle are larger
than threshold, select the two largest edges and split
into many triangles first, then each triangle
recursively is split using the second case.
The fourth step is adding some edges called
"short-cut edges" to models. The purpose of short-cut
edges is used for accurately calculating the search
key. The short-cut edges make the distance of two
vertices in adjacent triangles to be straightforward
through the 3D surface, as shown in Fig. 2 (a). There
are two cases of triangles. In the first case, if a
triangle have two same vertices with other triangle.
Take Fig. 2 (b) as an example, triangle 1 and 2 share
vertex c and d, and then get the angle ace, which
is sum of acd and ecd. If the angle is less than
180 degree, add a short-cut edge between vertex a
and e. Alternative can start from the angle ade.
The angle is less than 180 degree means that edge ae
will inside the polygon aced. The distance of
short-cut edge ae can be calculated by the following
formula. Given the length of two edges (x, y) and
their angle (w), then the length of third edge is:
)cos(222 wyxyx ⋅⋅⋅−+ .
(a) (b)
Fig. 2 The short-cut edges make the distance of two vertices in adjacent triangles to be straightforward
through the 3D surface.
In the second case, if some triangle have only
one the same vertex with this triangle, and if there is
a triangle adjacent to the two triangles. For example,
triangle 1 and 3 share vertex d, and triangle 2
adjacent to them. Then get the angle edb, which is
2
1
3
e
d c
a b
Input a 3D model
Merge vertices
Merge different parts
Re-sample 3D model
Add short-cut edges
Geodesic distance
Create MRG
Compare models
Show results
Stage 1: Pre-processing is used for accurately and fast calculating the search key (Chapter 2)
Stage 2: Calculate the search key MRG for the 3D model
Stage 3: Compare the MRG to all models in the database
sum of edc, cda and adb. As similar to case
one, if the angle is less than 180 degree, add a
short-cut edge between vertex b and e.
3. Experimental Results The system is implemented in C language, and
is compiled using gcc in Linux. The system is on the
World Wide Web by using a simple php code. The
web page is http://3dsite.dhs.org/~dynamic. The user
can upload a 3D model and the system will calculate
the MRG for the model, and then compare it with all
models in the database. Alternatively, the user can
select one model in the database. The system
compares it with all other models and the results
show thumb pictures of top similar models. There are
445 various models, downloaded from [10] and [11],
in the database. The average time of comparing two
models is about 0.08 second in a PC with Pentium III
800MHz CPU. Fig. 3 shows results of 3D object
retrieval in our system. In addition, our retrieval
system can be used in PocketPC with wireless LAN
card, as shown in Fig. 4.
4. Discussion and Future Works While the system can work well in many cases,
there exist considerable improvements as to the
following problems: sub-graph matching, partial
matching, MRG doesn't always represent the skeletal
structure, different density of vertices, some vertices
inside the 3D object. To overcome the problems, we
plan to use the hierarchical medial axis to match the 3D
models. The 3D medial axis algorithm based on radial
basis function (RBF) is proposed in our group [9].
5. Conclusion A 3D object retrieval system, which improves
the practical use of Hilaga’s research [1], is proposed.
The pre-processing stage is applied for accurately
and fast getting the search key.
Reference
[1] M. Hilaga, Y. Shinagawa, T. Kohmura and T. L.
Kunii, “Topology Matching for Fully Automatic
Similarity Estimation of 3D Shapes”, ACM
SIGGRAPH, pp. 203-212, Aug. 2001.
[2] C. Zhang and T. Chen, “Efficient Feature
Extraction for 2D/3D Objects in Mesh
Representation”, IEEE International
Conference on Image Processing, Oct. 2001.
[3] I. Kolonias, D. Tzovaras, S. Malassiotis and M.
G. Strintzis, “Fast Content-Based Search of
VRML Models Based on Shape Descriptors”,
IEEE International Conference on Image
Processing, Oct. 2001.
[4] R. Osada, T. Funkhouser, B. Chazelle and D.
Dobkin “Matching 3D Models with Shape
Distributions”, Workshop on Shape-Based
Retrieval and Analysis of 3D Models, Oct. 2001.
[5] C. M. Cyr and B. B. Kimia, “3D Object
Recognition Using Shape Similiarity-Based
Aspect Graph”, International Conference on
Computer Vision, 2001.
[6] M. Elad, A. Tal and S. Ar, “Content Based
Retrieval of VRML Objects – A Iterative and
Interactive Approach”, 2001.
[7] E. Paquet and M. Rioux, “Content-Based
Access of VRML Libraries”, Lecture Notes in
Computer Sciences, Vol.1464, pp. 20-32, 1998.
[8] S. Jeannin, L. Cieplinski, J. R. Ohm and M.
Kim, MPEG-7 Visual part of eXperimentation
Model Version 7.0, ISO/IECJTC1/SC29/WG11
/N3521, July 2000.
[9] F.C. Wu, W.C. Ma and M. Ouhyoung,
“Skeleton Extraction of 3D Objects with
Radial Basis Function”, Technical Report
NTUCSIE 02-01, Dept. of CSIE, National
Taiwan University, Taipei, Taiwan, Apr. 2002.
[10] http://www.3dcafe.com
[11] http://www.3dm-mc.com