GithubHelp home page GithubHelp logo

sjang1594 / mmwave-radar-signal-processing-and-microdoppler-classification Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xiangyu-gao/mmwave-radar-signal-processing-and-microdoppler-classification

0.0 0.0 0.0 50.93 MB

Codes and template data for paper "Experiments with mmWave Automotive Radar Test-bed"

License: MIT License

Python 27.71% MATLAB 62.82% Jupyter Notebook 9.47%

mmwave-radar-signal-processing-and-microdoppler-classification's Introduction

mmWave-radar-signal-processing-and-microDoppler-classification

This is a repository for codes and template data of paper "Experiments with mmWave Automotive Radar Test-bed"

Please cite our paper with below bibtex if you find this repository useful.

@INPROCEEDINGS{9048939,  author={Gao, Xiangyu and Xing, Guanbin and Roy, Sumit and Liu, Hui}, 
booktitle={2019 53rd Asilomar Conference on Signals, Systems, and Computers}, 
title={Experiments with mmWave Automotive Radar Test-bed}, 
year={2019},  volume={},  number={},  pages={1-6},  doi={10.1109/IEEECONF44664.2019.9048939}}

Important Updates

(June 18, 2022) A script for reading binary file has been created read_bin.m.

(June 9, 2022) One raw binary file named '2019_04_30_pbms002_raw_900fs.zip' can be downloaded here for your use. It contains 900 frames with the same radar configuration as the data used below.

(Nov 22, 2021) NEW!!! The micro-Dooler classification part has been updated

Contact

Any questions or suggestions are welcome!

Xiangyu Gao [email protected]

Software requirement

MATLAB, Python 3.6, Tensorflow 2.0, Jupyter Notebook

Run codes for generating range-angle maps, range-Doppler maps, and 3D point clouds

  1. Customize your testbed/FMCW parameter in script:
    ./config/get_params_value.m
    
  2. Select the input data ('pms1000_30fs.mat', 'bms1000_30fs.mat' or 'cms1000_30fs.mat') in script:
    generate_ra_3dfft.m
    
  3. Run 'generate_ra_3dfft.m' script to get results. For example, the range-angle image, range-Doppler image, and detected 3D point clouds for input data 'pms1000_30fs' are shown below:

pms1000_ra pms1000_rd pms1000_pointclouds

  1. You can manipulate the algorithm parameters of below commands in "./utils/cfar_RV.m" script to obtain the desired point-cloud results:
    x_detected = cfar_ca1D_square(Dopdata_sum(rani,:), 4, 7, Pfa, 0, 0.7);
    y_detected = cfar_ca1D_square(Dopdata_sum(:, C(1,dopi)), 4, 8, Pfa, 0, 0.7);
    
  2. It is optional to stop the range-Doppler image by setting below flag in codes to 0:
    Is_plot_rangeDop = 1;
    

Run codes for generating micro-Doppler maps

  1. Customize your testbed/FMCW parameter in script:

    ./config/get_params_value.m
    
  2. Select the input data ('pms1000_30fs.mat', 'bms1000_30fs.mat' or 'cms1000_30fs.mat') in script:

    generate_microdoppler_stft.m
    
  3. Run 'generate_microdoppler_stft.m' script to get results. For example, the micro-Doppler map for input data 'pms1000_30fs' is shown below:

    pms1000_md

  4. You can manipulate the algorithm parameters in "generate_microdoppler_stft.m" to customize the micro-Doppler map properties:

    M = 16; % number of frames for generating micro-Doppler image
    Lr = 11; % length of cropped region along range
    La = 5; % length of cropped region along angle
    Ang_seq = [2,5,8,11,14]; % dialated angle bin index for cropping
    WINDOW =  255; % STFT parameters
    NOVEPLAP = 240; % STFT parameters
    

Train and Test VGG16 classifier

  1. Download the template training data, testing data, and trained model from the Google Drive with below link:

    https://drive.google.com/drive/folders/1CC3nluGDral__geL6zIzCK2t5Jrhfwex?usp=sharing
    

    Note that we select part of our training and testing set for your use here and the model was trainied with whole complete training set.

    You may use the above algorithm "generate_microdoppler_stft.m" to create your own training and testing set (micro-Doopler images).

  2. Put the decompressed training data, testing data, and trained model in "template data" folder as follow:

    '.\template data\train_data_part'
    '.\template data\test_data_part'
    '.\template data\trained_model\new_epoch10'
    
  3. Run the training:

    train_classify.ipynb
    
  4. Run the testing

    test_classify.ipynb
    

License

mmWave-radar-signal-processing-and-microDoppler-classification is released under MIT license (see LICENSE).

Acknowlegement

This project is not possible without multiple great opensourced codebase and dataset. We list some notable examples below.

mmwave-radar-signal-processing-and-microdoppler-classification's People

Contributors

xiangyu-gao 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.