Image Registration Lecture 9: Registration Components March 22, 2005 Prof. Charlene Tsai.

Slides:



Advertisements
Similar presentations
ITK Registration Methods
Advertisements

ITK Deformable Registration
Andrew Cosand ECE CVRR CSE
Image Registration  Mapping of Evolution. Registration Goals Assume the correspondences are known Find such f() and g() such that the images are best.
ECE 471/571 - Lecture 13 Gradient Descent 10/13/14.
Optimizing and Learning for Super-resolution
Unsupervised Learning Clustering K-Means. Recall: Key Components of Intelligent Agents Representation Language: Graph, Bayes Nets, Linear functions Inference.
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Summary of Friday A homography transforms one 3d plane to another 3d plane, under perspective projections. Those planes can be camera imaging planes or.
CSci 6971: Image Registration Lecture 14 Distances and Least Squares March 2, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Stereo Vision Reading: Chapter 11
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
Edge Detection CSE P 576 Larry Zitnick
Medical Image Registration Dept. of Biomedical Engineering Biomedical Image Analysis
Prof. Ramin Zabih (CS) Prof. Ashish Raj (Radiology) CS5540: Computational Techniques for Analyzing Clinical Data.
A Computationally Efficient Approach for 2D-3D Image Registration Juri Minxha Medical Image Analysis Professor Benjamin Kimia Spring 2011 Brown University.
CSci 6971: Image Registration Lecture 3: Images and Transformations January 20, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Stanford CS223B Computer Vision, Winter 2005 Lecture 6: Stereo 2 Sebastian Thrun, Stanford Rick Szeliski, Microsoft Hendrik Dahlkamp and Dan Morris, Stanford.
Non-Rigid Registration. Why Non-Rigid Registration  In many applications a rigid transformation is sufficient. (Brain)  Other applications: Intra-subject:
CSci 6971: Image Registration Lecture 26: BSpline Transforms April 20, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI.
Motion Analysis (contd.) Slides are from RPI Registration Class.
CSci 6971: Image Registration Lecture 4: First Examples January 23, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
CSci 6971: Image Registration Lecture 8: Registration Components February 6, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Stanford CS223B Computer Vision, Winter 2006 Lecture 6 Stereo II Professor Sebastian Thrun CAs: Dan Maynes-Aminzade, Mitul Saha, Greg Corrado Stereo.
Computing motion between images
Interpolation Snakes Work by Silviu Minut. Ultrasound image has noisy and broken boundaries Left ventricle of dog heart Geodesic contour moves to smoothly.
CSci 6971: Image Registration Lecture 9: Registration Components February 10, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
CSci 6971: Image Registration Lecture 8: Image Resampling February 3, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
CSci 6971: Image Registration Lecture 20: Demons Registration April 16, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI.
Lecture 11: Stereo and optical flow CS6670: Computer Vision Noah Snavely.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
CSci 6971: Image Registration Lecture 10: Registration Components February 13, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Edge Detection.
Stereo Sebastian Thrun, Gary Bradski, Daniel Russakoff Stanford CS223B Computer Vision (with slides by James Rehg and.
CSci 6971: Image Registration Lecture 5: Feature-Base Regisration January 27, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
A Big Thanks Prof. Jason Bohland Quantitative Neuroscience Laboratory Boston University Dr. Luis Ibanez Open Source Proponent,
MASKS © 2004 Invitation to 3D vision Lecture 3 Image Primitives andCorrespondence.
By Yevgeny Yusepovsky & Diana Tsamalashvili the supervisor: Arie Nakhmani 08/07/2010 1Control and Robotics Labaratory.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Time Series Data Analysis - I Yaji Sripada. Dept. of Computing Science, University of Aberdeen2 In this lecture you learn What are Time Series? How to.
Stereo Vision Reading: Chapter 11 Stereo matching computes depth from two or more images Subproblems: –Calibrating camera positions. –Finding all corresponding.
CSci 6971: Image Registration Lecture 3: Images and Transformations March 1, 2005 Prof. Charlene Tsai.
CS654: Digital Image Analysis Lecture 8: Stereo Imaging.
Digital Image Processing CCS331 Relationships of Pixel 1.
By: David Gelbendorf, Hila Ben-Moshe Supervisor : Alon Zvirin
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
An Improved Approach For Image Matching Using Principle Component Analysis(PCA An Improved Approach For Image Matching Using Principle Component Analysis(PCA.
Comparison of Image Registration Methods David Grimm Joseph Handfield Mahnaz Mohammadi Yushan Zhu March 18, 2004.
Optimization Indiana University July Geoffrey Fox
John Morris These slides were adapted from a set of lectures written by Mircea Nicolescu, University of Nevada at Reno Stereo Vision Iolanthe in the Bay.
Performance Measurement of Image Processing Algorithms By Dr. Rajeev Srivastava ITBHU, Varanasi.
Photoconsistency constraint C2 q C1 p l = 2 l = 3 Depth labels If this 3D point is visible in both cameras, pixels p and q should have similar intensities.
MASKS © 2004 Invitation to 3D vision Lecture 3 Image Primitives andCorrespondence.
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching.
Introduction to Medical Imaging Regis Introduction to Medical Imaging Registration Alexandre Kassel Course
Lecture 16: Image alignment
Ke Chen Reading: [7.3, EA], [9.1, CMB]
Image Primitives and Correspondence
Interpolation Snakes Work by Silviu Minut.
ECE 471/571 - Lecture 14 Gradient Descent.
MPHY8149: Image Registration
SimpleITK Fundamental Concepts
Iterative Algorithm g = Af g : Vector of projection data
SimpleITK Fundamental Concepts
Non-local Means Filtering
Overfitting and Underfitting
Midterm Exam Closed book, notes, computer Similar to test 1 in format:
Computational Photography
SimpleITK Fundamental Concepts
Image Registration  Mapping of Evolution
Presentation transcript:

Image Registration Lecture 9: Registration Components March 22, 2005 Prof. Charlene Tsai

Image RegistrationLecture 8 2 Image Metrics How similar is image A to image B ?

Image RegistrationLecture 8 3 Image Metrics Does Image B matches Image A better than Image C ?

Image RegistrationLecture 8 4 Image Metrics Image AImage CImage B Match( A, B )Match( A, C ) ><><

Image RegistrationLecture 8 5 Image Metrics Match( A, B ) Simplest Metric Mean Squared Differences

Image RegistrationLecture 8 6 Mean Squared Differences Image A Image B For each pixel in A Difference( index ) = A( index ) – B( index ) Sum += Difference( index ) 2 Match( A, B ) = Sum / numberOfPixels

Image RegistrationLecture 8 7 Mean Squared Differences #include "itkImage.h" #include "itkMeanSquaresImageToImageMetric.h" #include "itkLinearInterpolateImageFunction.h" #include "itkTranslationTransform.h" typedef itk::Image ImageType; ImageType::ConstPointer fixedImage = GetFixedImage(); ImageType::ConstPointer movingImage = GetMovingImage(); typedef itk::LinearInterpolateImageFunction InterpolatorType; InterpolatorType::Pointer interpolator = InterpolatorType::New(); typedef itk::TranslationTransform TransformType; TransformType::Pointer transform = TransformType::New();

Image RegistrationLecture 8 8 Mean Squared Differences typedef itk::MeanSquaresImageToImageMetric MetricType; MetricType::Pointer metric = MetricType::New(); metric->SetInterpolator( interpolator ); metric->SetTransform( transform ); metric->SetFixedImage( fixedImage ); metric->SetMovingImage( movingImage ); MetricType::TransformParametersType translation( Dimension ); translation[0] = 12; translation[1] = 27; double value = metric->GetValue( translation );

Image RegistrationLecture 8 9 Evaluating many matches MetricType::TransformParametersType translation( Dimension ); double value[21][21]; for( int dx = 0; dx <= 20; dx++) { for( int dy = 0; dy <= 20; dy++) { translation[0] = dx; translation[1] = dy; value[dx][dy] = metric->GetValue( translation ); } }

Image RegistrationLecture 8 10 Evaluating many matches y Fixed Image Transform x y Moving Image x (0,0) mm

Image RegistrationLecture 8 11 Plotting the Metric Mean Squared Differences Transform Parametric Space

Image RegistrationLecture 8 12 Plotting the Metric Mean Squared Differences Transform Parametric Space

Image RegistrationLecture 8 13 Evaluating many matches y Fixed Image Transform x y Moving Image x (-15,-25) mm

Image RegistrationLecture 8 14 Plotting the Metric Mean Squared Differences Transform Parametric Space

Image RegistrationLecture 8 15 Plotting the Metric Mean Squared Differences Transform Parametric Space

Image RegistrationLecture 8 16 The Best Transform Parameters  Evaluation of the full parameter space is equivalent to perform optimization by exhaustive search  Very safe but very slow!  Many better optimization methods, for example gradient descent  Evaluation of the full parameter space is equivalent to perform optimization by exhaustive search  Very safe but very slow!  Many better optimization methods, for example gradient descent

Image RegistrationLecture 8 17 Image Registration Framework Fixed Image Moving Image Metric Transform Interpolator Optimizer Parameters

Image RegistrationLecture 8 18 Gradient Descent Optimizer f( x, y ) S = L ∙ G( x, y ) f( x, y ) ∆ G( x, y ) = S = Step L = Learning Rate

Image RegistrationLecture 8 19 Gradient Descent Optimizer f( x, y ) S = L ∙ G( x, y ) f( x, y ) ∆ G( x, y ) =

Image RegistrationLecture 8 20 Gradient Descent Optimizer f( x, y ) S = L ∙ G( x, y ) f( x, y ) ∆ G( x, y ) = L too large

Image RegistrationLecture 8 21 Gradient Descent Optimizer f( x, y ) S = L ∙ G( x, y ) f( x, y ) ∆ G( x, y ) = L too small

Image RegistrationLecture 8 22 Gradient Descent Optimizer What’s wrong with this algorithm ? S Units ? = millimeters f(x,y) Units ? = intensity G(x,y) Units ? = intensity / millimeters S = L ∙ G( x, y ) S is proportional to intensity change

Image RegistrationLecture 8 23 Gradient Descent Optimizer f( x ) S = L ∙ G( x ) 1 1

Image RegistrationLecture 8 24 Gradient Descent Optimizer f( x ) 1 1 S = L ∙ G( x ) S = Large in high gradients S = Small in low gradients

Image RegistrationLecture 8 25 Gradient Descent Optimizer f( x ) S = L ∙ G( x ) Works great with this function Works badly with this function

Image RegistrationLecture 8 26 Gradient Descent Variant Driving Safe !

Image RegistrationLecture 8 27 Regular Step Gradient Descent f( x ) S = D ∙ G( x ) ^ D i = D i-1 / 2.0 D1D1 If G changes direction D1D1 D1D1 D2D2

Image RegistrationLecture 8 28 Regular Step Gradient Descent f( x ) S = D ∙ G( x ) ^ D1D1 User Selects D 1 D1D1 D1D1 D2D2 User Selects D stop User Selects G stop

Image RegistrationLecture 8 29 Optimizers are like a car Watch while you are driving !

Image RegistrationLecture 8 30 Watch over your optimizer Example: Optimizer registering an image with itself starting at (-15mm, -25mm)

Image RegistrationLecture 8 31 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 1.0 mm

Image RegistrationLecture 8 32 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 2.0 mm

Image RegistrationLecture 8 33 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 5.0 mm

Image RegistrationLecture 8 34 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 10.0 mm

Image RegistrationLecture 8 35 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 20.0 mm

Image RegistrationLecture 8 36 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 40.0 mm

Image RegistrationLecture 8 37 Watch over your optimizer Example: Optimizer registering an image shifted by (-15mm, -25mm) The optimizer starts at (0mm,0mm)

Image RegistrationLecture 8 38 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 1.0 mm

Image RegistrationLecture 8 39 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 2.0 mm

Image RegistrationLecture 8 40 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 5.0 mm

Image RegistrationLecture 8 41 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 10.0 mm

Image RegistrationLecture 8 42 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 20.0 mm

Image RegistrationLecture 8 43 Plotting the Optimizer’s Path Mean Squared Differences Step Length = 40.0 mm

Image RegistrationLecture 8 44 Other Image Metrics Normalized Correlation itkNormalizedCorrelationImageToImageMetric.h

Image RegistrationLecture 8 45 Normalized Correlation Image A Image B For each pixel in A SumAB += A( index ) ∙ B( index ) Match( A, B ) = SumAB / √ ( SumAA ∙ SumBB ) SumAA += A( index ) ∙ A( index ) SumBB += B( index ) ∙ B( index )

Image RegistrationLecture 8 46 Evaluating many matches y Fixed Image Transform x y Moving Image x

Image RegistrationLecture 8 47 Plotting the Metric Normalized Correlation Metric Transform Parametric Space

Image RegistrationLecture 8 48 Plotting the Metric Normalized Correlation Metric Transform Parametric Space

Image RegistrationLecture 8 49 Watch over your optimizer Example: Optimizer registering an image with itself starting at (-15mm, -25mm)

Image RegistrationLecture 8 50 Plotting the Optimizer’s Path Normalized Correlation Metric Step Length = 1.0 mm

Image RegistrationLecture 8 51 Plotting the Optimizer’s Path Normalized Correlation Metric Step Length = 2.0 mm

Image RegistrationLecture 8 52 Plotting the Optimizer’s Path Normalized Correlation Metric Step Length = 5.0 mm

Image RegistrationLecture 8 53 Plotting the Optimizer’s Path Normalized Correlation Metric Step Length = 10.0 mm

Image RegistrationLecture 8 54 Plotting the Optimizer’s Path Normalized Correlation Metric Step Length = 20.0 mm

Image RegistrationLecture 8 55 Plotting the Optimizer’s Path Normalized Correlation Metric Step Length = 40.0 mm

Image RegistrationLecture 8 56 Evaluating many matches y Fixed Image Transform x y Moving Image x (-15,-25) mm

Image RegistrationLecture 8 57 Plotting the Metric Normalized Correlation Metric Transform Parametric Space

Image RegistrationLecture 8 58 Plotting the Metric Normalized Correlation Metric Transform Parametric Space

Image RegistrationLecture 8 59 Watch over your optimizer Example: Optimizer registering an image shifted by (-15mm, -25mm) The optimizer starts at (0mm,0mm)

Image RegistrationLecture 8 60 Plotting the Optimizer Path Normalized Correlation Metric Step Length = 1.0 mm

Image RegistrationLecture 8 61 Plotting the Optimizer Path Normalized Correlation Metric Step Length = 2.0 mm

Image RegistrationLecture 8 62 Plotting the Optimizer Path Normalized Correlation Metric Step Length = 5.0 mm

Image RegistrationLecture 8 63 Plotting the Optimizer Path Normalized Correlation Metric Step Length = 10.0 mm

Image RegistrationLecture 8 64 Plotting the Optimizer Path Normalized Correlation Metric Step Length = 20.0 mm

Image RegistrationLecture 8 65 Plotting the Optimizer Path Normalized Correlation Metric Step Length = 40.0 mm

Image RegistrationLecture 8 66 Other Image Metrics Mean Reciprocal Square Differences itkMeanReciprocalSquareDifferenceImageToImageMetric.h

Image RegistrationLecture 8 67 Mean Reciprocal Squared Differences Image A Image B For each pixel in A Difference( index ) = A( index ) – B( index ) 1 Match( A, B ) += ( 1 + λ ∙ Difference( index ) 2 )

Image RegistrationLecture 8 68 Evaluating many matches y Fixed Image Transform x y Moving Image x

Image RegistrationLecture 8 69 Plotting the Metric Mean Reciprocal Squared Differences Transform Parametric Space

Image RegistrationLecture 8 70 Plotting the Metric Mean Reciprocal Squared Differences Transform Parametric Space

Image RegistrationLecture 8 71 Evaluating many matches y Fixed Image Transform x y Moving Image x (-15,-25) mm

Image RegistrationLecture 8 72 Plotting the Metric Mean Reciprocal Squared Differences Transform Parametric Space

Image RegistrationLecture 8 73 Plotting the Metric Mean Reciprocal Squared Differences Transform Parametric Space

Image RegistrationLecture 8 74 Watch over your optimizer Example: Optimizer registering an image with itself starting at (-15mm, -25mm)

Image RegistrationLecture 8 75 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 1.0 mm

Image RegistrationLecture 8 76 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 2.0 mm

Image RegistrationLecture 8 77 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 5.0 mm

Image RegistrationLecture 8 78 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 10.0 mm

Image RegistrationLecture 8 79 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 20.0 mm

Image RegistrationLecture 8 80 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 40.0 mm

Image RegistrationLecture 8 81 Quiz #1 If the Metric is Noisy Where is the noise coming from ?

Image RegistrationLecture 8 82 Smoothing the Image

Image RegistrationLecture 8 83 Evaluating many matches y Fixed Image Transform x y Moving Image x

Image RegistrationLecture 8 84 Plotting the Smoothed Metric Mean Reciprocal Squared Differences Transform Parametric Space

Image RegistrationLecture 8 85 Plotting the Smoothed Metric Mean Reciprocal Squared Differences Transform Parametric Space

Image RegistrationLecture 8 86 Watch over your optimizer Example: Optimizer registering an image with itself starting at (-15mm, -25mm)

Image RegistrationLecture 8 87 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 1.0 mm

Image RegistrationLecture 8 88 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 2.0 mm

Image RegistrationLecture 8 89 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 5.0 mm

Image RegistrationLecture 8 90 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 10.0 mm

Image RegistrationLecture 8 91 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 20.0 mm

Image RegistrationLecture 8 92 Plotting the Optimizer’s Path Mean Reciprocal Squared Differences Step Length = 40.0 mm

Image RegistrationLecture 8 93 Watch over your optimizer How much can you blindly trust your optimizer…

Image RegistrationLecture 8 94 I left my Optimizer working…

Image RegistrationLecture 8 95 I think it’s going to finish soon…

Image RegistrationLecture 8 96 Summary  Two Optimizers:  Gradient descent  Regular-step gradient descent  3 metrics  Mean squared differences  Normalized correlation metric  Mean reciprocal square differences  Watch where you’re driving!!!  Two Optimizers:  Gradient descent  Regular-step gradient descent  3 metrics  Mean squared differences  Normalized correlation metric  Mean reciprocal square differences  Watch where you’re driving!!!