+ All Categories
Home > Documents > Suggestive Contours for Conveying Shape

Suggestive Contours for Conveying Shape

Date post: 30-Dec-2015
Category:
Upload: idona-hopkins
View: 43 times
Download: 1 times
Share this document with a friend
Description:
Suggestive Contours for Conveying Shape. CS 174 Robert Li May 24, 2004. Contours. 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. Contour Generator = all p s.t. n (p) ٠ v (p) = 0 - PowerPoint PPT Presentation
16
Sorce: Suggestive Contours Sorce: Suggestive Contours for Conveying Shape. (SIGGR for Conveying Shape. (SIGGR APH 2003) Doug DeCarlo, Ad APH 2003) Doug DeCarlo, Ad 1 Suggestive Contours for Suggestive Contours for Conveying Shape Conveying Shape CS 174 CS 174 Robert Li Robert Li May 24, 2004 May 24, 2004
Transcript
Page 1: Suggestive Contours for Conveying Shape

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

11

Suggestive Contours for Conveying Suggestive Contours for Conveying ShapeShape

CS 174CS 174

Robert Li Robert Li May 24, 2004May 24, 2004

Page 2: Suggestive Contours for Conveying Shape

ContoursContours

Contour GeneratorContour Generator = all p s.t. = all p s.t. nn(p)(p)٠٠vv(p) = 0(p) = 0 set of points on the surface such that the unit surface normal is set of points on the surface such that the unit surface normal is

perpendicular to the view vector.perpendicular to the view vector.

ContourContour = The visible portions of the contour generator = The visible portions of the contour generator projected onto the image planeprojected onto the image plane

S =S = a smooth closed surface a smooth closed surface nn(p) = unit surface normal at (p) = unit surface normal at ppvv(p) = c - p, the view vector(p) = c - p, the view vector

p = a point on Sc = the camera

Page 3: Suggestive Contours for Conveying Shape

CurvatureCurvatureThe curvatureThe curvature k(p) = The reciprocal of the radius of the circle that best k(p) = The reciprocal of the radius of the circle that best approximates the curve at p.approximates the curve at p.

The radial planeThe radial plane = Plane defined by the vectors = Plane defined by the vectors nn, , ww and the point p. and the point p.

The radial curveThe radial curve = The set of points in S intersect the radial plane. = The set of points in S intersect the radial plane.

ww = The un-normalized projection of v onto the tangent plane at p = The un-normalized projection of v onto the tangent plane at p

w w = The projection of = The projection of vv onto onto the tangent plane.the tangent plane.

Page 4: Suggestive Contours for Conveying Shape

Suggestive ContoursSuggestive Contours Definition IDefinition I

Suggestive Contour Generator (I)Suggestive Contour Generator (I): The set of points on the surface at which : The set of points on the surface at which its radial curvature kits radial curvature krr is 0, and the directional derivative of k is 0, and the directional derivative of krr in the direction in the direction of w is positive: Dof w is positive: Dwwkkrr > 0 > 0

Page 5: Suggestive Contours for Conveying Shape

Equivalent DefinitionsEquivalent DefinitionsDefinition II and IIIDefinition II and III

Suggestive Contour Generator (II)Suggestive Contour Generator (II) = The set of minima of = The set of minima of n n ٠٠ v v in in the direction of the direction of ww..

►Suggestive Contour Generator Suggestive Contour Generator (III) (III) The set of points on the The set of points on the contour generator of a nearby contour generator of a nearby viewpoint (of radial distance less viewpoint (of radial distance less than 90 degrees) that are not in than 90 degrees) that are not in radial correspondence with radial correspondence with points on the contour generators points on the contour generators of any (radially) closer viewpointof any (radially) closer viewpoint►Additionally Additionally

Page 6: Suggestive Contours for Conveying Shape

Object Space AlgorithmObject Space Algorithm

Test each triangle for two vertices whose sign of n dot v is Test each triangle for two vertices whose sign of n dot v is different. Interpolate to get the zero crossing (Hertzmann different. Interpolate to get the zero crossing (Hertzmann zero crossing algorithm for smooth surfaces)zero crossing algorithm for smooth surfaces)

Find kFind krr(p) = k(p) = k11(p) cos(p) cos22 ΦΦ+ k+ k22(p) sin(p) sin22 ΦΦ for each point. k for each point. k11 and and

kk22 are the principle curvatures of the face and are the principle curvatures of the face and ΦΦ is the is the

angle between w(p) and the principle curvature direction angle between w(p) and the principle curvature direction corresponding to kcorresponding to k11

Find the zeros of kFind the zeros of krr(p) using the zero crossing algorithm (p) using the zero crossing algorithm

These should be loops on the surfaceThese should be loops on the surface

Calculate DCalculate Dwwkkrr and make sure it is positive and make sure it is positive

Handle numerical errorsHandle numerical errors

Page 7: Suggestive Contours for Conveying Shape

Image Space AlgorithmImage Space Algorithm

Approximate Approximate n n ٠٠ v v by placing a diffuse light source at the by placing a diffuse light source at the camera origin.camera origin.

Search image for valleys in intensity by finding stable Search image for valleys in intensity by finding stable minima of (minima of (n n ٠٠ vv) /||) /||vv|||| ::

For pixel For pixel i i with intensity with intensity ppii, , define the pixel of the define the pixel of the greatest intensity in a radius r around pgreatest intensity in a radius r around pii to be to be ppmaxmax..

Label Label i i a valley if two conditions are met: no more than a a valley if two conditions are met: no more than a certain percentage certain percentage s s of the pixels in this disk are strictly of the pixels in this disk are strictly darker than darker than ppii; and ; and ppmaxmax - p- pii exceeds a fixed threshold exceeds a fixed threshold dd..

Remove small irregularities with a median filter of radius r.Remove small irregularities with a median filter of radius r.

Page 8: Suggestive Contours for Conveying Shape

Results from PaperResults from Paper

Contours image space object space

Page 9: Suggestive Contours for Conveying Shape

My ResultsMy Results

Page 10: Suggestive Contours for Conveying Shape

ComparisonComparison

Page 11: Suggestive Contours for Conveying Shape
Page 12: Suggestive Contours for Conveying Shape
Page 13: Suggestive Contours for Conveying Shape
Page 14: Suggestive Contours for Conveying Shape
Page 15: Suggestive Contours for Conveying Shape

Comparison Between AlgorithmsComparison Between Algorithms

Image:Image: SlowerSlower Good resultsGood results Very easy to implement - < 50 lines of codeVery easy to implement - < 50 lines of code

Object:Object: FasterFaster Theoretically better resultsTheoretically better results Much harder to implement – several hundred Much harder to implement – several hundred

lines of codelines of code

Page 16: Suggestive Contours for Conveying Shape

Future DirectionsFuture Directions

Improve object space algorithm. Need less Improve object space algorithm. Need less parameters.parameters.

Implement algorithms on the GPU by Implement algorithms on the GPU by using vertex and pixel shaders.using vertex and pixel shaders.

Work better with smooth surfacesWork better with smooth surfaces


Recommended