GithubHelp home page GithubHelp logo

xiangyu-gao / raw_adc_radar_dataset_for_automotive_object_detection Goto Github PK

View Code? Open in Web Editor NEW
66.0 4.0 16.0 9.34 MB

A dataset for the raw ADC data of 2TX-4RX MMWave Radar for automotive object detection.

License: MIT License

Python 100.00%

raw_adc_radar_dataset_for_automotive_object_detection's Introduction

Raw Radar ADC Dataset for Automotive Object Detection

A dataset for the 2TX-4RX MMWave Radar with the raw ADC data being recorded. Six main objects - pedestrian, cyclist, car, motorbike, bus, truck - were collected to fit the automotive object detection scenario.

Citations

RAMP-CNN: A Novel Neural Network for Enhanced Automotive Radar Object Recognition,
Xiangyu Gao, Guanbin Xing, Sumit Roy, and Hui Liu,
arXiv technical report (arXiv 2011.08981)

@ARTICLE{9249018,  author={Gao, Xiangyu and Xing, Guanbin and Roy, Sumit and Liu, Hui},  
    journal={IEEE Sensors Journal},   
    title={RAMP-CNN: A Novel Neural Network for Enhanced Automotive Radar Object Recognition},   
    year={2021},  volume={21},  number={4},  pages={5119-5132},  doi={10.1109/JSEN.2020.3036047}}

Raw ADC Data of 77GHz MMWave radar for Automotive Object Detection,
Xiangyu Gao, Youchen Luo, Guanbin Xing, Sumit Roy, Hui Liu,
IEEE Dataport

@data{xm40-jx59-22, doi = {10.21227/xm40-jx59}, url = {https://dx.doi.org/10.21227/xm40-jx59},
    author = {Gao, Xiangyu and Luo, Youchen and Xing, Guanbin and Roy, Sumit and Liu, Hui},
    publisher = {IEEE Dataport},
    title = {Raw ADC Data of 77GHz MMWave radar for Automotive Object Detection},
    year = {2022} }

Update

(April 28, 2023) Update the description for labels.

(Dec. 11, 2022) Initial release of dataset and tools.

Introduction

In this dataset, we provided the raw analog-to-digital-converter (ADC) data of a 77GHz mmwave radar for the automotive object detection scenario. The overall dataset contains approximately 19800 frames of radar data as well as synchronized camera images and labels. For each radar frame, its raw data has 4 dimensions: samples (fast time), chirps (slow time), transmitters, and receivers. The experiment radar was assembled from the TI AWR 1843 board, with 2 horizontal transmit antennas and 4 receive antennas. With time-division multiplexing on all transmitters, it can form a 1D-MIMO virtual array with 8 elements.

The data collection was done on the campus, road, and parking lot during the daytime, with the focus of capturing the data for six main objects: pedestrian, cyclist, car, motorbike, bus, truck. The collected objects can be either moving (mostly) or static. A single data collection run consisted of multiple objects listed above moving or being static at a normal speed for 30 seconds in front of the testbed. More information in terms of dataset structure, format, tools, and radar configuration was described below.

Download

Download the dataset from the google drive link:

https://drive.google.com/file/d/1QgjwdQpY96NAVGdvjjFrXLhb48o15EO_/view?usp=share_link

Or from IEEE Dataport:

https://ieee-dataport.org/documents/raw-adc-data-77ghz-mmwave-radar-automotive-object-detection

Dataset Structure and Format

The dataset consists of multiple sequences, e.g., "2019_04_09_bms1000", "2019_04_09_cms1000". Under each sequence folder, there exists the image folder "images_0", and radar data folder "radar_raw_frame", and label folder "text_labels".

The overall dataset structure is presented as below.

Automotive
---2019_04_09_bms1000
   ---images_0
   ---radar_raw_frame
   ---text_labels
---2019_04_09_cms1000
   ......

The "radar_raw_frame" folder contains raw ADC radar data in .mat format, and "images_0" folder contains camera images in .jpg format, and the "text_labels" contains label files for each frame in .csv format. The detailed data format is explained below.

You should match the radar frame, camera image, and labels based on their filenames. There is some redundant data and you can simply disregard it.

Radar ADC Data

  • For each radar frame, its raw data (*.mat) has 4 dimension:

     samples (128), chirps (255), receivers (4), transmitters (2). 
    

    All transmitters were arranged with time-division multiplexing (TDM), i.e., send chirp signals one by one. The example frame structure is shown below:

  • The placement of 2 transmitters and 4 receivers was plotted in the left figure below, from the TI documentation. Through TDM, it forms a 1 by 8 MIMO array as shown in the right figure below:

  • All radar configurations are included in config.

Camera Image

  • The camera image for each frame is 1440x1080 pixels.

Labels

  • Each *.csv file include the labels for a frame, with each row of it in format of [uid, class, px, py, wid, len], they are,

     uid: the unique tracking id of objects in this sequence
     class: the class id of objects, with the id number represented in label map, 
     px: x-axis center of bounding box in meters within the range of [-20m, 20m]
     py: y-axis center of bounding box in meters within the range of [1m, 24m]
     wid: width of bounding box in meters (corresponding to x-axis)
     len: lengt of bounding box in meters (corresponding to y-axis)
     
     The mapping of class id to objects is:
     label_map = {0: 'person',
                  2: 'car',
                  3: 'motorbike',
                  5: 'bus',
                  7: 'truck',
                  80: 'cyclist',
                  }
    

Note that there might be a few special cases where the px, py values exceed the provided limit and you may just wanna ignore them or do the clipping.

Dataset Tools

Software Requirement and Installation

Python 3.6 (please refer to INSTALL to set up libraries.)

Under prepare...

License

This tool is released under MIT license (see LICENSE).

Acknowledgement

This project was supported by the FUNLAB, University of Washington, and Silkwave Holdings. This project is not possible without multiple great open-source codebases. We list some notable examples below.

raw_adc_radar_dataset_for_automotive_object_detection's People

Contributors

xiangyu-gao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

raw_adc_radar_dataset_for_automotive_object_detection's Issues

How to use label data

px, py, wid, len are the x center, y center, width, and length of the bounding box for objects.

I'm thinking if the x center and y center here correspond to the range and angle dimensions of the RA map respectively? Or do they correspond to the Cartesian coordinate system in the real world? Are their units in meters and degrees? Also, I found that almost all width and length values are 1.7 and 0.6, is this normal?

Regards,

Radar data and camera data time alignment

Hi Xiangyu,

I have a question about synchronising the radar and camera data. As far as I know, the TI mmWave Studio does not label any timestamps to the data, not even for the first frame. I am just wondering how you solved this issue, by using SW/HW trigger? Thanks in advance.

The file id between radar, image and label do not match.

For example in the 2019_04_09_cms1000 folder, the radar data starts from 000002.mat, but the image and label start from 0000000000.jpg/.csv. Also 0000000000.csv is empty with no data.
Please check your uploaded data. I downloaded them from the google drive.

我如何自己制作数据集

我也想使用AWR1843BOOST制作数据集,采集的雷达数据大小想和您一样是1024KB的,我应该如何修改TI公司的demo程序以及配置CFG文件

Offset in file names for radar frames and text labels

Thank you for sharing this dataset.

In multiple recording folders, the files and indexes of the radar frames and text labels do not match up entirely. For example:
In recording folder '2019_04_09_cms_1000' the files in folder 'radar_raw_frame' range from index 2 until index 899. However, in the corresponding folder 'text_labels', files range from index 0 until 897.

My question is: Is this difference known? Is this an offset and does the first radar file ('000002.mat') correspond with the first label file ('0000000000.csv') in this folder? Or do index numbers correspond correctly and are there just some files which have radar frames but no labels and the other way around?

Thank you!

标签数据和Range-angle数据不对齐

标签csv文件中的px、py转换到range-angle坐标系下,在距离稍远的地方出现较大的误差,其中ramap根据雷达参数计算,想请问是自动化标注产生的距离估计误差还是我计算过程出现了问题

Google drive link

Hi,

Can you please update the google drive with a working link? Thanks!

数据处理问题 -

您好,我正在使用此数据集,希望从原始raw data自行进行预处理以得到能够供RAMP-CNN使用的训练数据,在此数据集中的\2019_04_30_pbms002\radar_raw_frame\000131.mat进行range-angle成像后得到的二维热力图和在样本数据'./template_files/train_test_data'中提供的template_files\train_test_data\2019_04_30\2019_04_30_pbms002\RA_NPY\0000\000131.npy 并不一致

8e1c76c3564a4d3cc0cef64e5f269e5

image

.bin files

can i get .bin files for the dataset so i can use them to plot heatmaps

Regarding the radar configuration

Hi Xiangyu,

I have some questions regarding the radar configuration. I tried to set my own AWR1843 radar to the same configuration you used. However, I had some problems when doing this.

My radar configuration

Screenshot 2023-12-05 203820 Screenshot 2023-12-05 203757 Screenshot 2023-12-05 203747

Questions

Tx1 with Tx2 or Tx1 with Tx3?

There are in total 3 Tx on AWR1843. In your project, you applied TDM on the Tx on the left and the one on the right. Between them, the distance is 4d. However, in mmWave Studio, I am not sure what is the correlation between the 3 Tx in the mmWave Studio and the 3 Tx actually on the radar board. It would be very nice if you could point it out to me.

The frame periodicity

radar_configs = {
    "startFreqConst_GHz": 77.0,
    "bandwidth_GHz": 0.67,
    "chirpDuration_usec": 60.0,     # single chirp per antenna
    "freqSlopeConst_MHz_usec": 21.0,  # slope: MHz/us
    "numAdcSamples": 128,   # samples
    "digOutSampleRate": 4000.0,     # sampling rate: Ksps
    "numLoops": 255,     # chirp loops
    "framePeriodicity_msec": 33.33333,  # frame rate 30 fps
}

In your configuration, the frame periodicity is 33.3333ms. I tried to use the same configuration except the chirpDuraiton_usec which I don't know how to set. In the end, the mmWave Studio reminds me that the minimum requirement for frame periodicity is 81.6ms. Could you please go through my configuration as provided above to provide some possible explanation for this?

Thanks in advance!

Unmatched labels in raw label files

Hi @Xiangyu-Gao , thank you for sharing this great dataset with us! I just have one question related to the annotations: After checking all the label files, I find there is no class id '5' existed in all .csv label files but there are two seq contain class id '1' : 2019_05_09_mlms003 and 2019_05_09_bm1s007:
2019_05_09_bm1s007 contains class_ids '1' at:
0000000629.csv
0000000634.csv
0000000635.csv
0000000636.csv
0000000637.csv
0000000639.csv
2019_05_09_mlms003 contains class_ids '1' at:
0000000607.csv
0000000607.csv
0000000625.csv
0000000645.csv
0000000773.csv
0000000845.csv
0000000608.csv
0000000609.csv
0000000610.csv
0000000611.csv
0000000612.csv
0000000613.csv
0000000615.csv
0000000616.csv
0000000617.csv
0000000618.csv
0000000619.csv
0000000620.csv
0000000621.csv
0000000622.csv
0000000623.csv
0000000624.csv
0000000591.csv
0000000592.csv
0000000593.csv
0000000594.csv
0000000595.csv
0000000596.csv
0000000597.csv
0000000599.csv
0000000600.csv
0000000601.csv
0000000602.csv
0000000603.csv
0000000604.csv
0000000605.csv
0000000606.csv
0000000626.csv
0000000627.csv
0000000628.csv
0000000629.csv
0000000630.csv
0000000631.csv
0000000632.csv
0000000633.csv
0000000634.csv
0000000635.csv
0000000636.csv
0000000637.csv
0000000638.csv
0000000639.csv
0000000640.csv
0000000641.csv
0000000642.csv
0000000643.csv
0000000644.csv
0000000846.csv
0000000847.csv
0000000829.csv
0000000830.csv
0000000831.csv
0000000832.csv
0000000833.csv
0000000834.csv
0000000835.csv
0000000836.csv
0000000837.csv
0000000838.csv
0000000839.csv
0000000840.csv
0000000841.csv
0000000842.csv
0000000843.csv
0000000844.csv
0000000792.csv
0000000774.csv
0000000775.csv
0000000776.csv
0000000777.csv
0000000778.csv
0000000779.csv
0000000780.csv
0000000781.csv
0000000782.csv
0000000783.csv
0000000784.csv
0000000759.csv
0000000760.csv
0000000761.csv
0000000762.csv
0000000763.csv
0000000764.csv
0000000765.csv
0000000766.csv
0000000767.csv
0000000768.csv
0000000769.csv
0000000770.csv
0000000771.csv
0000000772.csv
Is there anything wrong with the label map ? (in the repo: label_map = {0: 'person',
2: 'car',
3: 'motorbike',
5: 'bus',
7: 'truck',
80: 'cyclist',
})

Ground truth values for velocity of vehicles ?

Thanks for sharing the radar raw data.
Can you please share each data set's ground truth velocity values in text labels?
I saw that text labels only contain px,py,width,length data.
please let me know if thats possible to share.

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.