Sorce: Suggestive Contours for Conveying Shape. (SIGGRAPH 2003) Doug DeCarlo, Adam Finkelstein, Szymon Rusinkiewicz, Anthony Santella. 1 Suggestive Contours.

Slides:



Advertisements
Similar presentations
Data Visualization Lecture 4 Two Dimensional Scalar Visualization
Advertisements

Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Differential Geometry
Surface Reconstruction From Unorganized Point Sets
CHAPTER 11 Vector-Valued Functions Slide 2 © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 11.1VECTOR-VALUED FUNCTIONS.
Illustrating Smooth Surfaces Aaron Hertzmann Denis Zorin New York University Presented by Mark Blackburn, Fall 2005.
Extended Gaussian Images
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
A wave front consists of all points in a wave that are in the same phase of motion. A wave front is one of many properties that light waves share with.
Suggestive Contours for Conveying Shape Doug DeCarlo, Adam Finkelstein, Szymon Rusinkiewicz, and Anthony Santella.
Edge Detection CSE P 576 Larry Zitnick
Inspiration: Brent Collins’ “Pax Mundi” a sweep path on a sphere.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Mesh Simplification Global and Local Methods:
EFFICIENT RENDERING LARGE TERRAINS USING MULTIRESOLUTION MODELLING AND IMAGE PROCESSING TECHNIQUES Ömer Nebil YAVEROĞLU Department of Computer Engineering.
Offset of curves. Alina Shaikhet (CS, Technion)
Shortest Geodesics on Polyhedral Surfaces Project Summary Efrat Barak.
Suggestive Contours Final programming assignment Advanced topics in Computer Graphics.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
May 2004Stereo1 Introduction to Computer Vision CS / ECE 181B Tuesday, May 11, 2004  Multiple view geometry and stereo  Handout #6 available (check with.
Multiple Integrals 12. Surface Area Surface Area In this section we apply double integrals to the problem of computing the area of a surface.
UNIT CIRCLE. Review: Unit Circle – a circle drawn around the origin, with radius 1.
Definition of Trigonometric Functions With trigonometric ratios of acute angles in triangles, we are limited to angles between 0 and 90 degrees. We now.
One Mark Questions. Choose the Correct Answer 1.If p is true and q is false then which of the following is not true? (a) ~ p is true (b) p  q is true.
Shadow Algorithms Ikrima Elhassan.
SIGGRAPH 2007 Tilke Judd Frédo Durand Edward Adelson.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
COMPUTER GRAPHICS CS 482 – FALL 2014 AUGUST 27, 2014 FIXED-FUNCTION 3D GRAPHICS MESH SPECIFICATION LIGHTING SPECIFICATION REFLECTION SHADING HIERARCHICAL.
1 Chapter 2 Vector Calculus 1.Elementary 2.Vector Product 3.Differentiation of Vectors 4.Integration of Vectors 5.Del Operator or Nabla (Symbol  ) 6.Polar.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
Unit 5 Vocab By: Mika Hamady. Acute Angle Definition: An acute angle is an angle that is less then 90 degrees. Examples: 1.A 43 degree angle is acute.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
1 A unit circle has its center at the origin and a radius of 1 unit. 3.3 Definition III: Circular Functions.
Electric Flux and Gauss Law
Progress Report Development of a Driver Alert System for Road Safety.
Three-Dimensional Solids Polyhedron – A solid with all flat surfaces that enclose a single region of space. Face – Each flat surface of the polyhedron.
Andrew Nealen / Olga Sorkine / Mark Alexa / Daniel Cohen-Or SoHyeon Jeong 2007/03/02.
Now days, sampled 3D models become more widespread in many fields and applications. It is often necessary to have a credible 2D model that emphasizes.
03/28/03© 2005 University of Wisconsin NPR Today “Comprehensible Rendering of 3-D Shapes”, Takafumi Saito and Tokiichiro Takahashi, SIGGRAPH 1990 “Painterly.
Realtime NPR Toon and Pencil Shading Joel Jorgensen May 4, 2010.
Geometry of Shape Manifolds
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Shading in OpenGL Ed Angel Professor Emeritus of Computer Science University of New Mexico 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E.
Copyright © Cengage Learning. All rights reserved. 16 Vector Calculus.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
A New Voronoi-based Reconstruction Algorithm
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.
Geometric Modeling with Conical Meshes and Developable Surfaces SIGGRAPH 2006 Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang and Wenping.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
1Ellen L. Walker 3D Vision Why? The world is 3D Not all useful information is readily available in 2D Why so hard? “Inverse problem”: one image = many.
Edges and Lines Readings: Chapter 10:
Ship Computer Aided Design
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
TRIGONOMETRY – Functions 1 We will now place the angle in the x–y plane. The initial side of the angle will always be placed on the (+) side of the x –
Plane and Space Curves Curvature-based Features
Find the derivative of the vector function r(t) = {image}
Fitting Curve Models to Edges
Suggestive Contours with Geometry Shader
Edge Detection Today’s readings Cipolla and Gee Watt,
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

Sorce: Suggestive Contours for Conveying Shape. (SIGGRAPH 2003) Doug DeCarlo, Adam Finkelstein, Szymon Rusinkiewicz, Anthony Santella. 1 Suggestive Contours for Conveying Shape CS 174 Robert Li May 24, 2004

Contours Contour Generator = all p s.t. n(p)٠v(p) = 0 set of points on the surface such that the unit surface normal is perpendicular to the view vector. Contour = The visible portions of the contour generator projected onto the image plane S = a smooth closed surface n(p) = unit surface normal at p v(p) = c - p, the view vector p = a point on S c = the camera

Curvature The curvature k(p) = The reciprocal of the radius of the circle that best approximates the curve at p. The radial plane = Plane defined by the vectors n, w and the point p. The radial curve = The set of points in S intersect the radial plane. w = The un-normalized projection of v onto the tangent plane at p w = The projection of v onto the tangent plane.

Suggestive Contours Definition I Suggestive Contour Generator (I): The set of points on the surface at which its radial curvature k r is 0, and the directional derivative of k r in the direction of w is positive: D w k r > 0

Equivalent Definitions Definition II and III Suggestive Contour Generator (II) = The set of minima of n ٠ v in the direction of w. ► Suggestive Contour Generator (III) The set of points on the contour generator of a nearby viewpoint (of radial distance less than 90 degrees) that are not in radial correspondence with points on the contour generators of any (radially) closer viewpoint ► Additionally

Object Space Algorithm Test each triangle for two vertices whose sign of n dot v is different. Interpolate to get the zero crossing (Hertzmann zero crossing algorithm for smooth surfaces) Find k r (p) = k 1 (p) cos 2 Φ+ k 2 (p) sin 2 Φ for each point. k 1 and k 2 are the principle curvatures of the face and Φ is the angle between w(p) and the principle curvature direction corresponding to k 1 Find the zeros of k r (p) using the zero crossing algorithm These should be loops on the surface Calculate D w k r and make sure it is positive Handle numerical errors

Image Space Algorithm Approximate n ٠ v by placing a diffuse light source at the camera origin. Search image for valleys in intensity by finding stable minima of (n ٠ v) /||v|| : For pixel i with intensity p i, define the pixel of the greatest intensity in a radius r around p i to be p max. For pixel i with intensity p i, define the pixel of the greatest intensity in a radius r around p i to be p max. Label i a valley if two conditions are met: no more than a certain percentage s of the pixels in this disk are strictly darker than p i ; and p max - p i exceeds a fixed threshold d. Label i a valley if two conditions are met: no more than a certain percentage s of the pixels in this disk are strictly darker than p i ; and p max - p i exceeds a fixed threshold d. Remove small irregularities with a median filter of radius r.

Results from Paper Contours image space object space

My Results

Comparison

Comparison Between Algorithms Image: Slower Slower Good results Good results Very easy to implement - < 50 lines of code Very easy to implement - < 50 lines of codeObject: Faster Faster Theoretically better results Theoretically better results Much harder to implement – several hundred lines of code Much harder to implement – several hundred lines of code

Future Directions Improve object space algorithm. Need less parameters. Implement algorithms on the GPU by using vertex and pixel shaders. Work better with smooth surfaces