28
Differential Geometry Differential Geometry igures from Cipolla & Giblin and DeCarlo et al. gures from Cipolla & Giblin and DeCarlo et al.

Differential Geometry Some figures from Cipolla & Giblin and DeCarlo et al

Embed Size (px)

Citation preview

Differential GeometryDifferential Geometry

Some figures from Cipolla & Giblin and DeCarlo et al.Some figures from Cipolla & Giblin and DeCarlo et al.

GoalGoal

• Analyze qualitative shape of surfaceAnalyze qualitative shape of surface(e.g., convex vs. concave vs. saddle)(e.g., convex vs. concave vs. saddle)

• Understand surface curvaturesUnderstand surface curvatures

• Approach: parameterize surface, look at Approach: parameterize surface, look at derivatives in different directionsderivatives in different directions

Surface ParameterizationSurface Parameterization

• Locally smooth, continuous Locally smooth, continuous parameterizationparameterization(u,v) (u,v) ss(u,v) = [X(u,v), Y(u,v), Z(u,v)](u,v) = [X(u,v), Y(u,v), Z(u,v)]TT

• Consider only on local Consider only on local patchespatches of the of the surfacesurface

Surface ParameterizationSurface Parameterization

• Locally smooth, continuous Locally smooth, continuous parameterizationparameterization(u,v) (u,v) ss(u,v) = [X(u,v), Y(u,v), Z(u,v)](u,v) = [X(u,v), Y(u,v), Z(u,v)]TT

• Consider only on local Consider only on local patchespatches of the of the surfacesurface

• rr defines an “immersed surface” iff defines an “immersed surface” iff Jacobian has rank 2 (otherwise locally Jacobian has rank 2 (otherwise locally looks like a line)looks like a line)

vu

vu

vu

vu

ZZ

YY

XX

ssJ

vu

vu

vu

vu

ZZ

YY

XX

ssJ

Tangent Planes and NormalsTangent Planes and Normals

• The vectors The vectors ssuu and and ssvv define a tangent define a tangent

planeplane

• Defined iff Defined iff ssuu and and ssvv are not parallel are not parallel

– Equivalent to saying Equivalent to saying ss is an immersed is an immersed surfacesurface

• Unit surface normal =Unit surface normal =normal to tangent planenormal to tangent plane

vu

vu

ss

ss

nvu

vu

ss

ss

n

ssuu

ssvv

nn

Vectors on SurfacesVectors on Surfaces

• Consider two vectors Consider two vectors ww11 and and ww22 defined at a defined at a

point point pp on the surface on the surface

• Basic operation: how to compute dot Basic operation: how to compute dot product?product?

• Trivial if vectors defined in terms of (x,y,z)Trivial if vectors defined in terms of (x,y,z)

• What if defined in terms of (u,v)? That is,What if defined in terms of (u,v)? That is,

• In general,In general,

v

u

v

u

,2

,22

,1

,11 ,

w

ww

w

ww

v

u

v

u

,2

,22

,1

,11 ,

w

ww

w

ww

vvuu ,2,1,2,121 wwwwww vvuu ,2,1,2,121 wwwwww

First Fundamental FormFirst Fundamental Form

• II is called the is called the first fundamental formfirst fundamental form– Symmetric bilinear form on the surfaceSymmetric bilinear form on the surface

– Specific to a particular parameterizationSpecific to a particular parameterization

– Matrix is identity iff Matrix is identity iff ssuu and and ssvv are orthonormal are orthonormal

),( 11

,2

,2,1,1

,2,2,1,121

wwI

w

www

wwwwww

v

u

vvvu

vuuuvu

vvuuvvuu

ssss

ssss

ssss

),( 11

,2

,2,1,1

,2,2,1,121

wwI

w

www

wwwwww

v

u

vvvu

vuuuvu

vvuuvvuu

ssss

ssss

ssss

Curves on SurfacesCurves on Surfaces

• Consider a curve Consider a curve cc(t) = (t) = ((U(t), V(t)U(t), V(t)))

• Velocity along the curveVelocity along the curve

• So, So, II describes how much surface is describes how much surface is “stretched”“stretched”

• Does not change if surface is “bent”Does not change if surface is “bent”without stretchingwithout stretching

),(

)()()(2

VU

tVstUst vu

I

c

),(

)()()(2

VU

tVstUst vu

I

c

Areas on SurfacesAreas on Surfaces

• For a region on a surface, area is given byFor a region on a surface, area is given by

• So, sqrt of det of matrix So, sqrt of det of matrix II gives stretch of gives stretch of areaarea

dudv

dudvssss

ssssss

dudvss

dudvssA

vvuu

vuvvuu

vu

vu

)det(

))((

)(1))((

sin

2

I

dudv

dudvssss

ssssss

dudvss

dudvssA

vvuu

vuvvuu

vu

vu

)det(

))((

)(1))((

sin

2

I

Normal CurvesNormal Curves

• A normal curve is defined by the A normal curve is defined by the intersection of a surface and a plane intersection of a surface and a plane containing the normalcontaining the normal

Normal CurvaturesNormal Curvatures

• Curvature Curvature of a curve is reciprocal of of a curve is reciprocal of radius of circle that best approximates itradius of circle that best approximates it

• Curvature of a normal curve is called aCurvature of a normal curve is called anormalnormal or or sectional curvaturesectional curvature

• Defined at a point Defined at a point pp in a particular in a particular direction direction ww

Finding Normal CurvaturesFinding Normal Curvatures

• Consider a normal curve Consider a normal curve cc(t) = (t) = ((U(t), U(t),

V(t)V(t)))

),( ccI

cn

n

c

cc

r),( ccI

cn

n

c

cc

r

cc(t)(t)

rrrr

nn n+dnn+dn

Second Fundamental FormSecond Fundamental Form

• So, need to find component of change in So, need to find component of change in normal in the normal in the cc’ direction as we move along ’ direction as we move along curve (i.e., in the curve (i.e., in the cc’ direction) ’ direction)

• More generally, can ask about change in More generally, can ask about change in normal in direction normal in direction ww11 as we move in as we move in

direction direction ww22

• This is called the This is called the second fundamental formsecond fundamental formIIII((ww11,, ww22))

– Also a symmetric bilinear form on the surfaceAlso a symmetric bilinear form on the surface

Second Fundamental FormSecond Fundamental Form

• Note sign convention – this produces Note sign convention – this produces positive curvature for convex surfaces positive curvature for convex surfaces with outward-pointing normalswith outward-pointing normals

v

u

vvvu

uvuuvu

vvuu

D

,2

,2,1,1

221

121

)()(

)(),(2

w

w

nsns

nsnsww

swnswnw

nwwwII w

v

u

vvvu

uvuuvu

vvuu

D

,2

,2,1,1

221

121

)()(

)(),(2

w

w

nsns

nsnsww

swnswnw

nwwwII w

II and Second DerivativesII and Second Derivatives

• So So IIII is related to the second derivatives is related to the second derivativesof the surfaceof the surface

nsns

nsns

nsns

nsns

nsns

nsns

ns

vvuv

uvuu

vvvu

uvuu

uuuu

uuuu

u

0

0

nsns

nsns

nsns

nsns

nsns

nsns

ns

vvuv

uvuu

vvvu

uvuu

uuuu

uuuu

u

0

0

Normal CurvaturesNormal Curvatures

• The normal curvature in the direction The normal curvature in the direction ww can be written ascan be written as

),(

),(

wwI

wwIIw

),(

),(

wwI

wwIIw

Principal CurvaturesPrincipal Curvatures

• The normal curvature varies between some The normal curvature varies between some minimum and maximum – these are the minimum and maximum – these are the principal curvaturesprincipal curvatures 11 and and 22

• These occur in the These occur in the principal directionsprincipal directions dd11 and and dd22

• Eigenvalues and eigenvectors of the matrix Eigenvalues and eigenvectors of the matrix II-1-1IIII 11 and and 22 must exist and be real must exist and be real

(symmetric matrix)(symmetric matrix)

– dd11 and and dd22 must be must be

perpendicular to each otherperpendicular to each other

Frénet FramesFrénet Frames

• dd11, , dd22, and , and nn are mutually perpendicular are mutually perpendicular

• Natural to define a coordinate system Natural to define a coordinate system according to these directions – the according to these directions – the Frénet frameFrénet frame

• In this coordinate system, the matrix of In this coordinate system, the matrix of IIII becomes diagonal becomes diagonal

Euler’s FormulaEuler’s Formula

• Working in the Frénet frame,Working in the Frénet frame,

• Euler’s formula Euler’s formula for normal curvaturefor normal curvature

is the angle between is the angle between ww and and dd11

22

21

2

2

1

sincos

0

0

2

1

21

w

w

www

w

d

d

dd

22

21

2

2

1

sincos

0

0

2

1

21

w

w

www

w

d

d

dd

Computing Curvatures on MeshesComputing Curvatures on Meshes

• For range images: use (u,v) For range images: use (u,v) parameterization of range image, finite parameterization of range image, finite differences for derivativesdifferences for derivatives

• Options for general meshes:Options for general meshes:– Fit a smooth surface, compute analyticallyFit a smooth surface, compute analytically

– Compute normal curvature to neighboring Compute normal curvature to neighboring vertices, least squares fit to a quadratic in vertices, least squares fit to a quadratic in

– Compute normal curvature to neighboring Compute normal curvature to neighboring vertices, do SVD (curvatures are some function vertices, do SVD (curvatures are some function of singular values)of singular values)

Gaussian and Mean CurvatureGaussian and Mean Curvature

• The Gaussian curvature The Gaussian curvature KK = = 1 1 22

• The mean curvature The mean curvature HH = ½ ( = ½ (11 + + 22))

• Equal to the determinant and half the Equal to the determinant and half the trace, respectively, of the curvature trace, respectively, of the curvature matrixmatrix

• Enable qualitative classification of Enable qualitative classification of surfacessurfaces

Positive Gaussian Curvature:Positive Gaussian Curvature:Elliptic PointsElliptic Points

• Convex/concave depending on sign of HConvex/concave depending on sign of H

• Tangent plane intersects surface at 1 pointTangent plane intersects surface at 1 point

Negative Gaussian Curvature:Negative Gaussian Curvature:Hyperbolic PointsHyperbolic Points

• Tangent plane intersects surface along 2 curvesTangent plane intersects surface along 2 curves

Zero Gaussian Curvature:Zero Gaussian Curvature:Parabolic PointsParabolic Points

• Tangent plane intersects surface along 1 curveTangent plane intersects surface along 1 curve

Properties of CurvaturesProperties of Curvatures

• Attached shadows always created along Attached shadows always created along parabolic linesparabolic lines

• Sign of curvature of image contours Sign of curvature of image contours (silhouettes) equals sign of Gaussian (silhouettes) equals sign of Gaussian curvature of surfacecurvature of surface– Inflections of the contour occur at parabolic Inflections of the contour occur at parabolic

points on the surfacepoints on the surface

• Apparent motion of specular highlights ~ Apparent motion of specular highlights ~ 1/1/

Using Curvatures for Using Curvatures for Recognition/MatchingRecognition/Matching

• Curvature histograms: compute Curvature histograms: compute 11 and and 22

throughout surface, create 2D histogramsthroughout surface, create 2D histograms

• Invariant to translation, rotationInvariant to translation, rotation

• Alternative: use Alternative: use 22 / / 11 – also invariant to – also invariant to

scalescale– Shape index:Shape index:

• Curvatures sensitive to noise (2Curvatures sensitive to noise (2ndnd derivative…), so sometimes just use sign of derivative…), so sometimes just use sign of curvaturescurvatures

]1..0[tan21

211121

S ]1..0[tan21

211121

S

Using Curvatures for Using Curvatures for SegmentationSegmentation

• Sharp creases in surface (i.e., where |Sharp creases in surface (i.e., where |11|is |is

large) tend to be good places to segmentlarge) tend to be good places to segment

• Option #1: look for maxima of curvature in Option #1: look for maxima of curvature in the first principal directionthe first principal direction– Much like Canny edge detectionMuch like Canny edge detection

– Nonmaximum suppression, hysteresis thresholdingNonmaximum suppression, hysteresis thresholding

• Option #2: optimize for both high curvature Option #2: optimize for both high curvature and smoothness using graph cuts, snakes, and smoothness using graph cuts, snakes, etc.etc.

Using Curvatures for VisualizationUsing Curvatures for Visualization

• Ridge and valley lines often drawnRidge and valley lines often drawn– Local maxima and minima of larger (in Local maxima and minima of larger (in

magnitude) curvature in principal directionmagnitude) curvature in principal direction

– Makes interpretation of surfaces easier in Makes interpretation of surfaces easier in some casessome cases

• Suggestive contoursSuggestive contours– Zeros of normal curvature in projection of Zeros of normal curvature in projection of

view direction into tangent planeview direction into tangent plane

– Positive derivative of curvature in projected Positive derivative of curvature in projected view dirview dir