Click to edit Master title style Click to

  • Slides: 47
Download presentation
Click to edit Master title style

Click to edit Master title style

Click to edit Master title style 3 D Diff: An Interactive Approach to Mesh

Click to edit Master title style 3 D Diff: An Interactive Approach to Mesh Differencing and Conflict Resolution Jozef Doboš and Anthony Steed

Case Study

Case Study

Case Study

Case Study

Case Study

Case Study

Case Study ?

Case Study ?

Case Study

Case Study

Motivations • Scene might be edited concurrently • 3 D differencing and merging is

Motivations • Scene might be edited concurrently • 3 D differencing and merging is tedious manual work • Editing software such as Max, Blender do not aid the merging process • Textual changes unlikely to work • Most of the time entire edits from one version • Various modes of interaction and visualization possible

Contributions 1. Definition analogous to software merging – Automatically detect differences – Provide interactive

Contributions 1. Definition analogous to software merging – Automatically detect differences – Provide interactive ways for merging 2. Distinction of conflicts – – Explicit: components edited concurrently Implicit: caused by side-effects of merging 3. Prototype open source tool (3 D Diff) 4. Evaluation of different visualizations with users

Previous Work • Asset management and version control – – Vis. Trails Provenance Explorer

Previous Work • Asset management and version control – – Vis. Trails Provenance Explorer for Maya [Bavoil et al. ‘ 05] Non-linear Revision Control for Images [Chen et al. ‘ 11] 3 D Revision Control Framework [Doboš & Steed ‘ 12] High-end CAD packages • Model correspondences – Contextual Part Analogies in 3 D Objects [Shapira et al. ‘ 10] – Exploring Shape Variations by 3 D-model Decomposition and Part-based Recombination [Jain et al. ‘ 12]

Software Merging • Versioning – Pessimistic: locking – Optimistic: merging • Merging support –

Software Merging • Versioning – Pessimistic: locking – Optimistic: merging • Merging support – State-based (only state at the time of merging) – Change-based (all individual changes) – Operation-based (changes re-run in editor) • Visualization strategies [Gleicher et al. ‘ 11] – Juxtaposition (side-by-side) – Superposition (overlay) – Explicit encodings (time warp/substractions)

Our Method • Stages 1. Automated 3 D differencing 2. Interactive 3 D merging

Our Method • Stages 1. Automated 3 D differencing 2. Interactive 3 D merging • Input – Two 3 D models – Optionally their ancestor (resolves ambiguities) • Output – Merged 3 D model – Direct conflicts to be resolved in a vertex-level editor

Processing Pipeline

Processing Pipeline

Processing Pipeline • Start from a common 3 D scene

Processing Pipeline • Start from a common 3 D scene

Processing Pipeline • Modify independently

Processing Pipeline • Modify independently

Processing Pipeline • Export as files

Processing Pipeline • Export as files

Processing Pipeline • Load into our tool and automatically diff (2 -way)

Processing Pipeline • Load into our tool and automatically diff (2 -way)

Processing Pipeline • Optionally add common ancestor (3 -way)

Processing Pipeline • Optionally add common ancestor (3 -way)

Processing Pipeline • Interactively merge

Processing Pipeline • Interactively merge

Processing Pipeline • Export as file

Processing Pipeline • Export as file

Representation • 3 D model as a generic scene graph – Directed acyclic graph

Representation • 3 D model as a generic scene graph – Directed acyclic graph – Edges carry no information apart from parenting – Every component is a node (incl. transformations, meshes…) • • • Smallest unit of change is a node Corresponding nodes have matching IDs [Doboš & Steed ‘ 12] Changes tracked: addition, deletion, modification If a node is changed, all instances are affected Graph topologies can be different

Conflicts • Explicit conflict (direct) – Node exists in both models and is not

Conflicts • Explicit conflict (direct) – Node exists in both models and is not equal – Equality is implementation dependent • Implicit conflict (indirect) – Semantics are violated – Bounding box intersections introduced during the merge process

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Differencing

3 D Merging • Aims to build syntactically correct model • Joins resolved and

3 D Merging • Aims to build syntactically correct model • Joins resolved and conflicted nodes • Partial automation – Added – Deleted – Modified • Ambiguities resolved manually – Added/deleted – Deleted/modified – Explicit conflicts

Implementation • • • Independent from modeling tools C++ and Qt Open Asset Import

Implementation • • • Independent from modeling tools C++ and Qt Open Asset Import Library (Assimp) Currently only meshes, extensible to other components Performs in-memory byte-by-byte comparison on – Vertices – Indices – Normals

Visualization • Same UI for 2 -way and 3 -way differencing • Modes 1.

Visualization • Same UI for 2 -way and 3 -way differencing • Modes 1. Overlay (merge window only) 2. Standard (two differenced models + larger merge window) 3. Smart (standard + indirect conflict detection) • Differences shown as – Color coded highlights – Table with tick boxes • Scene navigation linked across windows • Automated camera

2 -way Diff

2 -way Diff

2 -way Overlay

2 -way Overlay

2 -way Standard

2 -way Standard

3 -way Diff

3 -way Diff

3 -way Diff

3 -way Diff

User Study • 3 D merging with increasing level of support 1. 2. 3.

User Study • 3 D merging with increasing level of support 1. 2. 3. 4. Two-way overlay Two-way standard Three-way smart • 8 Ph. D students merged 4 sets of modified models – Sample model – Small industrial model – Large city model • Tests and model sets shuffled according to Latin square

Evaluation • Questionnaire after each test • Participants – Able to explore options easily

Evaluation • Questionnaire after each test • Participants – Able to explore options easily – Varied in judgement of merge success • Indirect conflict detection considered useful

Conclusions • Problems of 3 D differencing and merging are identified • Scene graph

Conclusions • Problems of 3 D differencing and merging are identified • Scene graph abstraction provides syntactically and semantically correct results • Node-to-node correspondence is assumed • Indirect conflict is regarded as a violation of semantics • Interactive prototype tool visualizes both types of differencing

Future Work • • Correspondences to be resolved Granularity of changes might not fit

Future Work • • Correspondences to be resolved Granularity of changes might not fit all projects Differences on vertex-level to be detected Intentions could be automatically inferred

Sponsors Arup Foresight http: //driversofchange. com UK Engineering and Physical Sciences Research Council http:

Sponsors Arup Foresight http: //driversofchange. com UK Engineering and Physical Sciences Research Council http: //www. epsrc. ac. uk UCL Engineering Doctorate Centre in Virtual Environments, Imaging & Visualisation http: //engdveiv. cs. ucl. ac. uk

3 drepo. org

3 drepo. org

Visualizing 3 D Models in Aid of Public Consultation • Saturday 11: 00 -

Visualizing 3 D Models in Aid of Public Consultation • Saturday 11: 00 - 12: 45, Tourmaline 207

Video

Video

Click to edit Master title style

Click to edit Master title style