evolutionary algorithm for dense pixel matching in presence of distortions

23
Evolutionary algorithm for dense pixel matching in presence of distortions A.C. dos-Santos-Paulino, J.-C. Nebel, F. Flórez-Revuelta

Upload: francisco-paco-florez-revuelta

Post on 19-May-2015

295 views

Category:

Technology


0 download

DESCRIPTION

Presentation at evostar 2014 conference

TRANSCRIPT

Page 1: Evolutionary algorithm for dense pixel matching in presence of distortions

Evolutionary algorithm for dense pixel matching in presence of distortions!A.C. dos-Santos-Paulino, J.-C. Nebel, F. Flórez-Revuelta!

Page 2: Evolutionary algorithm for dense pixel matching in presence of distortions

Find the correspondence to all the pixels in one image in a different image The second image is a “distortion” of the first image

Dense pixel matching

Page 3: Evolutionary algorithm for dense pixel matching in presence of distortions

Analogy between alignment of proteins and matching pixels between scanlines Protein sequences can mutate through substitution, insertion and deletion of characters The global alignment of two protein sequences is made following the “Needleman-Wunsch” algorithm, wh ich is based on dynamic programming

A line in the second image can be seen as a mutated version of the first image The approach was robust to camera rotation and translation, but also to local and global distortions As each scaline is processed independent l y there was no consistency between neighbouring scanlines

Bio-inspired algorithm Thevenon,  J.  et  al.:  Dense  pixel  matching  between  unrec;ed  and  distorted  images  using  dynamic  programming,  Intl.  Conf.  on  Computer  Vision  Theory  and  Applica;ons,  pp.  216-­‐224,  2012

Page 4: Evolutionary algorithm for dense pixel matching in presence of distortions

Approach similar to Cellular GA However, fitness function varies between individuals As neighbouring scanlines have similar distortions, each individual wil l optimise a similar fitness function

Recombination takes place between close neighbours in order to propagate good solutions The final result for the whole population represents the distortion between the images

Evolutionary proposal

Page 5: Evolutionary algorithm for dense pixel matching in presence of distortions

Initialise  the  population  with  a  number  of  individuals  equal  to  the  number  of  lines  in  the  image    repeat    

 Select  an  individual  I  at  random    

 Select  a  couple  of  parents  I1  and  I2  in  the  neighbourhood  of  I    

 Recombine  I1  and  I2  generating  Inew    

 Mutate  Inew    

 if  fitness(Inew)<fitness(I)  then      Substitute  I  by  Inew  

 until  an  ending  condition  is  fulfilled  

Algorithm

Page 6: Evolutionary algorithm for dense pixel matching in presence of distortions

Each individual represents the path that a scanline in the image follows in the distorted image Three different kind of symbols:

•  Match •  Stay •  Gap

Chromosomes can have different lengths

Individuals

Page 7: Evolutionary algorithm for dense pixel matching in presence of distortions

Fitness function

Page 8: Evolutionary algorithm for dense pixel matching in presence of distortions

Each individual is initialised to a trajectory beginning from the left of the distorted image Two types of initialisation:

•  at random, •  locally optimised: which direction from ME, MNE, MSE adds a lower

penalty?

The path is complete when: 1.  The path reaches one of the borders (right, top or bottom) 2.  It provides correspondence for all the pixels in the scanline

Repairing process: stay or gap symbols are included at random positions

Initialisation

Page 9: Evolutionary algorithm for dense pixel matching in presence of distortions

A new individual I is evolved from a pair of individuals in its neighbourhood Parents could be selected in different ways. For instance:

•  according to their proximity to I:

•  according to their fitness:

Individual I can be selected as one of the parents

I

Selection of parents

Page 10: Evolutionary algorithm for dense pixel matching in presence of distortions

Parents usually have different lengths Usual single- or two-point crossover is not possible as parent could not be aligned Crossover point(s) are columns in the image Offspring is generated by swapping the paths from each parent that reach/depart from that/those column(s) Offspring does not need to be repaired

Crossover

Page 11: Evolutionary algorithm for dense pixel matching in presence of distortions

Different mutations: •  gene alteration by selecting at random an alternative direction, •  gene deletion, •  gene replication over a contiguous interval of the path, •  simultaneous deletion of a pair gap/stay in the scanline, as they

correspond to inverse operations; and •  local optimisation by substituting an interval of the path by a locally

optimised path (as in the initialisation).

Repairing process could be needed: •  Adding gaps or stays as needed (if too short), or •  cropping the path (if too long)

Mutation

Page 12: Evolutionary algorithm for dense pixel matching in presence of distortions

The size of the population is equal to the number of lines in the images Penalty g=181 Stopping process = 10000 generations without changes in any individual All the mutation types are equally considered

Experimentation

Page 13: Evolutionary algorithm for dense pixel matching in presence of distortions

Original image Distorted image

Distortion Final result Reconstructed image

Image with global distortion

Page 14: Evolutionary algorithm for dense pixel matching in presence of distortions

Original image Ground truth Result

Detail Reconstructed image

Image with local distortions

Page 15: Evolutionary algorithm for dense pixel matching in presence of distortions

100% 50% 0%

Effect of the initialisation

Page 16: Evolutionary algorithm for dense pixel matching in presence of distortions

Higher neighbourhood is better if the distortion is global to the image, as the good solutions propagate globally.

Neighbourhood should be selected according to the size of the distortions. In any case, directed initialisation of individuals is better.

Effect of the neighbourhood

Page 17: Evolutionary algorithm for dense pixel matching in presence of distortions

Effect of the selection method

No significant diferences Evolution is more affected by the size of the neighbourhood

Page 18: Evolutionary algorithm for dense pixel matching in presence of distortions

Stereo matching: If both views are aligned only horizontal directions are needed

Other problems we are testing

Discusion

Page 19: Evolutionary algorithm for dense pixel matching in presence of distortions

Medical images: In ultrasound videos there are motions between consecutive images If the motion is considered as a distortion, the same process can be followed and the video can be stabilised However, in this problem the scanlines are not straight Can we use the same approach to track objects or persons?

Other problems we are testing

Discusion

Page 20: Evolutionary algorithm for dense pixel matching in presence of distortions

Medical images: In ultrasound videos there are motions between consecutive images If the motion is considered as a distortion, the same process can be followed and the video can be stabilised However, in this problem the scanlines are not straight Can we use the same approach to track objects or persons?

Other problems we are testing

Discusion

Page 21: Evolutionary algorithm for dense pixel matching in presence of distortions

It is not a Cellular GA It is not a Multi-Objective EA It is not a Co-EA Any idea? Application to other problems where the population could replicate the topology of the input space and where fitness are not the same but similar Not restricted to linear topology

Any idea about the structure of the population?

Discusion

Page 22: Evolutionary algorithm for dense pixel matching in presence of distortions

Results are good. However, sometimes the evolution gets stack in local minima Good solutions are propagated throughout the population New mutations, topologies and fitness functions need to be explored Can we have different parallel evolutions where individuals represent paths in different directions? Can we recombine them? Promising for other problems where a population can replicate the structure of the problem space Instead of working with 2D spaces (images), apply the method to a 3D space (video) Application to different granularities:

ê sub-pixel é matching of lattices of points

Conclusions

Page 23: Evolutionary algorithm for dense pixel matching in presence of distortions

Evolutionary algorithm for dense pixel matching in presence of distortions!A.C. dos-Santos-Paulino, J.-C. Nebel, F. Fló[email protected]