480 likes | 733 Views
3D 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. Motivations. Scene might be edited concurrently 3D differencing and merging is tedious manual work
E N D
3D Diff: An Interactive Approach to Mesh Differencing and Conflict Resolution JozefDobošand Anthony Steed
Motivations • Scene might be edited concurrently • 3D 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 • Definition analogous to software merging • Automatically detect differences • Provide interactive ways for merging • Distinction of conflicts • Explicit: components edited concurrently • Implicit: caused by side-effects of merging • Prototype open source tool (3D Diff) • Evaluation of different visualizations with users
Previous Work • Asset management and version control • VisTrails Provenance Explorer for Maya [Bavoil et al. ‘05] • Non-linear Revision Control for Images [Chen et al. ‘11] • 3D Revision Control Framework [Doboš& Steed ‘12] • High-end CAD packages • Model correspondences • Contextual Part Analogies in 3D Objects [Shapira et al. ‘10] • Exploring Shape Variations by 3D-model Decomposition and Part-based Recombination [Jain et al. ‘12]
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 • Automated 3D differencing • Interactive 3D merging • Input • Two 3D models • Optionally their ancestor (resolves ambiguities) • Output • Merged 3D model • Direct conflicts to be resolved in a vertex-level editor
Processing Pipeline • Start from a common 3D scene
Processing Pipeline • Modify independently
Processing Pipeline • Export as files
Processing Pipeline • Load into our tool and automatically diff (2-way)
Processing Pipeline • Optionally add common ancestor (3-way)
Processing Pipeline • Interactively merge
Processing Pipeline • Export as file
Representation • 3D 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 equal • Equality is implementation dependent • Implicit conflict (indirect) • Semantics are violated • Bounding box intersections introduced during the merge process
3D 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 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 • Overlay (merge window only) • Standard (two differenced models + larger merge window) • Smart (standard + indirect conflict detection) • Differences shown as • Color coded highlights • Table with tick boxes • Scene navigation linked across windows • Automated camera
User Study • 3D merging with increasing level of support • Two-way overlay • Two-way standard • Three-way standard • Three-way smart • 8 PhD 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 • Varied in judgement of merge success • Indirect conflict detection considered useful
Conclusions • Problems of 3D 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 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://www.epsrc.ac.uk UCL Engineering Doctorate Centre in Virtual Environments, Imaging & Visualisation http://engdveiv.cs.ucl.ac.uk
Visualizing 3D Models in Aid of Public Consultation • Saturday 11:00 - 12:45, Tourmaline 207