README.md

August 20, 2021 · View on GitHub

train&evaluate UnderTheRadar on nuScene radar dataset

This repo is developed based on utiasASRL/hero_radar_odometry.

MethodsSupervisionTranslational Error (%)Rotational Error (1 x 10-3 deg/m)
Under the RadarSupervised (L)2.05836.7
RO CenUnsupervised (HC)3.71689.5
MC-RANSACUnsupervised (HC)3.320410.95
HERO (Ours)Unsupervised (L)1.98796.524

Trained results on nuScenes (ckpt)

ckpt

Build Instrucions

We provide a Dockerfile which can be used to build a docker image with all the required dependencies installed. It is possible to build and link all required dependencies using cmake, but we do not provide instrucions for this. To use NVIDIA GPUs within docker containers, you'll need to install nvidia-docker

1.Building Docker Image:

cd docker
docker build -t hero-image .

2.Launching NVIDIA-Docker Container:

cd utr_milliPlace

docker run --gpus all -it \
    -v /LOCAL/ramdrop/github/utr_milliPlace:/github/utr_milliPlace \
    --name utr_milliPlace \
    --shm-size 16G \
    --ipc=host \
    -p 6022:22 \
    hero-image:latest

3.Building CPP-STEAM: after launching the docker container,

git clone git@github.com:ramdrop/hero_nusc.git
cd hero_nusc
mkdir cpp/build
cd cpp/build
cmake .. && make

Data Preprocessing

copy the processed nuScenes dataset (from milliPlace) to the following directory:

├── utr_milliPlace
│   ├── nuscenes_dataset
│   │   └── 7n5s_xy11
cd preprocess_nuscenes
# generate a .npy file for the sequences and transformations, executed outside the container
python preprocess.py --split='trainval' --nuscenes_datadir=/LOCAL/ramdrop/dataset/nuscenes
# write the transformation data in the format of oxford robot car, executed inside the container
python nuScenes_odom.py

python preprocess.py --split='test'  --nuscenes_datadir=/LOCAL/ramdrop/dataset/nuscenes
python nuScenes_odom.py

Train

cd /github/utr_milliPlace
python3 train.py --config config/nuScenes.json

Evaluate

cd /github/utr_milliPlace
python3 eval.py --pretrain ckpt/lastest.pt --config ckpt/nuScenes.json

Generate descriptors for place recognition

cd /github/utr_milliPlace
python3 desc.py --config ckpt/nuScenes.json --pretrain ckpt/latest.pt