/ORM

Cone Detection testing for formula student driverless

Primary LanguageC++GNU General Public License v3.0GPL-3.0

ORM - Object Recognition Module for FSAE driverless

DEPRECATED This repository is no longer maintained due to progress made on the complete FSD platform for our vehicle. please refer to:TauRD Autonomous 2019

This is basic software intended for testing the usage of yolov3-tiny for object detection in FSAE driverless.
Any notes and suggestions are welcome!

Important notes

Before using please note that:

  • The weights are currently trained on a minimal dataset (200 images) with only 1 class for orange cones.
  • The intention is to expand to all relevent objects for FSAE driverless with a larger dataset for each class.
  • Detection and tracking should improve with a larger dataset.
  • I assume tracking would work better with a natively high fps video.
  • This software is currently not implemented in an FSAE car and is used mainly as a "playground" for testing at the moment.

Regarding the cfg file

  • While training the resolution was set to 608x608.
  • While in use the resoution was set to 416x416.
  • Increasing the resolution will improve accuracy but reduce speed,

Performance

  • CPU: ~18 fps (Intel i7-4710HQ).
  • GPU: ~80 (!) fps (Nvidia Geforce 970M).

Setup and prerequisites

Please read the code and make sure you understand it before building and using!

Setup

  • The darknet shared library was compiled with the use of CUDA, so if no gpu is used please recompile darknet
    and replace libdarknet.so (re-name the resulting darknet.so file and simply replace the one used here).

  • If you do have an nvidia gpu install the CUDA toolkit and cuDNN.

  • Make sure you have OpenCV installed and properly linked in your build environment.

  • Clone this repostiory git clone --recursive https://github.com/Galzai/ORM

  • Add libdarknet.so and the cuda libraries to your library path:
    export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/home/"your-username"/ORM/Debug:$LD_LIBRARY_PATH

  • Before building make sure the path to the video file in the code is correct (Can easily be modified to use a camera if you know some basic OpenCV usage).

  • Build:
    cd /home/"your-username"/ORM/Debug
    make

Usage

  • Enter ./ORM