sketch-based modeling of parameterized objects

24
Sketch-based Modeling of Parameterized Objects Chen Yang Dana Sharon Michiel van de Panne University of British Columbia 2nd Eurographics Workshop on Sketch-Based Interfaces a nd Modeling (2005)

Upload: lluvia

Post on 14-Jan-2016

38 views

Category:

Documents


2 download

DESCRIPTION

Sketch-based Modeling of Parameterized Objects. Chen Yang Dana Sharon Michiel van de Panne University of British Columbia 2nd Eurographics Workshop on Sketch-Based Interfaces and Modeling (2005). Introduction. The system we present builds 3D models from hand drawn sketches. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sketch-based Modeling of Parameterized Objects

Sketch-based Modeling of Parameterized Objects

Chen Yang Dana Sharon Michiel van de PanneUniversity of British Columbia2nd Eurographics Workshop on Sketch-Based Interfaces and Modeling (2005)

Page 2: Sketch-based Modeling of Parameterized Objects

Introduction

The system we present builds 3D models from hand drawn sketches.

To make the problem tractable, we make a number of assumptions: First, we equip the system with a priori knowledge

about particular classes of objects that we expect to be drawn using the system. This knowledge is encoded in terms of:

(a) a flexible 2D template that can be matched to the sketch,

(b) a procedure for building the 3D model from the 2D template.

Second, we require that the user draw in a fashion that is not overly sloppy, and require that the user have familiarity with the general structure of the underlying template.

Page 3: Sketch-based Modeling of Parameterized Objects

Our specific contributions are twofold: (1) a sketch recognition algorithm that

is tailored to the needs of sketch based 3D model construction, and

(2) a proof-of-concept system that demonstrates the potential of a new class of sketch-based modeling tools.

Page 4: Sketch-based Modeling of Parameterized Objects

System Overview

Page 5: Sketch-based Modeling of Parameterized Objects

System Overview (segmentation and merging)

The input pen strokes are first preprocessed in order to produce a graph structure. The preprocessing steps consist of

(1) adding nodes at the start and end of each stroke;

(2) adding nodes at corners and points of local curvature maxima;

(3) merging all nodes that are within a threshold distance of each other.

The segmented strokes become the edges of the graph.

The resulting sketch graph will not necessarily be fully connected.

We also choose not to segment strokes at T-junctions; these typically occur when subparts are attached to main object parts and our sketch recognition does not require graph connectivity for the recognition of such sub-parts.

Page 6: Sketch-based Modeling of Parameterized Objects

System Overview(2D template fitting)

This happens at two levels: At the higher level, multiple

object templates are fitted to the sketch graph and scored for their fit.

At a lower level, each object template consists of multiple part templates. Parts may be deemed as mandatory or optional.

A choose-one-of-N option may also be specified.

For example, a cup template can specify that it may have an optional right handle and that the system should choose between a rounded handle part template and a square handle template, depending on which one fits best.

i.e., given N fixed templates, find the best-fit template.

Page 7: Sketch-based Modeling of Parameterized Objects

System overview(3D model construction)

This is done by extracting measurements from the 2D sketch, such as wing length or cup height, as well as by fitting spline curves to particular stroke segments.

Page 8: Sketch-based Modeling of Parameterized Objects

Sketch Recognition (Template Construction)

Like the sketch graph, an object template is a graph, consisting of nodes which represent key points on the object, and edges, which represent curves of particular shapes that are expected to be found in a sketch. A simple graphical user interface supports their construction. Using a mouse, the user selects a set of edges that constitute a desired part template.

Lastly, a hierarchy is established among the parts by designating an edge of an existing part template to serve as the parent edge of the new part template. This serves the dual purpose of introducing a hierarchical order for search and instantiating the model parts, as well as a means to encode knowledge about the relative location of parts.

Page 9: Sketch-based Modeling of Parameterized Objects

Bounding Polygon (BP)

The BP provides the sketch-recognition algorithm with necessary information about the expected relative location of parts and thus serves to greatly constrain the search space of possible correspondences.

The BP is specified during the design of a part template by dragging its vertices to the desired locations in the template sketch window.The polygon lives in a coordinate system that is defined by the parent edge.

Page 10: Sketch-based Modeling of Parameterized Objects

The part templates that are at the root of the part hierarchy, such as the body of the plane or the body of the cup, do not have a parent edge.

By using a normalized coordinate system that is defined by the axis-aligned bounding box of the template sketch, normalized coordinates are computed for each node. the sketch recognition algorithm will only search for correspondences for a template-graph node within a given radius of the expected location.

Page 11: Sketch-based Modeling of Parameterized Objects

Sketch Recognition (Template Matching)

Given a sketch graph and a series of object templates, the sketch recognition system needs to determine which object template best fits the given sketch graph.

A best-fit solution consists of (1) a corresponding sketch graph node for each

template graph node; (2) a corresponding path of one or-more sketch

edges (curves) for each template edge; (3) a score that denotes the quality of the fit.

Page 12: Sketch-based Modeling of Parameterized Objects

Algorithm for Part Matching

Algorithm 1 Part Matching1: input S(Ns,Es) { Sketch Graph}2: input T(Nt,Et ) { Template Graph}3: for i = 1 to Niter do4: for all nt Nt do5: C[nt ] ← select( Ns )6: end for7: score ← 08: for all et 2 Et do9: P ← pathset( C[n1(et )],C[n2(et )] )10: p ← bestMatchPath( et ,P )11: score ← score + M(et , p)12: end for13: if score > bestScore then14: update bestScore and best correspondences15: end if16: end for

Page 13: Sketch-based Modeling of Parameterized Objects

Sketch Recognition (Curve Matching)

We first define a curve feature vector F over paths or edges. This is defined as F = [ f1 f2 f3 ]T ,where f1 = θ, f2 = a/d, f3 = A/d2

Feature f1 encodes preferences for desired angles, as our sketch recognition scheme is not rotation-invariant.

Features f2 and f3 encode information about the type of curve that connects the endpoints and provide useful distinctions between a curve that passes to above or below the straight line (f1), as well as how much the curve meanders(f2).

Limitation two curves that are symmetric with respect to the perpendicul

ar bisector of the endpoints will have the same curve feature vector.

the curve-feature vector is potentially problematic for closed curves.

Page 14: Sketch-based Modeling of Parameterized Objects

Matching Function

The matching function that compares two curve feature vectors is defined as

The wi values provide a relative weighting of the feature vector components.

The matching function provides a maximum score of 1 for curves that are highly similar, and a score of zero for those that are very dissimilar.

Page 15: Sketch-based Modeling of Parameterized Objects

Sketch Recognition (Template Hierarchy)

A threshold Alpha provide a means to allow parts that have a low best-match score to not be instanced as part of the model.

This provides control to the template designer as to whether or not a scribble drawn to the right of the cup should be interpreted as a cup-handle anyhow (low threshold), or as a scribble that is to be ignored (high threshold).

Part templates also provide support for one-of-N matching.

Page 16: Sketch-based Modeling of Parameterized Objects

3D Model Construction

Page 17: Sketch-based Modeling of Parameterized Objects

Results

800 Mhz TabletPC. sketching interface consists of a sketch

area, an area for displaying the resulting 3D model, and a button panel.

3 classes of objects: cups, planes, and fish.

Page 18: Sketch-based Modeling of Parameterized Objects
Page 19: Sketch-based Modeling of Parameterized Objects
Page 20: Sketch-based Modeling of Parameterized Objects
Page 21: Sketch-based Modeling of Parameterized Objects

Discussion

Failure Modes the curve feature vector and the

distance metric associated with it does not always function as desired.

Some sketches are also not recognized because of sloppiness in sketches that results in disconnected strokes.

Scalability

Page 22: Sketch-based Modeling of Parameterized Objects

Conclusions

We have presented a system that supports quick-and-dirty creation of 3D models based upon a sketching interface.

The sketching system has a number of known limitations. If there are many templates loaded, the recognition can become slow and it also becomes more prone to recognition errors.

Page 23: Sketch-based Modeling of Parameterized Objects

Future Work

It might be possible to directly construct the 2D templates from appropriately rendered versions of parameterized 3D models.

We wish to study how users perform with the system in order to provide a more quantitative description of failure modes and determining the extent to which familiarity with the template structure is helpful.

Page 24: Sketch-based Modeling of Parameterized Objects

The End