Caltech开源车道检测

Caltech车道检测软件•Caltech Lane Detection Software

描述•Description

包含了论文[1]对应的C/C++和Matlab的源码实现。通过匹配贝塞尔样条函数(robust Bezier splines)实现了一个实时的基于单一图像的车道线检测系统(Lane detection system)。算法可以检测道路上所有的车道线,或者当前车道的两个车道标记。想立刻查看?下载下面的软件和Caltech车道数据集。

This package contains C/C++ and Matlab source code that implements the work in [1]. It implements a real time lane detection system for single images by fitting robust Bezier splines. It can detect all lanes in the street, or the two lane markers of the current lane. To quickly see it in action, download the software below and also the Caltech Lanes Dataset .

检测实时运行在40-50 Hz,可以检测道路上所有的车道。在Ubuntu Lucid Lynx 32-bit机器和Red Hat Enterprise Linux 5.5 64-bit机器上进行了编译测试。

The detection runs in real time, about 40-50 Hz and detects all lanes in the street. It was compiled and tested on Ubuntu Lucid Lynx 32-bit machine and Red Hat Enterprise Linux 5.5 64-bit machine.

本软件还包括几个目前OpenCV中去除的功能,包括:

It also includes several functionalities that were missing from OpenCV at the time, including:

  • 获得图像的逆透视映射(IPM)即获得道路的鸟瞰图。
  • 图像像素坐标和道路上平面坐标(使用地平面的假设)的相互转换。
  • 强大且随机抽样一致的直线拟合。
  • 强大且随机抽样一致的贝塞尔样条拟合。
  • 贝塞尔样条光栅化和绘图。
  • 布氏线光栅化。
  • 检查线的交点与和封闭区域边界,矩形内的点,…等多种实用功能
  • 直线的霍夫变换的常规实现。

    注:
    随机抽样一致(RANSAC,RANdom SAmple Consensus)

  • Routines for obtaining the Inverse Perspective Mapping (IPM) of an image i.e. getting a bird’s eye view of the road.

  • Routines for conversion to/from image pixel coordinates and coordinates on the road plane (using the ground plane assumption).
  • Robust & RANSAC line fitting.
  • Robust & RANSAC Bezier spline fitting.
  • Bezier spline rasterization and plotting.
  • Bresenham’s line raterization.
  • Various utility functions for checking intersections of lines with lines and bounding boxes, checking points inside a rectangle, … etc.
  • An implementation of a general Hough transform routine for lines.

动态•News

  • 2010年8月8日 第一版发布 October 8, 2010: Version 1.0.

下载•Download

源码•Source Code

项目主页托管在谷歌代码库

数据集•Dataset

参考资料•References

  • Mohamed Aly, Real time Detection of Lane Markers in Urban Streets, IEEE Intelligent Vehicles Symposium, Eindhoven, The Netherlands, June 2008. pdf
  • CaltechCV Image Labeler: a Matlab script to edit/view the labels in the Caletch Lanes Dataset.

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
# Author: Mohamed Aly <malaa@caltech.edu> # 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.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值