Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

209 views

Published on

Those are the slides for the book:

Visual Computing: Geometry, Graphics, and Vision.
by Frank Nielsen (2005)

http://www.sonycsl.co.jp/person/nielsen/visualcomputing/
http://www.amazon.com/Visual-Computing-Geometry-Graphics-Charles/dp/1584504277

Published in: Technology, Art & Photos
  • Be the first to comment

  • Be the first to like this

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

  1. 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. 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. 3. © 2011 Frank Nielsen
  4. 4. © 2011 Frank Nielsen Harris-Stephens edge detector Aim at finding good feature
  5. 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. 6. © 2011 Frank Nielsen
  7. 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. 8. © 2011 Frank Nielsen Edge hysteresis
  9. 9. © 2011 Frank Nielsen Homogeneous coordinates and duality point/line homogenization Homogeneous vectorInhomogeneous vector dehomogenization (also known as Perspective division)
  10. 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. 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. 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. 13. © 2011 Frank Nielsen Overview of duality in projective geometry The determinant of three points represent the volume of their parallepiped.
  14. 14. © 2011 Frank Nielsen 2D Transformations using homogeneous coordinates
  15. 15. © 2011 Frank Nielsen 2D Transformations using homogeneous coordinates
  16. 16. © 2011 Frank Nielsen Cartesian coordinate systems in 3D
  17. 17. © 2011 Frank Nielsen 3D Transformations using homogeneous coordinates Be careful: Gimbal lock
  18. 18. © 2011 Frank Nielsen Euler rotation
  19. 19. © 2011 Frank Nielsen Cross-product/outer product Consider the cross-product as a matrix multiplication: Outer-product
  20. 20. © 2011 Frank Nielsen Arbitrary matrix rotation: Rodrigues' formula Equivalent to:
  21. 21. © 2011 Frank Nielsen
  22. 22. © 2011 Frank Nielsen
  23. 23. © 2011 Frank Nielsen Rigid transformations Concatenation (non-commutative!)
  24. 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. 25. © 2011 Frank Nielsen Quaternions: 1D real+3D imaginary Real part (1D) Imaginary part (3D, i j k vectors) Multiplication: Norm (l2)
  26. 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. 27. © 2011 Frank Nielsen Unit quaternions for rotations
  28. 28. © 2011 Frank Nielsen Conversion rotation matrix to quaternion
  29. 29. © 2011 Frank Nielsen Spherical linear interpolation (SLERP) LERP is non-sense for rotation matrices: SLERP is using quaternion algebra:
  30. 30. © 2011 Frank Nielsen Spherical linear interpolation (SLERP) Useful for computer graphics animation (bone, skinning at articulation)
  31. 31. © 2011 Frank Nielsen Bilateral filtering Edge-preserving smoothing Videos/demo
  32. 32. © 2011 Frank Nielsen Gaussian filtering: Blur everything Traditional spatial gaussian filtering
  33. 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. 34. © 2011 Frank Nielsen Domain filtering Range filtering
  35. 35. © 2011 Frank Nielsen Iterative Closest Point (ICP) Align point sets. For example, terrains (DEMs) Robotics
  36. 36. © 2011 Frank Nielsen Align point sets obtained from range scanners http://www-graphics.stanford.edu/projects/mich/
  37. 37. © 2011 Frank Nielsen Solve stone jigsaws... ICP for solving jigsaws
  38. 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. 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. 40. © 2011 Frank Nielsen Align the center of mass of sets:
  41. 41. © 2011 Frank Nielsen Finding the rotation matrix: Compute the singular value decomposition Optimal transformation:
  42. 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. 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. 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. 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)

×