Hierarchical Mesh Decomposition using Fuzzy Clustering and Cuts
Hierarchical Mesh Decomposition using Fuzzy Clustering and Cuts
Hierarchical Mesh Decomposition using Fuzzy Clustering and Cuts
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Hierarchical</strong> <strong>Mesh</strong><strong>Decomposition</strong> <strong>using</strong> <strong>Fuzzy</strong><strong>Clustering</strong> <strong>and</strong> <strong>Cuts</strong>報 告 者 : R95922120 黃 維 嘉
Outline• Introduction• Algorithm – binary case• Algorithm – k way case• Result• Conclusion
Introduction• <strong>Fuzzy</strong> decomposition
Binary case (1/4)• Assign ProbabilityChoose two faces REP A <strong>and</strong> REP B with largest distanceas initial representative of the two clusterAssign probabilities to every faces according to thedistances to the initial patches:P ( fBiDist(fi,REPA)) PA( fi)1PB( fi)Dist(f , REP ) Dist(f , REP )iADist(f i ,f j ) is the shortest path from f i to f j in mesh’s dualgraph withiGeod ( fi,fj) Ang _ Dist(ij)Weight ( dual(fi), dual(fj)) (1 ) avg(Geod ) avg(Ang _ Dist)Ang _ Dist( ) (1cos )ijijB
Binary case (2/4)• Generating fuzzy decompositionGoal: cluster faces by minimize the functionAlgorithmF probability ( f patch ( p)) Dist(f , p)1. Compute the probabilities of faces to belong to each patch2. Re-compute the set of representatives to minimize F byREPA minf (1 PB( fi)) Dist(f , fi)REPB minf PB( fi) Dist(f , fi)fi3. If the representative set is changed, go back to 14. If no change, partition faces aspffiA { fB { fiiC { fi| PB( fi| P ( fBi) 0.5 }) 0.5 }| 0.5 PB( fi) 0.5 }
Binary case (3/4)• Generate final decompositionG(V,E) : dual graph of mesh.VA,VB : the set of dual vertices of patches A <strong>and</strong> B respectivelyGoal: partition V into VA’, VB’ such thatVA VA, Vweight ( Cut(V'B V)) (u,v)is minimalConstruct a flow network graph G(V’,E’) such thatVE''VC ECVCAVCB{(S,v),vVA'B', V{S,T}CAB'With capacity Cap(I,j) <strong>and</strong> use max flow algorithm to find min cutuVA', vVB'} {(T,v),vVCB} {eij E | i VC, j {VCAVCB}} 1Ang _ Dist( ) 1ijCap(i,j)avg(Ang _ Dist)if {i, j S,T}else
Binary case (4/4)• Hierarchy decompositionEvery patches can be recursively decomposedso that we can get a hierarchy structure• Stop conditionThe hierarchy decomposition is stopped when(a)(b)(c)Distance between representative is smaller than a thresholdDifference between max <strong>and</strong> min dihedral angle is smaller thanthresholdThe ratio between the average distance in the patch <strong>and</strong> that ofthe overall object does not exceed a threshold
K way case(1/3)• A generalization of binary case• Representatives are choose iteratively 1st representative: Choose the face havingthe minimal sum of distances from all otherfaces (body) Other representative: added in turn so as tomaximize their minimal distance from previousassigned representatives
K way case(2/3)• The number of representatives is chosen to minimizethe first derivative ofG k) min ( Dist(REP , REP ))(ikk i
K way case(3/3)• The probability that face f i belonging to patch P j is1defined as• To extract the fuzzy area, each pair of neighboringcomponents are proceeded similarly to the binarycase• Complexity: O(V 2 logV+IV 2 )P j( fi) 1Dist(f , REP(P ))V is number of vertex, I is number of iterationV 2 logV for all pair shortest path <strong>and</strong> minimum cut algorithmIV 2 for assigning faces to patcheslDist(f , REP(P ))iijl
Result
Conclusion• The hierarchically decomposition algorithmavoid jaggy boundaries as well as oversegmentation• Different distance function <strong>and</strong> capacityfunction can be experimented with• Non-geometric features such as color <strong>and</strong>texture can be embedded in the algorithm
Thank you