Navigating and Browsing 3D Models in 3DLIB
Hesham Anan, Kurt Maly, Mohammad ZubairComputer Science Dept. Old Dominion
University, Norfolk, VA, 23529(anan, maly, zubair @cs.odu.edu)
Motivation
Handling three-dimensional (3D) data in digital Handling three-dimensional (3D) data in digital libraries (DL) faces many challenges such as: efficient storage, fast retrieval, and a user-friendly search and discovery process
Browsing 3D models by grouping by shape is difficult.
Objective
Support browsing in a DL for 3D models by grouping objects by similarity.
Develop a clustering algorithm based on a signature based similarity measure.
Background3DLIB Architecture
Metadata
Signatures
3D Repository
Ora
cle
Se
rver
Anchor Point Extraction and
Normal Direction Calculation
Signature Generation
Upload Service
Client
3D Model
Publishing Service
WWW Client
Metadata Search Server
Local Cache
Metadata
Anchor Point Extraction and
Normal Direction Calculation
Signature Generation
Similarity Matching Engine
3D Model
Local Cache
Search & Discovery Service
3D ViewerAggregator
(Stream Manager)Signature Retrieval
Service
Progressive Retrieval Service
Metadata Browser
Navigator of Clustered Models
Services 3D Repository: Store the 3D models and their metadata in
database. Publishing service: accepts the 3D model and its metadata and
passes them to the storage service. (This service will be updated to automatically generate some of the metadata and signature images).
Search and discovery service: searches for 3D models by their associated metadata. This service has the capability to perform shape-similarity searches as well as searching for 3D models by their corresponding metadata. A sub-component of this service is the metadata browser which is used to view search results. It also have a navigation sub-component that is used to navigate through clusters of 3D models.
Progressive Retrieval services: Provides the capability to progressively from the database.
3D Viewer: Renders the 3D model and allows the end use to view the model from different perspectives.
Surface Signature
Surface signature is a 2D image that captures information about the shape of the 3D model using the angles relative to the normal direction at an anchor point and the distance of all 3D model points relative to the anchor point.
Why use Surface Signature
Captures significant data about the object Easy to discretize and to compress Enables reconstruction of original object (with
some loss of details – degree of loss depends on number of signatures used)
Example Free-Form Surface
Signature (1)
Signature (2)
Reconstruction
Background
The representation of the 3D models is a sequence of 2D images called surface signatures.
The mapping from the 3D domain to the 2D signature image is many-to-one.
The decompression algorithm is as follows: For each component of the 3D object representation, do the following:
Create a (m*l*n) grid of Voxels. Where m, l, and n are determined according to the available memory storage and to the required granularity in the directions of X, Y and Z respectively.
Define a mapping from the grid coordinates to 3D coordinates. Decompress the 2D-surface signature image For each non-zero pixel in the 2D-surface signature image compute the equation of the inverse signature circle put the circle as a set of Voxels in the 3D grid Find the intersection of all 3D grids. This will be the decompressed
vertices of the 3D object
Browsing and Navigation Service
The three factors to be considered in designing a browsing and navigation service are: how many objects can the viewer absorb to
make a selection (N); how do we define similarity (sim); and how do we select a representative object from
a cluster (key).
Browsing and Navigation Service
Basic assumption: if two signatures i and j are similar the models i and j are similar (experimentally verified).
Similarity is defined as the average root mean square error between all signature images of the two models:
Wherek is the number of signatures used in computing similarity for each model is the value for pixel that has coordinates m,l in signature s.i,j are the two models whose similarity is computed
k
s
Height
m
Width
l jsisji lmPlmPk
Sim1
0 0
2,,, )),(),((
1
),(, lmP is
Browsing and Navigation Service
Based on this similarity measure, we used a direct join clustering algorithm to cluster 3D models as follows: Compute the similarity between each two
models. Place each model in its own cluster. While (Number of Clusters > N) where N is
the desired number of clusters Merge the two closest clusters
Browsing and Navigation Service
Selecting the number of clusters (N) is a key issue in this algorithm.
This number should be as small as possible because only keys of these clusters are used in the top level browsing of the model.
The smaller this number gets, the user will view a small number of keys.
However, we do not want it to be too small to have un-correlated models grouped together
Browsing and Navigation Service
Two error metrics are introduced to study the trade-off of varying N: the Internal cluster error and the External cluster error. The internal cluster error measures the average
distance (similarity) of any two objects in a cluster.
Where N is the number of clusters, is the number of member of cluster I, is the similarity value between model j and model k.
im
kjSim ,
N
i
m
j
m
kkj
i
i i
SimmN 1 1 1
,2 )1(11
ErrorCluster Internal
Browsing and Navigation Service
The external cluster error measures the average distance of objects in different clusters.
N is the number of clusters,
is the number of member of cluster I,
is the similarity value between model j and model k.
N
i
m
j
ihN
h
m
kkjipN
ppi
i h
Sim
mmN 1 1
,
1 1,,
1
11ErrorCluster External
im
kjSim ,
Algorithm for Browsing and Navigation Service Clustering of 3D models is performed offline based
on shape-similarity (as was illustrated earlier). Keys of each cluster are computed where a cluster
keyn is defined as the cluster member that has the min average of internal clustering error within cluster n.
The user is presented with a view that contains the cluster keys.
Upon selection of a cluster key, the user can view the members of the cluster.
The process can be applied recursively to view the contents of a single cluster but sub-clustering the members and repeating the above process.
Browsing and Navigation
Web Client Key Clusters Storage Cluster Contents 3D DB
Initial View
Retrieve Cluster
Send Cluster Keys (centers)
Send Cluster Contents()
Retrieve 3D Model
Send 3D Model()
Experimental Results
A test bed that contained about 350 3D-models. Some of the models were designed using 3D studio. Others were collected from the Internet from different archives such as 3D café (http://www.3Dcafe.com).
Experimental Results - Cluster Sample 1
(a)
Experimental Results - Cluster Sample 2
Experimental Results - Cluster Sample 3
(c)
Experimental Results - Cluster Sample 4
Experimental ResultsClustering Error
• In this figure we show the relation of the inter and intra cluster errors for a particular collection for varying N.
• we also show an overall error that is the combination of the two: overall error = 0.5*Intra Cluster Error+ 0.5*Inter Cluster error
Clustering Error
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0 5 10 15 20 25 30 35
Number of Clusters
Err
or
Internal Error
External Error
Total Error
Experimental Results Clustering Error for Random Subcollections
Clustering Error
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0 5 10 15 20 25 30 35
Number of Clusters
Err
or Intenal Error
External Error
Total Error
Experimental Results Clustering Error for Random Subcollections
Clustering Error
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0 5 10 15 20 25 30 35
Number of Clusters
Err
or Internal Error
External Error
Total Error
Experimental Results
We have shown the relation of the internal and external cluster errors for a particular collection for varying N.
This kind of graph can be useful to the user in making a choice of N, given that the user is aware of her own capacity for handling a number of 3D objects simultaneously. Since the external cluster error reaches a limit at around 30 clusters, we have computed a number of data points between 1 and 30 to show the detail of the curves
Experimental Results
The directions of the curves is intuitive, the shape is not. Our current belief is that this is directly dependent on the nature of the collection and less on the specific clustering algorithm we use. As our test bed collection grows we will be able to experimentally describe the changing nature of these graphs.
Summary
A digital library framework that has services to support storage, retrieval and discovery of 3D models was presented.
A navigation service based on hierarchical clustering of similar 3D models was described.
In this paper shape similarity was used to compute the clusters of the 3D models used in the navigation service.
Future Work
Using additional similarity measure that combine the shape similarity along with other metadata similarity measures (e.g. using the text description of the 3D model).
Using clustering of similar 3D models to speed up the similarity search process using the same methodology that was implemented for browsing the 3D models.
This will be done by computing the similarity of models with only the representative “key” model of a cluster instead of computing the similarity with all members of the cluster.
Experimental Results We have used an equal weight for the internal error
and external error to calculate the total error. However, some users might have more weight for internal error (making sure that cluster members are similar) than external error. In this case, more weight should be assigned to the internal error.
To select the number of clusters, we should select the number that minimizes the total error but does not exceed the max number that can be viewed by a user.
If we assume that the max number of cluster keys that can be viewed by a user is 30, we would select 30 clusters for the first and second graphs and 23 for the third one.