meshgit
play

meshgit diffing and merging meshes for polygonal modeling jonathan - PowerPoint PPT Presentation

meshgit diffing and merging meshes for polygonal modeling jonathan d. denning + , fabio pellacini + + dartmouth college, sapienza university of rome original derivative original derivative original derivative original


  1. meshgit diffing and merging meshes for polygonal modeling � jonathan d. denning + , fabio pellacini + ∗ � + dartmouth college, ∗ sapienza university of rome

  2. original derivative

  3. original derivative

  4. original derivative

  5. original derivative

  6. del, add original derivative

  7. exact matching original derivative

  8. surface correspondence [ kim et al. 2011 ] original derivative

  9. graph matching [ cour et al. 2006 ] original derivative

  10. adjacency matching [ eppstein et al. 2009 ] original derivative

  11. meshgit original derivative

  12. string edit distance / mesh edit distance

  13. mesh edit distance min cost of partially matching meshes

  14. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) : unmatched faces and verts C u : geometric changes C g C a : adjacency changes O : partial matching of two meshes

  15. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) e e ′ original derivative

  16. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) C u ( O ) = N u + N ′ u N : number of unmatched faces and verts

  17. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) original derivative

  18. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) e ′ e derivative original

  19. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) � d ( x e , x e ′ ) � � C g ( O ) = d ( x e , x e ′ ) + 1 + (1 − n e · n e ′ ) e ∈ E E : matched faces and verts x : position n : normal d ( x e , x e ′ ) = | x e − x e ′ |

  20. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) original derivative

  21. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) e 2 e ′ 2 e ′ e 1 1 original derivative

  22. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) e 2 e ′ 2 e ′ e 1 1 original derivative

  23. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) 1  � +  v ( e 1 ) + v ( e 2 )    ( e 1 ,e 2 ) ∈{ U,U ′ }  C a ( O ) = w ( e 1 , e 2 , e ′ 1 , e ′ 2 ) �  +   v ( e 1 ) + v ( e 2 )   ( e 1 ,e 2 ) ∈{ A,A ′ } U, U ′ : unmatched adj pair A, A ′ : matched adj pair 2 ) = | d ( x e 1 , x e 2 ) − d ( x e ′ 1 , x e ′ 2 ) | w ( e 1 , e 2 , e ′ 1 , e ′ v ( · ) : valence d ( x e 1 , x e 2 ) + d ( x e ′ 1 , x e ′ 2 )

  24. C ( O ) = C u ( O ) + C g ( O ) + C a ( O ) original derivative

  25. min C ( O ) / max common subgraph isomorphism NP-Hard

  26. iterative greedy algorithm feasibly approximate med

  27. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  28. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  29. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  30. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  31. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  32. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  33. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  34. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  35. 1. init 2. greedy 3. backtrack 4. repeat 2,3 original derivative

  36. mesh edit operations turn one mesh into another

  37. delete : unmatched geometry in original add : unmatched geometry in derivative transform : matched vertices with geometric cost

  38. 2-way diff visualize edits from original to derivative

  39. deleted faces colored red added faces colored green transformed vertices colored blue unmoved vertices colored gray

  40. original derivative

  41. original derivative

  42. original derivative

  43. 3-way diff visualize edits from original to two independent derivatives

  44. brightness of add/del face indicates derivative overlapping deleted faces colored yellow

  45. derivative a original derivative b

  46. derivative a original derivative b

  47. derivative a original derivative b

  48. diff sequence visualize edits along sequence

  49. added then deleted faces colored orange

  50. mesh edit merge combining independent edits

  51. merge is automatic if edits do not overlap on original adjacency is maintained; subdivision surfaces

  52. 3-way + merge merge subd

  53. 3-way + merge merge subd

  54. derivative a original derivative b

  55. derivative a original derivative b

  56. edit partitioning reduce granularity of conflicts

  57. choose a neither choose b derivative a original derivative b

  58. future work single object / hierarchical, component attributes low-level ops / high-level operations diff, merge / spatial undo, feature permutation, etc.

  59. summary mesh edit distance : match polygonal meshes iterative greedy algorithm : feasibly approx med mesh edit operations : visualize, apply changes edit partitioning : reduce granularity of conflicts

  60. acknowledgements blender böhler goralczyk grassard kuhn lumpycow nyman silva thomas vazquez williamson intel nsf sloan foundation

  61. thank you!

  62. original derivative

  63. timing chairs 3951 4.7s creature 17433 14.5s dragon 96616 307.9s durano 3722 1.5s hand 209 0.1s keys 1854 6.7s shaolin 2158 2.4s sintel 1810 2.7s spaceship 2173 0.9s shuttle 193970 585.3s woman 13984 33.7s

Recommend


More recommend