SlideShare a Scribd company logo
© 2011 Frank Nielsen
INF555
Fundamentals of 3D
Lecture 3:
Debriefing: Lecture 2
Rigid transformations/Quaternions
Iterative Closest Point (+Kd-trees)
Frank Nielsen
nielsen@lix.polytechnique.fr
28 Septembre 2011
© 2011 Frank Nielsen
• Depth discontinuity
• Surface orientation
discontinuity
• Reflectance
discontinuity (i.e.,
change in surface
material properties)
• Illumination
discontinuity (e.g.,
shadow)
Harris-Stephens' combined corner/edge detector
© 2011 Frank Nielsen
© 2011 Frank Nielsen
Harris-Stephens edge detector
Aim at finding good feature
© 2011 Frank Nielsen
Harris-Stephens edge detector
Measure the corner response as
Algorithm:
– Find points with large corner response function R
(R > threshold)
– Take the points of local maxima of R
© 2011 Frank Nielsen
© 2011 Frank Nielsen
Edge thresholding hysterisis
● If a pixel value is above the high threshold, it is an edge.
● If a pixel value is below the low threshold, it is not an edge.
● If a pixel value is between the low and high thresholds,
it is an edge if it is connected to another edge pixel,
otherwise it is interpreted as noise.
Two thresholds: low and high
Single threshold value for edges -> Streaking
© 2011 Frank Nielsen
Edge hysteresis
© 2011 Frank Nielsen
Homogeneous coordinates and duality point/line
homogenization
Homogeneous vectorInhomogeneous vector
dehomogenization (also known as
Perspective division)
© 2011 Frank Nielsen
Projective plane
Equivalence class:
is equivalent to
Line coefficients stored in an inhomogeneous vector
Equation of the line:
Point and line have same homogeneous representation:
A point can be interpreted as the coefficients of the line
Point and line have same homogeneous representation:
A point can be interpreted as the coefficients of the line
© 2011 Frank Nielsen
Intersection of lines
Cross-product of two vectors:
Intersection point of two lines is obtained from their cross-product:
Line passing through two « points » l1* and l2*:
l=p*=l1* x l2*
p= l1 x l2
Duality
© 2011 Frank Nielsen
Application:
Detection of line segment intersection
l1=CrossProduct(p,q);
l2=CrossProduct(r,s);
// intersection point is the cross-product
//of the line coefficients (duality)
intersection=CrossProduct(l1,l2);
intersection.Normalize(); // to get back Euclidean point
© 2011 Frank Nielsen
Overview of duality in projective geometry
The determinant of three points represent the volume of their parallepiped.
© 2011 Frank Nielsen
2D Transformations using homogeneous coordinates
© 2011 Frank Nielsen
2D Transformations using homogeneous coordinates
© 2011 Frank Nielsen
Cartesian coordinate systems in 3D
© 2011 Frank Nielsen
3D Transformations using homogeneous coordinates
Be careful: Gimbal lock
© 2011 Frank Nielsen
Euler rotation
© 2011 Frank Nielsen
Cross-product/outer product
Consider the cross-product as a matrix multiplication:
Outer-product
© 2011 Frank Nielsen
Arbitrary matrix rotation:
Rodrigues' formula
Equivalent to:
© 2011 Frank Nielsen
© 2011 Frank Nielsen
© 2011 Frank Nielsen
Rigid transformations
Concatenation (non-commutative!)
© 2011 Frank Nielsen
Quaternions for rotations
● Easy to invert scalars
● For 2D vectors, invert using complex numbers...
● For 3D vectors??? (-> 4D quaternions)
● For dD vectors??? (-> 8D octonions)
● Easy to invert scalars
● For 2D vectors, invert using complex numbers...
● For 3D vectors??? (-> 4D quaternions)
● For dD vectors??? (-> 8D octonions)
Provide rotation operator that is invertible
Sir William Rowan Hamilton
Lectures on Quaternions
http://digital.library.cornell.edu/
© 2011 Frank Nielsen
Quaternions: 1D real+3D imaginary
Real part (1D) Imaginary part (3D, i j k vectors)
Multiplication:
Norm (l2)
© 2011 Frank Nielsen
Unit quaternions
For a given 3D point p, we compute its rotation Rp as
Rotation theta around an axis u: Quaternion representation:
conjugate
© 2011 Frank Nielsen
Unit quaternions
for rotations
© 2011 Frank Nielsen
Conversion rotation matrix to quaternion
© 2011 Frank Nielsen
Spherical linear interpolation (SLERP)
LERP is non-sense for rotation matrices:
SLERP is using quaternion algebra:
© 2011 Frank Nielsen
Spherical linear interpolation (SLERP)
Useful for computer graphics animation
(bone, skinning at articulation)
© 2011 Frank Nielsen
Bilateral filtering
Edge-preserving smoothing
Videos/demo
© 2011 Frank Nielsen
Gaussian filtering: Blur everything
Traditional spatial gaussian filtering
© 2011 Frank Nielsen
Bilateral filtering
New! gaussian on the intensity difference filtering
Bilateral Filtering for Gray and Color Images, Tomasi and Manduchi 1998
.... SUSAN feature extractor...
© 2011 Frank Nielsen
Domain
filtering
Range filtering
© 2011 Frank Nielsen
Iterative Closest Point (ICP)
Align point sets. For example, terrains (DEMs)
Robotics
© 2011 Frank Nielsen
Align point sets obtained from range scanners
http://www-graphics.stanford.edu/projects/mich/
© 2011 Frank Nielsen
Solve stone jigsaws...
ICP for solving jigsaws
© 2011 Frank Nielsen
ICP: Algorithm at a glance
● Start from a not too far transformation
● Match the point of the target to the source
● Compute the best transformation from point correspondence
● Reiterate until the mismatch error goes below a threshold
In practice, this is a very fast registration method...
A Method for Registration of 3-D Shapes. by: Paul J Besl, Neil D Mckay.
IEEE Trans. Pattern Anal. Mach. Intell., Vol. 14, No. 2. (February 1992
© 2011 Frank Nielsen
ICP: Finding the best rigid transformation
Given point correspondences, find the best rigid transformation.
Source/ModelObservation/Target
Find (R,t) that minimizes the squared euclidean error:
© 2011 Frank Nielsen
Align the center of mass of sets:
© 2011 Frank Nielsen
Finding the rotation matrix:
Compute the singular value decomposition
Optimal transformation:
© 2011 Frank Nielsen
Registration of many point sets to a common atlas
Scoliotic Spine (Atlas of 307 patients)
Many variants of ICP method (truncated, robust, etc.)Many variants of ICP method (truncated, robust, etc.)
© 2011 Frank Nielsen
In theory,
ICP may provably run very slowly for well-constructedwell-constructed point sets...
What computational geometers say
David Arthur; Sergei Vassilvitskii
Worst-case and Smoothed Analysis of the ICP Algorithm, with an Application to the
k-means Method
FOCS 2006 => O(n/d)^d iterations (exponential)
... but smooth analysis of ICP is polynomial
© 2011 Frank Nielsen
Computing nearest neighbors in ICP...
● Naive linear-time algorithm
● Tree-like algorithm using kd-trees
● Tree-like algorithm using metric ball trees
●...
Challenging problem in very high-dimensions
(common to work up to dimension > 1000 nowadays)
Nearest neighbor of q
© 2011 Frank Nielsen
Installez Processing.org
→ Rendu des TD1, 2 et 3 pour le Mardi 4 Octobre 17h
(Upload work sur la page du cours)

More Related Content

PPTX
DBSCAN (2014_11_25 06_21_12 UTC)
PDF
Methods of Manifold Learning for Dimension Reduction of Large Data Sets
PDF
Kernel Descriptors for Visual Recognition
PPTX
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
PPT
3.4 density and grid methods
PDF
(slides 5) Visual Computing: Geometry, Graphics, and Vision
PPT
Digital signal processor part 3
DBSCAN (2014_11_25 06_21_12 UTC)
Methods of Manifold Learning for Dimension Reduction of Large Data Sets
Kernel Descriptors for Visual Recognition
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
3.4 density and grid methods
(slides 5) Visual Computing: Geometry, Graphics, and Vision
Digital signal processor part 3

What's hot (20)

PPTX
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...
PPTX
DBSCAN : A Clustering Algorithm
PDF
Recurrent Instance Segmentation (UPC Reading Group)
PPTX
Tutorial on Object Detection (Faster R-CNN)
PDF
presentation
PDF
Learning Convolutional Neural Networks for Graphs
PPT
Feature Matching using SIFT algorithm
PPTX
Dbscan algorithom
PDF
(slides 1) Visual Computing: Geometry, Graphics, and Vision
PDF
Webinar on Graph Neural Networks
PPTX
Lossless image compression via by lifting scheme
PDF
Density Based Clustering
PDF
Taras Sereda "Waveglow. Generative modeling for audio synthesis"
PDF
Optics ordering points to identify the clustering structure
PPTX
LCD charactrization
PDF
Wavelet
PDF
Gnn overview
PPTX
Object Detection Methods using Deep Learning
PDF
icml2004 tutorial on spectral clustering part II
PDF
Comparison of Various RCNN techniques for Classification of Object from Image
DeepLab V3+: Encoder-Decoder with Atrous Separable Convolution for Semantic I...
DBSCAN : A Clustering Algorithm
Recurrent Instance Segmentation (UPC Reading Group)
Tutorial on Object Detection (Faster R-CNN)
presentation
Learning Convolutional Neural Networks for Graphs
Feature Matching using SIFT algorithm
Dbscan algorithom
(slides 1) Visual Computing: Geometry, Graphics, and Vision
Webinar on Graph Neural Networks
Lossless image compression via by lifting scheme
Density Based Clustering
Taras Sereda "Waveglow. Generative modeling for audio synthesis"
Optics ordering points to identify the clustering structure
LCD charactrization
Wavelet
Gnn overview
Object Detection Methods using Deep Learning
icml2004 tutorial on spectral clustering part II
Comparison of Various RCNN techniques for Classification of Object from Image
Ad

Viewers also liked (20)

PPTX
Point elementary school team- matthew, nate and dawson-basket of hope-3003
PPTX
Defender direct gleaners food bank-2201
PDF
(ISIA 4) Cours d'algorithmique (1995)
PPTX
Q6 Evaluation Media
PPTX
MVT Across Multiple Brands: One approach to successful testing, Webtrends
PPTX
Dots in blue water eem:dibw-1391
PPTX
Point elementary school team- nadeem, mason & luke-basket of hope-2935
PPTX
Space coast ge volunteers children's home society 3563
PPTX
Point elementary team- zack, kaylene, and doron-basket of hope-2786
PPTX
Point elemtary team- nick, sean and rachel-basket of hope-2769
PPTX
The devil made me do it- documentary
PDF
Traitement des données massives (INF442, A5)
PDF
Traitement des données massives (INF442, A3)
PDF
(slides 6) Visual Computing: Geometry, Graphics, and Vision
PDF
(chapter 6) A Concise and Practical Introduction to Programming Algorithms in...
PPTX
Why email is (still) the killer app, Striata
PDF
Decibel blue detour company theatre-3087
PDF
Traitement des données massives (INF442, A7)
PPTX
Islands elementary islands elementary pta-1079
PPTX
Point elementary team- maggie, alex and jerrica-basket of hope-2849
Point elementary school team- matthew, nate and dawson-basket of hope-3003
Defender direct gleaners food bank-2201
(ISIA 4) Cours d'algorithmique (1995)
Q6 Evaluation Media
MVT Across Multiple Brands: One approach to successful testing, Webtrends
Dots in blue water eem:dibw-1391
Point elementary school team- nadeem, mason & luke-basket of hope-2935
Space coast ge volunteers children's home society 3563
Point elementary team- zack, kaylene, and doron-basket of hope-2786
Point elemtary team- nick, sean and rachel-basket of hope-2769
The devil made me do it- documentary
Traitement des données massives (INF442, A5)
Traitement des données massives (INF442, A3)
(slides 6) Visual Computing: Geometry, Graphics, and Vision
(chapter 6) A Concise and Practical Introduction to Programming Algorithms in...
Why email is (still) the killer app, Striata
Decibel blue detour company theatre-3087
Traitement des données massives (INF442, A7)
Islands elementary islands elementary pta-1079
Point elementary team- maggie, alex and jerrica-basket of hope-2849
Ad

Similar to (slides 3) Visual Computing: Geometry, Graphics, and Vision (20)

PDF
(slides 7) Visual Computing: Geometry, Graphics, and Vision
PDF
(slides 4) Visual Computing: Geometry, Graphics, and Vision
PPT
Nonlinear Optical Materials
PPTX
Ellipsometry- non destructive measuring method
PDF
CS-ChapterI.pdf
PDF
Continuous and Discrete Crooklet Transform
PDF
Pycon openlcdfdm
PPT
Dct,gibbs phen,oversampled adc,polyphase decomposition
PDF
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
PDF
Lecture7 xing fei-fei
PPT
Maapr3
PDF
Image formation
PDF
Intelligent reflecting surface 3
PPT
Basics of edge detection and forier transform
PDF
Image Interpolation Techniques in Digital Image Processing: An Overview
PDF
Ijri ece-01-02 image enhancement aided denoising using dual tree complex wave...
PDF
PDF
Presentation
PDF
International Journal of Computational Engineering Research(IJCER)
PDF
International Journal of Computational Engineering Research(IJCER)
(slides 7) Visual Computing: Geometry, Graphics, and Vision
(slides 4) Visual Computing: Geometry, Graphics, and Vision
Nonlinear Optical Materials
Ellipsometry- non destructive measuring method
CS-ChapterI.pdf
Continuous and Discrete Crooklet Transform
Pycon openlcdfdm
Dct,gibbs phen,oversampled adc,polyphase decomposition
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
Lecture7 xing fei-fei
Maapr3
Image formation
Intelligent reflecting surface 3
Basics of edge detection and forier transform
Image Interpolation Techniques in Digital Image Processing: An Overview
Ijri ece-01-02 image enhancement aided denoising using dual tree complex wave...
Presentation
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)

Recently uploaded (20)

PPTX
Spectroscopy.pptx food analysis technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation theory and applications.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Big Data Technologies - Introduction.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectroscopy.pptx food analysis technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Machine learning based COVID-19 study performance prediction
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation theory and applications.pdf
cuic standard and advanced reporting.pdf
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
MYSQL Presentation for SQL database connectivity
Big Data Technologies - Introduction.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Review of recent advances in non-invasive hemoglobin estimation
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
The Rise and Fall of 3GPP – Time for a Sabbatical?

(slides 3) Visual Computing: Geometry, Graphics, and Vision

  • 1. © 2011 Frank Nielsen INF555 Fundamentals of 3D Lecture 3: Debriefing: Lecture 2 Rigid transformations/Quaternions Iterative Closest Point (+Kd-trees) Frank Nielsen nielsen@lix.polytechnique.fr 28 Septembre 2011
  • 2. © 2011 Frank Nielsen • Depth discontinuity • Surface orientation discontinuity • Reflectance discontinuity (i.e., change in surface material properties) • Illumination discontinuity (e.g., shadow) Harris-Stephens' combined corner/edge detector
  • 3. © 2011 Frank Nielsen
  • 4. © 2011 Frank Nielsen Harris-Stephens edge detector Aim at finding good feature
  • 5. © 2011 Frank Nielsen Harris-Stephens edge detector Measure the corner response as Algorithm: – Find points with large corner response function R (R > threshold) – Take the points of local maxima of R
  • 6. © 2011 Frank Nielsen
  • 7. © 2011 Frank Nielsen Edge thresholding hysterisis ● If a pixel value is above the high threshold, it is an edge. ● If a pixel value is below the low threshold, it is not an edge. ● If a pixel value is between the low and high thresholds, it is an edge if it is connected to another edge pixel, otherwise it is interpreted as noise. Two thresholds: low and high Single threshold value for edges -> Streaking
  • 8. © 2011 Frank Nielsen Edge hysteresis
  • 9. © 2011 Frank Nielsen Homogeneous coordinates and duality point/line homogenization Homogeneous vectorInhomogeneous vector dehomogenization (also known as Perspective division)
  • 10. © 2011 Frank Nielsen Projective plane Equivalence class: is equivalent to Line coefficients stored in an inhomogeneous vector Equation of the line: Point and line have same homogeneous representation: A point can be interpreted as the coefficients of the line Point and line have same homogeneous representation: A point can be interpreted as the coefficients of the line
  • 11. © 2011 Frank Nielsen Intersection of lines Cross-product of two vectors: Intersection point of two lines is obtained from their cross-product: Line passing through two « points » l1* and l2*: l=p*=l1* x l2* p= l1 x l2 Duality
  • 12. © 2011 Frank Nielsen Application: Detection of line segment intersection l1=CrossProduct(p,q); l2=CrossProduct(r,s); // intersection point is the cross-product //of the line coefficients (duality) intersection=CrossProduct(l1,l2); intersection.Normalize(); // to get back Euclidean point
  • 13. © 2011 Frank Nielsen Overview of duality in projective geometry The determinant of three points represent the volume of their parallepiped.
  • 14. © 2011 Frank Nielsen 2D Transformations using homogeneous coordinates
  • 15. © 2011 Frank Nielsen 2D Transformations using homogeneous coordinates
  • 16. © 2011 Frank Nielsen Cartesian coordinate systems in 3D
  • 17. © 2011 Frank Nielsen 3D Transformations using homogeneous coordinates Be careful: Gimbal lock
  • 18. © 2011 Frank Nielsen Euler rotation
  • 19. © 2011 Frank Nielsen Cross-product/outer product Consider the cross-product as a matrix multiplication: Outer-product
  • 20. © 2011 Frank Nielsen Arbitrary matrix rotation: Rodrigues' formula Equivalent to:
  • 21. © 2011 Frank Nielsen
  • 22. © 2011 Frank Nielsen
  • 23. © 2011 Frank Nielsen Rigid transformations Concatenation (non-commutative!)
  • 24. © 2011 Frank Nielsen Quaternions for rotations ● Easy to invert scalars ● For 2D vectors, invert using complex numbers... ● For 3D vectors??? (-> 4D quaternions) ● For dD vectors??? (-> 8D octonions) ● Easy to invert scalars ● For 2D vectors, invert using complex numbers... ● For 3D vectors??? (-> 4D quaternions) ● For dD vectors??? (-> 8D octonions) Provide rotation operator that is invertible Sir William Rowan Hamilton Lectures on Quaternions http://digital.library.cornell.edu/
  • 25. © 2011 Frank Nielsen Quaternions: 1D real+3D imaginary Real part (1D) Imaginary part (3D, i j k vectors) Multiplication: Norm (l2)
  • 26. © 2011 Frank Nielsen Unit quaternions For a given 3D point p, we compute its rotation Rp as Rotation theta around an axis u: Quaternion representation: conjugate
  • 27. © 2011 Frank Nielsen Unit quaternions for rotations
  • 28. © 2011 Frank Nielsen Conversion rotation matrix to quaternion
  • 29. © 2011 Frank Nielsen Spherical linear interpolation (SLERP) LERP is non-sense for rotation matrices: SLERP is using quaternion algebra:
  • 30. © 2011 Frank Nielsen Spherical linear interpolation (SLERP) Useful for computer graphics animation (bone, skinning at articulation)
  • 31. © 2011 Frank Nielsen Bilateral filtering Edge-preserving smoothing Videos/demo
  • 32. © 2011 Frank Nielsen Gaussian filtering: Blur everything Traditional spatial gaussian filtering
  • 33. © 2011 Frank Nielsen Bilateral filtering New! gaussian on the intensity difference filtering Bilateral Filtering for Gray and Color Images, Tomasi and Manduchi 1998 .... SUSAN feature extractor...
  • 34. © 2011 Frank Nielsen Domain filtering Range filtering
  • 35. © 2011 Frank Nielsen Iterative Closest Point (ICP) Align point sets. For example, terrains (DEMs) Robotics
  • 36. © 2011 Frank Nielsen Align point sets obtained from range scanners http://www-graphics.stanford.edu/projects/mich/
  • 37. © 2011 Frank Nielsen Solve stone jigsaws... ICP for solving jigsaws
  • 38. © 2011 Frank Nielsen ICP: Algorithm at a glance ● Start from a not too far transformation ● Match the point of the target to the source ● Compute the best transformation from point correspondence ● Reiterate until the mismatch error goes below a threshold In practice, this is a very fast registration method... A Method for Registration of 3-D Shapes. by: Paul J Besl, Neil D Mckay. IEEE Trans. Pattern Anal. Mach. Intell., Vol. 14, No. 2. (February 1992
  • 39. © 2011 Frank Nielsen ICP: Finding the best rigid transformation Given point correspondences, find the best rigid transformation. Source/ModelObservation/Target Find (R,t) that minimizes the squared euclidean error:
  • 40. © 2011 Frank Nielsen Align the center of mass of sets:
  • 41. © 2011 Frank Nielsen Finding the rotation matrix: Compute the singular value decomposition Optimal transformation:
  • 42. © 2011 Frank Nielsen Registration of many point sets to a common atlas Scoliotic Spine (Atlas of 307 patients) Many variants of ICP method (truncated, robust, etc.)Many variants of ICP method (truncated, robust, etc.)
  • 43. © 2011 Frank Nielsen In theory, ICP may provably run very slowly for well-constructedwell-constructed point sets... What computational geometers say David Arthur; Sergei Vassilvitskii Worst-case and Smoothed Analysis of the ICP Algorithm, with an Application to the k-means Method FOCS 2006 => O(n/d)^d iterations (exponential) ... but smooth analysis of ICP is polynomial
  • 44. © 2011 Frank Nielsen Computing nearest neighbors in ICP... ● Naive linear-time algorithm ● Tree-like algorithm using kd-trees ● Tree-like algorithm using metric ball trees ●... Challenging problem in very high-dimensions (common to work up to dimension > 1000 nowadays) Nearest neighbor of q
  • 45. © 2011 Frank Nielsen Installez Processing.org → Rendu des TD1, 2 et 3 pour le Mardi 4 Octobre 17h (Upload work sur la page du cours)