Stereo matching using genetic algorithm
Do not understand how genetic algorithms are used in stereo matching.


The first paper referenced in the question is Stereo matching using genetic algorithm with adaptive chromosomes, Kyu-Phil Han, Kun-Woen Song, Eui-Yoon Chung, Seok-Je Cho, Yeong-HoHac, 2000. It summarizes an approach this way. 


An individual is a disparity set,
A chromosome has a 2D structure for handling image signals efficiently, and
A fitness function is composed of certain constraints which are commonly used in stereo matching.


The paper also states, "Genetic algorithms are efficient search methods based on principles of population genetics, i.e. mating, chromosome crossover, gene mutation, and natural selection." The extension to genetic algorithm purity is contained in this statement in the paper.


  To improve the convergence, an informed generation, that a higher selected possibility is assigned to the chromosome including a smaller intensity difference, is adopted. The informed generation uses several random generations plus a selection. In a random generation, only a value is randomly generated. Yet, the informed generation of the proposed algorithm selects the gene which has the minimum intensity difference among the randomly generated genes.


The question inquires along a few lines.


  Does it mean that an individual is a disparity map with random numbers?


The goal is to produce order from chaos through successive mutations, combinations, and tests, arriving at genetic code that represents distances of objects that correspond to a left region of pixels and a right region of pixels. Those two regions are identified through alignment of brightness categories, with some permissible sprinkling of outliers.

An individual in this context is a simulation of a sample from a population with a particular aggregation of genetic codes. The codes indicate disparity between matching image features in the left and right images, measured in horizontal pixels.


  [Don't] understand how this works and even WHY you should use genetic algorithm on an algorithm that at its simplest form uses 5 for loops.


The five loops referenced in the question, in the source at github.com/davechristian/Simple-SSD-Stereo, are as follows.

for y in range(kernel_half, h - kernel_half):
    for x in range(kernel_half, w - kernel_half):
        for offset in range(max_offset):
            for v in range(-kernel_half, kernel_half):
                for u in range(-kernel_half, kernel_half):


This exhaustive search has gross shortcomings in relation to the genetic algorithm with informed generation.


The simulation of meiosis in genetic algorithms is essentially a search for hybrids where the best genetic sequences of two parents are preserved in the offspring.
Genetic algorithms are easy to scale across computer clusters without developing specialized hardware acceleration.
Components of failed compositions are not eliminated in an exhaustive search, so there is considerable redundancy in trials.


The second paper referenced in the question is Genetic Stereo Matching Algorithm with Fuzzy Fitness, Haythem Ghazouani, 2014. It proposes, "To get around [convergence speed] limitations, we propose a new encoding for individuals, more compact than binary encoding and requiring much less space. This approach and the use of three lightness classes is shared with the methodology of the first paper.

This second paper introduces fuzzy matching and the use of the Sobel gradient norms to penalize (dismiss) pixels which project onto uniform regions, [and are therefore] less significant pixels. This paper also provides some comparison results with Han's, Dong's, and Nguyen's algorithms as define in the second paper's bibliography.