Evolutionary Algorithm for Landmark Detection


there are several algorithms for locating landmarks in images such as satellite maps, medical images etc.

nowadays evolutionary algorithms such as particle swarm optimization are so useful to perform this task. evolutionary algorithms generally have two phase, training and test.
in the training phase, we try to learn the algorithm to locate landmark correctly. this phase performs in some iterations and finally in the last iteration we hope to obtain a system that can locate the landmark, correctly. in the particle swarm optimization there are some particles that search for the landmark. each particle uses a specific formula in each iteration to optimizes the landmark detecting.
The fundamental particle swarm optimization algorithm used in training phase generally as follows:
Randomly initialise 100 individuals in the search space in the range

LOOP UNTIL 100 iterations performed OR detection error of gbest is 0%

FOR each particle p

Detection errors at x = 0

FOR each image i in training set

FOR each pixel coordinate c in i

Evaluate x of p on visual features at c

IF evaluation is highest so far for i THEN

Detected position in i = c

IF distance between detected position and marked-up position > 2mm THEN

Detection errors at x = Detection errors at x + 1

Fitness of p at x = 1-

IF new _tness of p at x > previous _tness of p at pbest THEN

pbest _tness of p = new _tness of p at x

pbest position of p = x of p
IF new _tness of p at x > previous gbest _tness THEN

gbest _tness = new _tness of p at x

gbest position of p = x of p

FOR each particle p

Calculate v of p

IF magnitude of v > v max THEN

Magnitude of v = v max

Move x of p to next position using v

IF x of p outside range THEN

x of p = -1 or 1 as appropriate

REPEAT

Output gbest of last iteration as trained detector d