https://github.com/bmw-lab-msu/spie-optics-and-photonics-23-drone-rotor-analysis
Code for "Preliminary Analysis of Drone Propeller Signals Using Wingbeat-Modulation Lidar", published in SPIE Optics and Photonics 2023.
https://github.com/bmw-lab-msu/spie-optics-and-photonics-23-drone-rotor-analysis
Science Score: 39.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.8%) to scientific vocabulary
Keywords
Repository
Code for "Preliminary Analysis of Drone Propeller Signals Using Wingbeat-Modulation Lidar", published in SPIE Optics and Photonics 2023.
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
SPIE Optics and Photonics 2023: Drone Propeller Rotation Analysis
This repository contains the code used in our paper Preliminary Analysis of Drone Propeller Signals Using Wingbeat-Modulation Lidar, which was published in the SPIE Optics and Photonics "Applications of Machine Learning" conference.
Path setup
Run the setup.m script to add the feature-extraction folder to your matlab path. Or just add it manually using addpath()
Directory setup
The code has been written to use relative paths. This can be changed if desired.
Here's the directory structure this code is set to use:
i-etc-2023
├── code
│ ├── combineScans.m
│ ├── LICENSE
│ ├── nestedcell2mat.m
│ ├── orientationTrainTestSplit.m
│ ├── randomTrainTestSplit.m
│ └── README.md
└── data
├── on-axis
├── perpendicular
├── raw
├── testing
└── training
Recreating results
Our code is split into multiple parts: data wrangling and preprocessing, training, testing, and figure creation.
Data wrangling
- Run
combineScans.mto combine all raw data into one data structure. - Run
extractAllFeatures.mto preprocess the data and extract features. - Run
randomTrainTestSplit.mandorientationTrainTestSplit.mto split the data into training and testing sets.
Training
Run the experiment*.m files to run the training experiments. These scripts launch the Classification Learner with the appropriate data. You are then free to run whatever models you like in the Classification Learner.
Models must be exported and saved manually, unfortunately.
Testing
Once the models have been trained and exported from the Classification Learner application, run the testing scripts:
- testModel.m tests the random split
- perpendicularModelTest.m tests the models trained on perpendicular data
- onAxisModelTest.m tests the models trained on on-axis/parallel data
Figure creation
Figure creation scripts are in the figures directory. These scripts are designed to be run from the figures directory. If you run them from elsewhere, you'll need to update the data directory paths appropriately.
Owner
- Name: BMW Lab @ MSU
- Login: BMW-lab-MSU
- Kind: organization
- Location: Montana State University
- Repositories: 7
- Profile: https://github.com/BMW-lab-MSU
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1