• No results found

3D Timeline: Reverse engineering of a part-based provenance from consecutive 3D models

N/A
N/A
Protected

Academic year: 2021

Share "3D Timeline: Reverse engineering of a part-based provenance from consecutive 3D models"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

3D Timeline: Reverse Engineering of a Part-based

Provenance from Consecutive 3D Models

Jozef Doboš Niloy J. Mitra Anthony Steed

University College London

+12% -14% +15% -4% +3% -9% -6% +9% -13% +15% -5% +3% -8% -7% +435,860% -46% +76% 0% -14% +10% -21% -26% +132% -69% +170% 0% -32% +23% -98% -6% -67% +199% +1% 0% -11% +7% +25% -26% +175% -1% -29% +22% -41% -29% +171% 0% -32% +22% -41% -32% 0% -21% +14% 0% -28% +20% 0% -31% +22% 0% -28% +20% -37% -26% +4,832% +117% -41% -24% +1,019% -40% -25% -41% -31% -39% -30%

Figure 1: Extracted and collapsed editing timeline (bottom) from 9 keyframes (top) of a genuine modeling sequence with over

7.6 million polygons in total. Legend to the detected operations is listed in §5and the full timeline is in supplemental materials.

Abstract

We present a novel tool for reverse engineering of modeling histories from consecutive 3D files based on a timeline abstraction. Although a timeline interface is commonly used in 3D modeling packages for animations, it has not been used on geometry manipulation before. Unlike previous visualization methods that require instrumentation of editing software, our approach does not rely on pre-recorded editing instructions. Instead, each stand-alone 3D file is treated as a keyframe of a construction flow from which the editing provenance is reverse engineered. We evaluate this tool on six complex 3D sequences created in a variety of modeling tools by different profes-sional artists and conclude that it provides useful means of visualizing and understanding the editing history. A comparative user study suggests the tool is well suited for this purpose.

1. Introduction

As 3D geometry processing tools become more accessible, their use in applications ranging from games through to 3D printing is surging. Consequently, there is a growing need to inspect and organise large model collections. These might arise from archives of similar models that need to be cate-gorised by type or shape. However, we identify a

comple-mentary problem; The organisation of models in a temporal domain of editing history. The problem arises since many tools do not save the editing history, and even if they do, only for a few recent steps. Such native histories can anyway be manually deleted and are also lost when exporting into inter-change formats. Although most tools allow file names to be auto-increment and auto-saved, management of such files is

(2)

poorly supported. This leads to what we might call the disk full of models problem: There is a disk, or a version con-trol repository, with various versions of models, but under-standing the provenance of these potentially large datasets is hard due to little associated metadata. For example in Arup, a multinational engineering firm that is also one of Autodesk’s largest customers, this problem is experienced frequently as projects span multiple specialized 3D software. Their prac-tice is to periodically save snapshots of whole 3D files. Sim-ilar approach is also prevalent in creative industries, e.g., the former Black Rock Studios or Wham Bam Productions, where tools to explore model histories are sorely needed.

Therefore, we present a novel tool that takes sets of mod-els and builds a visualization of a high-level provenance. The tool does this by reverse engineering a plausible history of parts (components) of a model and then by summaris-ing important changes. These are displayed on a timeline that makes it easy to visually track the lifetime of each part and its relation to other parts. Using this tool the user would be able to answer important questions about the model his-tory, such as the timing of a particular change, or the steps at

which an error was introduced. Figure1shows an example.

Grossman et al. [GMF10] visualize the history of images

in a timeline, but to do so they instrument an editor and video record the entire session. Their system has been extended to Autodesk’s CAD software, too. Nevertheless, such a cap-ture might not necessarily exist. This is certainly the case for the majority of legacy 3D models that one might want to inspect. Hence, our tool is agnostic to the editors that gen-erated the models and takes as input complete files. It does not require any instrumentation, nor any editing sequence. In our demonstrations, we used models saved from Autodesk Maya, Pixologic ZBrush, Trimble Sketchup, Blender and Luxology Modo. The models that we tackle initially consist of millions of polygons. To make this tractable from an anal-ysis point of view, and to achieve a concise visualization, our work is based on the observation that many models are com-posed of separate parts rather than single manifold surfaces. Models are thus often comprised of duplicated, symmetric or

self-similar parts [MPWC13]. Hence, our focus is on reverse

engineering the changes in parts and the aspects of duplica-tion, provenance from common roots and instantiation.

Similarly to the very recent inverse image editing

[HXM∗13], we propose a set of simple geometric rules

and methods to detect common edit operations and extract semantic provenance. We further provide a summarization by collapsing non-conflicting edits and removing redundant model snapshots. The analyzed and abstracted timeline can then be displayed in our custom viewer to quickly browse over the edit history and focus on key events. We tested the system on a range of models, often spanning 50-100 snap-shots each with thousands of components, and recovered

compact and informative edit summaries, see Fig.8.

2. Related Work

Grabler et al. [GAL∗09] generate visual tutorials of photo

editing sessions based on author demonstrations in an in-strumented version of GIMP. Chronicle by Grossman et

al. [GMF10] supports document history exploration by

link-ing the editlink-ing events and components of the UI into a video playback. The resulting video is indexed and hierarchically clustered. This, however, requires software instrumentation and large disk space for generated sequences. In the

con-text of 3D models, Denning et al. [DKP11] obtain sequences

using an instrumented Blender plug-in, which records all editing operations. These are clustered by analyzing the fre-quency of repeated operations using substituting regular ex-pressions. In contrast, our method takes just a sequence of models as saved to disk. Even commercial products such

as VisTrails [BCC∗05] plug-in to Autodesk Maya preview

recorded edits. We extract histories when instrumented edit-ing software is unavailable.

Shape analysis. Over the years, researchers have investi-gated how to compute consistent alignments and

correspon-dences within surface pairs [vKZHCO11], and on

collec-tions of 3D models [NBCW∗11,HKG11]. Since in many

contexts point-correspondence can be ambiguous and fuzzy, more abstracted part-based correspondence has been

inves-tigated. Golovinskiy and Funkhouser [GF09] first proposed

consistent segmentation in the context of mesh pairs. They relied on rigid alignment and nearest neighbors to establish correspondences, and jointly segment all the input models into parts. Subsequently, several methods have been devel-oped to address the problem of consistent segmentation and labeling by clustering points in an embedded space of local

shape features [KHS10,HFL12,SvKK∗11,WAvK∗12] or

us-ing coupled modal analysis [KBB∗13], either in supervised

or unsupervised settings. Recently, Kim et al. [KLM∗13]

jointly optimize for correspondence, part segmentation, and part-level deformation to analyze model collections. Unlike these, our goal is to detect editing operations (mesh refine-ment, instancing), while the untouched parts of the meshes remain identical across the frames. The linear sequences re-sult in models that are not suited for coanalysis, since geo-metric similarities are confined to neighboring frames. Mesh morphing. In presence of point-level correspondence information across mesh pairs, early efforts in computer an-imation proposed multiresolution mesh interpolation

frame-works [LDSS99,MKFC01]. Subsequently, algorithms have

been developed to interpolate mesh collections by

construct-ing and navigatconstruct-ing underlyconstruct-ing shape spaces [SZGP05]. Jain

et al. [JTRS12] synthesize new 3D shapes by interpolating

between a pair of input meshes. They segment the models into hierarchies of connected components via intersection detection. A single slider creates intermediate meshes by us-ing the underlyus-ing contact and relation graphs. We too in-terpolate models via a slider, although, our challenge is to reverse engineer the edit trees from the input data.

(3)

Version control. Chen et al. [CWC11] propose a non-linear version control for image edits. They use a directed acyclic graph to represent sequences with graph nodes being edit operations and graph edges being the corresponding spatial, temporal, and semantic relationships. The recorded graphs are then visualized to display revision history. They also propose an easy-to-use interface to support common revi-sion operations (e.g., review, replay, diff, addition, merging,

etc.). In the context of 3D models, Doboš and Steed [DS12a,

DS12b] used two and three-way differencing and merging on 3D assets and introduced a tool to merge changes in scene graph components while resolving conflicts by accept-ing or rejectaccept-ing entire revisions. Correspondence was estab-lished assuming component-level unique name identifiers. More recently, in an interesting system, Denning and

Pel-lacini [DP13] approximate edit distance as a cost of

match-ing elements across two meshes. By treatmatch-ing faces and ver-tices as nodes of a graph with edges representing their ad-jacency relations, they convert the task of mesh differencing into a maximum common subgraph isomorphism problem. The method relies on spatial adjacency and does not handle modeling operations (e.g., instantiation, free-form shape ma-nipulation, remeshing, etc.), which is the focus of our work.

3. System Overview

Given a set of consecutive 3D models, which we call keyframes, our goal is to reverse engineer a modeling tree that explains their relationships. We do this by decomposing the keyframes into parts, and for each part, track its prove-nance, i.e., how it is related to identical or similar parts in adjacent frames. The full modeling tree will then explain the life history of every identified model component. Be-ing an inverse problem, the task is ambiguous with multi-ple intermediate edits potentially explaining the input model sequence. Hence we do not attempt to recover the actual his-tory, nor do we attempt to exhaustively generate all possi-ble permutations of the histories. Instead, we seek to infer a plausible flow of steps that fulfils our assumptions with re-gards to permitted editing operations, and provides a consis-tent explanation of the geometry found in the input models.

3.1. User Interface

From the user perspective, the detected operations together with their visualization and playback form the core output of

our system, see Fig.2. Even though modeling might be

re-garded as continuous in the temporal domain, we discretize

the construction into individual events, see §5.1. In this work

we focus on the following basic component-level operations:

additionand deletion, changes in polycount and size of

cor-responding parts as well as detection of transformations, du-plications, instancing, and repeated copying. As validated

on various modeling workflows in §7, such operations are

dominant in edit histories and understanding them provides valuable insight, albeit not necessarily capturing all of the

Figure 2: Prototype GUI implemented in a cross-platform framework Qt. Morph window (top), keyframes with corre-spondence (middle) and estimated timeline (bottom).

Segmentati on Corr espondence Analysis Input Output

...

...

...

Figure 3: Pipeline. A collection of consecutive models is loaded. In a pre-processing step the meshes are individually segmented and a part-based correspondence is estimated. This is analyzed and the implied editing history is visualized.

steps an artist might have performed. To generate a timeline, the user first loads the model keyframes from which the sys-tem automatically extracts and estimates a component-level correspondence flow across the frames. Subsequently, in the key analysis phase, we imply edit operations and visualize them using a timeline metaphor (see supplementary video). The user can scrub through the timeline, as they might in a video editor, and an animation is created that demonstrates

how the model evolves over time. Similarly to [GMF10], a

timeline compression further simplifies the displayed

infor-mation without violating extracted provenance (Fig.1

bot-tom). Note that in rare cases when automatic correspondence fails, the user can manually override the assignment.

3.2. Processing Pipeline

The input keyframes or modeling “snapshots” provide direct evidence from which our reverse engineering solution

im-plies the missing editing steps that were not recorded, Fig.3:

1. First, in pre-processing (§4), we perform an independent

component analysis to extract model segments and estab-lish the mutual correspondence across the frames.

2. Next, via semantic analysis (§5), we detect editing

(4)

then grouped, and possibly collapsed by merging non-conflicting edit operations across time.

3. Finally, the extracted provenance is visualized as a

time-line (§6) with color-coded correspondence, marked

indi-vidual events, and a playback option. The compressed timelines provide succinct edit summaries showing a quick overview, particularly for long sequences. 4. Pre-processing

Artists typically create, represent, and manipulate shapes as collections of components that are commonly supported by various primitive-based modeling tools. Hence, in contrast to coanalysis of model collections, we have a different

prob-lem (see §2). As demonstrated in [GF09], relying strictly on

a pre-alignment of the meshes can yield poor results. There-fore, we do not make assumptions with regards to the initial global alignment of the models. Instead, we build upon the observation that early design stages are often characterized by massing, i.e., outlining of the most prominent volumes

first before progressively adding detail later [ES11]. Hence,

we focus on establishing a component-level correspondence across the frames, starting with the dominant largest com-ponents that then provide additional contextual information for the less prominent parts allowing factoring out of global rigid transforms. Furthermore, the neighbouring models in a construction sequence tend to be highly correlated with many sections being locally unmodified. We take advantage of this crucial characteristic and formulate a sequential

cor-respondence estimation as explained in §4.1.

Segmentation. We use classical hierarchical face cluster-ing [GWH01] to independently generate non-overlapping components as clusters. This algorithm builds a dual graph of a mesh surface such that nodes represent clusters initially seeded by individual faces while edges, ordered according to the cost of collapsing, their adjacency. At each iteration, the lowest cost edge is removed, its clusters are merged and the costs of their inherited edges are recalculated. Apart from clusters’ planarity, the cost can express conformity to shapes

such as spheres and cylinders (c.f., [AFS06]). The algorithm

proceeds until the edges have been exhausted, effectively identifying disjoint manifold components.

4.1. Correspondence Flow Estimation In pursuance of a correspondence flow

F= {Cti→ Cti+1→ ... → Cti+n}, (1)

i.e., an assignment of a component C at time t to a

com-ponent C0 at time t0, it is simply not sufficient to find the

most similar meshes since components can be deformed, re-fined, copied, etc. Rather, the exact same component needs to be identified and tracked across all keyframes so that its provenance can be reliably implied. Thus, the correspon-dence measure has to be robust to changes in shape and lo-cation, yet discriminate duplication.

PCA-aligned bounding boxes. First, we calculate a prin-cipal component analysis (PCA)-aligned bounding box so as to establish a rough descriptor for each component, c.f., [JTRS12]. PCA of vertices vi in a component C weighted

by the cumulative area Aiof parent faces provides a

trans-formation from the global to a local coordinate system. Let

C[ ¯v, w, h, d] be the bounding box of C in this coordinate

system with a centroid ¯v= ∑ni=1Aivi/∑ni=1Ai, and [w, h, d]

its respective width, height and depth. This bounding box re-flects the spread of vertices along principal axes, is rotation invariant and robust to local geometry modifications. Part-based hierarchy. Building a part-based hierarchy is a common way of adding contextual support and

rela-tive localization to otherwise loose components [SSS∗10,

JTRS12]. Instead of building a complex tree of components, in the next step at each keyframe independently we start with a forest of one-level deep trees rooted at the largest

com-ponents. Hence, a parent CP of a component C is the one

that contains its bounding box and has the largest volume. This provides localized systems where the largest compo-nents have an explicit global reference at the origin. Note that the parental component might not be the same part of a scene as components can be translated, duplicated, discon-nected, etc.

Correspondence estimation. Based on the bounding boxes and the hierarchy, correspondence between components can

be estimated. Let ESbe a similarity error between two

com-ponents C and C0 defined as a l2-norm of their bounding

boxes irrespective of their centroids ¯v, ¯v0

ES:= kC[w, h, d] − C0 [w

0

, h0, d0]k. (2)

We use this error measure to first group self-similar

compo-nents in each keyframe independently, as shown in Fig.4.

Let ELbe a localization error defined as an absolute

differ-ence of Euclidean distances of centroids of the component

bounding boxes C,C0 to the centroids of the bounding

boxes of their associated parental components CP,CP00



as:

EL:=

k ¯v − ¯vPk − k ¯v0− ¯v0P0k . (3)

By combining definitions (2) and (3) for each pair of

com-ponents in two frames we obtain an affinity matrix S as a weighted sum of the similarity and localization errors:

Si, j:= αES+ (1 − α)EL. (4)

Correspondence propagation. Finally, a greedy one-to-one assignment based on the affinity matrix S estimates the

initial correspondence from frame ti to ti−1, see step (2)

of Fig.4. This assignment is then checked for consistency

based on a majority vote within a group. Outliers at ti−1

with correspondence assigned from a non-matching

self-similarity group at ti are reassigned to the remaining

(5)

ti ti-1 (1) ti ti-1 (2) ti ti-1 (3)

Figure 4: Correspondence assignment from time tito ti−1.

(1) Firstly, self-similarity groups are established

indepen-dently within each timeframe. (2) Next, a one-to-one

cor-respondence is assigned. (3) Finally, a consistency check

ensures that all correspondences come from a single

self-similarity group in tibased on a majority vote in ti−1.

flow between groups of components rather than the

individu-als, see step (3) of Fig.4. We proceed through pairs of

neigh-boring frames from the last to the first. If a correspondence cannot be reliably established in two neighbors, a frame can be skipped in order to try and find a match in the next frame repeating such an attempt until a suitable candidate is found or the beginning of the sequence is reached. Due to a mem-bership in a self-similarity group, most components gain not only a one-to-one but also a one-to-many correspondences.

This is illustrated in Fig.8, where massive “funnels”

repre-sent extracted interconnected groups as duplication.

5. Semantic Analysis

As illustrated in (5), correspondence flows can be

repre-sented as a sparse binary m × n matrix Φ, where m is the number of flows and n the number of keyframes.

Φm,n=      t1 t2 · · · tn F1 C1,1 C1,2 · · · C1,n F2 C2,1 C2,2 · · · C2,n .. . ... ... . .. ... Fm Cm,1 Cm,2 · · · Cm,n      (5)

Entries in Φ express a component Ci, j being or not being

present in a keyframe at time tj. Hence, each row defines a

single logical scene-part tracked over time, while columns are collections of components that belong to a particular keyframe. In such a representation the natural temporal or-dering is from left to right, i.e., from the first to the last keyframe. By sorting the rows such that a presence in an earlier column t and more overall entries across all columns are favored, we also gain a top to bottom temporal ordering.

5.1. Editing Operations

Once we have the correspondence flows in matrix Φ, we can inspect the part-by-part changes between pairs of keyframes. Changes are classified into one or more of the following op-erations. We include visual icons for reference.

Addition. A component Ci, j has been added between

tj−1and tjiff it is the first in its self-similarity group and

there is no associated corresponding component Ci, j−1.

Deletion. Conversely, a component Ci, jhas been deleted

between tjand tj+1iff no correspondence at tj+1exists.

Life-span. The difference in time between a component being added and deleted represents its life-span.

Duplication. A component Ci, j is a duplicate iff it is

added but not a template, i.e., not the first in its group.

+N%Polycount increase. A component Ci, jhas increased in

polycountbetween tj−1and tjiff it has a larger number

of polygons than Ci, j−1.

-N%Polycount decrease. Conversely, a component Ci, j has

decreased in polycount between tj−1and tj iff it has a

smaller number of polygons than Ci, j−1.

Size increase. A component Ci, j has increased in size

between tj−1and tjiff its bounding box volume is larger

than that of Ci, j−1.

Size decrease. Conversely, a component Ci, j has

de-creased in sizebetween tj−1and tjiff its bounding box

volume is smaller than that of Ci, j−1.

TN Translation. A component Ci, jhas been translated

be-tween tj−1and tjiff there is a difference T in the global

position of its bounding box centroid ¯vi, jto that of Ci, j−1

or to its template at tjif it is a duplicate.

NxTRepeated copy. A component Ci, jis a repeated copy

be-tween tj−1and tjiff it is a duplicate and its T belongs to

a list of at least 3 successive translations, see §5.2.

Instancing. A component Ci, jis instanced iff it is a

du-plicate and its life-span operations match the template. Our semantic labeling iterates through each row of Φ and for each column (keyframe) it detects these operations one-by-one via a lookup table. Certain operations such as changes in polycount and size can and often do occur simul-taneously.

5.2. Repeated Copying Detection

Apart from instancing, another special case of duplication is repeated copying. A template which was duplicated and

belongs to a self-similar group Gi at time t is a

compo-nent with the largest lifetime. In a case of multiple com-ponents fulfilling this criterion, the choice is arbitrary. Re-peated copying, however, differs from basic duplication in that the translation from the template to each copy is repet-itive, i.e., can be expressed as an incremental succession of the same translation T such that the most immediate copy is assigned 1 × T , the next 2 × T and so on while T is min-imal. Essentially we are looking for a 1-parameter regular

structure (c.f., [PMW∗08]), where the component-based

in-stances and repetitions are exact, and hence easier to dis-cover. We focus on repeated copying that is equally spaced.

In order to unravel repeated copying, the detection algo-rithm proceeds as follows. Given a self-similarity group G,

(6)

(1) CS + -CS (4) (2) CS C'S (3) CS 2x 1xT 2xT 3xT (5) 2x 1x

Figure 5: Repeated copying detection. (1) Distances from

an arbitrary seed CSare calculated. (2) The smallest vector

defines the desired line direction. (3) Components with par-allel vectors are selected and unparpar-allel (4) rejected. (5) The furthest component becomes the new template.

is to find at least 2 other components that would form a

re-peated sequence with CS, their spatial ordering, the template

component and the translation T that governs the repetition.

Firstly, distances from CSto all components are calculated,

step (1) in Fig.5. Let−AC−→S be a vector from any other

ar-bitrary component A ∈ G ∧ A 6= CS. A distance from CSto

B∈ G is considered negative iff−AC−→S·

−−→

BCS< 0. The

compo-nents are then sorted according to the signed distance from

the most negative to the most positive with CS being also

included with a trivial non-negative zero distance to itself.

Let C0S6= CSbe the component with the smallest unsigned

distance (in absolute terms) to CS. Vector

−−→

CSCS0 then defines

a line on which the repeated copying is expected to occur while its magnitude the desired repetition distance, step (2)

of Fig.5. Next, the components are checked one-by-one in

the order of signed distances. Component D is considered a

member of a repeated copying subgroup iff kC−−→SD×

−−→

CSCS0k =

0, i.e., the vector from a seed component to D is parallel with

the desired line and mod(k−−→CSDk, k

−−→

CSCS0k) = 0, step (3) of

Fig.5. If less than 3 components fulfil the condition, vector

−−−→

CSCS00with the next smallest magnitude is selected as the new

seed vector and the process repeats with C0Sremoved from G.

If, however, 3 or more components were found, these form the desired copying subgroup with the head of the list being the new template and the translation calculated as multiplies

from it, step (5) of Fig.5. The subgroup is removed from G

and the algorithm repeats until there is not enough compo-nents or all possible seed distances have been exhausted.

5.3. Timeline Compression

In the Medieval dataset (Fig.2), for example, there are

510 individual components across the sequence, yet these form only 17 component groups altogether. Further, many editing operations are repeated across multiple components such as is the case of instancing while others are independent of each other. Our goal is to simplify the apparent complex-ity of the timeline matrix Φ while preserving the essence of the reverse engineered provenance. Therefore, we perform two analytically independent collapsing steps.

Instanced duplicates by definition have the same opera-tions applied to them as do their templates. Hence, a

row-wise collapsemerges all instances into their parental

com-ponents while remaining comcom-ponents are left unmodified. This significantly reduces the matrix height, in the case of the Medieval dataset from 189 to 28 rows. Operations in neighboring frames that do not affect the same correspon-dence flow are considered independent. It is thus possible to

perform a column-wise collapse given the operations at tido

not collide with those at ti−1and vice versa, i.e., when

oper-ations do not occur in neighboring frames simultaneously.

6. Timeline Visualization

Representing events in a timeline visualization is a com-mon way of abstracting complex temporal interactions into a meaningful easily understandable flow. Apart from linear dependencies, timelines can also display hierarchical

infor-mation [SNF10] and even be used as a collaboration

plat-form [BBB∗10]. In computer graphics, timelines are mostly

used for animation compositing such as is the case of many 3D authoring tools. We have chosen a hierarchical timeline as it matches the linear succession of the input data, yet en-ables us to display dependency relationships between

com-ponents and their groups, see Fig.2. Such a timeline

encour-ages both manual exploration and automated playback. Our

viewer, similarly to [DKP11], provides a main blending

pre-view at the top and a sequence of thumbnail models ordered from left to right underneath. In addition, the reverse engi-neered provenance timeline is at the bottom. Models are ini-tially colored based on their independent segmentation using a random color scheme, but once the correspondence estima-tion has been completed, the colors are consistent across the frames. It is possible to select a single component or their groups to highlight the corresponding parts in the remain-ing frames. The thumbnails can be navigated synchronously while exploring the main preview independently.

6.1. Timeline interface

The timeline is divided into equally spaced buckets that il-lustrate the elapsed time between neighboring frames, see

vertical lines in Fig.1. This is an approximation as there is

no requirement for the input models to be developed in equal amounts of time. Alternating rows signify a correspondence flow each. Life-span of a component is visualized as a col-lection of cubic Bézier curves forming a path that can di-verge from the assigned timeline row whenever a duplica-tion has been detected. These are laid out from top to bot-tom in the order of a template followed by repeated copies and general duplicates. Their coloring is consistent with the correspondence assignment in the thumbnail 3D views. In-stanced duplicates have decreased opacity for easy identi-fication even when the timeline is not collapsed as shown

in Fig.2. Double clicking on a path highlights the assigned

(7)

1xT4 2xT4 3xT4 4xT4 5xT4 6xT4 7xT4 8xT4 t0 t1

Figure 6: Repeated copying blending (detected here on the

Medievaldataset, see Fig.2) is interpolated sequentially.

detected editing operations, as listed in §5.1, are placed on

top of the paths. From left to right the additions are laid out first, followed by relative changes in polycount and size with translations being the last between pairs of 3D models. Such an arrangement ensures that for a duplication the relative ge-ometrical changes appear only once in the timeline while the transformations are placed directly on top of the matching paths. Even though there is no evidence that the events have happened in this particular order, it declutters the interface. Playback blending. Just like in 2D animations, the time be-tween two successive keyframes is linearly interpolated so

that components at tj are morphed into their known state

at tj+1 via the detected editing operations. In addition, the

opacity of a component Ci, j−1changes from 100% to 0%

while for Ci, jit changes in reverse. Those components that

do not change are shown in gray so that modifications stand out during playback. Repeated copies, however, change their opacity one-by-one for a pleasing visualization of the

suc-cessive construction, see Fig.6. Even though linearly

inter-polated, more emphasis can be put on certain operations by slowing down the playback speed for desired event classes. 7. Evaluation

We evaluated our tool on a variety of modeling sequences created by several artists in Autodesk Maya, Pixologic ZBrush, Trimble Sketchup, Blender and Luxology Modo au-thoring tools. Each sequence provides a distinct set of chal-lenges including detailing, large number of polygons and

even organic sculpting. Tab.2lists statistics for these

se-quences while Fig.8shows the implied timelines and some

of the input models with assigned correspondence coloring. Even if the actual editing history existed, it would repre-sent only one plausible evolution that achieves the same se-quence, hence we do not attempt ground truth comparison.

For Eq. (4) we used α = 0.3 and for the repeated copying

detection in §5.2, a zero tolerance threshold σ = 0.0001.

The timeline reveals deformations and other modifica-tions that are hard to detect by visual inspection alone. For example, between the first two keyframes of the Medieval

dataset (top of Fig.8), there is a vertical stretch of the façade

geometry with an upward translation of its roof structures. Even in a direct side-by-side comparison it is difficult to no-tice this, yet both the timeline and the blending preview re-veal it precisely. At close inspection of the Brick and

En-ginedatasets in Fig.8, it can be also seen that the logos

were created separately and put in place once completed. An interesting revelation comes from the Portico dataset consisting of 158 distinct models, the largest se-quence we have tested with our system. A common practice when creating massive 3D models is to temporarily disable or even remove certain parts of a scene in order to lower its memory footprint, hence unburden the editor. This hidden geometry is then reintroduced at a later stage when the full scene is required. As visible in the first 29 keyframes (repre-sented by 7 green thumbnails at the beginning of the last

se-quence in Fig.8), the modeler created a set of pillars with

at-tempted detailing, which then disappear altogether. Later the columns reappear, this time, however, with a different height and shape. Unlike the common practice described above, our tool identifies this as a massive deletion followed by an addi-tion as the reintroduced geometry significantly differs from that of the supposed original. We have reached out to the modeler who confirmed that it was indeed the intention to delete the first version of the columns so that the positioning and the height of the roof would govern their construction.

MeshGit comparison. MeshGit [DP13] focuses on

vertex-level differencing and merging, hence a complementary reverse engineering subproblem. Being higher-level and component-based, our detection is faster and scales to big-ger datasets. For example on shuttle, their largest exam-ple evaluated on comparable hardware, it takes 9.7 minutes vs. mere 14 seconds in 3D Timeline. On our datasets where there are strong changes in adjacency of vertices and faces, MeshGit matches large areas that do not correspond as

repo-sitioned, added or deleted, see Engine in Fig.7. We can

also handle modifications that translate components signif-icantly, the main limitation discussed in their paper.

Never-MeshGit 3D Timeline shuttle Engine 1-12 +195%T0 T1 -32%T2 +71%T3 +13% T4 T5 +37%T6 +127%T7 +23%T8 T9 +195%T10 T11 -32%T12 +71%T13 +13% T14 T15 +37%T16 +127%T17 +23%T18 T19 T20 +825%T21 +24%T22 +16%T23 T24

Figure 7: MeshGit comparison with their shuttle model and the first 12 frames of our Engine dataset. MeshGit shows changes in adjacency (red/green), geometry (blue) and sequential changes (orange). Timeline shows unmodi-fied component groups (gray) and modiunmodi-fied (corresponding colors). More examples are in the supplemental materials.

(8)

+887% T15 +78% T16 +199% T17 +16% T18 +1,642% T19 +19% T20 +509% T21 +2,860% T22 +5% T23 +980% T36 +7% +13% T37 +155% T45 +43% +200% T50 +120% T51 +81% T52 T53 +1,387% T85 T87 +1,387% T88 +1,387% T89 +666% T0 +482% -20% +3% +36% -44% T1 +100% T2 T3 T4 +8,300%T8 +1,000%T44 +90% +223% +50% +200%T45 +3% T46 +1% +1%T1+1%T2+1%T3T4+2%T5+650%T23+27%T24+25%T25 +33%T26+2%T6T27T7-1%T8T28 -18%T9+9%T10-1%T11+6%T12+1%T13-1%T140%T15+2%T16+2%T17 0%T18 T19+4%T20+1%T21 T22 +17%T51+100%+150%T56 +3%+3%-75%T52+300%T53T27+22%T54+27%T55+2% +39%T71T63+9%T64T72+84%+68%T65T73T84+877%T85+9%+11%T86 T87T88 T88T87 +661%-16%+10%T94T96 +31%-15%T95T97+44%T98 -8%T99+133%T100-92%T101 +7%T102+77% +33% T103+3,300%T104+50%T105+5%T106 +1%T107+3%T108 +100%T110+83%T111+8%T112+37%T113+54%T114T115+405%T131+62%T132-4%T116T133T117T134 T118+21% T119 T120 T135 T136 +169%T137+125%T138 +44%T140+10%T141+5%T142T144 -3%T1450%T151+196%-41%T146T152+94%T147T148 T149 -11%T153-56%T154 -64%T155 T143T156T158T157 -66%T161+196%T162 -52%T163 T164 +75%T165+17%T166+42%T167-4% T168 T169 +8%T170+38%T171T172T174 T176 -17%T177 -25%T179-45%T180 +73%T181+21%T182+85% +111%-12%T183-1%T184+100%T185 +57%T187-82%T188 -38%T189+31%T190-7%T191-41%T192+67%T193-21%T194 +400%T195-41%T196+1%T197+129%T198-45%T199+46%T200 +50%+30%+27% T201 +1%T204+2%T205+28%T206+148%T2070%T208 +183%T209T172+491%T211 T173+491%T212 +86%T215+31%T216+228%T218 T221T222T223 -83% T172-83%+491% T225-83%+491%T211+491%-83%T226 +29%T231-24%T232-12%T233-70%T234+689%T235 -83% +5%T236-76%T237 +64%0%T238-2% -27%T239 -83%T226 +79% +36%T241 +3%T243+141%-7%+13%T244T246-23%-12%T245T247 -27%T248+38%+45%T249 -5%T2500%T2510%T252+2%T2530%0%T2540%T255 0%0% 0%T256T257 T258 T259+491%T260 T220T261 -73%T262T264 T222T220T172T225 +40%T268+34%T269-15%T270+25%T271+46%T272T273T274T275 -18%T276-27%+39%T277T305+22%T172T278-25%T279-78%T280+158%T281+129%T282+26%T283-72%T284+90%T285-71%T286+136%T287+104%T288-51%T289-22%T290+128%T291-10%T292-87%T293+397%T294+126%T295+49%T296-19%T297-15%T298-66%T299+124%T300-42%T301-61%T302+158%T281 +136%T303+63%T304 +176% -9%T306+97% +11%T307 +173%T308 -33%T309-23%T310+105%T311-17%T312+32%T313-12%-27%T314+37%T315+5%T316 +30% +97%+41%T317T319 +42%T320+12%+30% -39%T323-26%T324 -47%T325+89%T326T150 -23%+31% +100%T328 -47%+89% T329+1,500%T330+256%T331 +54%+42% T332 +16% +66%T333 -3%T334 -23%+31% -33%T335+54%-75%+11%T336T337 T338 +5%T340+42%+62%-17%T341-32%T342-43%T343+23%T344+40%T345+59% +90%T346+42%T347+159%T348 +39%+11%T349+4%+12%T350+4%+3%T351 -14%T352 +7%+41%+41%+66%T353 T357 T354 +50%+85%T360 +108% -80%T361+272%+38%+173%T362 +23%T365+15%+560% +228%T218 -2% +28%T366 +17%+171%T367-51%T368-66%T369-7% -4%T370-9%T371-1%T372 +140%T373+166%T374 -48%T376 +39%T377+8%T378 -46%T379+75%+54% T380+32%T384-49%-49%T381+6%+6%T382-68%-68%T383 +25%T385T3900%T386-6%T387T391 T388 +1%T389 T221 T356 T222 T392 T223 T393 -83%T394T227 +491%+491%T211T212 -83%-90%T226T397 +491%T400 T401 -83% +491% -90% +99%-83% +491% -83% -6%T403+228%T404T150-69%T405 +228%T218 -83%T240 +3% T224 -83%T394-41%T410+69%T411 +491%+491%T408T212T407 +124%T412-16%+97%T413T416+111%+46%T414T417-78%-2%-83%T415T418T226 +72%+253% -83% -19%T420+20%T421 +12%T422-91%T423+906%T424+29%T425-22%T426 -31%T427+174%T428 -71%T431-41%+69% +491% +102%T432-33%T433+50%T434 -63%T435+491% +300%T436+200%T437+8%+21%T438T440+7%T439 -73%T441 T172T173T213T458T210T214T461T462T463T464T172T225T466T429T430 T467 T430 T150T468T455 +1%T469-60%T470+31%T471+5%T472-5%T473 -32%T474-8%T475+23%T476+39%T477-5%T473-15%T478+4%T479-13%T480+16%T481+66%T482+19%T483T484+39% T4850%T4860%T487-55%T488+95%T489-48%T490+123%T491-24%T492+26%T493-40%T494+74%T495-55%T488+98%T496-35%T497+63%T498-7%T499+15%T500-55%T488+123%T5010%T487-13%T502+15%T500+42%T503+5%T504-27%T505 T5060%T508T507+4%0%T509-55%+95%-48%+123%-24%+26%-40%+74%-55%+98%0%-35%T510+63%T511-7%+15%-55%+123%0%0%0%-13%+15%+42%+5%-27% T512T513-36%T514-34%T515 -42%+74%-55%+98%-35%+63%-7%+15%-55%+123%0%-13%+15%+42%+5%-27%T517-40%T518 +13%T519-11%T520 +43%T521 +136%T523-11%+57%T540-3%-13%-28%T524T546T541+39%+119%+3%T542T525-36%T543+18%+25%T544T526+2%-16%T545-6%-42%T527-14%+74%T528-55%+3%T525+8%+98%T529-1%-35%T530+6%+63%T531-7%-6%T532+15%-31%T533-22%-55%T534+123%-23%T535+31%0%T471-23%-13%T535+15%+42%+68%T536+5%-40%T537+68%-27%T536-76%T538 T547 +83%+164%T548+200%T549T550+36%+883%T551+1%T552+20%T553+35%T554 -39%T555+64%T556-42%T557+168%T558 +78%+59%-30%T559+57%T560-29% +520%T561+10%T562 +54%T337 -26%T563+7%T564-12%T565+57%T540-36%+4%-13%+15%+42%+5%-27% +355%T566+192%T567+100% -24%T568+33%T569-25%T570-23%T571 -11%+13% -26%T572+35%T573-26%-40% +13%-11% +43% +13%T588-12%T589+1,400%-44%T590T595-13%+53%T591T596+89%+27%T597T592+105%-33%T598T593+63%T498-38%T594+57% +33% -24%T599 +38%T600-6%T601T484+39% -26%T563+35%T602-23%T603+42%T604-36%T543 T605T606 T613T614 +56%T615 -20%T616 -32%T617 +111%T618 +123%T491 +195%T0 -32%T1 +71%T2 +13%T3 T4T5 T6 +37%T7 +127%T8 +23%T9 T10 T11 T10 +37%T12 T13 T14 T13T14 T13 T14 T13 T14 T13 T14T13 T25 T26 +825%T27 +24%T28 +16%T29 +133%T31 +62%T35 T39 T40 +73%T51 +289%T52 T53 +175%T54 -63%T55 T56 T57 T56 T58 T56 T62 -57%T63 T64 +2,400%T85+3,782%T86 -42%T87 +175%T88 +96%T90 +104%T91 -15%T92+13,233%+3%T107 +136%T108 +158% +6% -99%T93 +130%T94 +103%T95 +3,037%T96 +24%T97 T98 +4%T99 +4% T109 T111 T114 T115 T116 T117 T118 T119 +1,068%T124+1,500%T125 T129 T133 -40%T134 T135 T136 -40%T137 T64 T140 +420%-40%T141 +130% +103% +3,037% +24% T142 +4% +4% T143 T144 T143 T187 T189 T142 T202 T209 T210 T211 T212 -69%T213 +140% +100% T214 T219 T220 T221 -97%T222 +72% T223T225 T224 -72%T226 +69%T227 +182%T228 T229 +3,260%T230 T231 +37%T232 -66%T0T16+418%T17+3,840%+15%T1T2 +8%+8%T3+65%+65%T4 0%0%T5+24%+24%T18T6 -5%-5%T7 -19%-19%-19%T19T8+13%T20T9 -29%-29%T10 T21T11 0%0%0% +699%+699%T12+129%+129%T13+5%+5%T14+3%+3% 0%0%T15 T22 0% +699% +129% +5% +3% 0% T23 +13%T24 T25-29%T10 T23T25 T28T26 +1%0%0%+1%T27T29+699% +129% +5% +3% 0% +7% T31 T34-57%T35 -51%T30 0%0%0% +699%+699%+699% +129%+129%+129% +5%+5%+5% +3%+3%+3% 0%0%0% -51% 0% +699% +129% +5% +3% 0% -12%T52+942% +207% +22%T53+7% -57% 0%T54 -99%T55 -51%T56 T57+572%T58+10%T59 T60 0%0% +699%+699% +129%+129% +5%+5% +3%+3%+39% 0%0% +24%T61 T62T63 +18,757%T67 -45%T68 -11%T69 +13%T73-39%T74+400% +129% -38%T75 T76 T77T78 T79 -29%+13%T80 T81 T82 T83 +17%T70+33%T71T84+11%0%0%0%T85T72+699% +129% +5% +3% 0%T92T91T90T89T88T87T86 T93T94 T95 T96 T97 -41%T152 +74%T153 +47%T154 +23%T155T156+833%T158+89%T159 -92%T160+3,000% +51%T166T161 +54% +282%T171 +46%T172 +89% +28%T167 -45%+89%T162T168 +93%-44%T163T169+65%+39%T164T170 +1% +6%+5% T157 +1% +28% +94% +63%T165T173 +325%T174 T2882 -82%T175T2872T2883 T3623 T3624 T3630 T3631 T3632 T3633 T4747 T4748 T4749 T4750 T4751 T4752 T4753 T4754 T4755 T4756 -38%T4953 T4954 T4955 T4960 T4961 T4962 T4963 T4964 0%T4965 +76%

Figure 8: Results: Collapsed timelines for Medieval, Brick, Engine, Cruciform and Portico datasets as presented

in Tab.2. Character sequence is shown in Fig.1. Full timelines can be found in the supplemental materials. Please note that

for brevity only a subset of the keyframes are shown for the Engine, Cruciform, and Portico datasets. See supplemental materials for full timelines or zoom in on PDF.

(9)

theless, in most cases MeshGit provides valuable insight into fine-grained editing that our solution does not. Note that it is conceivable to use 3D Timeline for component-based analy-sis and MeshGit for vertex-level differences in conjunction. User study. In order to evaluate the usability of our tool, we have conducted a preliminary user study with 8 postgraduate researchers in the field of computer graphics. Each partici-pant indicated an intermediate or an expert level of experi-ence in 3D modeling. To compare and contrast the timeline, a multi-view interface with only a basic side-by-side visu-alization and interlinked navigation was used. Participants were given a sample dataset before each trial to familiar-ize themselves with the interface. The task was to answer a short quiz with regards to the modeling provenance. After

each session a system usability scale (SUS) [Bro96]

ques-tionnaire was handed out. The order of the datasets as well as of the interfaces was shuffled according to Latin square. Table 1: Pilot user study results based on 3 quiz questions in a multiview and a timeline interface, time to completion

& the system usability scale (SUS) scores.T = true, F = !T.

Experience Q1 Q2 Q3 Timeu[m] SUS Q1 Q2 Q3 Timeu[m] SUS P1 Itermediate F F F 5.9 70.0 F T T 3.3 67.5 P2 Expert T T T 1.8 75.0 T T T 2.5 37.5 P3 Intermediate T T F 3.1 75.0 F T F 2.0 72.5 P4 Intermediate F F T 2.3 67.5 F T F 4.3 67.5 P5 Expert F F F 3.6 44.5 T T F 1.5 77.5 P6 Intermediate F F T 4.3 47.5 T F F 2.6 60.0 P7 Intermediate F F F 2.4 37.5 T T F 1.9 85.0 P8 Intermediate F F T 1.5 37.5 F T F 1.5 87.5 AVG 25% 25% 50% 3.1 56.8 50% 88% 25% 2.4 69.4 Multiview Timeline

The overall average success rate of the quiz in the time-line interface was 54% versus 33% in the multiview. As

shown in Tab.1, the timeline also scored better in terms of

the system usability scale reaching grade B, i.e., an above the average user interface for the task at hand. According to this score, the users found it easy to familiarize themselves with the interface. In general, they also indicated that they would not need any technical assistance and would happily use it again. Note that the user study had only very small sequences with 6 consecutive frames to give the baseline viewer a fair chance. In our experience, on longer sequences (15+ frames), visual inspection becomes impossible. 7.1. Discussion

As shown in Tab.2, the performance depends on the number

of polygons, the number of components and their structural organization. On input, we do not make any assumptions about the temporal coherence of modeling effort neither rely on any scene graph organizational structures. If the frames are too close to each other, i.e., identical, our algorithm de-tects no changes and those are collapsed. If they are too far apart, i.e., too dissimilar, at some point the correspondence estimation will fail, hence components would be marked as deleted in one and added in the subsequent frame.

Limitations. The system in its current form cannot imply the relative ordering of operations between two frames. For example, it cannot be reliably decided whether an increase in the number of polygons has happened before or after a dupli-cation. Therefore, future study into modeling behavior based on software instrumentation might provide evidence for pat-terns of events that occur more frequently than others. Sim-ilarly, the choice of a template component for duplication is arbitrary, although, it might be possible to devise additional sets of rules to break ties. Further, we do not detect any join operations such as multiple components becoming a single manifold surface. This is especially noticeable in the most challenging Portico dataset where most of the façade is modelled as a single continuous mesh. Our solution can suc-cessfully track major changes across most frames, however, in the 158 models it looses track in 4 instances visible as

steps at the bottom of Fig.8. Even though the

correspon-dence estimation is greedy, hence not globally optimal, it is robust and together with our changes detection can un-cover even non-rigid transformations such as bending.

Un-like [PMW∗08], however, the tight threshold of our repeated

copying detection does not support approximate regularities.

8. Conclusions

We presented a tool for reverse engineering of a part-based provenance from linear sequences of 3D models. Our ap-proach does not require recording of individual edits dur-ing construction, hence, it is applicable to all sorts of legacy datasets. The tool was successfully tested on 6 construction sequences spanning architectural modeling, CAD prototyp-ing and even free form sculptprototyp-ing. Our pilot user study sug-gests this tool to be usable by untrained users who preferred it over a standard side-by-side visualization. This tool can be useful to artists revisiting modeling processes to learn from. Future work. A simple addition in the future will be ap-plication of a heat map to visualize the rate of change on the morphed model itself. Further, we plan to add semantic differencing at the level of individual vertices and faces af-ter the part-based correspondence has been established. An interesting avenue will be the exploration of automated in-tention preservation while modifying the timeline. We hope this type of UI will motivate software vendors in the future.

Acknowledgements

We would like to thank Jules Bodenstein, Marcin Klicki, Johnathan Good and Ian Brown for modeling sequences, the participants of the user study, the reviewers for their feedback, and the authors of MeshGit for releasing their software. This research was sponsored by the UK EPSRC-funded EngD. Centre in Virtual Environments, Imaging and Visualisation (EP/G037159/1), the Rabin Ezra Trust, Arup, and the ERC Starting Grant SmartGeometry. A sabbatical at Electronic Arts informed parts of this work.

(10)

Table 2: Statistics for the test sequences evaluated on a Thinkpad X230 with Intel Core i7-3520M CPU @2.90 GHz with 16 GB RAM on Windows 8. From left to right: the number of frames in a sequence, the cumulative number of polygons, the number of detected components, duration of the correspondence estimation, duration of the timeline analysis, sum of correspondence and

analysis and the overall number of components processed per second (Components / (Correspondence + Analysis)×1000).

Dataset Frames Polycount Components Corr. [ms] Analysis [ms] Total [s] Throughput [C/s]

Medieval 6 16,005 510 51 40 0.09 5,604 Brick 16 16,703 141 47 25 0.07 1,958 Engine 55 3,414,103 2,460 1,435 512 1.95 1,264 Cruciform 74 924,123 23,695 74,712 1,140 75.85 312 Portico 158 2,442,104 3,622 1,908 784 2.70 1,346 Character 9 7,609,539 189 6,685 1,875 8.56 22 References

[AFS06] ATTENEM., FALCIDIENOB., SPAGNUOLO M.: Hi-erarchical mesh segmentation based on fitting primitives. Vis. Comput. 22, 3 (Mar. 2006), 181–193.

[BBB∗10] BOHØJ M., BORCHORST N. G., BOUVIN N. O.,

BØDKERS., ZANDERP.-O.: Timeline collaboration. In Proc.

SIGCHI(2010), pp. 523–532.

[BCC∗05] BAVOIL L., CALLAHAN S. P., CROSSNO P. J.,

FREIREJ., SCHEIDEGGERC. E., SILVAC. T., VOH. T.:

Vis-trails: Enabling interactive multiple-view visualizations. In Visu-alization, 2005. VIS 05. IEEE(2005), IEEE, pp. 135–142. [Bro96] BROOKEJ.: SUS: A quick and dirty usability scale. In

Usability evaluation in industry, Jordan P. W., Weerdmeester B., Thomas A., Mclelland I. L., (Eds.). CRC Press, London, 1996. [CWC11] CHENH.-T., WEIL.-Y., CHANGC.-F.: Nonlinear

revision control for images. In ACM SIGGRAPH (2011). [DKP11] DENNINGJ. D., KERRW. B., PELLACINIF.:

Mesh-flow: interactive visualization of mesh construction sequences. ACM Trans. Graph. 30, 4 (July 2011), 66:1–66:8.

[DP13] DENNINGJ. D., PELLACINIF.: Meshgit: diffing and merging meshes for polygonal modeling. ACM Trans. Graph. 32, 4 (July 2013), 35:1–35:10.

[DS12a] DOBOŠJ., STEEDA.: 3d diff: an interactive approach to mesh differencing and conflict resolution. In SIGGRAPH Asia 2012 Technical Briefs(2012), pp. 20:1–20:4.

[DS12b] DOBOŠJ., STEEDA.: 3d revision control framework. In Proc. Web 3D (2012), pp. 121–129.

[ES11] EISSENK., STEURR.: Sketching: The Basics. BIS Pub-lishers B.V., 2011.

[GAL∗09] GRABLERF., AGRAWALAM., LIW., DONTCHEVA

M., IGARASHIT.: Generating photo manipulation tutorials by demonstration. ACM SIGGRAPH 28, 3 (2009), 66:1–66:9. [GF09] GOLOVINSKIYA., FUNKHOUSERT.: Consistent

seg-mentation of 3D models. Proc. SMI 33, 3 (2009), 262–269. [GMF10] GROSSMAN T., MATEJKA J., FITZMAURICE G.:

Chronicle: Capture, exploration, and playback of document workflow histories. In Proc. UIST (2010), ACM, pp. 143–152. [GWH01] GARLANDM., WILLMOTTA., HECKBERTP. S.:

Hi-erarchical face clustering on polygonal surfaces. In I3D (2001). [HFL12] HUR., FANL., LIUL.: Co-segmentation of 3d shapes

via subspace clustering. SGP 31, 5 (2012), 1703–1713. [HKG11] HUANGQ., KOLTUNV., GUIBASL.: Joint shape

seg-mentation with linear programming. ACM TOG 30, 6 (2011). [HXM∗13] HUS.-M., XUK., MAL.-Q., LIUB., JIANGB.-Y.,

WANGJ.: Inverse image editing: Recovering a semantic editing history from a before-and-after image pair. TOG 32, 6 (2013).

[JTRS12] JAIN A., THORMÄHLEN T., RITSCHEL T., SEIDEL

H.-P.: Exploring shape variations by 3d-model decomposition and part-based recombination. CGF 31, 2pt3 (2012), 631–640.

[KBB∗13] KOVNATSKYA., BRONSTEIN M. M., BRONSTEIN

A. M., GLASHOFFK., KIMMELR.: Coupled quasi-harmonic bases. In CGF (2013), vol. 32, pp. 439–448.

[KHS10] KALOGERAKIS E., HERTZMANN A., SINGH K.: Learning 3D mesh segmentation and labeling. In ACM SIG-GRAPH(2010), pp. 102:1–102:12.

[KLM∗13] KIMV. G., LIW., MITRAN. J., CHAUDHURIS., DIVERDIS., FUNKHOUSERT.: Learning part-based templates from large collections of 3d shapes. SIGGRAPH 32, 4 (2013). [LDSS99] LEE A. W. F., DOBKIN D., SWELDENS W.,

SCHRÖDERP.: Multiresolution mesh morphing. In Proc.

SIG-GRAPH(1999), pp. 343–350.

[MKFC01] MICHIKAWA T., KANAI T., FUJITA M.,

CHIYOKURA H.: Multiresolution interpolation meshes. In

Proc. Pacific Graphics(2001).

[MPWC13] MITRAN. J., PAULYM., WANDM., CEYLAND.: Symmetry in 3D Geometry: Extraction and Applications. Com-puter Graphics Forum 32, 6 (2013), 1–23.

[NBCW∗11] NGUYENA., BEN-CHENM., WELNICKAK., YE

Y., GUIBASL.: An optimization approach to improving collec-tions of shape maps. SGP 30, 5 (2011), 1481–1491.

[PMW∗08] PAULYM., MITRAN. J., WALLNERJ., POTTMANN

H., GUIBASL. J.: Discovering structural regularity in 3d geom-etry. ACM Trans. Graph. 27, 3 (Aug. 2008), 43:1–43:11. [SNF10] STABC., NAZEMIK., FELLNERD. W.: Sematime

-timeline visualization of time-dependent relations and semantics. In Proc ISVC (2010), pp. 514–523.

[SSS∗10] SHAPIRAL., SHALOM S., SHAMIRA., COHEN-OR

D., ZHANGH.: Contextual part analogies in 3d objects. Int. J. Comput. Vision 89, 2-3 (Sept. 2010), 309–326.

[SvKK∗11] SIDIO.,VANKAICKO., KLEIMANY., ZHANGH., COHEN-ORD.: Unsupervised co-segmentation of a set of shapes via descriptor-space spectral clustering. ACM SIGGRAPH Asia 30, 6 (2011), 126:1–126:9.

[SZGP05] SUMNER R. W., ZWICKER M., GOTSMAN C.,

POPOVI ´CJ.: Mesh-based inverse kinematics. ACM SIGGRAPH

24, 3 (2005), 488–495.

[vKZHCO11] VAN KAICK O., ZHANG H., HAMARNEH G., COHEN-ORD.: A survey on shape correspondence. CGF 30, 6 (2011).

[WAvK∗12] WANGY., ASAFIS.,VANKAICKO., ZHANGH., COHEN-ORD., CHENB.: Active co-analysis of a set of shapes. ACM SIGGRAPH Asia 31, 6 (Nov. 2012), 165:1–165:10.

References

Related documents