GithubHelp home page GithubHelp logo

stereovision's Introduction

Stereo Vision

bm_wls_image

Introduction

This project was coded in 2015 for self-driving project using stereo vision. I had conducted self-driving based on stereo vision. This code doesn't include detection & tracking. In this code, My point was preprocessing for exact obstacle detection.

Summary

  • I used Block Matching(BM) Algorithm for a disparity map.
  • I separated ground and unnecessary parts(above the height of a vehicle) by using v-disparity method.
  • I coded occupancy grid which is one of the General Object Detection(GOD) methods.
  • I tried stixels method.

Installation & Environment

Installation

Environment

software

Windows 8.1(x64), Visual studio 2013, OpenCV 2.4.9

hardware

CPU : i3-4005U 1.72GHz, Memory : 6GB

Stereo matching Algorithm

bm_image

I used Block Matching(BM) Algorithm in this project. but you can use (Semi-Global Matching)SGM Algorithm by changing alg = 0 to 1. As you can see, the SGM prints out better disparity map but I used a BM because of real-time processing. If your machine is good enough, I recommend SGM.

Separate ground (searching free space)

ground_separation

I separated ground using V-disparity. And I used RANSAC algorithm for line fitting. I had tried separating ground with geometric method previously, but v-disparity result is better.

For more details about V-disparity, check this paper (Real Time Obstacle Detection in Stereovision on Non Flat Road Geometry Through ”V-disparity”Representation).

Except unnecessary parts (above the height of a vehicle)

erase_sky

I also erased unnecessary parts(above the height of a vehicle) in the same way as V-disparity.

Occupancy grid (top view)

occupancy grid

This is a occupancy grid whis is one of the General Object Detection(GOD) methods.
Red color means ground, Yellow means obstacles within 13m, Blue means obstacles over 13m

Stixels

stixels

I also tried Stixels methods simply. This method is proposed from Daimler group. For more details, check this paper(The Stixel World - A Compact Medium Level Representation of the 3D-World).

Result

video result (Click for full video)

Video White

stereovision's People

Contributors

windowsub avatar windowsub0406 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

stereovision's Issues

Dataset used

Hi.. Could you please provide link to the dataset used?

incorrect max number of iterations

I think you have given the calculation of max number of iterations by the fomular:
int max_iteration = (int)(1 + log(1. - 0.99) / log(1. - pow(0.6, no_samples)));
which is incorrect. It should be log(1 - Psuccess)/log(1 - w^n).
for your implementation, the max number of iterations should be 10 not 5. Can the author correct me if I miss something?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.