Stereo-vision systems


In order to provide required data to our navigation model, we proposed to use stereo-vision systems. Indeed, these systems provide an estimation of distance, even in dynamic environment. We first tested an Intel RealSense camera, that provide a depth map using two infrared cameras. We successfully tested our grid cell model on this device.

However, the small distance between the two cameras limits the range of the device: beyond 5m, the precision becomes too low to be used. Thus, if this device can be used on a small robot, it cannot be used in large environments. We thus developed a system based on two standard webcam. This system uses an optical flow algorithm (function calcOpticalFlowPyrLK from OpenCV) applied between the two images on vertical edges to detect and localize vertical structures in the environment. The use of an optical flow algorithm allows a large interval between cameras (here, 20cm) providing a large range of several dozen of meters. We also planned to use wide-angle lens to increase visual field.

Vision Stereo

Stereo-vision system: left, an image provided by one of the two cameras. An optical flow algorithm is applied between the two images on vertical edges and measure the difference between the two images (black lines). This difference makes it possible to estimate the distance of elements. Middle: red points indicates the presence and position of main vertical structures (top view, distance is not linear). We can recognize the elements in the scene, and even windows on the other building (top points on the image). The right image shows the depth map. We added a feature detection around vertical edges to help recognizing places. This system thus provide required data for our navigation system.