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
(slides 6) Visual Computing: Geometry, Graphics, and Vision
PDF
(slides 1) Visual Computing: Geometry, Graphics, and Vision
PDF
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
PDF
(slides 5) Visual Computing: Geometry, Graphics, and Vision
PDF
Find all hazards in this circuit. Redesign the circuit as a three-le.pdf
PDF
Mlab i
PDF
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
PDF
ViT (Vision Transformer) Review [CDM]
PDF
Use CNN for Sequence Modeling
PDF
VLSI Physical Design, Springer Verlag.pdf
PDF
VLSI Physical Design, Springer Verlag.pdf
PDF
BriefHistoryTransformerstransformers.pdf
PPTX
Designing a machine learning algorithm for Apache Spark
PDF
The Declarative-Coordinated Model for Self-Optimization of Service Networks
PDF
Efficient HPR-based Rendering of Point Clouds
PPT
Wavelet transform in image compression
PDF
Masters Thesis
PPT
Layout design on MICROWIND
PDF
Ganesh machavarapu resume
(slides 3) Visual Computing: Geometry, Graphics, and Vision
(slides 6) Visual Computing: Geometry, Graphics, and Vision
(slides 1) Visual Computing: Geometry, Graphics, and Vision
"Taming the Dragon": Data Flow Programming with Zenoh-Flow
(slides 5) Visual Computing: Geometry, Graphics, and Vision
Find all hazards in this circuit. Redesign the circuit as a three-le.pdf
Mlab i
論文紹介"DynamicFusion: Reconstruction and Tracking of Non-­‐rigid Scenes in Real...
ViT (Vision Transformer) Review [CDM]
Use CNN for Sequence Modeling
VLSI Physical Design, Springer Verlag.pdf
VLSI Physical Design, Springer Verlag.pdf
BriefHistoryTransformerstransformers.pdf
Designing a machine learning algorithm for Apache Spark
The Declarative-Coordinated Model for Self-Optimization of Service Networks
Efficient HPR-based Rendering of Point Clouds
Wavelet transform in image compression
Masters Thesis
Layout design on MICROWIND
Ganesh machavarapu resume
Ad

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
Teaching material agriculture food technology
PDF
KodekX | Application Modernization Development
PPTX
Spectroscopy.pptx food analysis technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Teaching material agriculture food technology
KodekX | Application Modernization Development
Spectroscopy.pptx food analysis technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
NewMind AI Weekly Chronicles - August'25 Week I
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

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