8
1 GigaNumerics in Deep Structure Analysis of Images Employing MathLink and the Parallel Computing Toolkit Bart Janssen Luc Florack and Bart ter Haar Romeny 2 • Scale Space • Toppoints Image Reconstruction Mathematica Implementation • Scale Space • Toppoints Image Reconstruction Mathematica Implementation Outline 3 The problem of scale: Objects live at different scales Gala looking into the Mediterranean Sea Salvador Dali 4 The problem of scale: Objects live at different scales Solution? Look at all scales simultaneously Gala looking into the Mediterranean Sea Salvador Dali 5 Scale Space in Human Vision The human visual system is a multi-scale sampling device The retina contains receptive fields of varying size. 6 Scale for Calculating Derivatives To calculate derivatives we need smooth (continuous) data. Image data is not smooth. Pixel data 1 st Order Derivative Intensity 0

Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

1

GigaNumerics in Deep Structure Analysis of Images

Employing MathLink and the Parallel Computing Toolkit

Bart JanssenLuc Florack and Bart ter Haar Romeny

2

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

Outline

3

The problem of scale:Objects live at different scales

Gala looking into the Mediterranean SeaSalvador Dali

4

The problem of scale:Objects live at different scales

Solution?Look at all scales simultaneously

Gala looking into the Mediterranean SeaSalvador Dali

5

Scale Space in Human Vision

• The human visual system is a multi-scale sampling device

• The retina contains receptive fields of varying size.

6

Scale for Calculating Derivatives• To calculate derivatives we need smooth (continuous) data.

• Image data is not smooth.

Pixel data 1st Order Derivative

Intensity

0

Page 2: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

2

7

• At the original scale of a dithered image we cannot calculate a derivative.

• We need to observe the image at a certain scale.

BLUR

8

Practical Implementation

• Scale-Space Axioms– Linearity

– Spatial shift invariance

– Isotropy

– Causality

– Separability

• Lead to the Gaussian Kernel2

221

2/2

2

)2(

1),( σ

πσσ

D

D

xx

exG

++−

=

K

9

Calculating Derivatives with Gaussians

• The derivative of the data at a scale σ is defined as

• Due to nice properties of the Gaussian this can be rewritten as

)};()({ 01σxGxL

x⊗

);()(10 σxGxL

x∂

∂⊗

10

Calculating Derivatives of Images

• Differentiation becomes Integration!

...ListConvolve / FFT-method

(Laplacian)

11

Gaussian Scale Space

s

x

y

12

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

Outline

Page 3: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

3

13

Singular points of a Gaussian scale space image

Fold Catastrophe

14

Singular points of a Gaussian scale space image

Fold Catastrophe

15

Stability of Top Points

• We can calculate the variance of the displacement of top points under noise.

• We need 4th order derivatives in the top-points for that.

16

Applications

• Optic flow estimation

• Matching

• Image Editing / Segmentation?

17

Optic Flow Estimation

18

Optic Flow Estimation

Page 4: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

4

19 20

Rotate and scale according to the cluster means.

Matching

21

Differential Invariants

• Features are irreducible 3rd

order differential invariants.

• These features are rotation and scale invariant.

22

In this example we have two clusters of correctly matched points.

C1

C2

23

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

Outline

24

Image Reconstruction

Given features

Select from metameric class

such that (consistent features)

Page 5: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

5

25

Reconstruction from Singular Points

Use differential structure

in singular points

as features.

=

26

Variational Approach

27

The solution is an A-orthogonal

projection of onto

Generalisation using gelfand triples (R. Duits)

Minimisation of

under the constraints

28

Prior and Dual Filters

29

Reconstruction from Singular Points

This means

Gramm matrix:

Projection:

30

Page 6: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

6

31 32

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

• Conclusions

• Scale Space

• Toppoints

• Image Reconstruction

• Mathematica Implementation

• Conclusions

Outline

33

Basic implementation

• Build Gramm Matrix

• Inversion of Gramm Matrix

• Building and Sampling Reconstruction

34

makeGramm@kernel_, orders_, points_, 8xsize_, ysize_<D := Module@8Φtensor, gramm, signmx, signmy,subΦ,signs<,

subΦ@8st_,dx_,dy_<D:= submatrixofinnerproducts;

Φtensor=

Map@subΦ,

Outer@Plus, points, 81, −1, −1< #&ê@ points, 1D,

82<

D;

gramm = Chop@Flatten@

Map@

Flatten,

Transpose@Φtensor, 82, 4, 1, 3<D,

82<

D,

1

DD;

gramm

D

35

subΦ @ 8 st_, dx_, dy_< D := If@ Negative@ dxD ,

If@ Negative@ dyD ,

signmx signmy subΦ @ 8 st, −dx, −dy< D ,

signmx subΦ @ 8 st, −dx, dy< DD ,

If@ Negative@ dyD ,

signmy subΦ @ 8 st, dx, − dy< D ,

subΦ@ 8 st, dx, dy< D = submatrix of innerproducts;

D

D ;

Dynamic Programming

36

Parallel ImplementationΦ t e n s o r =

M a p @

s u b Φ ,

O u t e r @ P l u s , p o i n t s , 8 1 , − 1 , − 1 < # & ê @ p o i n t s , 1 D ,

8 2 <

D ;

ExportEnvironment@GaussianDerivativeAt, xsize, ysize,

signmy, signmx, kernel, orders, subΦD;

Φtensor =

ParallelMap@Map@subΦ, #D &,

Outer@Plus, points, 81, − 1, − 1< # & ê@ points , 1D

D;

Page 7: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

7

37

Sampling the Reconstructionadvantage of symbolic power

FourierK@gamma_,scale_,order_,8wx_,wy_<,8xi_,yi_<D:= ModuleA8<,

Exp@� Hwxxi+ wyyiLDH−� wx Lorder@@1DDH−� wy Lorder@@2DD1

1+gamma2 Hwx2+wy2LExp@−scaleHwx2+wy2LD

1

E

FourierReconstructionFunction =

Compile@

88x, _Real<, 8y, _Real<<,Evaluate@rfD

D;

38

Parallel Sampling

ParallelSampleReconstruction@8xsize_,ysize_<D:= Module@8x, y, FourierimageData,image, newfeaturepoints, n, wlist<,

wlist= listoffrequencies;

ExportEnvironment@FourierReconstructionFunctionD;FourierimageData= ParallelMap@Apply@FourierReconstructionFunction,#D&, wlist, 82<D;

image= Re@ InverseFourier@ FourierimageData, FourierParameters→ 81,1<DDPRange@xsizeD, Range@ysizeDT;

image

D

39

Mathematica Demo 1

40

Mathlink for better performance(sometimes)

:Begin:

:Function:MLSobolevReconstruction

:Pattern:MLSobolevReconstruction[X__?(VectorQ[#1,NumberQ]&), Y__?(VectorQ[#1,NumberQ]&),...

:Arguments:{X,Y,OX,OY,T,F,gridsize,gamma}

:ArgumentTypes:{RealList,RealList,IntegerList,...

:ReturnType:Manual

:End:

#include<math.h>...

#include "mathlink.h"

#include "your own stuff.h"

void MLSobolevReconstruction(double*X,long Xcount,double*Y,long Ycount,... .

{

malloc();

do some computations;

MLPutRealList(stdlink,data,size);

free();

}

41

Mathematica Demo 2

42

(State of the) Art

Page 8: Solution? - Mathematicalibrary.wolfram.com/infocenter/Conferences/5818/... · • Bram Platel. Title: Microsoft PowerPoint - WTC-DeepStructure-BartJanssen.ppt Author: BJanssen Created

8

43

Questions?

Topological Abduction of Europe - Homage to Rene ThomSalvador Dali

MathVisionToolshttp://www.bmi2.bmt.tue.nl/image-analysis/

44

Acknowledgements

• Bart ter Haar Romeny

• Evguenia Balmachnova

• Remco Duits

• Luc Florack

• Frans Kanters

• Bram Platel