Code Monkey home page Code Monkey logo

affinis-lab / traffic-light-detection-module Goto Github PK

View Code? Open in Web Editor NEW
36.0 3.0 21.0 26.16 MB

Module for detecting traffic lights in the CARLA autonomous driving simulator. Based on the YOLO v2 deep learning object detection model and implemented in keras, using the tensorflow backend.

Python 100.00%
yolov2 object-detection traffic-light-detection tiny-yolov2 yolo2 yolo carla-simulator carla traffic-light python keras tensorflow deep-learning

traffic-light-detection-module's Introduction

traffic-light-detection-module

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

IMPORTANT UPDATE

This repo is deprecated. For a newer and improved model, implemented in PyTorch, please refer to this repo.

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

out(2).png

About

Module for detecting traffic lights in the CARLA autonomous driving simulator (version: 0.8.4).
Built upon and inspired by https://github.com/experiencor/keras-yolo2.
Instructions and more traffic light detection examples can be found below.

  • This module is used along several other modules to implement our version of imitation learning in the CARLA simulator. Results of the core module can be found on this repository

  • Model for objection detection is based on tiny yolov2

  • Training started with yolov2 coco pretrained weights

  • It was first trained on the LISA traffic light detection dataset (~5800 images), and after that on the dataset collected from the CARLA simulator by myself (~1800 images).

CARLA dataset and model

  • Dataset collected by myself in the CARLA simulator can be found here, annotations can be found here.

  • Important note - several images in the dataset are left out of annotations because bounding boxes are too small (too far away). I also filtered (left out) all images that have xmax < 15 when loading the dataset. There is around 70-80 out of ~1800 images that are left out, so it isn't that problematic.

  • Pretrained model can be found here.

Instructions

  • To train:

    • In the config file set training -> enabled to true
    • Put your annotations file in the dataset folder
    • In the config file set training -> annot_file_name to the name of your annotations file
    • Put your images in the dataset/images folder
    • If necessary, adjust parameters in config according to your problem/dataset
    • run main.py with -c config.json
  • To evaluate:

    • In the config file set training -> enabled to false
    • Put your annotations file in the evaluation folder
    • In the config file set training -> annot_file_name to to the name of your annotations file containing images for evaluation
    • Put your images in the evaluation/images folder
    • If necessary, adjust parameters in config according to your problem/dataset
    • run main.py with -c config.json
  • To generate anchors:

    • run generate_anchors.py with -c config.json
  • Soon to be added:

    • Real time traffic light detecting gifs

Examples

  • Several examples of predictions, more can be found in the out folder

out(11).png out(12).png out(6).png out(7).png out(14).png out(15).png out(4).png

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.