Stereo Prevention

I am working on a stereo camera obstacle avoidance system for a mobile robot. It will be used indoors, so I will work out the assumption that the plane of the earth is flat. We also create our own environment, so I can avoid certain types of obstacles that generate false positives or negatives.

I have already found a lot of resources for calibrating cameras and obtaining images lined up in a line, as well as information on creating a map of the differences / depth map. What I'm struggling with is obstacle detection techniques. A method that instead worked by detecting a ground plane would be just as useful.

I work with openCV and use the Learning OpenCV book as a reference.

Thank you all

+7
source share
1 answer

From the literature I read, there are three main approaches:

  • The underground plane approaches , determines the ground plane from stereo data and assumes that all points that are not on the plane are obstacles. If you assume that the earth is the dominant plane in the image, you can find it simply as a plane for the reconstructed point cloud using a robust model fitting algorithm (such as RANSAC).

  • The inconsistency map allows you to convert your stereo output into a point cloud. The most popular algorithms I've seen are called v-mismatch and uv-mismatch. Both look for the same attributes on the mismatch map, but the uv mismatch can detect some types of obstacles that cannot be v-mismatches.

  • Point cloud approaches design a map of inconsistencies in a three-dimensional cloud of points and process these points. One example is the β€œinverted cone algorithm,” which uses the minimum obstacle height, maximum obstacle height, and maximum ground slope to detect obstacles in an arbitrary, non-flat terrain.

Of these three approaches, the detection of the earth plane is the simplest and least reliable. If your environment has rare obstacles and textured ground, this should be enough. I have little experience in approaching mismatch maps, but the results look very promising. Finally, the Manduchi algorithm works very well in a wide range of conditions, including on rough terrain. Unfortunately, this is very difficult to implement and extremely expensive to calculate.

Literature:

  • v-Disparity : Labayrade, R. and Aubert, D. and Tarel, JP Determination of the temporal obstruction in stereo imaging on geometry without a flat road through the v-mismatch representation.
  • uv-Disparity : Hu, Z. and Uchimura, K.. UV mismatch: an efficient stereo-based scene analysis algorithm
  • Inverted Cone Algorithm: Manduchi, R. and Castano, A. and Talukder, A. and Matti, Fragment Detection and Terrain Classification for Autonomous Off-Road Navigation.

There are several documents on ground-based obstacle detection algorithms, but I don't know a single good opinion. If you just need a starting point, you can read about my implementation for a recent project in section 4.2.3 and section 4.3.4 of this design report . There is not enough room to discuss the full implementation, but it touches on some of the problems you might encounter.

+9
source

All Articles