Introduction

Methods

Results

Masked FFT Registration Dirk Padfield GE Global Research

Paper accepted at CVPR 2010 conference

Conclusions

Introduction

Methods

Results

Conclusions

Problem Definition: Ignore Regions Outside of Mask

Fixed image

Standard FFT NCC

Mask Image

Moving Image

Masked FFT NCC

Introduction

Methods

Results

Conclusions

Problem Description Registration requirements Fast, global, parameter-free, no iterations Use Normalized Cross Correlation (NCC) metric: appropriate for inter-modality, insensitive to multiplicative factors, produces a cost function with sharp peaks and well-defined minima Masking: if pixels in undesirable regions contribute to the metric calculation, this biases registration results Solution FFT NCC registration addresses all of the above except masking Can the masking step be done in the Fourier domain?

Introduction

Methods

Results

Conclusions

Previous Approaches Global +

Fast +

Masked −

Mask Spatial

+



+

Mask Iterative



+

+

FFT

Selected Refs. [Alliney:86:PAMI] [DeCastro:87:PAMI] [Reddy:96:TIP] [Kaneko:03:PR] [Lei:08] [Thevenaz:98:TIP] [Thevenaz:95:ICIP]

FFT: NCC in the Fourier domain is fast and gives global transforms, but does not enable masking Mask Spatial: masking of NCC in the spatial domain gives global transforms but is very slow Mask Iterative: iterative search measuring a metric calculated under a mask only enables local search Stone et al. in [Stone:99:TSP, Stone:98:IJDL] present a fast masking approach using correlations

Introduction

Methods

Results

Visual Example of Cross Correlation

u

v

Conclusions

Introduction

Methods

Results

Conclusions

Cross Correlation versus Convolution Convolution: Z



f1 (t) ∗ f2 (t) =

f1 (τ )f2 (t − τ )dτ = F −1 (F(f1 ) · F(f2 ))

−∞

Correlation: Z ∞ −∞

f1 (τ )f2 (τ − t)dτ = F −1 (F(f1 ) · F(f20 ))

where f20 is f2 rotated by 180◦ Correlation in the Fourier domain is the same as convolution except that the moving image is flipped. Conclusion: To calculate correlation in the Fourier domain, first flip the moving image and then calculate the inverse Fourier transform of the product of the Fourier transforms.

Introduction

Methods

Results

Conclusions

Normalized Cross Correlation

Cross correlation is not invariant to changes in intensity amplitude and features size. The Normalized Cross Correlation (NCC) overcomes these limitations

h  i f1 (x, y ) − f1,u,v f2 (x − u, y − v ) − f2,u,v

X (x,y )∈Du,v

v u u t

X

(x,y )∈Du,v



v 2 u u f1 (x, y ) − f1,u,v t

X

(x,y )∈Du,v



f2 (x − u, y − v ) − f2,u,v

2

Introduction

Methods

Results

Conclusions

Analysis Steps

Given the spatial definition of NCC and the FFT equivalent of CC, mathematically derive the steps to define Masked NCC in the Fourier domain. Steps Define NCC in spatial domain in terms of sums Convert spatial equation into FFT form Convert standard NCC into Masked FFT NCC Generalize to translation, rotation, and scale

Introduction

Methods

Results

Conclusions

Defining NCC in Spatial Domain in Terms of Sums The NCC of images f1 and f2 at a given (u, v ) is NCCnum (u, v ) p NCC(u, v ) = p NCCden,1 (u, v ) NCCden,2 (u, v )

(1)

where NCCnum (u, v ) is X X

f1 (x, y )f2 (x − u, y − v ) −

f1 (x, y )

X

f2 (x − u, y − v )

X

(2) 1

and NCCden,1 (u, v ) (and analogously NCCden,2 (u, v )) is !2 X f1 (x, y ) X X (f1 (x, y ))2 − 1

(3)

Introduction

Methods

Results

Conclusions

Converting Sums to FFTs

Problem Computation of local sums can be computationally intensive because they must be computed for each region of overlap of the two images. This amounts to (q1 + q2 − 1) ∗ (r1 + r2 − 1) different sums, where (qj , rj ) are the image rows and columns. We therefore seek to represent all of these sums directly in the Fourier domain. We will see later that this also enables a simple transition to masked regions.

Introduction

Methods

Results

Conclusions

Cross Correlation Term

The sums of NCCnum (u, v ) X X

f1 (x, y )f2 (x − u, y − v ) −

f1 (x, y )

X

f2 (x − u, y − v )

X

1

Converted to Fourier domain becomes X f1 (x, y )f2 (x − u, y − v ) = F −1 (F1 · F20 )(u, v ) (x,y )∈Du,v

where F1 = F(f1 ), F20 = F(f20 ), and f20 is f2 rotated by 180◦

Introduction

Methods

Results

Conclusions

Number of Pixels in the Overlap Region

The sums of NCCnum (u, v ) X X

f1 (x, y )f2 (x − u, y − v ) −

f1 (x, y )

X

f2 (x − u, y − v )

X

1

Converted to Fourier domain becomes X 1 = F −1 (I1 · I20 )(u, v ) (x,y )∈Du,v

where I1 = F(i1 ), I20 = F(i20 ), and i1 and i2 are images of ones

Introduction

Methods

Results

Conclusions

Local Sum of Image f1

The sums of NCCnum (u, v ) X X

f1 (x, y )f2 (x − u, y − v ) −

f1 (x, y )

X

f2 (x − u, y − v )

X

1

Converted to Fourier domain becomes X f1 (x, y ) = F −1 (F1 · I20 )(u, v ) (x,y )∈Du,v

where F1 = F(f1 ) and I20 = F(i20 )

Introduction

Methods

Results

Conclusions

Local Sum of Image Element-Wise Square of f1

The sums of NCCden,1 (u, v ) !2 X X

f1 (x, y )

2

(f1 (x, y )) −

X

1

Converted to Fourier domain becomes X (f1 (x, y ))2 = F −1 (F(f1 · f1 ) · I20 )(u, v ) (x,y )∈Du,v

Introduction

Methods

Results

Conclusions

Summary of Required Conversions

Equations converting sums to FFTs X

f1 (x, y )f2 (x − u, y − v ) = F −1 (F1 · F20 )(u, v )

(4)

1 = F −1 (I1 · I20 )(u, v )

(5)

f1 (x, y ) = F −1 (F1 · I20 )(u, v )

(6)

(f1 (x, y ))2 = F −1 (F(f1 · f1 ) · I20 )(u, v )

(7)

(x,y )∈Du,v

X (x,y )∈Du,v

X (x,y )∈Du,v

X (x,y )∈Du,v

Introduction

Methods

Results

Conclusions

Extending Formulation to Masked Regions

Assume m1 and m2 are binary mask images of the same size as f1 and f2 , respectively. Mask the images: f1 = f1 · m1 and f2 = f2 · m2 We use Du,v ,m = D2,m (u, v ) ∩ D1,m to represent the region of overlap of the two images where neither of the masked images are 0. This notation ensures that the regions in the masks that are set to 0 have no influence in the overlap region. Local sums are now only calculated in areas of overlap region where both masks are 1. This is found by correlating with the masked images instead of images of ones.

Introduction

Methods

Results

Conclusions

Overlapping Masked Regions

u Image overlap region

Mask overlap region

v

Introduction

Methods

Results

Conclusions

Masked Region Overlapping With F1

u Image overlap region

Mask overlap region

v

Introduction

Methods

Results

Conclusions

Masked Region Overlapping With F2

u Image overlap region

Mask overlap region

v

Introduction

Methods

Results

Conclusions

Conversion from Masked Sums to Masked FFTs

Equations converting masked sums to FFTs X

f1 (x, y )f2 (x − u, y − v ) = F −1 (F1 · F20 )(u, v )

(8)

1 = F −1 (M1 · M20 )(u, v )

(9)

(x,y )∈Du,v ,m

X (x,y )∈Du,v ,m

X

f1 (x, y ) = F −1 (F1 · M20 )(u, v )

(10)

(f1 (x, y ))2 = F −1 (F(f1 · f1 ) · M20 )(u, v )

(11)

(x,y )∈Du,v ,m

X (x,y )∈Du,v ,m

Because NCC was represented fully in FFT domain, all that was needed was to replace I1 and I20 with M1 and M20 .

Introduction

Methods

Results

Conclusions

All That Is Needed for Masked FFT NCC NCCnum p NCC = p NCCden,1 NCCden,2

(12)

where F −1 (F1 · M20 ) · F −1 (M1 · F20 ) F −1 (M1 · M20 )  −1 (F · M 0 ) 2 F 1 2 = F −1 (F(f1 · f1 ) · M20 ) − F −1 (M1 · M20 ) 2 F −1 (M1 · F20 ) −1 0 0 = F (M1 · F(f2 · f2 )) − F −1 (M1 · M20 )

NCCnum = F −1 (F1 · F20 ) −

(13)

NCCden,1

(14)

NCCden,2

Requires only 3 forward FFTs (using odd-even separation), 6 backward FFTs, and several matrix multiplications

(15)

Introduction

Methods

Results

Conclusions

Summary of Masked FFT Registration Steps

Masked FFT NCC calculated using a few steps Set f1 = f1 · m1 and f2 = f2 · m2 Rotate f2 and m2 by 180◦ Calculate the FFTs F1 , F20 , M1 , and M20 using zero padding to make the resulting images of size (q1 + q2 − 1, r1 + r2 − 1). Calculate NCCnum using Equation 13, NCCden,1 using Equation 14, and NCCden,2 using Equation 15. Plug these expressions into Equation 12 to yield the masked NCC.

Introduction

Methods

Results

Conclusions

From NCC to Translation Registration

NCC results in an image of size (q1 + q2 − 1, r1 + r2 − 1) with values between -1 and 1, where 1 indicates a perfect correlation. The center of this NCC image is a translation of (0,0). True translation is the offset from the center to the location with the highest correlation score. Zero out values on the NCC image border: in these regions there is insufficient overlap for stable computation. Use number of overlap pixels F −1 (M1 · M20 ): locations in this image with less than a reasonable value are zeroed out in the NCC image.

Introduction

Methods

Results

Conclusions

Algorithm for Translation, Rotation, and Scale Registration

Input: Fixed image f1 (x, y ), moving image f2 (x, y ), fixed mask m1 (x, y ), moving mask m2 (x, y ) Output: Registered moving image fˆ2 (x, y ) and transform parameters x0 ,y0 ,θ0 ,τ Calculate the Fourier transforms F1 and F2 Calculate the log-polar images N1 (log ρ, θ) and N2 (log ρ, θ) Correlate the log-polar images using NCC to find θ0 and τ Transform the moving image with θ0 and τ to find f˜2 (x, y ) Transform the moving mask with θ0 and τ to find m˜2 (x, y ) Correlate f1 (x, y ) with f˜2 (x, y ) using masked NCC with m1 (x, y ) and m˜2 (x, y ) to find x0 and y0 Transform f˜2 (x, y ) with x0 and y0 to find fˆ2 (x, y )

Introduction

Methods

Results

Conclusions

Synthetic Experiments

Goals Demonstrate flexibility to define arbitrary mask shapes Compare Masked FFT NCC with NCC of images simply multiplied by masks (zeros still have an effect) Show that, even when standard NCC transform is correct, it leads to smaller correlation scores than Masked NCC. Show that if we know the location of objects in one image and mask them, we don’t need to know their location in a different image. Could be useful for tracking.

Introduction

Methods

Results

Comparison with Standard NCC

Fixed Image

Fixed Mask 1

Standard FFT NCC (0.31)

Moving Image

Masked FFT NCC (0.99)

Conclusions

Introduction

Methods

Results

Comparison with Standard NCC

Fixed Image

Fixed Mask 2

Standard FFT NCC (0.42)

Moving Image

Masked FFT NCC (0.99)

Conclusions

Introduction

Methods

Results

Comparison with Standard NCC

Fixed Image

Fixed Mask 3

Standard FFT NCC (0.62)

Moving Image

Masked FFT NCC (0.99)

Conclusions

Introduction

Methods

Results

Real Ultrasound Results

Goals Demonstrate results using ultrasound pie-shaped mask Show that background region biases standard NCC method but not the Masked FFT NCC method Show that perfect correlation scores and transforms are achieved with Masked FFT NCC Demonstrate the registration results for translation, rotation, and scale

Conclusions

Introduction

Methods

Results

Conclusions

(130, 130, 0, 1)

(−130, 130, 0, 1)

(75, 75, 0, 1)

Real Ultrasound Translation Results

Fixed Image

Moving Image

Standard FFT NCC

Masked FFT NCC

Introduction

Methods

Results

Conclusions

(0, 0, 10◦ , 0.8)

(0, 0, 0, 0.8)

(0, 0, 15◦ , 1)

Real Ultrasound Rotation and Scale Results

Fixed Image

Moving Image

Standard FFT NCC

Masked FFT NCC

Introduction

Methods

Results

Conclusions

Conclusions

Introduced a mathematical framework for efficient registration in the Fourier domain of images that have associated masks Takes advantage of the fast, global, and parameter-free characteristics of Fourier domain registration Can be used with any arbitrary mask shape Computation is as efficient as the standard FFT NCC registration, requiring only 3 forward FFTs, 6 backward FFTs, and a number of element-wise matrix multiplications. Results demonstrate correctness of the algorithm - exact transforms and perfect correlation found Bonus: C++ code is available in GEITK

Introduction

Methods

Results

Conclusions

Future Work

Test approach for other applications 3D medical datasets Registering photographs with occluded regions Video tracking applications requiring region masking Template matching for content-based retrieval Any application where undesired regions adversely affect the results

Extension to weighted masks - weighting of pixels based on, for example, the confidence in the pixel’s importance Extension to color - different masks for different color channels Question: What other applications would benefit from this technique?

Introduction

Methods

Results

Conclusions

References [Alliney:86:PAMI] S. Alliney and C. Morandi. Digital image registration using projections. IEEE PAMI, PAMI-8(2):222–233, 1986. [DeCastro:87:PAMI] E. De Castro and C. Morandi. Registration of translated and rotated images using finite Fourier transforms. IEEE PAMI, PAMI-9(5):700–703, 1987. [Reddy:96:TIP] B. S. Reddy and B. N. Chatterji. An FFT-based technique for translation, rotation, and scale-invariant image registration. IEEE Trans. on Image Processing, 5(8):1266–1271, 1996. [Kaneko:03:PR] S. Kaneko, Y. Satoh, and S. Igarashi. Using selective correlation coefficient for robust image registration. Pattern Recognition, 36(5):1165–1173, 2003. [Lei:08] Y. Lei. Document authenticating using template matching with fast masked normalized cross-correlation, 2008. US2008/0031542A1. [Thevenaz:98:TIP] P. Thevenaz, U. Ruttimann, and M. Unser. A pyramid approach to subpixel registration based on intensity. IEEE Trans. on Image Processing, 7(1):27–41, 1998. [Thevenaz:95:ICIP] P. Thevenaz, U. Ruttimann, and M. Unser. Iterative multi-scale registration without landmarks. In Proc. of ICIP, volume 3, pages 228–231, Oct 1995. [Stone:99:TSP] H. Stone. Progressive wavelet correlation using fourier methods. IEEE Trans. on Signal Processing, 47(1):97–107, 1999. [Stone:98:IJDL] H. S. Stone and T. G. Shamoon. Search-by-content of partially occluded images. International Journal on Digital Libraries, 1(4):329–343, 1998. Return

Introduction

Backup Slides

Methods

Results

Conclusions

Introduction

Methods

Results

One Incorrect Masking Approach Problem Given images f1 and f2 and corresponding binary masks m1 and m2 , align the images so that pixels in the images with corresponding mask value of 0 are ignored in the NCC. Approach Multiply the images with the masks and then calculate NCC using FFT. NCC(f1 · m1 , f2 · m2 ) Why is this incorrect?

Conclusions

Introduction

Methods

Results

Conclusions

One Incorrect Masking Approach Problem Given images f1 and f2 and corresponding binary masks m1 and m2 , align the images so that pixels in the images with corresponding mask value of 0 are ignored in the NCC. Approach Multiply the images with the masks and then calculate NCC using FFT. NCC(f1 · m1 , f2 · m2 ) Why is this incorrect? Reason: 0 values still influence results The 0 pixels are still included in the NCC summations and have a large impact on the correlation score. "0 is very much like 0", so these regions can dominate. Conclusion: Problem is trickier than it seems

Introduction

Methods

Results

Conclusions

Another Incorrect Masking Approaches Approach Run the registration twice, once on the images and once on the binary masks, and then multiply the results. This is NCC(f1 , f2 ) · NCC(m1 , m2 ) Why is this incorrect?

Introduction

Methods

Results

Conclusions

Another Incorrect Masking Approaches Approach Run the registration twice, once on the images and once on the binary masks, and then multiply the results. This is NCC(f1 , f2 ) · NCC(m1 , m2 ) Why is this incorrect? Reason: the nature of correlation In NCC, the pixels in the overlap region are multiplied and summed. Without masking, all of them have an effect on the sum. Multiplying this sum by the sum of the product of masked regions X is different from X summing only the Xunmasked pixels. 0 0 (f1 · f2 ) · (m1 · m2 ) 6= (f1 · f20 ) (x,y )∈Du,v

(x,y )∈Du,v

(x,y )∈Du,v ,m

Conclusion: Problem is trickier than it seems

Introduction

Methods

Results

Conclusions

Analogy of Different Approaches Assume you have a class of 20 students who are to take a test. On the test day, 5 students cheat, so you give them a score of 0. Your task is to find the average score of those who took the test and ignore those that cheated. One approach is to find the average of all scores, with the cheaters scores set to 0. However, this will bias the scores. Another approach is to average all of the original scores and multiply this by the percentage of the number of students who didn’t cheat. This also leads to a bias because the cheaters are included. The correct way is to average the scores of only those who did not cheat, and simply ignore the scores of the cheaters. In this approach, the cheaters are entirely excluded.

Masked FFT Registration - Dirk Padfield

Introduction. Methods. Results. Conclusions. Backup Slides. Page 36. Introduction. Methods. Results. Conclusions. One Incorrect Masking Approach. Problem.

4MB Sizes 7 Downloads 210 Views

Recommend Documents

Masked FFT Registration - Dirk Padfield
Using this notation, we define that f1 is ... In Equation 2, the first term is simply the definition of the ..... for obtaining cloud motion from geosynchronous satellite.

Masked FFT Registration - Dirk Padfield
into the Fourier domain. We also provide an extension of this masked registration approach from simple translation to also include rotation and scale.

Masked FFT Registration - Dirk Padfield
Paper accepted at CVPR 2010 conference ... Fast, global, parameter-free, no iterations ..... Video tracking applications requiring region masking. Template ...

FFT flyer ticket.pdf
Page 1 of 1. For more information,. please call Project. Horizon at 463-7861. Project Horizon presents. Breakfast with Santa. Join us Saturday, December 5th. 9:00am-11:30am at Central Elementary. A Family Fun Time ticket includes: § Pancake breakfas

Hadoop For Dummies - Dirk deRoos.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Hadoop For ...

in Masked Form Priming
1994, 474 (2) 365–382. Effects of Orthography ... share letters with the target provides support for such a conception of the word recognition ..... display screen of an AT286 personal computer with a 70-Hz refresh rate. The items appeared on ...

Masked Repetition and Phonological Priming ... - Semantic Scholar
the computer keyboard and without any time pressure. If participants had ...... The present results provide further support for a model of word recognition (both ...

Masked Repetition and Phonological Priming ... - Semantic Scholar
which led them to predict that the degree of masking will be related to the similarity ... modal repetition priming at 53-ms prime exposures in participants who were ...... approach to phonological coding of printed words, as expressed in the dual.

Hadoop For Dummies - Dirk deRoos.pdf
Rafael Coss, and Roman B. Melnyk. Page 3 of 411. Hadoop For Dummies - Dirk deRoos.pdf. Hadoop For Dummies - Dirk deRoos.pdf. Open. Extract. Open with.

REGISTRATION NUMBER
Computer Science. □ Civil & Environmental ... counselor/academic advisor or your math/science teacher. Please provide ... Score/Level. Test Date ... Scholastic Aptitude Tests ※ Please enter O/X on online reporting checkboxes. If you have ...

REGISTRATION NUMBER
Business & Technology. Management. 2. High School Information. The application requires one letter of recommendation: one from your homeroom teacher/school ... Date of. Entrance ~. Graduation. (yyyy/mm). Education. (Elementary School/.

[PDF] Download Valhalla Rising (Dirk Pitt Adventures)
... 32 Donwload Now http digitalmagazine top book 0425204049Read Valhalla ... for iPhone iPad Android Computer and Mobile readers Author Clive …Read ...

Electron-Phonon Interaction and Charge Carrier ... - Dirk van der Marel
Jun 6, 2008 - 11.0, 21.8, and 67.6 meV (at room temperature). The low- est one exhibits a ... PHYSICAL REVIEW LETTERS week ending. 6 JUNE 2008.

An interview with Dr Dirk Vanden Berghe 2004 silicon gel.pdf ...
Passwater: The 2001 “Dietary Reference Intakes” from the Food and Nutrition. Board states “Concentrations of silicon are higher in plant-based foods than in. animal-derived food products. Based on the Food and Drug Administration (FDA). Total D

REGISTRATION BROCHURE
Jun 26, 2015 - registered delegate function on the website that allows you to become part of ..... from Radiopaedia.org are hosting a mix of punchy presentations ... Led by some of the best debriefers in the business, .... CONCURRENT 10:.

Dirk Gently's Holistic Detective Agency 1 &2.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Dirk Gently's ...