Giter Club home page Giter Club logo

deep-ego-velocity's Introduction

Overview

This repository contains the code used for the paper Towards Land Vehicle Ego-Velocity Estimation using Deep Learning and Automotive Radars. The paper proposes a deep learning framework for estimating ego-velocity of land vehicles equipped with FMCW radars.

radarscenes example

Installation

The project was tested on Ubuntu 20.04 and Python 3.8.10. Other used libraries can be found in the requirements.txt file. After cloning the repository, you can create a custom environment using the following command:

python3 python3 -m venv env

The, proceed with the installation of the required libraries:

source env/bin/activate
pip3 install -r requirements.txt

Data

Until the publication of this repository, the NavINST dataset was not publicly available. After downloading the RadarScenes dataset, please extract it into the radarscenes folder so that the contents appear as follows:

radarscenes data

For the MSC-RAD4R dataset, after downloading all urban sequences, extract them into the mscrad4r folder so that the contents look as follows:

mscrad4r data

The file sets.json is provided with this repository. Inside each urban sequence, make sure to downnload the following data:

mscrad4r sequence data

Code

Inside the src folder you can find the codes for each dataset tested. The utils folder contains common scripts. The checkpoints folder contains the checkpoints for the proposed models. Finally, the runs folder contains Tensorboard checkpoints for analysis.

Detailed descriptions of the scripts, in order of their utilization, are provided below.

RadarScenes

Script Description
meta Used to compute the lever arm between the vehicle coordinate system and all radars. The acquired information is used inside the compare script.
preprocess Used to define the sequences included in the training, validation and test sets used by the main script.
dataset Contains the PyTorch Dataset classes.
main Used to train and test the models. By default, the test script saves the estimated outputs as CSV file used by the compare script.
compare Used to compare the proposed models and the benchmarks. Run main script in test mode using the desired weights for each sequence available in the test set before comparing the results.

NavINST

Script Description
sync Used to sync the radars with the reference. It follows the splits defined in the sets.json file.
dataset Contains the PyTorch Dataset classes.
main_2D Used to train and test the 2D models. By default, the test script saves the estimated outputs as CSV file used by the compare script.
main_3D Used to train and test the 3D models. By default, the test script saves the estimated outputs as CSV file used by the compare script.
compare Used to compare the proposed models and the benchmarks. Run main_2D and main_3D scripts in test mode using the desired weights for each sequence available in the test set before comparing the results.

MSC-RAD4R

Script Description
pcd Folder containing C++ scripts to extract the point cloud info from PCD files to binary files.
sync Used to sync the radars with the reference. It follows the splits defined in the sets.json file.
dataset Contains the PyTorch Dataset classes.
main_2D Used to train and test the 2D models. By default, the test script saves the estimated outputs as CSV file used by the compare script.
main_3D Used to train and test the 3D models. By default, the test script saves the estimated outputs as CSV file used by the compare script.
compare Used to compare the proposed models and the benchmarks. Run main_2D and main_3D scripts in test mode using the desired weights for each sequence available in the test set before comparing the results.

Citation

If you find this repository helpful, please consider citing:

@article{de2024towards,
  title={Towards Land Vehicle Ego-Velocity Estimation using Deep Learning and Automotive Radars},
  author={De Araujo, Paulo Ricardo Marques and Noureldin, Aboelmagd and Givigi, Sidney},
  journal={IEEE Transactions on Radar Systems},
  year={2024},
  publisher={IEEE}
}

deep-ego-velocity's People

Contributors

paaraujo 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.