SlideShare a Scribd company logo
© 2011Frank Nielsen
INF555
Fundamentals of 3D
Lecture 4:
Debriefing: ICP (kD-trees)
Homography
Graphics pipeline
Frank Nielsen
5 octobre 2011
nielsen@lix.polytechnique.fr
© 2011Frank Nielsen
ICP: Iterative Closest Point
Algorithm at a glance
● Start from a not too far initial transformation
Do iterations until the mismatch error goes below a threshold:
● Match the point of the target to the source
● Compute the best transformation from point correspondence
In practice, this is a very fast registration method...
A Method for Registration of 3-D Shapes.Paul J Besl, Neil D Mckay.
IEEE Trans. Pattern Anal. Mach. Intell., Vol. 14, No. 2. (February 1992
© 2011Frank Nielsen
ICP is a generic method
Example for curve registrations:
Curves before registration
Curves after registration
© 2011Frank 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:
© 2011Frank Nielsen
Align the center of mass of sets:
© 2011Frank Nielsen
Finding the rotation matrix:
Compute the singular value decomposition
Optimal transformation:
Recover the translation
once optimal rotation is found
Cross-covariance matrix:
© 2011Frank Nielsen
ICP: Monotonicity and convergence
The average squared Euclidean distance
decreases monotonously (→ convergence)
In fact (stronger result):
Each correspondence pair distance decreases
Drawback:
When does the local minimum is global?
Difficult to handle symmetry
(use texture, etc. to disambiguate)
© 2011Frank Nielsen
Best 3D transformation (with quaternions)
With respect to least squares...
SVD take into account reflections...
Minimize:
© 2011Frank Nielsen
Best 3D transformation (with quaternions)
Cross-covariance matrix:
Anti-symmetric matrix
© 2011Frank Nielsen
Best 3D transformation (with quaternions)
Take the unit eigenvector corresponding to the maximal eigenvalue:
Get the remaining translation (easy) as:
© 2011Frank Nielsen
Time complexity of ICP
Linear (fixed dimension) to find least square transformation
At each iteration, perform n nearest neighbor queries
Naive implementation: O(l*n*n) => slow for large n
http://meshlab.sourceforge.net/
© 2011Frank Nielsen
kD-trees for fast NN queries
Nearest neighbor (NN) queries in small dimensions...
http://en.wikipedia.org/wiki/Kd-tree
© 2011Frank Nielsen
Build time: O(dn log n) with O(dn) memory
© 2011Frank Nielsen
© 2011Frank Nielsen
Query complexity: From O(dlog n) to O(dn)
© 2011Frank Nielsen
kD-trees for fast NN queries
Kd-Trees are extremely useful data-structures (many applications)
But also: Approximate nearest neighbors
http://www.cs.umd.edu/~mount/ANN/
© 2011Frank Nielsen
http://donar.umiacs.umd.edu/quadtree/points/kdtree.html
© 2011Frank Nielsen
Homography (also called collineation)
© 2011Frank Nielsen
Homography (Collineation)
Assuming h33 is not zero, set it to 1 and get:
© 2011Frank Nielsen
Homography (Collineation)
© 2011Frank Nielsen
Homography (Collineation)
From 4 pairs of point correspondences:
© 2011Frank Nielsen
Homography (Collineation)
From n pairs of point correspondences:
Matrix pseudo-inverse
© 2011Frank Nielsen
© 2011Frank Nielsen
Homography (Collineation)
Matching planar surfaces...
© 2011Frank Nielsen
Homography (Collineation)
Matching perspective pictures acquired
from the same nodal point
© 2011Frank Nielsen
Homography (Collineation): Projective geometry
Play with duality point/line in projective space
It is more stable to select four pairs of lines instead of four points
© 2011Frank Nielsen
Graphics pipeline
© 2011Frank Nielsen
Graphics pipeline: Scene graph
Scaled rigid transformation:
High level API is Java3D:
https://java3d.dev.java.net/
OpenGL in Processing
© 2011Frank Nielsen
Graphics pipeline: Projection
Projections are irreversible transformations
Orthographic projection
© 2011Frank Nielsen
Perspective projection: Pinhole camera
© 2011Frank Nielsen
Graphics pipeline: Perspective projection
© 2011Frank Nielsen
Graphics pipeline: Perspective projection
© 2011Frank Nielsen
Graphics pipeline:
Perspective truncated pyramid
Perspective frustrum
© 2011Frank Nielsen
Graphics pipeline: Several viewports
© 2011Frank Nielsen
Graphics pipeline (matrix concatenation):
Mv: positionning transformation
V: viewing transformation
C: clipping transformation
Mv: viewing transformation
Mv: positionning transformation
V: viewing transformation
C: clipping transformation
Mv: viewing transformation
© 2011Frank Nielsen
OpenGL in Java: Processing
© 2011Frank Nielsen
public void display(GLAutoDrawable gLDrawable) {
final GL gl = gLDrawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glTranslatef(-1.5f, 0.0f, -6.0f);
gl.glBegin(GL.GL_TRIANGLES); // Drawing Using Triangles
gl.glVertex3f(0.0f, 1.0f, 0.0f); // Top
gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
gl.glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right
gl.glEnd(); // Finished Drawing The Triangle
gl.glTranslatef(3.0f, 0.0f, 0.0f);
gl.glBegin(GL.GL_QUADS); // Draw A Quad
gl.glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
gl.glVertex3f(1.0f, 1.0f, 0.0f); // Top Right
gl.glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right
gl.glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
gl.glEnd(); // Done Drawing The Quad
gl.glFlush();
}
© 2011Frank Nielsen
Processing: 3D color shapes
GLU (Utility)
GLUT (Utility Toolkit, including user interfaces.)
http://www.cs.umd.edu/~meesh/kmconroy/JOGLTutorial/

More Related Content

PPTX
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
PPTX
First Technical Paper
PPTX
Karnaugh map or K-map method
PPT
KARNAUGH MAP using OpenGL (KMAP)
PPTX
Distributed approximate spectral clustering for large scale datasets
PDF
Chenhui Chu - 2017 - An Empirical Comparison of Domain Adaptation Methods for...
PDF
I²: Interactive Real-Time Visualization for Streaming Data
PPTX
Strategies for Education & Communicating with Parents
Beyond The Euclidean Distance: Creating effective visual codebooks using the ...
First Technical Paper
Karnaugh map or K-map method
KARNAUGH MAP using OpenGL (KMAP)
Distributed approximate spectral clustering for large scale datasets
Chenhui Chu - 2017 - An Empirical Comparison of Domain Adaptation Methods for...
I²: Interactive Real-Time Visualization for Streaming Data
Strategies for Education & Communicating with Parents

Viewers also liked (20)

PPS
091
PPS
071
PPTX
Student-Produced Event Broadcasting
PDF
On approximating the Riemannian 1-center
DOC
Gabrielgonzalez tarea
PPTX
Commercial radio
PDF
Traitement des données massives (INF442, A6)
PDF
@ut-of-the-Box™ 10 Steps Process
PDF
Divergence center-based clustering and their applications
PPTX
Analysis on double page spreads
PPTX
2013年3月18日 日本国際保健医療学会 学生部会
PDF
How To Make Homemade Potato Chips
PPTX
2013年8月10日 academic coaching oriented education
PPS
132
PDF
Voice Aura-色による音声診断 あなたの声は何色?_for iPhone
PPTX
Open house nov 7 2013 m&m team
PPTX
Attorney David Coolidge Offers These Tips for Obtaining Scholarships
PPTX
Unit 4 home work
PPT
THE IMPLEMENTATION OF COOPERATIVE LEARNING BY GIVING INITIAL KNOWLEDGE IN COL...
PPTX
North Carolina Dogs & Inmates Give Each other Second Chances by David Coolidge
091
071
Student-Produced Event Broadcasting
On approximating the Riemannian 1-center
Gabrielgonzalez tarea
Commercial radio
Traitement des données massives (INF442, A6)
@ut-of-the-Box™ 10 Steps Process
Divergence center-based clustering and their applications
Analysis on double page spreads
2013年3月18日 日本国際保健医療学会 学生部会
How To Make Homemade Potato Chips
2013年8月10日 academic coaching oriented education
132
Voice Aura-色による音声診断 あなたの声は何色?_for iPhone
Open house nov 7 2013 m&m team
Attorney David Coolidge Offers These Tips for Obtaining Scholarships
Unit 4 home work
THE IMPLEMENTATION OF COOPERATIVE LEARNING BY GIVING INITIAL KNOWLEDGE IN COL...
North Carolina Dogs & Inmates Give Each other Second Chances by David Coolidge
Ad

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

PDF
(slides 3) Visual Computing: Geometry, Graphics, and Vision
PDF
Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...
PDF
Slides: Perspective click-and-drag area selections in pictures
PDF
Iterative Closest Point Algorithm - analysis and implementation
PDF
(slides 6) Visual Computing: Geometry, Graphics, and Vision
PDF
Collision Detection an Overview
PDF
Analysis of KinectFusion
PPT
CS 354 Graphics Math
PDF
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
PDF
Visual surface detection computer graphics
PDF
Ijcga1
PDF
ONE-DIMENSIONAL SIGNATURE REPRESENTATION FOR THREE-DIMENSIONAL CONVEX OBJECT ...
PDF
Geometric objects and transformations
PPT
Build Your Own 3D Scanner: Surface Reconstruction
PDF
3D Reconstruction from Multiple uncalibrated 2D Images of an Object
PDF
Journey to structure from motion
PDF
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
PDF
3Dshape Analysis Matching Ajmmmmmmmmmmmmm
PDF
Structure and Motion - 3D Reconstruction of Cameras and Structure
PPT
CS 354 Transformation, Clipping, and Culling
(slides 3) Visual Computing: Geometry, Graphics, and Vision
Performance Analysis of Iterative Closest Point (ICP) Algorithm using Modifie...
Slides: Perspective click-and-drag area selections in pictures
Iterative Closest Point Algorithm - analysis and implementation
(slides 6) Visual Computing: Geometry, Graphics, and Vision
Collision Detection an Overview
Analysis of KinectFusion
CS 354 Graphics Math
Computer Graphics - Lecture 03 - Virtual Cameras and the Transformation Pipeline
Visual surface detection computer graphics
Ijcga1
ONE-DIMENSIONAL SIGNATURE REPRESENTATION FOR THREE-DIMENSIONAL CONVEX OBJECT ...
Geometric objects and transformations
Build Your Own 3D Scanner: Surface Reconstruction
3D Reconstruction from Multiple uncalibrated 2D Images of an Object
Journey to structure from motion
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3Dshape Analysis Matching Ajmmmmmmmmmmmmm
Structure and Motion - 3D Reconstruction of Cameras and Structure
CS 354 Transformation, Clipping, and Culling
Ad

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Approach and Philosophy of On baking technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
20250228 LYD VKU AI Blended-Learning.pptx
Spectroscopy.pptx food analysis technology
Approach and Philosophy of On baking technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Encapsulation_ Review paper, used for researhc scholars
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
Programs and apps: productivity, graphics, security and other tools
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx
Chapter 3 Spatial Domain Image Processing.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
sap open course for s4hana steps from ECC to s4
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Empathic Computing: Creating Shared Understanding
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

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