This repository contains the code and documentation for the Low-Power Person Detection for UAV Search and Rescue Operations project in TinyML (Grade A) for the Stockholm University by Gabriele Pattarozzi, Timon Coucke and Jakub Schwenkbeck
For a quick idea what we did, take a look at this demo video:
tinyml_demo.mp4
This repository is organized as follows:
- documents/ - project plan and report
- output/ - benchmarking results and plots
- models/ - final trained models and exported artifacts
- src/ - source code:
- src/optimizing/ - model optimization scripts
- src/training/ - training code and dataset preparation
- src/visualization/ - plotting and visualization utilities
- src/runtime/ - inference/runtime code for deployment on
- webui/ - code for a python based webui showcasing our key features including interference and benchmarking
- notebooks/pipeline.ipynb - comprehensive pipeline walkthrough (model loading → training → optimization → benchmarking).
Create a Python (3.11) virtual environment:
python3 -m venv opt_venvActivate it:
source opt_venv/bin/activateInstall requirements:
pip install -r src/optimizing/requirements.txt
Create a Python (3.11) virtual environment that includes the system site packages for picamera2 support:
python3 -m venv --system-site-packages venvActivate it:
source venv/bin/activateInstall requirements and force reinstall for incompatible system site packages:
pip install -r requirements.txt