We have created an evolutive multimodal algorithm to find and locate several 3D segments in the environment, using the images from a stereo pair of cameras. The algorithm finds the number of segments in the scene, their position, size and orientation in 3D. It is our first step towards a fast 3D scene reconstruction algorithm.
- Project Name: Visual 3D reconstruction with evolutive algorithms
- 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: 2006-2007
- Degree: Grad
- Jde Version: jde-4.2.0
- SVN Repository: SVN-DIR
- Tags: vision, 3D, reconstruction, evolutive, algorithm
- Technology: C, C++, JDE suite, OpenGL, Xforms
- State: Finished
- Source License: GPLv3
- Document License: Creative Commons Attribution-Share Alike 3.0 Unported License
- Source code:
Rep3D for JDE 4.2.0: SVN-DIR
Documentation: PDF (latex code in tgz) Presentation: PDF (latex code in tgz)
Information about Rep3D
The use of cameras in any daily computer system, as a phone or a video game, is helping to reduce the costs of these sensors and increase its use by programmers. Extracting information provided by the cameras and interpreting it we can create applications that incorporate intelligent behaviors that may be useful to perform routine tasks. One of the key problems with the artificial vision is to interpret the information gathered from the cameras.
The purpose of this project is to create an application capable of reconstructing objects of our environment by estimating the three-dimensional position of its edges from a pair of stereo cameras.
We have developed 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 synthetic images make up this system is sufficiently vibrant as to obtain the position of an object, offers a centimeter precision and works with conventional hardware.
- Graphics User Interface:
The following image shows how the rep3d GUI is. There you can also see the parts in which it is divided. Those are input images, reconstructed image, evolutive algorithm controls, cameras and objects movement and colour filter.
- Variable length 3D segments algorithm:
The video below shows the variable length 3D segments algorithm searching two different sticks. You will see how the segments increase their size in a few seconds. In the video appears different groups of segments. Each group get a fitness value and they disappears if the fitness value is not as good as other groups. In the end, you will see the segments with the highest fitness value painted with green colour.