Giter Site home page Giter Site logo

neozhang-icommute / lanenet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from harryhan618/lanenet

0.0 1.0 0.0 569 KB

Pytorch implementation of "Towards end-to-end lane detection: an instance segmentation approach"

Python 65.47% CMake 0.68% Shell 3.21% C++ 30.64%

lanenet's Introduction

LaneNet lane detection in Pytorch

LaneNet is a segmentation-tasked lane detection algorithm, described in [1] "Towards end-to-end lane detection: an instance segmentation approach" . The key idea of instance segmentation should be referred to [2] "Semantic instance segmentation with a discriminative loss function". This repository contains a re-implementation in Pytorch.

News

  • Codebase would be updated these days. There are many bugs currently in this repo. Sorry for the late response.

Data preparation

CULane

The dataset is available in CULane. Please download and unzip the files in one folder, which later is represented as CULane_path. Then modify the path of CULane_path in config.py.

CULane_path
├── driver_100_30frame
├── driver_161_90frame
├── driver_182_30frame
├── driver_193_90frame
├── driver_23_30frame
├── driver_37_30frame
├── laneseg_label_w16
├── laneseg_label_w16_test
└── list

Note: absolute path is encouraged.

Tusimple

The dataset is available in here. Please download and unzip the files in one folder, which later is represented as Tusimple_path. Then modify the path of Tusimple_path in config.py.

Tusimple_path
├── clips
├── label_data_0313.json
├── label_data_0531.json
├── label_data_0601.json
└── test_label.json

Note: seg_label images and gt.txt, as in CULane dataset format, will be generated the first time Tusimple object is instantiated. It may take time.

Demo Test

For single image demo test:

python demo_test.py -i demo/demo.jpg 
                    -w path/to/weight
                    -b 1.5
                    [--visualize / -v]

An untested model can be downloaded [here]. (It will be uploaded soon.)

Train

  1. Specify an experiment directory, e.g. experiments/exp0. Assign the path to variable exp_dir in train.py.

  2. Modify the hyperparameters in experiments/exp0/cfg.json.

  3. Start training:

    python train.py [-r]
  4. Monitor on tensorboard:

    tensorboard --logdir='experiments/exp0' > experiments/exp0/board.log 2>&1 &
    

Note

  • My model is trained with torch.nn.DataParallel. Modify it according to your hardware configuration.

Reference

[1]. Neven, Davy, et al. "Towards end-to-end lane detection: an instance segmentation approach." 2018 IEEE Intelligent Vehicles Symposium (IV). IEEE, 2018.

[2]. De Brabandere, Bert, Davy Neven, and Luc Van Gool. "Semantic instance segmentation with a discriminative loss function." arXiv preprint arXiv:1708.02551 (2017).

lanenet's People

Contributors

harryhan618 avatar

Watchers

 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.