Skip to content
/ RMap Public

A generative transformer architecture, that performs upsampling, denoising, and fills sparse radar maps

License

Notifications You must be signed in to change notification settings

arpg/RMap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RMap: Millimter-Wave Radar Mapping Through Volumetric Upsampling

[IROS Paper] [Website] [Video]

RMap (Radar Mapping), a method to generate highprecision 3D maps using radar point clouds extracted from an mmWave sensor.

We present an end-to-end pipeline for generating the 3D maps from radar point clouds and demonstrate how these maps can be leveraged to construct a 3D map resembling lidar-based maps through UpPoinTr. System Diagram

Usage:

  1. For the coloRadar dataset, the maps generated using radar and lidar (also lidar_filtered - considering lidar measurements only in the range and FOV of radar). The maps are stored in data/ply. For the points along the trajectory, the data is stored in data/poses
  2. From the maps and poses, generate radar input and lidar groundtruth patches by:
    python utils/poseSample.py --pcd_dir ./data/ply --input_dir <SAVE_INPUT_DIR> --gt_dir <SAVE_GT_DIR>
    
  3. Train/Test the UpPoinTr network with the generated input (and gt) patches. More details are available in UpPoinTr repo.
  4. Combine the UpPoinTr predicted patches by
    python combinescenePCD.py
    

This saves the final combined map for scene and also outputs the CD-L1 and CD-L2 metrics

Pretrained Model and Data

  1. Download AdaPoinTr pretrained weights: GDrive
  2. Download ColoRadar data from GDrive and upload in UpoinTr/data/ColoRadar/
  3. Run inference
    cd UpoinTr
    python tools/inference.py cfgs/ColoRadar_models/AdaPoinTr.yaml ckpt_best.pth --pc_root data/ColoRadar/test --out_pc_root output/AdaPoinTr_FPSRadarLarge/ 
    
  4. Generate combined maps
    python combineScenePCD.py
    
  5. Generate scores to compare with lidar maps
    python generateScores.py
    

For generating radar maps on a new dataset:

  1. Install octomap
  2. ROS package dependecies:
  3. Create a custom launch file similar to ocotomap_radar_analysis/launch/ocotmap_mapping.launch file

Results:

RMap genrated maps for ColoRadar dataset: Predicted

Through this crosssection analysis, we see that the original radar map consists primarily of noise. However, the RMap generated map has a similar structure to the lidar map, distinguishing between free space and occupied space. Navigable

Citation

If you find our work useful in your research, please consider citing:

@INPROCEEDINGS{10801827,
  author={Mopidevi, Ajay Narasimha and Harlow, Kyle and Heckman, Christoffer},
  booktitle={2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, 
  title={RMap: Millimeter-Wave Radar Mapping Through Volumetric Upsampling}, 
  year={2024},
  volume={},
  number={},
  pages={1108-1115},
  keywords={Laser radar;Three-dimensional displays;Simultaneous localization and mapping;Spaceborne radar;Radar;Millimeter wave radar;Transformers;Real-time systems;Trajectory;Odometry},
  doi={10.1109/IROS58592.2024.10801827}}

About

A generative transformer architecture, that performs upsampling, denoising, and fills sparse radar maps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages