Gmartine reconstruction segments evolutive algorithm

From jderobot
Jump to: navigation, search
  • Project Name: evolutiveSegments: A visual 3D reconstruction with a segments evolutive algorithm
  • Authors: Iván García Martínez (ivan.gm.85 [at] gmail [point] com) and Jose María Cañas Plaza (jmplaza [at] gsyc [point] es)
  • Academic Year: 2008-2009
  • Degree: Grad
  • Tags: vision, 3D, reconstruction, segments, evolutive, algorithm
  • Technology: c, c++, jde suite, openGL, gtk
  • State: Developing


Evolutive Segments Downloads

  • Source code:
Evolutive Segments for JDE 4.3.0: SVN-DIR
  • Documentation:
Documentation: No documentation nowadays
Presentation: No presentation nowadays


Information about Evolutive Segments

  • Abstract:

This project starts under the environment of rep3d (Read more here). Our purpose is to give much more functionality to the previous application creating an application capable of reconstructing real objects of our environment by estimating the three-dimensional position of its edges from a pair of real stereo cameras. We have changed the graphics user interface from xforms to gtk in order to improve the experience and the usability too.

We use three genetic algorithms as a method of searching the space of possible interpretations of the scene observed through the cameras. These algorithms do evolve a population of individuals using genetic operators and individuals associated with a health depending on factors that indicate if an individual is better or not than another.

The first of the techniques used by individuals in the population as three-dimensional points based on the well-known 'flies algorithm'. The second uses 3D segments of fixed length of the population as individuals to make a 3D reconstruction greater amount of information and operators tailored to that primitive. The third uses variable length 3D segments incorporating new operators for the increase and decrease in length, movement, change of direction and fusion of the primitive segment, and further restructuring of the population that allows multiple objects rebuild.

The application has been developed based on the software platform jde.c and implemented in the form of threads or iterative schemes. There have been numerous experiments with real and synthetic images make up this system is sufficiently vibrant as to obtain the position of an object, offers a centimetre precision and works with conventional hardware.


  • Graphics User Interface:

We have changed the graphics user interface to gtk giving the application the following good looking appearance. You can use the application with Real cameras, like in the previous image, and with Simulated Cameras created with OpenGL, those are very important to develop the GA because they let the algorithm work easily using good data inputs.


  • The flies algorithm:

Using three-dimensional points we get the following results where you can see real and simulated cameras calibrated with the proper intrinsic and extrinsic parameters. The image shows two different sticks, one simulated with OpenGl (on the right) and other real (on the left). All two are recognized by the algorithm so you can see the flies evolving over the sticks in the position where they are.


Evolutive Segments Videos

  • The flies algorithm:

The following video shows the flies evolutive algorithm working with real cameras. It shows how you can configurate the application to obtain the 3D position of a real blue colored stick.


  • The fixed-3D segments algorithm:

The following video shows the fixed-3D segments evolutive algorithm working with real cameras. It shows how you can configurate the application to obtain the 3D position of a real yellow colored stick.


  • The variable length segments algorithm:

The following video shows the variable length segments evolutive algorithm working with real cameras. It shows how you can configurate the application to obtain the 3D position of a real blue colored stick.

Personal tools