Successfully reported this slideshow.
Upcoming SlideShare
×

# (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
• Full Name
Comment goes here.

Are you sure you want to Yes No
• 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)