CENG 789 – Digital Geometry Processing 06- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.

Slides:



Advertisements
Similar presentations
Multiple Shape Correspondence by Dynamic Programming Yusuf Sahillioğlu 1 and Yücel Yemez 2 Pacific Graphics 2014 Computer Eng. Depts, 1, 2, Turkey.
Advertisements

PCA + SVD.
Two-View Geometry CS Sastry and Yang
Image alignment Image from
Semi-automatic Range to Range Registration: A Feature-based Method Chao Chen & Ioannis Stamos Computer Science Department Graduate Center, Hunter College.
Laser Scan Matching in Polar Coordinates with Application to SLAM
Optimization of ICP Using K-D Tree
Reverse Engineering Niloy J. Mitra.
Registration of two scanned range images using k-d tree accelerated ICP algorithm By Xiaodong Yan Dec
Asst. Prof. Yusuf Sahillioğlu
Asst. Prof. Yusuf Sahillioğlu
Scale Normalization for Isometric Shape Matching Yusuf Sahillioğlu and Yücel Yemez Computer Eng. Dept., Koç University, Istanbul, Turkey.
Motion Analysis Slides are from RPI Registration Class.
Final Class: Range Data registration CISC4/689 Credits: Tel-Aviv University.
Iterative closest point algorithms
Matching and Recognition in 3D. Moving from 2D to 3D – Some Things are Easier No occlusion (but sometimes missing data instead)No occlusion (but sometimes.
3D Geometry for Computer Graphics
1 GEOMETRIE Geometrie in der Technik H. Pottmann TU Wien SS 2007.
Motion Analysis (contd.) Slides are from RPI Registration Class.
Correspondence & Symmetry
Uncalibrated Geometry & Stratification Sastry and Yang
1 Numerical geometry of non-rigid shapes Spectral Methods Tutorial. Spectral Methods Tutorial 6 © Maks Ovsjanikov tosca.cs.technion.ac.il/book Numerical.
CS CS 175 – Week 2 Processing Point Clouds Registration.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
1 Numerical geometry of non-rigid shapes In the Rigid Kingdom In the Rigid Kingdom Lecture 4 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Matching and Recognition in 3D. Moving from 2D to 3D Some things harderSome things harder – Rigid transform has 6 degrees of freedom vs. 3 – No natural.
The Terms that You Have to Know! Basis, Linear independent, Orthogonal Column space, Row space, Rank Linear combination Linear transformation Inner product.
3D full object reconstruction from kinect Yoni Choukroun Elie Semmel Advisor: Yonathan Afflalo.
CSci 6971: Image Registration Lecture 5: Feature-Base Regisration January 27, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Image Stitching Ali Farhadi CSE 455
Yuping Lin and Gérard Medioni.  Introduction  Method  Register UAV streams to a global reference image ▪ Consecutive UAV image registration ▪ UAV to.
CSE 185 Introduction to Computer Vision
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
Final Exam Review CS485/685 Computer Vision Prof. Bebis.
Shape Matching for Model Alignment 3D Scan Matching and Registration, Part I ICCV 2005 Short Course Michael Kazhdan Johns Hopkins University.
Alignment and Matching
Coarse-to-Fine Combinatorial Matching for Dense Isometric Shape Correspondence Yusuf Sahillioğlu and Yücel Yemez Computer Eng. Dept., Koç University, Istanbul,
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
A Method for Registration of 3D Surfaces ICP Algorithm
Example: line fitting. n=2 Model fitting Measure distances.
CSCE 643 Computer Vision: Structure from Motion
Parameter estimation. 2D homography Given a set of (x i,x i ’), compute H (x i ’=Hx i ) 3D to 2D camera projection Given a set of (X i,x i ), compute.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
Medical Image Analysis Dr. Mohammad Dawood Department of Computer Science University of Münster Germany.
EFFICIENT VARIANTS OF THE ICP ALGORITHM
Using simplified meshes for crude registration of two partially overlapping range images Mercedes R.G.Márquez Wu Shin-Ting State University of Matogrosso.
CENG 789 – Digital Geometry Processing 04- Distances, Descriptors and Sampling on Meshes Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Skuller: A volumetric shape registration algorithm for modeling skull deformities Yusuf Sahillioğlu 1 and Ladislav Kavan 2 Medical Image Analysis 2015.
776 Computer Vision Jan-Michael Frahm Spring 2012.
Affine Registration in R m 5. The matching function allows to define tentative correspondences and a RANSAC-like algorithm can be used to estimate the.
CENG 789 – Digital Geometry Processing 07- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
Parameter estimation class 5 Multiple View Geometry CPSC 689 Slides modified from Marc Pollefeys’ Comp
Deformation Modeling for Robust 3D Face Matching Xioguang Lu and Anil K. Jain Dept. of Computer Science & Engineering Michigan State University.
CENG 789 – Digital Geometry Processing 9- Least-Squares Solutions Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
776 Computer Vision Jan-Michael Frahm Spring 2012.
CSE 554 Lecture 8: Alignment
CENG 789 – Digital Geometry Processing 08- Rigid-Body Alignment
University of Ioannina
Assoc. Prof. Yusuf Sahillioğlu
CENG 789 – Digital Geometry Processing 10- Least-Squares Solutions
Spectral Methods Tutorial 6 1 © Maks Ovsjanikov
3D Scan Alignment Using ICP
CENG 789 – Digital Geometry Processing 09- Rigid-Body Alignment
CENG 789 – Digital Geometry Processing 11- Least-Squares Solutions
Calibration and homographies
Back to equations of geometric transformations
Image Stitching Linda Shapiro ECE/CSE 576.
Image Stitching Linda Shapiro ECE P 596.
Presentation transcript:

CENG 789 – Digital Geometry Processing 06- Rigid-Body Alignment Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey

Rigid vs. Non-rigid 2 / 39 Rigid shapesNon-rigid shape (Differ by rigid vs. (Differ by non-rigid transformatns transformations = rigid + bending) = rotation & translation)

Rigid vs. Non-rigid 3 / 39 Rigid shapesNon-rigid shape (Easier to align/register vs. (Harder to align/register due to low degree- due to high DOF) of-freedom)

Rigid vs. Non-rigid 4 / 39 Rigid shapesNon-rigid shape (Main app: 3D scan registration) vs. (Main apps: shape completion & attribute transfer via shape correspondence)

Rigid Alignment 5 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes.

Rigid Alignment 6 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Translation disambiguation handled by moving centers to the origin.

Rigid Alignment 7 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. PCA on covariance matrix C that encodes variances between x,y,z coordinate pairs of all n shape points.

Rigid Alignment 8 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. PCA on covariance matrix C that encodes variances between x,y,z coordinate pairs of all n shape points. Eigenvectors of C provide principal axes/directions (of variations) of the shape, which are then aligned w/ the standard Euclidean axes. Same alignment is applied to the 2 nd shape.

Rigid Alignment 9 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. Align principal axes w/ the standard Euclidean axes; e.g., align w/ y-axis.

Rigid Alignment 10 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. Align principal axes w/ the standard Euclidean axes; e.g., align w/ y-axis.

Rigid Alignment 11 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. Align principal axes w/ the standard Euclidean axes; e.g., align w/ y-axis.

Rigid Alignment 12 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. Align principal axes w/ the standard Euclidean axes; e.g., align w/ y-axis. Blue (zAngle) and dark (xAngle) angles?

Rigid Alignment 13 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. Align principal axes w/ the standard Euclidean axes; e.g., align w/ y-axis. Blue (zAngle) and dark (xAngle) angles?

Rigid Alignment 14 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. Align principal axes w/ the standard Euclidean axes; e.g., align w/ y-axis. This was cool; but not exactly solving our alignment problem  It rather moves object from one position to another within a single reference frame. In our case we want switching coordinates from one system (principles) to another (Euclidean); like this: Tables, chairs, and other furniture is defined in a local (modeling) coordinate system. They can be placed into a room, defined in another coordinate system, by transforming furniture (modeling) coordinates to room (world) coordinates.

Rigid Alignment 15 / 39 We will do rigid-body alignment this lecture. Easier scenario: Alignment of 2 complete shapes. Rotation disambiguation handled by PCA. Align principal axes w/ the standard Euclidean axes; e.g., align w/ y-axis. Switching coordinates from one system (principles) to another (Euclidean).

Rigid Alignment 16 / 39 We will do rigid-body alignment this lecture. Harder scenario: Alignment of 2 partial shapes. PCA-based solution is a global approach. Based on variations on coordinates. Two shapes that partial overlapping will have different variations; PCA fails.

Rigid Alignment 17 / 39 We will do rigid-body alignment this lecture. Harder scenario: Alignment of 2 partial shapes. Partial shapes arise frequently in life: 3D scans. Handle them using Direct rotation computation (when map b/w 2 shapes known). Iterative Closest Point algorithm (when map unknown). RANSAC (when map unknown).

Rigid Alignment 18 / 39 If map/correspondences are known, we can derive rotation and translation that aligns the 1 st shape with the 2 nd.

Rigid Alignment 19 / 39 If map/correspondences are known, we can derive rotation and translation that aligns the 1 st shape with the 2 nd.

Rigid Alignment 20 / 39 If map/correspondences are known, we can derive rotation and translation that aligns the 1 st shape with the 2 nd. Do energy functional minimization using matrix algebra. Take the derivative of E(x) w.r.t. x and search for its roots.

Rigid Alignment 21 / 39 Translation.

Rigid Alignment 22 / 39 Rotation. Recall SVD:

Rigid Alignment 23 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Assume closest points correspond. Compute the rotation and translation based on this correspondence/map. Update coordinates and re-compute closest-point correspondences. Re-compute rotation and translation based on this map. Repeat.

Rigid Alignment 24 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Original ICP paper (Besl & McKay, A Method for Registration of 3-D Shapes, PAMI, 1992) uses closed-form solution to compute the rotations (unlike our least-squares solution in prev. slides). Converges if starting point is close enough. For efficiency, you can do sampling on point sets. Also, use k-d trees. For accuracy, you can replace your matching criteria (point to plane).

Rigid Alignment 25 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Resulting ICP session; pretty robust:

Rigid Alignment 26 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Basic ICP algo; again:

Rigid Alignment 27 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Better correspondence estimation via feature points.

Rigid Alignment 28 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Better correspondence estimation via feature points. Goal is to identify when 2 points on different scans represent the same feature. If this is done perfectly, you do not need to iterate (ICP). You just compute rotations and translations in one shot.

Rigid Alignment 29 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Better correspondence estimation via feature points. Goal is to identify when 2 points on different scans represent the same feature. Hint: Are the surroundings similar?

Rigid Alignment 30 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Better correspondence estimation via feature points. Goal is to identify when 2 points on different scans represent the same feature. Hint: Are the surroundings similar? Recall rotation-invariant shape histograms descriptor.

Rigid Alignment 31 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Better correspondence estimation via feature points. Goal is to identify when 2 points on different scans represent the same feature. Hint: Are the surroundings similar? Lots of descriptors defined over the years.

Rigid Alignment 32 / 39 Iterative Closest Point algorithm (when map b/w 2 shapes unknown). Better correspondence estimation via feature points. Goal is to identify when 2 points on different scans represent the same feature. Hint: Are the surroundings similar? One of my favorites: shape diameter function (for non-rigid case).

Rigid Alignment 33 / 39 RANSAC (when map b/w 2 shapes unknown). ICP only needs 3 point pairs to define a rotation in 3D. RANSAC algo. Pick a random pair of 3 points on 2 shapes. Estimate alignment (compute rotation translation) in the least-squares sense. Check for the error of this alignment (e.g. sum of distnces b/w matching pnts).

Rigid Alignment 34 / 39 RANSAC (when map b/w 2 shapes unknown). ICP only needs 3 point pairs to define a rotation in 3D. RANSAC algo. Pick a random pair of 3 points on 2 shapes. Estimate alignment (compute rotation translation) in the least-squares sense. Check for the error of this alignment (e.g. sum of distnces b/w matching pnts).

Rigid Alignment 35 / 39 RANSAC (when map b/w 2 shapes unknown). ICP only needs 3 point pairs to define a rotation in 3D. RANSAC algo. Pick a random pair of 3 points on 2 shapes. Estimate alignment (compute rotation translation) in the least-squares sense. Check for the error of this alignment (e.g. sum of distnces b/w matching pnts).

Rigid Alignment 36 / 39 RANSAC (when map b/w 2 shapes unknown). ICP only needs 3 point pairs to define a rotation in 3D. RANSAC algo. Pick a random pair of 3 points on 2 shapes. Estimate alignment (compute rotation translation) in the least-squares sense. Check for the error of this alignment (e.g. sum of distnces b/w matching pnts).

Rigid Alignment 37 / 39 RANSAC (when map b/w 2 shapes unknown). ICP only needs 3 point pairs to define a rotation in 3D. RANSAC algo. Pick a random pair of 3 points on 2 shapes. Estimate alignment (compute rotation translation) in the least-squares sense. Check for the error of this alignment (e.g. sum of distnces b/w matching pnts). Random picks do not have to be exact.

Rigid Alignment 38 / 39 RANSAC (when map b/w 2 shapes unknown). ICP only needs 3 point pairs to define a rotation in 3D. Resulting RANSAC session:

Rigid Alignment 39 / 39 RANSAC (when map b/w 2 shapes unknown). ICP only needs 3 point pairs to define a rotation in 3D. Resulting RANSAC session: