GithubHelp home page GithubHelp logo

yueqin-li / rrpn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mrnabati/rrpn

0.0 0.0 0.0 19.25 MB

Code for 'RRPN: Radar Region Proposal Network for Object Detection in Autonomous Vehicles' (ICIP 2019)

License: MIT License

CMake 3.93% Makefile 0.06% Python 94.52% MATLAB 0.21% C++ 0.32% Cuda 0.19% Dockerfile 0.09% Shell 0.68%

rrpn's Introduction

RRPN: Radar Region Proposal Network for Sensor Fusion in Autonomous Vehicles

Introduction

RRPN is a Region Proposal Network (RPN) exploiting Radar detections to propose Regions of Interest (RoI) for object detection in autonomous vehicles. RRPN provides real-time RoIs for any two-stage object detection network while achieving precision and recall values higher than or on par with vision based RPNs. We evaluate RRPN using the Fast R-CNN network on the NuScenes dataset and compare the results with the Selective Search algorithm.

This project has been updated to work with the full nuScenes dataset (v1.0). The results reported in the paper are based on the Teaser version of the nuScenes dataset (v0.1), which is now deprecated.

Links:

[RRPN on arXive] - [RRPN on IEEE Explore]

Contents

  1. Requirements
  2. Installation
  3. Training
  4. Evaluation and Inference

Requirements

  • Python3.7
  • Caffe2 with GPU support

Installation

  • Clone the repo and install the prerequisites:

    cd ~
    clone https://github.com/mrnabati/RRPN
    cd rrpn
    python -m pip install -r requirements.txt
  • Set up Detectron Python modules:

    cd ~/rrpn/detectron 
    make
  • Download the NuScenes dataset from its Download Page, unpack the archive files to ~/rrpn/data/nuscenes/ without overwriting folders that occur in multiple archives. Eventually you should have the following folder structure:

    nuscenes
      |__ maps
      |__ samples
      |__ sweeps
      |__ v1.0-mini
      |__ v1.0-test
      |__ v1.0-trainval
    

Training

  • First convert the nuScenes dataset to the COCO format by running the 0_nuscenes_to_coco.sh script under experiments for both training and validation sets. This should result in the following folder structure in the ~/rrpn/data/nucoco directory:

    nucoco
      |__ annotations
      |   |__ instances_train.json
      |   |__ instances_val.json
      |
      |__ train
      |   |__ 00000001.jpg
      |   |__ ...
      |__ val
          |__ 00000001.jpg
          |__ ...
    
  • Generate proposals for the training and validation splits by running the 1_generate_proposals.sh script. This should add an proposals directory in the above structure:

    nucoco
      |__ annotations
      |   |__ instances_train.json
      |   |__ instances_val.json
      |
      |__ proposals
      |   |__ proposals_train.pkl
      |   |__ proposals_val.pkl
      |
      |__ train
      |   |__ 00000001.jpg
      |   |__ ...
      |__ val
          |__ 00000001.jpg
          |__ ...
    
  • Start training by running the 2_train.sh script. Change the config file and other parameters in the script as you wish. If you don't want to train from scratch, download the pre-trained Fast-RCNN model based on your selected config file from the Detectron Model Zoo and fine-tune it on the nuScenes dataset.


Evaluation and Inference

  • Run the 3_test.sh script in the experiments directory to evaluate the trained model on the whole validation set and see the evaluation statistics. Make sure to change the parameters in the script to select the model, config file and dataset you want to evaluate on.
  • Run the 4_inference.sh script to perform inference on a single image from the dataset.

Citing RRPN

If you find RRPN useful in your research, please consider citing.

@inproceedings{nabati2019rrpn,
  title={RRPN: Radar Region Proposal Network for Object Detection in Autonomous Vehicles},
  author={Nabati, Ramin and Qi, Hairong},
  booktitle={2019 IEEE International Conference on Image Processing (ICIP)},
  pages={3093--3097},
  year={2019},
  organization={IEEE}
}

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.