GithubHelp home page GithubHelp logo

aranyadan / caltech-lane-detection Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 10.0 384 KB

Automatically exported from code.google.com/p/caltech-lane-detection

MATLAB 2.83% C 50.01% C++ 46.83% Makefile 0.22% Shell 0.10%

caltech-lane-detection's Introduction

# Author: Mohamed Aly <[email protected]>
# Date: 10/7/2010

============================================================================
                     REAL TIME LANE DETECTOR SOFTWARE
============================================================================

This package contains source code and dataset that implements the work in the
paper [1].

=========
Contents
=========
src/: contains the C/C++ source files

|_ CameraInfo.conf: contains the camera calibration ifo

|_ CameraInfoOpt.*: contain gengetopt files for parsing the camera info files

|_ cmdline.*: contains gengetopt files for parsing command lines

|_ InversePerspectiveMapping.*: code for obtainig the IPM of an image

|_ LaneDetector.*: code for the bulk of the algorithm, including Hough
      Transforms, Spline fitting, Post processing, ...

|_ Lanes.conf: the typical configuration file for lane detection

|_ main.*: code for the main binary

|_ Makefile: the Make file

|_ mcv.*: contain utility functions

|_ ranker.h: code for obtaining the median of a vector

|_ run.sh: Shell script for running the detector on the four clips in
    Caltech Lanes Dataset

matlab/: contains the Matlab source files

|_ ccvCheckMergeSplines.m: checks if two splines are matching

|_ ccvEvalBezSpline.m: returns points on a spline given its control points

|_ ccvGetLaneDetectionStats.m: computes stats from detections and ground truth

|_ ccvLabel.m: handles the ground truth labels

|_ ccvReadLaneDetectionResultsFile.m: reads a detection file output from the
    binary file LaneDetector32/64

|_ Stats.m: computes stats for the detections on the Caltech Lanes Dataset and
    its ground truth labels

==============
Prerequisites
==============
1. OpenCV 2.0 or higher http://sourceforge.net/projects/opencvlibrary/
3. (Optional) Gengetopt http://www.gnu.org/software/gengetopt/

===========
Compiling
===========
Unzip the archive somewhere, let's say ~/lane-detector:

unzip lane-detector.zip -d ~/lane-detector
cd ~/lane-detector/src
make release

This will generate LaneDetector32 or LaneDetector64 depending on your system.

======================
Caltech Lanes Dataset
======================
To view the lane detector in action, you can download the Caltech Lanes Dataset
available at http://www.vision.caltech.edu/malaa/datasets/caltech-lanes

===========
Running
===========
To run the detector on the Caltech Lanes dataset, which might be in
~/caltech-lanes/

cd ~/lane-detector/
ln -s ~/caltech-lanes/  clips
cd ~/lane-detector/src/
bash run.sh

This will create the results files inside
~/caltech-lanes/*/list.txt_results.txt

To view the statistics of the results, open Matlab and run the file:

cd ~/lane-detector/matlab/
matlab&
>>Stats

======================
Command line options
======================
LinePerceptor 1.0

Detects lanes in street images.

Usage: LinePerceptor [OPTIONS]... [FILES]...

  -h, --help                   Print help and exit
  -V, --version                Print version and exit

Basic options:
      --lanes-conf=STRING      Configuration file for lane detection
                                 (default=`Lanes.conf')
      --stoplines-conf=STRING  Configuration file for stopline detection
                                 (default=`StopLines.conf')
      --no-stoplines           Don't detect stop lines  (default=on)
      --no-lanes               Don't detect lanes  (default=off)
      --camera-conf=STRING     Configuration file for the camera paramters
                                 (default=`CameraInfo.conf')
      --list-file=STRING       Text file containing a list of images one per
                                 line
      --list-path=STRING       Path where the image files are located, this is
                                 just appended at the front of each line in
                                 --list-file  (default=`')
      --image-file=STRING      The path to an image

Debugging options:
      --wait=INT               Number of milliseconds to show the detected
                                 lanes. Put 0 for infinite i.e. waits for
                                 keypress.  (default=`0')
      --show                   Show the detected lines  (default=off)
      --step                   Step through each image (needs a keypress) or
                                 fall through (waits for --wait msecs)
                                 (default=off)
      --show-lane-numbers      Show the lane numbers on the output image
                                 (default=off)
      --output-suffix=STRING   Suffix of images and results
                                 (default=`_results')
      --save-images            Export all images with detected lanes to the by
                                 appending --output-suffix + '.png' to each
                                 input image  (default=off)
      --save-lanes             Export all detected lanes to a text file by
                                 appending --output-suffix + '.txt' to
                                 --list-file  (default=off)
      --debug                  Show debugging information and images
                                 (default=off)

===========
References
===========
[1] Mohamed Aly, Real time Detection of Lane Markers in Urban Streets,
  IEEE Intelligent Vehicles Symposium, Eindhoven, The Netherlands, June 2008.

caltech-lane-detection's People

Stargazers

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

Watchers

 avatar  avatar

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.