Lecture 8: Registration

Similar documents
First scan matching algorithms. Alberto Quattrini Li University of South Carolina

5.2 Surface Registration

Lecture 6: Medical imaging and image-guided interventions

10/03/11. Model Fitting. Computer Vision CS 143, Brown. James Hays. Slides from Silvio Savarese, Svetlana Lazebnik, and Derek Hoiem

Inverse Kinematics II and Motion Capture

ICRA 2016 Tutorial on SLAM. Graph-Based SLAM and Sparsity. Cyrill Stachniss

An idea which can be used once is a trick. If it can be used more than once it becomes a method

The Alignment of Arbitrary Contours Using Area Difference Distance Measurement

Homework Assignment /655 (CIRCLE ONE) Fall Instructions and Score Sheet (hand in with answers)

Two-view geometry Computer Vision Spring 2018, Lecture 10

Assessing Accuracy Factors in Deformable 2D/3D Medical Image Registration Using a Statistical Pelvis Model

Quaternions and Exponentials

Three-Dimensional Sensors Lecture 6: Point-Cloud Registration

Nonlinear State Estimation for Robotics and Computer Vision Applications: An Overview

3D Point Cloud Processing

CS251 Spring 2014 Lecture 7

CS612 - Algorithms in Bioinformatics

Recovery of 3D Pose of Bones in Single 2D X-ray Images

Surface Registration. Gianpaolo Palma

Dynamic Geometry Processing

Agenda. Rotations. Camera models. Camera calibration. Homographies

Iterative Closest Point Algorithm in the Presence of Anisotropic Noise

Geometric Transformations

Introduction to Computer Vision

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

AH Matrices.notebook November 28, 2016

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

MTRX4700 Experimental Robotics

Correspondence. CS 468 Geometry Processing Algorithms. Maks Ovsjanikov

A Detailed Look into Forward and Inverse Kinematics

Advanced Techniques for Mobile Robotics Graph-based SLAM using Least Squares. Wolfram Burgard, Cyrill Stachniss, Kai Arras, Maren Bennewitz

Image processing and features

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

Scale-Invariant Registration of Monocular Endoscopic Images to CT-Scans for Sinus Surgery

Image Analysis. Rasmus R. Paulsen DTU Compute. DTU Compute

3D Environment Reconstruction

Homework Assignment /645 Fall Instructions and Score Sheet (hand in with answers)

Integrated Math 1. Integrated Math, Part 1

Sensor-aided Milling with a Surgical Robot System

A New Method for CT to Fluoroscope Registration Based on Unscented Kalman Filter

Agenda. Rotations. Camera calibration. Homography. Ransac

Jacobians. 6.1 Linearized Kinematics. Y: = k2( e6)

Humanoid Robotics. Least Squares. Maren Bennewitz

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016

An Automated Image-based Method for Multi-Leaf Collimator Positioning Verification in Intensity Modulated Radiation Therapy

Non-rigid Image Registration

Medicale Image Analysis

A SYSTEM FOR COMPUTER-ASSISTED SURGERY WITH INTRAOPERATIVE CT IMAGING

Stereo and Epipolar geometry

MEAM 620: HW 1. Sachin Chitta Assigned: January 10, 2007 Due: January 22, January 10, 2007

Matrix Inverse 2 ( 2) 1 = 2 1 2

Lecture 13 Theory of Registration. ch. 10 of Insight into Images edited by Terry Yoo, et al. Spring (CMU RI) : BioE 2630 (Pitt)

Computer and Machine Vision

Introduction to Mobile Robotics Iterative Closest Point Algorithm. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras

Vector Algebra Transformations. Lecture 4

COMPUTER AND ROBOT VISION

Homework 5: Transformations in geometry

Lecture Note 3: Rotational Motion

Occluded Facial Expression Tracking

VALIDATION OF DIR. Raj Varadhan, PhD, DABMP Minneapolis Radiation Oncology

User-assisted Segmentation and 3D Motion Tracking. Michael Fleder Sudeep Pillai Jeremy Scott

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

Topological map merging

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General

Index. 3D reconstruction, point algorithm, point algorithm, point algorithm, point algorithm, 263

Rigid ICP registration with Kinect

Geometric camera models and calibration

A Multiple-Layer Flexible Mesh Template Matching Method for Nonrigid Registration between a Pelvis Model and CT Images

SOME CONCEPTS IN DISCRETE COSINE TRANSFORMS ~ Jennie G. Abraham Fall 2009, EE5355

2D Rigid Registration of MR Scans using the 1d Binary Projections

Enabling Technologies for Robot Assisted Ultrasound Tomography

CALIBRATION BETWEEN DEPTH AND COLOR SENSORS FOR COMMODITY DEPTH CAMERAS. Cha Zhang and Zhengyou Zhang

Rectification and Distortion Correction

fmri pre-processing Juergen Dukart

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Miniature faking. In close-up photo, the depth of field is limited.

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Fundamentals of 3D. Lecture 3: Debriefing: Lecture 2 Rigid transformations Quaternions Iterative Closest Point (+Kd-trees)

Multi-stable Perception. Necker Cube

CS 565 Computer Vision. Nazar Khan PUCIT Lectures 15 and 16: Optic Flow

CV: 3D sensing and calibration

Dynamic 2D/3D Registration for the Kinect

Development of an Automated Fingerprint Verification System

Computational Medical Imaging Analysis Chapter 4: Image Visualization

Photo by Carl Warner

Workshop - Model Calibration and Uncertainty Analysis Using PEST

Sets the default folder to be the folder where this notebook is saved. That is a fancy way of saying

Fully Automatic Endoscope Calibration for Intraoperative Use

UNIVERSITY OF TORONTO Faculty of Applied Science and Engineering. ROB501H1 F: Computer Vision for Robotics. Midterm Examination.

of Iterative Closest Point ICP algorithm to

Some material taken from: Yuri Boykov, Western Ontario

CS231A Midterm Review. Friday 5/6/2016

Quaternions and Rotations

Shape-based Diffeomorphic Registration on Hippocampal Surfaces Using Beltrami Holomorphic Flow

Transcription:

ME 328: Medical Robotics Winter 2019 Lecture 8: Registration Allison Okamura Stanford University

Updates Assignment 4 Sign up for teams/ultrasound by noon today at: https://tinyurl.com/me328-uslab Main parts: Readings/questions Image acquisition and analysis (ultrasound lab) Image registration Needle insertion (robot control) Remainder of assignment will be posted this morning https://tinyurl.com/me328-uslab

registration the alignment of multiple data sets into a single coordinate system such that the spatial locations of corresponding points coincide i.e., establish a quantitative relationship between different reference frames essential for the quantitative integration of various sources of information: 1. pre-, intra-, and post-operative images 2. trackers (tracking data not useful unless registered) 3. robots (cannot use images unless registered) Image-Guided Procedures: A Review, by Ziv Yaniv and Kevin Cleary (2006)

examples L. Joskowicz c 2011

suitability for image-guided procedures accuracy: target registration error (TRE) quantifies how far the predicted position of the anatomical target is from its actual position ~1 mm typically satisfactory speed: how long does it take the algorithm to produce the solution intraoperatively, need on the order of seconds to minutes robustness: how well does the algorithm deal with noise and outliers depends on how noisy the data is

navigation and registration example http://www.youtube.com/watch?v=jycikoeryd8 http://www.youtube.com/watch?v=c58etxwwoda

a typical robot registration problem Preoperative model from a CT scan gives the location of a tumor in the brain... Now we are in the OR and want to operate with a robot based on this preoperative registration example and graphics provided by Russell H. Taylor, JHU image

a typical robot registration problem preoperative model intraoperative reality T reg v CT = T reg v ptr v ptr What is? T reg c Russell H. Taylor, 2011

coordinate systems and transformations y B T {B} y A z B x B {A} x A e.g., image or patient coordinate system z A e.g., robot base T 1 coordinate system

coordinate systems and transformations v A = F (v B ) v A = Tv B y B v A = Rv B + p T {B} v B y A z B x B {A} v A x A e.g., image or patient coordinate system z A e.g., robot base coordinate system T 1 T (R, p) = apple R 3 3 p 3 1 0 0 0 1

coordinate systems and transformations v A = F (v B ) first rotate v A = Tv B v A = Rv B + p {B} v B {A} v A T (R, p) = apple R 3 3 p 3 1 0 0 0 1

v A = F (v B ) v A = Tv B coordinate systems and transformations v A = Rv B + p {B} v B then translate {A} v A T (R, p) = apple R 3 3 p 3 1 0 0 0 1

interesting properties of T and R forward transformation v A = Tv B v A = Rv B + p inverse transformation T 1 v A = v B v B = R 1 (v A p) v B = R 1 v A R 1 p composition of transformations T 3 = T 1 T 2 R 3 = R 1 R 2 p 3 = R 1 p 2 + p 1 rotation matrices are orthogonal matrices R T = R 1 R T R = RR T = I and members of the group SO(3) det(r) =+1

composition of transformations F CH F CA F BE F BD F C F D F E F GC F G F DU F U F EH F BG F UA F H F B F GH? F GH = F 1 BG F BEF EH c Russell H. Taylor, 2011

feature-based registration preoperative model intraoperative reality tracked pointer/robot end-effector c Russell H. Taylor, 2011

features used for feature-based registration Point fiducials (markers) Point anatomical landmarks Ridge curves Contours Surfaces Line fiducials given two features (either the same features in two different reference frames, of two different features in the same reference frame), we need to know the distance between them

what the computer knows preoperative model intraoperative reality c Russell H. Taylor, 2011

identify corresponding points preoperative model intraoperative reality c Russell H. Taylor, 2011

how to identify correspondences { b } i manual vs. part of the optimization/ a k? minimization process state of the art is the iterative closest point (ICP) algorithm... but we will assume manual is possible

find the best rigid transformation preoperative model intraoperative reality X min T reg i w i D(T reg a i,b i ) minimize over all possible values of T reg weighting depending on which points are being considered c a disparity function Russell H. Taylor, 2011

disparity function, D a metric for the error between two feature sets minimize over all possible values of T reg X min T reg i w i D(T reg a i,b i ) weighting depending on which points are being considered sum of squares of residuals is common: X min T reg i other D possibilities include: maximum distance median distance a disparity function w i (T reg a i b i ) 2 cardinality depending in threshold

how to do the optimization for rigid registration Given points in two different coordinate systems (e.g., a set of points and a set of points ) {a i } {b i } Find the transformation matrix T (R, p) X That minimizes e T i e i i Where e i =(Ra i + p) b i this is tricky because of R Options: global vs. local numerical vs. direct (analytical) ways of dealing with local minima

minimizing registration errors Step 1: compute means and residuals of known points ā = 1 NX NX 1 b a i = b i N N i=1 i=1 ã i = a i ā bi = b b i X Step 2: Find R that minimizes (Rã bi i ) 2 Step 3: Find p p = b Rā i How??? There are 4 substeps within Step 4: Desired transformation is apple R p T (R, p) = 0 0 0 1 this step

minimization substeps: direct method (there is also an iterative method) Step 1: Compute H = i!a i,x! bi,x!a i,x! bi,y!a i,x! bi,z!a i,y! bi,x!a i,y! bi,y!a i,y! bi,z!a i,z! bi,x!a i,z! bi,y!a i,z! bi,z Step 2: Compute the SVD of H = USV t Step 3: R = VU t outer product between a and b Step 4: Verify Det(R) = 1. If not, then algorithm may fail. K. S. Arun, T. S. Huang, S. D. Blostein. Least-Squares Fitting of Two 3-D Point Sets. IEEE Transactions on Pattern Analysis and Machine Intelligence, 9(5): 698-700, 1987.

Extra Slides: An Iterative Method for Finding the Rotation Matrix (I don t recommend using this for your assignment, though. The SVD method is much simpler.)

iterative method: solving for R Goal: given paired point sets {a i } and {b i }, find R = arg min X i (Rã i bi ) 2 Step 0: Make an initial guess R 0 Step 1: Given R, compute ˆbi k = R 1 k b i X Step 2: Compute R that minimizes ( Rã ˆbi i ) 2 Step 3: Set R k+1 = R k R Step 4: Iterate Steps 1-3 until residual error is sufficiently small (or other termination condition) i

more mathematical preliminaries matrix representation of cross product 2 T a = a x a y a z skew(a) = 4 a v =skew(a)v 0 a z a y a z 0 a x a y a x 0 3 5 representations/constructions of rotation matrices angle-axis: rot(a, ) is a rotation about axis a Rodrigues formula: c = rot(a, )b = b cos( )+a b sin( )+a(a T b)(1 cos( )) exponential: rot(a, ) =e skew(a) = I + skew(a)+ 2 2! skew(a)2 +... rot(a, ) I + skew(a) more notation: rot(a, ) =R a ( ) R(a) = rot(a, a )

small transformations useful for linear approximations to represent small pose shifts Tv = Rv + p R a small rotation R a ( ) a rotation by a small angle about axis a rot(a, a )b a b + b for a sufficiently small R(a) a rotation that is small enough so that any error introduced by this approximation is negligible R( a) R(µb) R( a + µb) linearity for small rotations exercise: work out the linearity proposition by substitution

small transformations Tv = R(a)v + p Tv v + a v + p a v =skew(a)v = 2 4 0 a z a y a z 0 a x a y a x 0 3 5 2 4 v x v y v z 3 5 skew(a)a =0 R(a) I +skew(a) R(a) 1 I skew(a) =I +skew( a)

iterative method: solving for Goal: given paired point sets {a i } and {b i }, find R = arg min X i R (Rã i bi ) 2 Step 0: Make an initial guess R 0 Step 1: Given R, compute ˆbi k = R 1 k b i X Step 2: Compute R that minimizes ( Rã ˆbi i ) 2 Step 3: Set R k+1 = R k R Step 4: Iterate Steps 1-3 until residual error is sufficiently small (or other termination condition) i

iterative method: solving for R Approximate R as (I +skew( )) Which is equivalent to Rv v + v remember: multiplying by a skew-symmetric matrix is equivalent to taking cross product Then our least squares problem becomes X min ( Rã ˆbi i ) 2 X min (ã ˆbi i + ã i ) 2 R i This is a linear least squares problem in i Then compute R( )