Git Product home page Git Product logo

signfeld's Introduction

๐Ÿšท Signfeld in PyTorch

"Give me a sign!" - Britney Spears, Circa October 23, 1998

"Jerry, just remember, it's not a lie if you believe it."- George Costanza (Seinfeld), Circa July 5, 1989

๐Ÿšณ Synthetic traffic sign detection

This repository collates our efforts on building traffic sign detection model in low (to zero) sample regime (with little to no human annotations). We leverage templates of known traffic signs to train our detector. We married the ideas of synthetic text & object detection for this work to bear fruit. We provide a pre-trained traffic sign detection model trained on 169 German Traffic sign(s). Sample results

๐Ÿพ Table of Contents

๐Ÿ’ป Installation

You can either install the code in a virtual environment or docker. Use the docker if you want a reproducible environment.

๐Ÿ Conda

First, create a virtual environment:

conda create -n synth-signs
conda activate synth-signs
conda install pip

Then install dependencies and software:

pip install .            # If you only want to generate a dataset.
pip install .[inference] # Include Inference
pip install .[trainer]   # Include Model training

๐Ÿณ Docker

The following two commands install and run the docker image:

make docker-install
make docker-run

๐ŸŽ‰ Usage

Download the pre-trained model(.pth) from here at resources/models.

Detection

detect-synthetic-signs --images=synthetic_signs/images/test_samples/*.jpg \
                       --label-map=resources/labels/labels-DE-169.yaml \
                       --config=resources/models/DE-signs-169.yaml \
                       --weights=resources/models/DE-signs-169.pth \
                       --output-dir=/tmp/signfeld

Visualisation

visualize-synthetic-sign-detections --images=synthetic_signs/images/test_samples/*.jpg \
                                    --template-dir=synthetic_signs/templates \
                                    --detections=/tmp/signfeld \
                                    --destination=/tmp/signfeld-viz \
                                    --min-confidence=0.5
Disclaimer : The model was trained with zero real samples, and is known to miss signs which are obscure, small and skewed from camera axis.

๐Ÿ‡ German Traffic Signs

Trained models are include in the repository [Calzone]. Evaluated on GTSDB

Name Description GTSDB mAP Remarks
Calzone Detector: RetinaNet, backbone: ResNet 50 67.23 Location : download

๐Ÿ‘ฝ Contributors

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.