CS284 Paper Presentation Arpad Kovacs

Slides:



Advertisements
Similar presentations
Request Dispatching for Cheap Energy Prices in Cloud Data Centers
Advertisements

SpringerLink Training Kit
Luminosity measurements at Hadron Colliders
From Word Embeddings To Document Distances
Choosing a Dental Plan Student Name
Virtual Environments and Computer Graphics
Chương 1: CÁC PHƯƠNG THỨC GIAO DỊCH TRÊN THỊ TRƯỜNG THẾ GIỚI
THỰC TIỄN KINH DOANH TRONG CỘNG ĐỒNG KINH TẾ ASEAN –
D. Phát triển thương hiệu
NHỮNG VẤN ĐỀ NỔI BẬT CỦA NỀN KINH TẾ VIỆT NAM GIAI ĐOẠN
Điều trị chống huyết khối trong tai biến mạch máu não
BÖnh Parkinson PGS.TS.BS NGUYỄN TRỌNG HƯNG BỆNH VIỆN LÃO KHOA TRUNG ƯƠNG TRƯỜNG ĐẠI HỌC Y HÀ NỘI Bác Ninh 2013.
Nasal Cannula X particulate mask
Evolving Architecture for Beyond the Standard Model
HF NOISE FILTERS PERFORMANCE
Electronics for Pedestrians – Passive Components –
Parameterization of Tabulated BRDFs Ian Mallett (me), Cem Yuksel
L-Systems and Affine Transformations
CMSC423: Bioinformatic Algorithms, Databases and Tools
Some aspect concerning the LMDZ dynamical core and its use
Bayesian Confidence Limits and Intervals
实习总结 (Internship Summary)
Current State of Japanese Economy under Negative Interest Rate and Proposed Remedies Naoyuki Yoshino Dean Asian Development Bank Institute Professor Emeritus,
Front End Electronics for SOI Monolithic Pixel Sensor
Face Recognition Monday, February 1, 2016.
Solving Rubik's Cube By: Etai Nativ.
انتقال حرارت 2 خانم خسرویار.
Summer Student Program First results
Theoretical Results on Neutrinos
HERMESでのHard Exclusive生成過程による 核子内クォーク全角運動量についての研究
Wavelet Coherence & Cross-Wavelet Transform
yaSpMV: Yet Another SpMV Framework on GPUs
Creating Synthetic Microdata for Higher Educational Use in Japan: Reproduction of Distribution Type based on the Descriptive Statistics Kiyomi Shirakawa.
MOCLA02 Design of a Compact L-­band Transverse Deflecting Cavity with Arbitrary Polarizations for the SACLA Injector Sep. 14th, 2015 H. Maesaka, T. Asaka,
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Fuel cell development program for electric vehicle
Overview of TST-2 Experiment
Optomechanics with atoms
داده کاوی سئوالات نمونه
Inter-system biases estimation in multi-GNSS relative positioning with GPS and Galileo Cecile Deprez and Rene Warnant University of Liege, Belgium  
ლექცია 4 - ფული და ინფლაცია
10. predavanje Novac i financijski sustav
Wissenschaftliche Aussprache zur Dissertation
FLUORECENCE MICROSCOPY SUPERRESOLUTION BLINK MICROSCOPY ON THE BASIS OF ENGINEERED DARK STATES* *Christian Steinhauer, Carsten Forthmann, Jan Vogelsang,
Particle acceleration during the gamma-ray flares of the Crab Nebular
Interpretations of the Derivative Gottfried Wilhelm Leibniz
Advisor: Chiuyuan Chen Student: Shao-Chun Lin
Widow Rockfish Assessment
SiW-ECAL Beam Test 2015 Kick-Off meeting
On Robust Neighbor Discovery in Mobile Wireless Networks
Chapter 6 并发:死锁和饥饿 Operating Systems: Internals and Design Principles
You NEED your book!!! Frequency Distribution
Y V =0 a V =V0 x b b V =0 z
Fairness-oriented Scheduling Support for Multicore Systems
Climate-Energy-Policy Interaction
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Ch48 Statistics by Chtan FYHSKulai
The ABCD matrix for parabolic reflectors and its application to astigmatism free four-mirror cavities.
Measure Twice and Cut Once: Robust Dynamic Voltage Scaling for FPGAs
Online Learning: An Introduction
Factor Based Index of Systemic Stress (FISS)
What is Chemistry? Chemistry is: the study of matter & the changes it undergoes Composition Structure Properties Energy changes.
THE BERRY PHASE OF A BOGOLIUBOV QUASIPARTICLE IN AN ABRIKOSOV VORTEX*
Quantum-classical transition in optical twin beams and experimental applications to quantum metrology Ivano Ruo-Berchera Frascati.
The Toroidal Sporadic Source: Understanding Temporal Variations
FW 3.4: More Circle Practice
ارائه یک روش حل مبتنی بر استراتژی های تکاملی گروه بندی برای حل مسئله بسته بندی اقلام در ظروف
Decision Procedures Christoph M. Wintersteiger 9/11/2017 3:14 PM
Online Social Networks and Media
Limits on Anomalous WWγ and WWZ Couplings from DØ
Presentation transcript:

CS284 Paper Presentation Arpad Kovacs 2009.11.16 Arpad Kovacs CS284 Hierarchical Mesh Decomposition Hierarchical Mesh Decomposition Using Fuzzy Clustering and Cuts Katz and Tal, Siggraph 2003 CS284 Paper Presentation Arpad Kovacs 2009.11.16

What is an Ideal Decomposition? Arpad Kovacs CS284 Hierarchical Mesh Decomposition K-way decomposition = Segment a mesh into k connected, meaningful and hierarchical patches Facewise-disjoint = Each face should belong to exactly 1 patch, with no overlapping faces.

Advantages of This Algorithm Arpad Kovacs CS284 Hierarchical Mesh Decomposition Handles general meshes (does not have to be 2-manifold or closed or triangulated) Avoids over segmentation (too many patches that do not convey meaningful information) Smooth boundaries between patches, no jagged edges

Arpad Kovacs CS284 Hierarchical Mesh Decomposition Algorithm Overview Arpad Kovacs CS284 Hierarchical Mesh Decomposition Find distances between all pairs of faces in mesh Calculate probability of face belonging to each patch Refine probability values using iterative clustering Construct exact boundaries between components

Distance Between Adjacent Faces Arpad Kovacs CS284 Hierarchical Mesh Decomposition Rationale: Distant faces less likely to belong to same patch Geodesic Distance: shortest path along the surface between two adjacent faces' centers of mass. Angular Distance: consider angle between face normals and concavity If concave, η=1, else η=small +value Cut at regions of deep concavity AngularDistance(αij) = η(1-cos(αij))

Dual Graph Each face in the mesh is a vertex Arpad Kovacs CS284 Hierarchical Mesh Decomposition Each face in the mesh is a vertex Arcs join adjacent faces' vertices Arclength between vertices fi, fj : δ determines relative weight of geodesic vs angular distance 𝛿⋅𝑔𝑒𝑜𝑑𝑒𝑠𝑖𝑐𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓 𝑖 , 𝑓 𝑗 𝑎𝑣𝑒𝑟𝑎𝑔𝑒𝐺𝑒𝑜𝑑𝑒𝑠𝑖𝑐𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 + 1−𝛿 ⋅𝑎𝑛𝑔𝑢𝑙𝑎𝑟𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓 𝑖 , 𝑓 𝑗 𝑎𝑣𝑒𝑟𝑎𝑔𝑒𝐴𝑛𝑔𝑢𝑙𝑎𝑟𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒

Dijkstra's Shortest Path Algorithm Arpad Kovacs CS284 Hierarchical Mesh Decomposition 1. Initialize distances: starting node = 0, others = ꝏ 2. Mark all nodes as unvisited. Set current = start node 3. Calculate cumulative distance to each of current node's unvisited neighbors from starting node 4. Mark current node = visited Update current node = unvisited node with smallest distance from start node. 5. If unvisited nodes remain, Goto step 3. Otherwise done

All-Pairs Shortest Path Algorithm Arpad Kovacs CS284 Hierarchical Mesh Decomposition Calculate distances between each pair of points on graph, based on distances between adjacent points. Small arc length = more connected; points on different components ꝏ distance apart Run Dijkstra's Algorithm from each node to every other node *(can also use Floyd-Warshall Algorithm for better efficiency)

How Many Patches/Seed Faces? Arpad Kovacs CS284 Hierarchical Mesh Decomposition Maximize benefit from each additional cut/seed face Maximize 1st derivative of G(k) describing how close new seed k is from already assigned seed

Selecting Seed Faces Arpad Kovacs CS284 Hierarchical Mesh Decomposition 1st seed closest to all other faces (represents body)* Other faces maximize min-distance to already assigned seeds (stay far away from existing seeds) * Special case for k=2, seed faces are ends of max(shortest path between vertex pairs)

Arpad Kovacs CS284 Hierarchical Mesh Decomposition K-Means Clustering Arpad Kovacs CS284 Hierarchical Mesh Decomposition Partition all vertices into k sets so that the within-cluster sum of distances squared is minimized. 1. Assignment: Assign each vertex to the cluster with the closest means (center of patch). 2. Update: Calculate the new means to be the centroid of the vertices in the cluster. 3. Repeat until convergence, which occurs when the assignments stop changing.

Calculate Probabilities Arpad Kovacs CS284 Hierarchical Mesh Decomposition Probability of face fi belonging to patch S depends on relative proximity of S compared to other patches Binary case: 𝑃 𝑆 𝑓 𝑖 = 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓 𝑖 , 𝑆 𝑠𝑒𝑒𝑑𝑓𝑎𝑐𝑒 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓 𝑖 , 𝑆 𝑠𝑒𝑒𝑑𝑓𝑎𝑐𝑒 +𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓 𝑖 , 𝑇 𝑠𝑒𝑒𝑑𝑓𝑎𝑐𝑒 𝑃 𝑆 𝑓 𝑖 = 1 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓 𝑖 , 𝑆 𝑠𝑒𝑒𝑑𝑓𝑎𝑐𝑒 𝑝𝑎𝑡𝑐ℎ𝑒𝑠 1 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓 𝑖 , 𝑝𝑎𝑡𝑐ℎ 𝑠𝑒𝑒𝑑𝑓𝑎𝑐𝑒 General case:

Fuzzy Clustering Fuzzy clustering considers both distance (like Arpad Kovacs CS284 Hierarchical Mesh Decomposition Fuzzy clustering considers both distance (like K-means) and probability of belonging to patch Iteratively recompute seed faces to minimize clustering function until convergence 𝐹= 𝑝 𝑓 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑓∈𝑝𝑎𝑡𝑐ℎ 𝑝 ⋅𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓,𝑝 We want to minimize: distance from face to patch, probability of face belonging to multiple patches

Arpad Kovacs CS284 Hierarchical Mesh Decomposition Reassigning Vertices Arpad Kovacs CS284 Hierarchical Mesh Decomposition Choose new seed faces so other faces' probabilities of belonging to each patch are complementary Partition faces if probability of belonging to patch exceeds threshold (ϵ); remaining patches stay fuzzy 𝑆 𝑠𝑒𝑒𝑑𝑓𝑎𝑐𝑒 = 𝑚𝑖𝑛 𝑓 𝑓 𝑖 1− 𝑃 𝑆 𝑓 𝑖 𝐷𝑖𝑠𝑡 𝑓, 𝑓 𝑖 𝑇 𝑠𝑒𝑒𝑑𝑓𝑎𝑐𝑒 = 𝑚𝑖𝑛 𝑓 𝑓 𝑖 𝑃 𝑇 𝑓 𝑖 𝐷𝑖𝑠𝑡 𝑓, 𝑓 𝑖

Final Decomposition Use network flow theory to make the final cut Arpad Kovacs CS284 Hierarchical Mesh Decomposition Use network flow theory to make the final cut 1. Flow into node = amount of flow out of node 2. Flow through edgei,j ≤ capacity of edgei,j (Edges which have S,T as nodes have ꝏ capacity) 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦 𝑒𝑑𝑔𝑒 𝑖𝑗 = 1 1+ 𝑎𝑛𝑔𝑢𝑙𝑎𝑟𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝛼 𝑖𝑗 𝑎𝑣𝑒𝑟𝑎𝑔𝑒𝐴𝑛𝑔𝑢𝑙𝑎𝑟𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 Make minimum cut that passes through edges with small capacities, eg highly concave dihedral angles.

Stopping Conditions Recursively decompose until either: Arpad Kovacs CS284 Hierarchical Mesh Decomposition Recursively decompose until either: 1. Distance between representatives < threshold 2. max(αi,j) – min(αi,j) < threshold (faces have similar dihedral angles → patch has fairly constant curvature) 3. averageDist(Patch)/averageDist(Object) < threshold

Arpad Kovacs CS284 Hierarchical Mesh Decomposition Additional Thoughts Arpad Kovacs CS284 Hierarchical Mesh Decomposition Expedite convergence by averaging together the faces belonging to patch, rather than using specific representatives (seed faces) Computational Complexity Considerations V = number vertices; C = size of fuzzy region I = number iterations in clustering algorithm Dijkstra's Algorithm = O(V2 log V) Assign faces to patches = O(IV2) Minimum cut = O(C2 log C) Total = O(V2 log V + IV2)

Possible Applications Arpad Kovacs CS284 Hierarchical Mesh Decomposition Compression – decompose mesh to simplify it Shape retrieval – decomposition is invariant signature Collision detection – determine bounding boxes Texture mapping – decomposition determines parameterization of texture coordinates Animation

Control Skeleton Extraction Arpad Kovacs CS284 Hierarchical Mesh Decomposition Hierarchical tree of joints for animation 1. Central patch connected to all other patches 2. Features which depend on position of other features become descendants in hierarchy 3. Joint at center of mass of each patch

Bind and Deform Objects' Pose Arpad Kovacs CS284 Hierarchical Mesh Decomposition Each vertex has weight, eg % faces adjacent to it that belong to a joint Also consider cut angle, skeleton-subspace deform Adjust joint angles to deform objects

Works Cited Images, algorithms, and multimedia material from: Arpad Kovacs CS284 Hierarchical Mesh Decomposition Works Cited Images, algorithms, and multimedia material from: Sagi Katz, Ayellet Tal: Hierarchical Mesh Decomposition Using Fuzzy Clustering and Cuts http://webee.technion.ac.il/~ayellet/Ps/0325_ayt.pdf Attene, Katz, Mortara, Patane, Spagnuolo, Tal Mesh Segmentation – A Comparative Study http://www.ima.ge.cnr.it/ima/personal/attene/PersonalPage /pdf/MeshSegm_SMI06.pdf