Frequency and ridge estimation using structure tensor Anna - - PowerPoint PPT Presentation

frequency and ridge estimation using structure tensor
SMART_READER_LITE
LIVE PREVIEW

Frequency and ridge estimation using structure tensor Anna - - PowerPoint PPT Presentation

Frequency and ridge estimation using structure tensor Anna Mikaelyan and Josef Bigun October 15, 2013 Estimation of image orientation In some image processing scenarios it is necessary to use orientation image: motion estimation noise


slide-1
SLIDE 1

Frequency and ridge estimation using structure tensor

Anna Mikaelyan and Josef Bigun October 15, 2013

slide-2
SLIDE 2

Estimation of image orientation

In some image processing scenarios it is necessary to use

  • rientation image:

◮ motion estimation ◮ noise reduction ◮ detection of corner points ◮ estimation of line/ridge flow

slide-3
SLIDE 3

Estimating orientation in fingerprint/fingermark

Initial motivation for calculating orientation

◮ noise reduction ◮ separate dominant orientation from non-relevant one

(especially in case of fingermark)

slide-4
SLIDE 4

Structure tensor (ST) - tool for orientation estimation

Linear symmetry tensor (version of ST)

L = I20 I11

  • =

((Dx + i · Dy) f)2

  • | (Dx + i · Dy) f|2
  • Why use LST?

◮ continuous (dense) way to represent information ◮ intuitive image representation:

◮ I20 = (λmax − λmin)e2∠umax,

where umax - eigenvector associated with the largest eigenvalue λmax.

◮ I11 defines contrast range of the orientation estimation

slide-5
SLIDE 5

Research problem

We want to estimate orientation of the image based on ST: ST How to tune ST to create ’best’ orientation image?

slide-6
SLIDE 6

Implementation of Structure tensor (ST)

  • 1. Convolve image f with the (complex) filter h: fcgrad = h ∗ f

with h(x, y, σ2

in) = (Dx + iDy)g = (Dx + iDy)

1 2πσ2 e− x2+y2

2σ2 ,

where σ2

in fixates the inner-scale (the frequency-contents)

resulting in an image with complex valued pixels, fcgrad

slide-7
SLIDE 7

Implementation of Structure tensor (ST)

  • 1. Convolve image f with the (complex) filter h: fcgrad = h ∗ f

with h(x, y, σ2

in) = (Dx + iDy)g = (Dx + iDy)

1 2πσ2 e− x2+y2

2σ2 ,

where σ2

in fixates the inner-scale (the frequency-contents)

resulting in an image with complex valued pixels, fcgrad

  • 2. Apply pointwise (complex) squaring to obtain infinitesimal

linear symmetry fils(x, y) = f2

cgrad

slide-8
SLIDE 8

Implementation of Structure tensor (ST)

  • 1. Convolve image f with the (complex) filter h: fcgrad = h ∗ f

with h(x, y, σ2

in) = (Dx + iDy)g = (Dx + iDy)

1 2πσ2 e− x2+y2

2σ2 ,

where σ2

in fixates the inner-scale (the frequency-contents)

resulting in an image with complex valued pixels, fcgrad

  • 2. Apply pointwise (complex) squaring to obtain infinitesimal

linear symmetry fils(x, y) = f2

cgrad

  • 3. Convolve fils and |fils| with a Gaussian filter g(x, y, σ2
  • ut)

defining the neighbourhood (the outer-scale)

slide-9
SLIDE 9

Implementation of Structure tensor (ST)

  • 1. Convolve image f with the (complex) filter h: fcgrad = h ∗ f

with h(x, y, σ2

in) = (Dx + iDy)g = (Dx + iDy)

1 2πσ2 e− x2+y2

2σ2 ,

where σ2

in fixates the inner-scale (the frequency-contents)

resulting in an image with complex valued pixels, fcgrad

  • 2. Apply pointwise (complex) squaring to obtain infinitesimal

linear symmetry fils(x, y) = f2

cgrad

  • 3. Convolve fils and |fils| with a Gaussian filter g(x, y, σ2
  • ut)

defining the neighbourhood (the outer-scale)

slide-10
SLIDE 10

Implementation of Structure tensor (ST)

  • 1. Convolve image f with the (complex) filter h: fcgrad = h ∗ f

with h(x, y, σ2

in) = (Dx + iDy)g = (Dx + iDy)

1 2πσ2 e− x2+y2

2σ2 ,

where σ2

in fixates the inner-scale (the frequency-contents)

resulting in an image with complex valued pixels, fcgrad

  • 2. Apply pointwise (complex) squaring to obtain infinitesimal

linear symmetry fils(x, y) = f2

cgrad

  • 3. Convolve fils and |fils| with a Gaussian filter g(x, y, σ2
  • ut)

defining the neighbourhood (the outer-scale) (σin, σout) are important parameters of ST defining its scale

slide-11
SLIDE 11

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r)

slide-12
SLIDE 12

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax]

slide-13
SLIDE 13

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax] amplitude A

slide-14
SLIDE 14

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax] amplitude A Linear Shift-Invariant System

slide-15
SLIDE 15

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax] amplitude A Linear Shift-Invariant System y′ = Bsin(ω0r + φ0)

slide-16
SLIDE 16

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax] amplitude A Linear Shift-Invariant System y′ = Bsin(ω0r + φ0)

slide-17
SLIDE 17

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax] amplitude A Linear Shift-Invariant System y′ = Bsin(ω0r + φ0) II. (I.)2

slide-18
SLIDE 18

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax] amplitude A Linear Shift-Invariant System y′ = Bsin(ω0r + φ0) II. (I.)2

slide-19
SLIDE 19

Finding the Frequency Content of a Signal

  • I. σin :

ω0 = 2π

T0

y = Asin(ω0r) period T0 ∈ [Tmin, Tmax] amplitude A Linear Shift-Invariant System y′ = Bsin(ω0r + φ0) II. (I.)2 ∗ Convolution Gaussian, σout

slide-20
SLIDE 20

Frequency in Fourier Domain

ωo σ−1

slide-21
SLIDE 21

Frequency in Fourier Domain

ω2

  • σ−1
slide-22
SLIDE 22

Estimation of parameters σin, σout

σin - fixates inner-scale, i.e. the frequency contents

σin = 0.9 σin = 2.5

slide-23
SLIDE 23

Estimation of parameters σin, σout, cont.

σout = 1.57σin - fixates outer-scale, i.e. integration

σout = 1.5 σout = 3

slide-24
SLIDE 24

Updates on Structure tensor (ST)

◮ Estimation of the image information from ST

◮ log(I11) = log |2−1Aω2

0| − ω2 0σ2 in

ω0 is estimated by fitting a line to observations of log(I11) versus σ2

in (by which log(I11) is computed).

◮ Estimate parameters of the ST automatically from the image

◮ σin =

1 ω0 , where ω0 - local frequency of the ridge pattern

◮ σout = 1.57σin

slide-25
SLIDE 25

Updates on Structure tensor (ST)

◮ Estimation of the image information from ST

◮ log(I11) = log |2−1Aω2

0| − ω2 0σ2 in

ω0 is estimated by fitting a line to observations of log(I11) versus σ2

in (by which log(I11) is computed).

◮ Estimate parameters of the ST automatically from the image

◮ σin =

1 ω0 , where ω0 - local frequency of the ridge pattern

◮ σout = 1.57σin

slide-26
SLIDE 26

Orientation Estimation Procedure

Dense frequency estimation ⇒ Dense orientation estimation ⇒ Image enhancement ⇒ Dense frequency estimation ⇒ · · ·

Repeat until convergence in (global) mean frequency is

  • achieved. Retain the dense images in the last cycle, i.e.

enhanced image, orientation map and frequency map and use them for ridge counting.

slide-27
SLIDE 27

Orientation Estimation Procedure

Dense frequency estimation ⇒ Dense orientation estimation ⇒ Image enhancement ⇒ Dense frequency estimation ⇒ · · ·

Repeat until convergence in (global) mean frequency is

  • achieved. Retain the dense images in the last cycle, i.e.

enhanced image, orientation map and frequency map and use them for ridge counting.

Figure: Ground truth image with frequency ω = 2 ∗ π/13 = 0.4833

slide-28
SLIDE 28

Frequency estimation ⇒ Orientation estimation ⇒ Image enhancement

Dense frequency estimation (no-orientation is necessary to know)

◮ Frequency estimation is done by fitting orientation to scale

  • space. In turn this requires at least computation of a

discrete scale space for log(I11).

◮ This is achieved by computing log(I11) at 3 or 5 different

inner scales σ2

in chosen around a σ2 determined by the

global mean omega (via σ2 = 1/ω2).

◮ For fingermarks 3 inner scales were sufficient. For high

resolution frequency estimation of synthetic images with heavy noise we used 3 scales.

slide-29
SLIDE 29

Frequency estimation ⇒ Orientation estimation ⇒ Image enhancement

◮ Compute the average frequency mean om and variance

var om of the frequency over the entire image (or ROI).

◮ Around mean om define 5 frequencies to sample by help of

var om.

◮ The mean om and its variance estimated in the synthetic

test image were (left and right parts): MeanL VarL MeanR VarR 0.4839 0.0000 0.4849 0.0001, Groundtruth is 0.4833

slide-30
SLIDE 30

Frequency estimation ⇒ Orientation estimation ⇒ Image enhancement

◮ Use the sigma that corresponds to these frequencies as

inner scales for linear symmetry algorithm and generate 5 different orientation maps

◮ Merge the different orientation maps to a master orientation

map by picking orientation+certainty according to the closest frequency in the omega image.

slide-31
SLIDE 31

Frequency estimation ⇒ Orientation estimation ⇒ Image enhancement

For each pixel of the original image we know (or ROI), we generate dynamically a Gabor filter, matching exactly the latest values in corresponding pixels in the frequency map and

  • rientation map of the latest iteration.
slide-32
SLIDE 32

Iteration

Frequency estimation ⇒ Orientation estimation ⇒ Image enhancement

Master orientation and master frequency maps are obtained as those in the final cycle, when mean global frequency has

  • converged. Typically it requires 2-4 cycles for convergence to
  • ccur for SD27 fingermarks.
slide-33
SLIDE 33

Orientation Estimation

Frequency (ω) Estima- tion ω-converge Output: I20 (∈ [0, 1])

slide-34
SLIDE 34

Automatic extraction of ridge distance between minutia

Goal: pressure invariant/resilient (minutia) constellation features, allowing to replace/complement distance measurements between minutia in matchers.

slide-35
SLIDE 35

Automatic extraction of ridge distance between minutia

Goal: pressure invariant/resilient (minutia) constellation features, allowing to replace/complement distance measurements between minutia in matchers.

ω k

α

ˆ ω =

ω cos α,

α is the slope angle of the ridges

slide-36
SLIDE 36

Automatic extraction of ridge distance between minutia

Goal: pressure invariant/resilient (minutia) constellation features, allowing to replace/complement distance measurements between minutia in matchers.

ˆ ωˆ

  • k

ω k

α

NumOfRidges= L

ˆ T

where the average period is ˆ T = 2π

ˆ ω ,

and the distance between minutia is L. ˆ ω =

ω cos α,

α is the slope angle of the ridges

NumOfRidges =

1 2π

  • L ˆ

ω(x, y)dL

Currently, we are incorporating local orientation estimation quality y into dL.

slide-37
SLIDE 37

Ridge count

For the proposed method(Ra) and comparing method Rb1 |ǫrc| 1 2 3 4 5 RA(|ǫrc|) 0.43 0.78 0.90 0.95 0.97 0.98 RB(|ǫrc|) 0.37 0.71 0.84 0.91 0.94 0.96 RA′(|ǫrc|) 0.51 0.83 0.92 0.96 0.97 0.98 RB′(|ǫrc|) 0.43 0.77 0.88 0.93 0.94 0.96

Figure: Comparative estimation in ridge count (within 0,1,2 ridge error) between fingermark and fingerprint, on paths between minutia pairs

1Lindeberg T., Feature detection with automatic scale selection, 1998

slide-38
SLIDE 38

Examples of ridge count results

Correct and erroneous ridge count estimation examples:

1 2 5 7 8

slide-39
SLIDE 39

Results

◮ Auto-enhancement of the orientation map (by scale

adaptive linear symmetry algorithm)

◮ Semi-automatic matching software. This will allow to

extend/correct the automatically obtained orientation map by human experts using dense colour based maps.

slide-40
SLIDE 40

Results

◮ Auto-enhancement of the orientation map (by scale

adaptive linear symmetry algorithm)

◮ Semi-automatic matching software. This will allow to

extend/correct the automatically obtained orientation map by human experts using dense colour based maps.

◮ The feature vector containing the extended features

◮ 78% ridge count estimation agreement (within 1 ridge error

  • n +70’000 minutia pairs) between fingermark and tenprint

using all possible minutia pairs

◮ 83% ridge count estimation agreement (within 1 ridge error

  • n +6’000 minutia pairs) between fingermark and tenprint

WHEN pairs with edges passing by other minutia are removed from statistics