Download presentation
Presentation is loading. Please wait.
Published byMerryl Cole Modified over 9 years ago
1
Navigating and Browsing 3D Models in 3DLIB Hesham Anan, Kurt Maly, Mohammad Zubair Computer Science Dept. Old Dominion University, Norfolk, VA, 23529 (anan, maly, zubair @cs.odu.edu)zubair @cs.odu.edu
2
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.
3
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.
4
Background 3DLIB Architecture
5
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.
6
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.
7
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)
8
Example Free-Form Surface
9
Signature (1)
10
Signature (2)
11
Reconstruction
12
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
13
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).
14
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: Where k 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
15
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
16
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
17
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.
18
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.
19
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 key n 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.
20
Browsing and Navigation
21
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).http://www.3Dcafe.com
22
Experimental Results - Cluster Sample 1 (a) (b)
23
Experimental Results - Cluster Sample 2
24
Experimental Results - Cluster Sample 3 (c)
25
Experimental Results - Cluster Sample 4
26
Experimental Results Clustering 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
27
Experimental Results Clustering Error for Random Subcollections
29
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
30
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.
31
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.
32
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.
33
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.