Sketch-based Modeling of Parameterized Objects Chen Yang Dana Sharon Michiel van de Panne University of British Columbia 2nd Eurographics Workshop on Sketch-Based.

Slides:



Advertisements
Similar presentations
Calypso Construction Features
Advertisements

Two Segments Intersect?
S2 INVENTOR GAME BOY part one MAIN BODY. S2 INVENTOR Here is what the finished result might look like once put together...
Label Placement and graph drawing Imo Lieberwerth.
Activity relationship analysis
Fault-Fracture charachterization in OpendTect
Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Chapter 7 Creating Graphics. Chapter Objectives Use the Pen tool Reshape frames and apply stroke effects Work with polygons and compound paths Work with.
Smoothing Linework June 2012, Planetary Mappers Meeting.
ME 250: Design & Manufacturing I School of Mechanical Engineering
1 Computer Graphics Chapter 7 3D Object Modeling.
1Ellen L. Walker Recognizing Objects in Computer Images Ellen L. Walker Mathematical Sciences Dept Hiram College Hiram, OH 44234
Contents Description of the big picture Theoretical background on this work The Algorithm Examples.
Clustering Ram Akella Lecture 6 February 23, & 280I University of California Berkeley Silicon Valley Center/SC.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Foundation Knowledge Identify The Problem Explore Interpretations & Connections Prioritize Alternatives Envision Strategic Innovation Confused Fact Finder.
© Siemens Product Lifecycle Management Software Inc. All rights reserved Siemens PLM Software Solid Edge ST6 Training XpresRoute (tubing)
Creating Solid Models Parametric Modeling Concept
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Curve Modeling Bézier Curves
BME506 Pro/E Applications For BME Instructor: Xiangying Chen, Ph.D Dept. of Biomedical Engineering University of Miami.
06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.
Interactive Input Methods & Graphical User Input
University of Puerto Rico at Mayagüez Department of Mechanical Engineering Introduction to NX 6.0 Tutorial 3 Modified by (2011): Dr. Vijay K. Goyal and.
CGMB214: Introduction to Computer Graphics
Edge Linking & Boundary Detection
HOUGH TRANSFORM Presentation by Sumit Tandon
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
Copyright © Cengage Learning. All rights reserved. Polar Coordinates and Parametric Equations.
Chapter 7 Advanced Part Modeling Techniques. After completing this chapter, you will be able to perform the following: –Extrude an open profile –Create.
This is what we want to draw Extrude Mirror Round Edges.
Chapter 4 Working with Frames. Align and distribute objects on a page Stack and layer objects Work with graphics frames Work with text frames Chapter.
Study Lesson 5 Pictorial sketching.
© 2010 Delmar, Cengage Learning Chapter 7 Creating Graphics.
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Geometric Construction & Modeling Basics. Points A point represents a location in space or on a drawing. It has no width, height or depth. Sketch points.
3D Game Engine Design 1 3D Game Engine Design Ch D MAP LAB.
Strategy Using Strategy1. Scan Path / Strategy It is important to visualize the scan path you want for a feature before you begin taking points on your.
Foundation Knowledge Identify The Problem Explore Interpretations & Connections Prioritize Alternatives Envision Strategic Innovation Confused Fact Finder.
XP Tutorial 2 Drawing, Adding Text, and Creating Symbols.
PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey and James Hudson
Getting Started with Adobe Illustrator CS6. Objectives Define illustration software Start Adobe Illustrator CS6 and change preference settings View the.
Course 8 Contours. Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent.
ADOBE INDESIGN CS3 Chapter 7 CREATING GRAPHICS. Chapter 72 Introduction InDesign allows you to create graphics using tools in InDesign The Pen Tool can.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
For Higher Graphic Communication
Descriptive Geometry. Introduction  What is Descriptive Geometry? →It is the study of points, lines, and planes in space to determine their locations.
May 2003 SUT Color image segmentation – an innovative approach Amin Fazel May 2003 Sharif University of Technology Course Presentation base on a paper.
Fundamentals of Autodesk Inventor.  The basic unit of design is the sketch  They are not required to be precise, but it will make your life easier if.
Chapter 7 Vector Editing © 2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website,
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
Chapter 4 Creating Placed Features
Computer Modeling Fundamentals
Computer Modeling Fundamentals
Fitting Curve Models to Edges
Chapter 7 Vector Editing
Interactive Input Methods & Graphical User Input
In this chapter, you will learn the following:
Getting Started with Adobe Illustrator CS6
Interactive Input Methods & Graphical User Input
Hierarchical Modeling & Constructive Solid Geometry
Computer Modeling Fundamentals
Computer Modeling Fundamentals
Spline representation. ❖ A spline is a flexible strip used to produce a smooth curve through a designated set of points. ❖ Mathematically describe such.
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
In this chapter, you will learn the following:
Presentation transcript:

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.  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.

 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.

System Overview

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.

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.

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.

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.

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.

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.

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.

Algorithm for Part Matching Algorithm 1 Part Matching 1: input S(Ns,Es) { Sketch Graph} 2: input T(Nt,Et ) { Template Graph} 3: for i = 1 to Niter do 4: for all nt Nt do 5: C[nt ] ← select( Ns ) 6: end for 7: score ← 0 8: for all et 2 Et do 9: P ← pathset( C[n1(et )],C[n2(et )] ) 10: p ← bestMatchPath( et,P ) 11: score ← score + M(et, p) 12: end for 13: if score > bestScore then 14: update bestScore and best correspondences 15: end if 16: end for

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 perpendicular bisector of the endpoints will have the same curve feature vector. the curve-feature vector is potentially problematic for closed curves.

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.

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.

3D Model Construction

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.

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

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.

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.

The End