6
Subtractive Clustering of Vertices for CPCA based Animation Geometry Compression Sanjib Das Department of ECE IIT Guwahati Guwahati-781039, India [email protected] Prabin Kumar Bora Department of ECE IIT Guwahati Guwahati-781039, India [email protected] Anup Kumar Gogoi Department of ECE IIT Guwahati Guwahati-781039, India [email protected] ABSTRACT In the Clustered PCA(CPCA) algorithm for compressing the animation geometry sequences, the vertex trajectories are clustered using the K-means algorithm followed by the Prin- cipal Component Analysis(PCA) of the clusters. However, the compression performance of the method is constrained by the initial random selection of the cluster centres. This paper presents a stable method for initializing the cluster centres by the subtractive clustering technique prior to the application of the K-means algorithm. Simulation results on some test animation sequences show better performance of the CPCA with the proposed initialization compared to the CPCA with random initialization. Keywords Subtractive Clustering, Animation Geometry Compression, CPCA 1. INTRODUCTION With the recent advancement of computer graphics hard- ware and related software in recent decades, the need and popularity of multimedia applications featuring 3D objects in the form of 3D-animations have increased extensively. For graphics rendering, 3D objects are represented in polygonal mesh forms, mostly in triangular mesh forms consisting of vertices, edges and faces. The attributes describing a trian- gular mesh are: (i) ‘geometry’ components defining the posi- tions of vertices in each mesh, (ii) ‘connectivity’ information depicting how the triangles are associated with the vertices, (iii) ‘surface color’ defining color of the mesh, (iv) ‘surface normal’ representing the orientation of object and (v) ‘tex- ture’ quantifying the variation in intensity to account for surface roughness or smoothness. This representation has been used in the hardware of all the manufacturers of lead- ing graphics rendering cards. 3D mesh models with complex Corresponding author Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ICVGIP ’10, December 12-15, 2010, Chennai, India Copyright 2010 ACM 978-1-4503-0060-5/10/12 ...$10.00. structures having all the above attributes always require a large storage space and reconstruction time for visualiza- tion. For compact storage, the meshes are to be compressed heavily. The reliable transmission of such meshes through the band limited channel also calls for compression of the animation data. 3D animations are defined as a sequences of frames having 3D dynamic meshes with changing attributes over time. An- imations again can be broadly classified into two groups: (a) animations with rigid-body motion where the whole mesh moves as one entity because all the vertices will be having fixed positions and (b) animations with soft-body motion [5] where each vertex can move independently from other ver- tices, making the animation smooth and realistic. However, the rigid-body motion is not practical, as it can not capture the smooth and realistic motion required for live animations. Soft-body motion does not require any relation between the vertices in a mesh, as long as they form a meaningful mesh. The soft-body animated meshes are widely used in com- puter games, computer generated movies and other 3D sci- entific simulations and commercial applications. Because of the independent movement of each vertex across frames, an- imation as a whole consists of voluminous data, and this is the major disadvantage of soft-body animation. Therefore, raw animation data is not practical for real time transmis- sion over the limited bandwidth. It is important to develop a compressed representation that significantly reduces the storage space required for animation still maintaining a good visual quality. Therefore, the compression of 3D animation, specifically of soft-body animation, has produced much in- terest among researchers. In general animations, the geometry and connectivity of vertices in a 3D mesh may be changing over time. How- ever for mesh sequences whose connectivity remains con- stant over time, the animation is characterized by changes in geometry only. Such sequences are termed as dynamic geometry sequences. The Principal Component Analysis (PCA)[4] is a method that reduces the data dimensionality while retaining the es- sential variation present in the original dataset. It searches for directions in the data that have largest variance and subsequently project the data onto it. The dimensionality reduction is achieved by performing the covariance analysis of the data and approximating the data in terms of a few principal eigen vectors of the covariance matrix. These prin- cipal eigen vectors correspond to the largest eigen values of the covariance matrix. As such, it is suitable for data sets in multiple dimensions, such as animation with large number

Subtractive Clustering of Vertices for CPCA based Animation Geometry Compressionsharat/icvgip.org/icvgip2010/... · 2011-03-19 · Subtractive Clustering of Vertices for CPCA based

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Subtractive Clustering of Vertices for CPCA based Animation Geometry Compressionsharat/icvgip.org/icvgip2010/... · 2011-03-19 · Subtractive Clustering of Vertices for CPCA based

Subtractive Clustering of Vertices for CPCA basedAnimation Geometry Compression

Sanjib Das∗

Department of ECEIIT Guwahati

Guwahati-781039, [email protected]

Prabin Kumar BoraDepartment of ECE

IIT GuwahatiGuwahati-781039, [email protected]

Anup Kumar GogoiDepartment of ECE

IIT GuwahatiGuwahati-781039, India

[email protected]

ABSTRACTIn the Clustered PCA(CPCA) algorithm for compressing theanimation geometry sequences, the vertex trajectories areclustered using the K-means algorithm followed by the Prin-cipal Component Analysis(PCA) of the clusters. However,the compression performance of the method is constrainedby the initial random selection of the cluster centres. Thispaper presents a stable method for initializing the clustercentres by the subtractive clustering technique prior to theapplication of the K-means algorithm. Simulation resultson some test animation sequences show better performanceof the CPCA with the proposed initialization compared tothe CPCA with random initialization.

KeywordsSubtractive Clustering, Animation Geometry Compression,CPCA

1. INTRODUCTIONWith the recent advancement of computer graphics hard-

ware and related software in recent decades, the need andpopularity of multimedia applications featuring 3D objectsin the form of 3D-animations have increased extensively. Forgraphics rendering, 3D objects are represented in polygonalmesh forms, mostly in triangular mesh forms consisting ofvertices, edges and faces. The attributes describing a trian-gular mesh are: (i) ‘geometry’ components defining the posi-tions of vertices in each mesh, (ii) ‘connectivity’ informationdepicting how the triangles are associated with the vertices,(iii) ‘surface color’ defining color of the mesh, (iv) ‘surfacenormal’ representing the orientation of object and (v) ‘tex-ture’ quantifying the variation in intensity to account forsurface roughness or smoothness. This representation hasbeen used in the hardware of all the manufacturers of lead-ing graphics rendering cards. 3D mesh models with complex

∗Corresponding author

Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.ICVGIP ’10, December 12-15, 2010, Chennai, IndiaCopyright 2010 ACM 978-1-4503-0060-5/10/12 ...$10.00.

structures having all the above attributes always require alarge storage space and reconstruction time for visualiza-tion. For compact storage, the meshes are to be compressedheavily. The reliable transmission of such meshes throughthe band limited channel also calls for compression of theanimation data.

3D animations are defined as a sequences of frames having3D dynamic meshes with changing attributes over time. An-imations again can be broadly classified into two groups: (a)animations with rigid-body motion where the whole meshmoves as one entity because all the vertices will be havingfixed positions and (b) animations with soft-body motion [5]where each vertex can move independently from other ver-tices, making the animation smooth and realistic. However,the rigid-body motion is not practical, as it can not capturethe smooth and realistic motion required for live animations.Soft-body motion does not require any relation between thevertices in a mesh, as long as they form a meaningful mesh.

The soft-body animated meshes are widely used in com-puter games, computer generated movies and other 3D sci-entific simulations and commercial applications. Because ofthe independent movement of each vertex across frames, an-imation as a whole consists of voluminous data, and this isthe major disadvantage of soft-body animation. Therefore,raw animation data is not practical for real time transmis-sion over the limited bandwidth. It is important to developa compressed representation that significantly reduces thestorage space required for animation still maintaining a goodvisual quality. Therefore, the compression of 3D animation,specifically of soft-body animation, has produced much in-terest among researchers.

In general animations, the geometry and connectivity ofvertices in a 3D mesh may be changing over time. How-ever for mesh sequences whose connectivity remains con-stant over time, the animation is characterized by changesin geometry only. Such sequences are termed as dynamicgeometry sequences.

The Principal Component Analysis (PCA)[4] is a methodthat reduces the data dimensionality while retaining the es-sential variation present in the original dataset. It searchesfor directions in the data that have largest variance andsubsequently project the data onto it. The dimensionalityreduction is achieved by performing the covariance analysisof the data and approximating the data in terms of a fewprincipal eigen vectors of the covariance matrix. These prin-cipal eigen vectors correspond to the largest eigen values ofthe covariance matrix. As such, it is suitable for data sets inmultiple dimensions, such as animation with large number

Page 2: Subtractive Clustering of Vertices for CPCA based Animation Geometry Compressionsharat/icvgip.org/icvgip2010/... · 2011-03-19 · Subtractive Clustering of Vertices for CPCA based

of frames.This work aims at enhancing the potential of the PCA as

an animation compression tool by combining it with efficientclustering of vertex trajectories. We deal only with the ge-ometry part of the animation sequence for compression andtreat the connectivity as constant for the whole animationsequence.

2. PREVIOUS WORKLengyel [7] was the first researcher to work on the com-

pression of dynamic meshes. He proposed to segment themesh into smaller sub-meshes, and the motion of these partswas described as that of the rigid body. Only a heuristicsolution was provided for the segmentation process. His ap-proach is effective only when the animation primarily con-sists of the rigid-body motion. Alexa et al. [1] used thePCA for compressing the geometry component of animationsequences. The PCA was applied in the temporal directionand only a few principal components were used to representthe whole animation. This was a lossy compression tech-nique and the amount of loss was controlled by the requiredcompression ratio or the visual reconstruction quality. Karniand Gotsman [5] enhanced the PCA based method of [1] bycombining the linear prediction coding (LPC) with the PCA.The PCA was applied in spatial direction and the secondorder LPC was applied on the principal components in thetemporal direction to exploit the large temporal coherencepresent in the sequence.In [10], clustering is combined with the PCA in a method

called the clustered PCA (CPCA). First the mesh was seg-mented into meaningful clusters based on motion of verticesby using Lloyd’s clustering method [8]. Then the PCA isapplied independently on each cluster and using only fewPCA components for each cluster gives compression. Thisscheme is reported to give better results than the directPCA [1] and the PCA with LPC [5] methods. Amjoun et.al. [2] developed a new PCA based method called the localPCA (LPCA) method by clustering the meshes using localsimilarity properties, and a local coordinate system is de-fined for each cluster. Now the cluster motion is encodedby applying the PCA on this local coordinates instead ofworld coordinates. Results indicate that the LPCA has bet-ter performance than CPCA and other previous methods.Recently a new PCA based animation compression schemecalled COBRA [12] was proposed by L. Vasa et. al.. Thismethod applies PCA on the temporal direction of the ani-mation matrix and then uses a new prediction scheme alongwith non-uniform quantization scheme to encode the basisvector. The results presented by them show compressionperformance better than existing PCA based methods.The above literature review suggests that most of the ex-

isting methods use the PCA as the important block for com-pression. This work is concerned with the application of thePCA on the clusters of vertex trajectories for better com-pression. As in [10], theK-means based clustering algorithmis used for grouping the vertex trajectories of the animationsequence based on the temporal information of the vertexpositions across the frames. A stable method to initializethe cluster centers for K-means algorithm is proposed usingthe subtracting clustering method [3].

3. ANIMATION GEOMETRY COMPRESSIONUSING THE CPCA

3.1 Representation of 3D Animation Geome-try

Simple animations can be described by equations model-ing the trajectories of the vertices across frames. In gen-eral, the movement of vertices across different frames of asequence can be represented by a matrix. Consider an ani-mation sequence of F frames with V vertices in each frame.Each vertex is basically a point in 3D space having threecoordinate components vx, vy and vz corresponding to X,Y and Z axes. Therefore, the animation sequence is repre-sented by a matrix B of dimensions V × 3F given by

B =

⎡⎢⎢⎢⎣

vf1x1vf1y1 vf1z1 ... vfFx1 vfFy1 vfFz1

vf1x2vf1y2 vf1z2 ... vfFx2 vfFy2 vfFz2

......

... ......

......

vf1xVvf1yV vf1zV ... vfFxV vfFyV vfFzV

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎣

t1t2...tV

⎤⎥⎥⎥⎦

(1)

where vfjxi , v

fjyi and v

fjzi represents the x, y and z coordinates

respectively of the ith vertex vi, i = 1, . . . , V of the jth framefj , j = 1, . . . , F of the animation sequence. In the matrixB, each row [size 3F × 1] represents a trajectory ti of asingle vertex vi across F frames and each column [size V ×1]represents the values any of the three coordinate componentsvxi , vyi or vzi of a vertex vi in a frame fj .The main ideaof any geometry compression algorithm is to represent thismatrix B in a more compact way for efficient storage andtransmission.

3.2 Geometry Compression using the DirectPCA

In this case, the straight-forward approach will be to ap-ply the PCA on the animation data matrix B directly. Per-forming the PCA on the matrix involves the following steps[11]:

1. Estimate and subtract the mean trajectory μ from alltrajectories or rows of B to obtain the mean centeredmatrix Bms.

2. Calculate the eigenvalues and the corresponding eigen-vectors of the covariance matrix BT

msBms.

3. Consider only c (c << 3F ) principal eigenvectors basedon their eigen values to represent the animation databy projecting the original mean subtracted data on tothe space spanned by these c eigen vectors and retainthe corresponding PCA coefficients.

3.3 Geometry Compression using the CPCAmethod

The vertex trajectories in the animation matrix B aregrouped into clusters based on their similar movements acrossall the frames and then the PCA is applied on each cluster.Generally the K-means algorithm is used for clustering ap-plications for its simplicity. For clustering of vertex trajecto-ries, the Euclidian distances between the vertex trajectoriesare used as the similarity measure. The steps for the CPCAalgorithm are as follow:

Page 3: Subtractive Clustering of Vertices for CPCA based Animation Geometry Compressionsharat/icvgip.org/icvgip2010/... · 2011-03-19 · Subtractive Clustering of Vertices for CPCA based

(a). For a given number of clustersK, K vertex trajectoriestcj , j = 1, 2, . . . ,K are randomly chosen as initialcluster centers.

(b). Find the Euclidian distances of all the V vertex tra-jectories from these K centered trajectories and putthem in a distance matrix D given by

Dij =∥∥ti − tcj

∥∥2, i = 1, 2, . . . , V , j = 1, 2, . . . ,K

(2)

(c). Assign each trajectory to its nearest cluster center basedon minimum distance from the matrix D and put thecluster number it belongs to in an array of cluster in-dex Ic.

(d). Update the cluster centers of each cluster with themean of the vertex trajectories belonging to that clus-ter as

tcj =1

Nj

∑tk (3)

where Nj is the number of vertex trajectories in eachcluster as per cluster index array Ic.

(e). Repeat the above steps (b),(c) and (d) until there isno change in the cluster index Ic.

After the clustering process, the input matrix B willbe divided into K cluster matrices B(j) , j = 1, . . . ,Ki.e

B =[B(1)|B(2)| · · · |B(K)

]T(4)

(f). Apply the PCA based compression on each cluster ma-

trix B(j) and c principal eigen vectors per cluster isselected based on their eigen values.

At the end of above steps, the original animation geometrymatrix B will be represented by K numbers of Eigen vec-tor matrix of size [3F × c], PCA coefficient matrix for eachcluster of size [Nj×c], mean trajectory vectors for each clus-ter of size [3F × 1] and the cluster index vector Ic of size[V × 1]. Finally all these PCA data can be quantized toachieve further compression.The decompression is done by first de-quantizing all the

PCA eigen vectors, PCA coefficients, mean vectors and clus-ter index vectors followed by reconstruction of all the clus-tered trajectory matrix using the decoded PCA eigen vec-tors, PCA coefficients and the mean trajectory vector. Fi-nally, all the trajectory cluster matrix rearranged and com-bined based on cluster index vector to get the original re-constructed animation geometry matrix.This CPCA method gives better compression results com-

pared to the direct PCA method on the whole animationmatrix B. The reason is that the clustering process com-bines the vertex trajectories based on some similarity mea-sure and hence there exists much redundant information tobe exploited by applying PCA afterward.

4. PROPOSED SUBTRACTIVE CLUSTER-ING BASED CPCA (SC-CPCA) METHOD

The success of the above CPCA algorithm depends on theeffectiveness of the clustering process. With random initial-ization of cluster centers, the K-means algorithm does not

necessarily give the optimal partitions of the input vectorsin each run as it may converges to numerous local minimainstead of the global minima. Therefore, there is a scopefor improving clustering process by proper initialization ofcluster centers instead of random initialization[13, 6] whichwill results in better compression performance.

This work proposes to apply the density function basedsubtractive clustering method [3] to initialize the cluster cen-tres for the K-means algorithm. Here a density function likeGaussian density function exp

(−α ‖ti − tj‖2)is assumed

at each vertex trajectory, where α is a positive constantand ‖ti − tj‖2 is the square of the distance between anytwo vectors ti and tj. The sum of the density functionsis computed at each vertex trajectory based on its Euclid-ian distances from all other trajectories and the first clustercenter is chosen at the trajectory with the highest densityvalue. To get the next cluster center, the density functionfor all the trajectories are modified by subtracting a valueinversely proportional to the distance of the trajectories tothe found cluster centre. After modifying the density func-tion, the next cluster center is obtained at the point havingthe largest density value. This subtractive process continuesuntil the required numbers of cluster centers are obtained.The steps for this method are as follows:

1. Given the number of clusters K, density function atevery vertex trajectory ti, i = 1, . . . , V is calculatedusing

Mi =

V∑j=1

exp(−α ‖ti − tj‖2

), i = 1, 2, . . . , V (5)

where α is a positive constant and ‖ti − tj‖2 is thesquare of the distance between the vertex trajectoriesti and tj. Since the density function calculated for eachtrajectory is a function of its distances from all othertrajectories, a vertex with many neighborhood verticeswhich are moving coherently across whole animationframes will have high density value. The constant αis actually a radius of influence of the neighborhoodvertex trajectories on the density value.

2. Initialize k=1

3. Select the cluster centre trajectory tck as the trajec-tory having the largest density value

MCk = Maxi

(Mi) , i = 1, . . . , V. (6)

4. Calculate the density measure of each vertex trajectoryti using the equation

Mi = Mi −MCk exp(−β ‖ti − tck‖2

)(7)

where β is a positive constant, tck is the kth clustercenter trajectory and MCk is its density value. Be-cause of this modification, the density values of thevertex trajectories near the first cluster center will bescaled down as per the factor β so that they will notbe selected as the next cluster center during next iter-ation.

5. After modifying the density function, increment k by 1and continue this subtractive process to find the nextcluster centres by iterating steps (3) and (4) until therequired numbers of cluster centres are obtained.

Page 4: Subtractive Clustering of Vertices for CPCA based Animation Geometry Compressionsharat/icvgip.org/icvgip2010/... · 2011-03-19 · Subtractive Clustering of Vertices for CPCA based

The cluster centres finally obtained at step (4) above willbe used by the K-means clustering algorithm as the initialcluster centres to get the optimum clusters of vertex trajec-tories and the cluster index vector. After clustering of vertextrajectories, the PCA is applied on each of these clusters toselect the required number of eigen trajectories (vectors) andthe corresponding PCA weights per cluster. Finally, all thePCA eigen vectors, PCA weights, mean vectors and the clus-ter index vector are quantized to get the compressed formof the input animation geometry data. The block diagramof encoder and decoder for the proposed SC-CPCA methodis shown in figure 1.

5. EXPERIMENTAL RESULTS

5.1 Details of Animation SequenceTo study the performance of the proposed SC-CPCAmethod,

some standard test animation sequences have been consid-ered with geometry details shown in Table 1. All these datasets are of soft-body animation sequences whose faces andconnectivity are constant over time.

Table 1: The animation sequences used with detailsName Vertices (V ) Triangles (T ) Frames (F )Face 757 1468 950Cow 2904 5804 204

Dolphin 6179 12337 101Chicken 3030 5664 400Dance 7061 14118 201

5.2 Performance MetricsThe compression result of the proposed method is mea-

sured by some of the performance metrics used by most ofthe researchers in the literature. The measures are com-pression ratio (CR), distortion factor (Da) and the bits pervertex frame (bpvf).

• Compression Ratio (CR): The compression ratio forgeometry data is determined by the ratio of number ofelements in the original animation matrix to the totalnumber of elements in the compressed data. For theabove K-mean clustering based PCA algorithm, thecompressed data is consisted of principal eigen vectors,PCA coefficients and mean vectors of all the clustermatrix and the cluster index vector. So, the calcula-tion of CR is as follows:

CR =3V F

lEk+lck+lmk+Ix(8)

where lEk, lck and lmk is the total size of eigen vectorsmatrix, PCA coefficients matrix and mean vectors overall clusters respectively and Ix is the size of clusterindex.

• Distortion factor (Da): To check the distortion in thereconstructed animation with respect to original one,we have used the distortion measure Da also knownas KG-error metric after Karni and Gottsman [5] anddefined by

Da = 100

∥∥∥B− B∥∥∥F

‖Bms‖F(9)

where ‖.‖F represents the ‘Frobenius norm’ or ‘entry-wise Euclidean norm’ given by the square root of thesum of the squares of the elements of the matrix.

• Bits per vertex frame (bpvf): It signifies the number ofbits per vertex per frame and is a unit for bandwidthusage measurements. The calculation of bpvf for theK-mean clustering based PCA algorithm is given by

bpvf =qvlEk + qclck + qmlmk + 6V + 5V

V F(10)

where qv,qc and qm are the number of quantization bitsused to represent the PCA eigen vectors, coefficientsand the mean vector respectively. The term 5V repre-sents the bits required to encode the cluster index with5 bits as mentioned in [10] and 6V in the numeratorcorresponds to the number of bits required to encodethe connectivity information as per Edgebreaker [9] al-gorithm for connectivity compression.

5.3 ResultsIn the first set of experiments, we have tested the CPCA

algorithm on different animation sequences to get the com-pression results based on different performance metrics. Ta-ble 2 shows the result of applying this method on the ‘Chicken’sequence. From the results it has been observed that be-cause of random cluster centres initialization, each iterationof CPCA algorithm gives different values for Da, CR andbpvf .

Table 2: Results using CPCA method (random ini-tialization) on “Chicken” sequence

Selection of eigen vectors per cluster is based ontotal energy threshold of 0.999

Run No. of Total Eigen CR Da bpvfNo. clusters (K) vectors1 5 64 28.838 0.187 1.6522 5 61 30.399 0.188 1.5663 5 59 30.238 0.159 1.5754 5 64 28.838 0.187 1.6525 5 58 30.969 0.173 1.537

Selection of fixed no. of eigen vectors per cluster (c=12)Run No. of Total Eigen CR Da bpvfNo. clusters (K) vectors1 5 60 30.974 0.261 1.5372 5 60 30.974 0.204 1.5373 5 60 30.974 0.364 1.5374 5 60 30.974 0.288 1.5375 5 60 30.974 0.288 1.537

In the next set of experiments, we have applied the pro-posed SC-CPCA method of different animation sequences.Figure 2 shows the clustering results after application of SC-CPCA method on ‘Cow’, ‘Chicken’, ‘Dolphin’ and ‘Dance’animation sequence for a particular frame. The black starsin each figure indicate the cluster centers for each cluster.

The performance metrics obtained using the proposed SC-CPCA method for different number of clusters (K) andeigenvectors per cluster (c) are listed in Table 3. In this ex-periment, we have taken α=10, β=5, and a uniform quan-tization factor of q=16 bits to quantize the eigen vectors,PCA coefficients and the mean vectors. We have also shown

Page 5: Subtractive Clustering of Vertices for CPCA based Animation Geometry Compressionsharat/icvgip.org/icvgip2010/... · 2011-03-19 · Subtractive Clustering of Vertices for CPCA based

K-means clustering of

vertex trajectories

Initialize K-cluster centres

using Subtractive clustering

K-means clustering of

vertex trajectories

PCA1

PCA2

PCAK

Cluster-1

Cluster-2

Cluster-K

Principal Eigen

vectors from all clusters

Quantization

PCA weights from all clustersCluster Index

Initialize K-cluster centres

using Subtractive clustering

Mean Vectors from all clusters

ENCODER

Animation Geometry

(B)

Compressed Data

De-quantization

PCA Reconstruction of

Clustered

Trajectories

Rearrange Vertex

trajectories

PCA eigen vectors

PCA weights

Cluster Index DECODER

Mean Vectors

Cluster-1

Cluster-K

Reconstructed Animation Geometry

B( )

Figure 1: Encoder and Decoder block diagram of proposed SC-CPCA method

Seq:cowheavy, Frame No. =100, No. of Clusters (K) =5

(a) ‘Cow’ with K=5

Seq:chicken, Frame No. =308, No. of Clusters (K) =7

(b) ‘Chicken’ with K=7 (c) ‘Dolphin’ with K=5

Seq:dance, Frame No. =40, No. of Clusters (K) =7

(d) ‘Dance’ with K=7

Figure 2: A frame from different animation sequences showing the results of clustering algorithm

the results obtained using CPCA method in the same forcomparison. From the results, it has been observed that forfixed number of eigen vectors (c) per cluster, the proposedSC-CPCA method gives better Da for same CR and bpvfcompared to the CPCA method for the ‘Chicken’, ‘Cow’ and‘Face’ sequence whereas for the ‘Dolphin’ and ‘Dance’ an-imation sequence it gives almost similar results as CPCA.The major drawback of the CPCA method is that it doesnot give optimal clustering result because of random initial-ization of cluster centres. Figure 3 shows one original andone reconstructed frame each from the ‘Cow’ and ‘Chicken’animation sequences that were compressed using the pro-posed method for K=5 clusters and c=10 per cluster. Thedecompressed results after compression ratio of 27.09 in thecase of ‘Cow’ and 36.61 in the case of ‘Chicken’ sequenceshow negligible visual artifacts.

6. CONCLUSIONSThis paper proposed to compress the geometry compo-

nent of an animation sequence in a better way by usinga subtractive clustering based clustered PCA (SC-CPCA)method. It gives a stable initialization of cluster centers forK-means algorithm used in CPCA algorithm instead of ran-dom initialization. This method gives stable results in termsof CR, Da and bpvf in each run of the algorithm. The pro-posed SC-CPCA method has been tested on some standardanimation test sequences and the experimental results showbetter performance compared to the CPCA based geometrycompression techniques. Our future work is directed towardstesting other stables methods of cluster centers initializationfor K-means algorithm as found in literatures and develop-ing an efficient adaptive non-uniform quantization schemefor the PCA basis vectors and transformed coefficients of

Table 3: Comparative results using proposed SC-CPCA method and the CPCA method

Proposed SC-CPCA method CPCA methodNo. of c CR Da bpvf CR Da bpvfclusters per(K) cluster

“Dolphin”2 10 25.08 0.029 1.86 25.08 0.029 1.863 10 24.01 0.015 1.95 24.01 0.015 1.954 10 23.03 0.009 2.03 23.03 0.010 2.03

“Chicken”5 5 67.11 0.984 0.70 67.11 1.180 0.705 10 36.61 0.388 1.30 36.61 0.591 1.305 20 19.17 0.054 2.49 19.17 0.091 2.49

“Cow”5 10 27.09 0.748 1.75 27.09 1.043 1.755 20 14.19 0.291 3.36 14.19 0.376 3.3610 10 17.90 0.468 2.65 17.90 0.507 2.65

“Face”3 10 21.08 0.190 2.27 21.08 0.669 2.274 10 16.14 0.151 2.97 16.14 0.279 2.975 10 13.07 0.153 3.67 13.07 0.155 3.67

“Dance”5 10 38.42 0.713 1.22 38.42 1.009 1.225 15 26.41 0.220 1.79 26.41 0.220 1.7910 10 29.57 0.332 1.60 29.57 0.332 1.60

each cluster along with a suitable coding/decoding methodfor these quantized values to get better coding rate.

7. ACKNOWLEDGMENTSThe authors would like to thank Zachi Karni, Rachida

Amjoun, S. Ramanathan and L. Vasa for providing links forthe animation sequences. The ‘Face’ animation sequence is

Page 6: Subtractive Clustering of Vertices for CPCA based Animation Geometry Compressionsharat/icvgip.org/icvgip2010/... · 2011-03-19 · Subtractive Clustering of Vertices for CPCA based

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

Figure 3: (a) Original and (b) Reconstructed Frame of ‘Cow’ sequence (c) Original and (d) ReconstructedFrame of ‘Chicken’ sequence

the property of ‘Visage Technologies’, the ‘Cow’ sequence isfrom the ETH Zurich and the ‘Chicken’ sequence is propertyof Microsoft Inc.

8. REFERENCES[1] M. Alexa and W. Muller. Representing animations by

principal components. Wiley Inter Science ComputerGraphics Forum, 19(3):411–418, 2001.

[2] R. Amjoun and W. StraSSer. Efficient compression of3d dynamic mesh sequences. Journal of WSCG,placeEurope, pages 99–106, 2007.

[3] S. L. Chiu. An efficient method for extracting fuzzyclassification rules from high dimensional data.Journal of Advanced Computational Intelligence,1(1):31–36, 1997.

[4] R. O. Duda, P. E. Hart, and D. G. Stork. PatternClassification (2nd Edition). Wiley-Interscience,November 2000.

[5] Z. Karni and C. Gotsman. Compression of soft-bodyanimation sequences. Computers and Graphics,28:25–34, 2004.

[6] S. S. Khan and A. Ahmad. Cluster centerinitialization algorithm for k-means clustering. PatternRecognition Letters, 25(11):1293 – 1302, 2004.

[7] J. E. Lengyel. Compression of time-dependentgeometry. In In I3D S99: Proceedings of the 1999symposium on Interactive 3D graphics, pages 89–95.ACM, 1999.

[8] S. P. Lloyd. Least squares quantization in pcm. IEEETransactions on Information Theory, 28:129–137,1982.

[9] J. Rossignac. Edgebreaker: Connectivity compressionfor triangle meshes. IEEE Transactions onVisualization and Computer Graphics, 5:47–61, 1999.

[10] M. Sattler, R. Sarlette, and R. Klein. Simple andefficient compression of animation sequences. InEurographics/ACM SIGGRAPH Symposium onComputer Animation. The Eurographics Association,July 2005.

[11] J. Shlens. A tutorial on principal component analysis.http://www.snl.salk.edu/ shlens/pub/notes/pca.pdf,December 2005.

[12] L. Vasa and V. Skala. Cobra: Compression of thebasis for pca represented animations. Comput. Graph.Forum, 28(6):1529–1540, 2009.

[13] J. Xu, B. Xu, W. Zhang, W. Zhang1, and J. Hou1.Stable initialization scheme for k -means clustering.Wuhan University Journal of Natural Sciences,14(1):24–28, February 2009.