ESIROI · Maquettes Connexion
AccueilITS7 · UE7-IOT
ESI-SPI-CI-IN4-S7-UE2-EC4

Data Analysis for IoT

FR EN ⬇ PDF
RéférentMaster the complete data analysis pipeline for IoT, from sensor data collection to machine learning model training, deployment, and validation of embedded models on resource constrained devices (edge AI / TinyML).
ECTS1
CM / TD / TP4 / 4 / 8
Typematiere

Viable
Viable100%
Complète86%
Manque pour « complète »
  • But du cours
  • Version EN relue

Acquis d'apprentissage visés

  • Analyze IoT data by integrating edge analytics (edge computing) specificities
  • Apply programming and communication paradigms specific to embedded systems and IoT
  • Design infrastructures and service solutions tailored for connected objects

Prérequis

  • Python and C/C++ programming basics
  • Probability and statistics fundamentals (S5-S6)
  • IOT701: Embedded and Real-Time Systems (co-requisite)

Programme

  • Module 1 — IoT Data Collection and Preparation (Lecture: 1h, Tutorial: 1h, Lab: 2h)
  • Specificities of IoT data: time series, multi-axis sensor data, sampling, noise
  • Collection strategies: on-field labeling, reproducible acquisition protocols
  • Preprocessing: cleaning, normalization, windowing, data augmentation
  • Handling class imbalances and variable field conditions
  • Lab: Accelerometer/gyroscope data collection on ESP32, labeling and exploration with Python/Pandas
  • Module 2 — Model Training for Embedded Systems (Lecture: 1.5h, Tutorial: 1.5h, Lab: 2h)
  • Introduction to TinyML: memory, computation, and energy constraints
  • TensorFlow Lite for Microcontrollers: architecture, quantization (int8, float16), model conversion
  • Edge Impulse Studio: project creation, data import, impulse design (DSP + classification)
  • Suitable architectures: 1D CNN for time series, anomaly detection, lightweight transfer learning
  • Trade-offs: accuracy vs. model size vs. inference latency
  • Lab: Training a gesture recognition model on Edge Impulse, exporting to TFLite
  • Module 3 — Embedded Deployment and Inference (Lecture: 1h, Tutorial: 1h, Lab: 2h)
  • Deploying TFLite models on microcontrollers (ESP32, Arduino Nano 33 BLE)
  • Integration into a real-time loop: acquisition → preprocessing → inference → action
  • Memory optimization: arena sizing, operator resolver, flatbuffer model
  • Measuring embedded performance: latency, RAM/Flash memory consumption, energy consumption
  • Lab: Deploying the model on target hardware, measuring latency and memory consumption
  • Module 4 — Field Validation and Robustness (Lecture: 0.5h, Tutorial: 0.5h, Lab: 2h)
  • Robustness challenges in real-world conditions: sensor drift, environmental variations, aging
  • Field validation vs. laboratory validation: test protocols, performance metrics in situ
  • Data drift and concept drift: detection and update strategies (retraining, feedback loop)
  • Field feedback → retraining loop: incremental data collection, data and model versioning
  • Ethical and reliability considerations for automated decisions at the edge
  • Lab: Validating the model in real-world conditions, analyzing errors, proposing improvements, iterating

Modalités d'évaluation

Continuous assessments and lab work evaluation (complete pipeline deployed on target hardware).

Bibliographie

Pete Warden & Daniel Situnayake — TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers — O’Reilly, 2020 Vijay Janapa Reddi et al. — Widening Access to Applied Machine Learning with TinyML — Harvard, 2021 Edge Impulse Documentation — docs.edgeimpulse.com TensorFlow Lite for Microcontrollers Documentation — tensorflow.org/lite/microcontrollers

Supports

Slides, Jupyter notebooks, Edge Impulse platform, ESP32/Arduino Nano 33 BLE Sense boards, practical work sheets.