Ingegneria Informatica e dell’Intelligenza Artificiale Applicata LM-32

IoT e Sistemi intelligenti 3D

Settore scientifico disciplinare Numero crediti formativi (CFU) Docente
ING-INF/05 (IINF-05/A) 9 Thomas Alessandro Ciarfuglia

Obiettivi

Il corso mira a formare una figura professionale capace di progettare l'intera pipeline di un sistema di percezione intelligente: dall'acquisizione del dato fisico (IoT/Embedded), all'estrazione di informazioni tramite intelligenza artificiale su edge (Edge AI), all'elaborazione spaziale (3D Vision), fino alla stima dello stato e all'integrazione in sistemi distribuiti (Digital Twin) in ottica Industria 4.0 e Smart City.

Risorse

I seguenti testi sono indicati nel programma con le relative abbreviazioni.

  • [Lacamera]: D. Lacamera, Embedded Systems Architecture, 2nd edition, Packt Publishing, 2023. Testo di riferimento per lo sviluppo di applicazioni emebedded basate su MCU STM32F401.
  • [RM0368]: STMicroelectronics, STM32F4 Series Reference Manual, RM0368. User manual per l'MCU STM32F401 usata nel corso
  • [PM0214]: STMicroelectronics, PM0214 Programming manual - STM32 Cortex®-M4 MCUs and MPUs programming manual. Manuale di programmazione per le funzionalità del Core Cortex-M4 parte dell'architettura STM32.
  • [Yiu]  J. Yiu, The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd ed., Newnes, 2014. Testo con approfondimenti sulle architetture ARM Cortex M3 e M4.
  • [LeeSeshia]: Introduction to Embedded Systems: A Cyber-Physical Systems Approach, Edward A. Lee, Sanjit A. Seshia (MIT Press, Seconda Edizione). Riferimento primario per le architetture hardware embedded e la teoria dei sistemi real-time.
  • [Szeliski]: Computer Vision: Algorithms and Applications, Richard Szeliski (Springer, Seconda Edizione - 2022). Riferimento per sensori 3D attivi/passivi, modelli geometrici e computer vision classica.
  • [TinyML]: TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers, Pete Warden & Daniel Situnayake (O'Reilly Media, 2019). Riferimento per l'ottimizzazione AI su edge.
  • [DL-3D]: Selezione di paper scientifici di riferimento forniti dal docente (es. SuperPoint, LoFTR, Dust3R, NeRF, 3D Gaussian Splatting) per lo studio dello stato dell'arte nell'elaborazione neurale e rendering 3D.
  • [Docs]: Documentazione ufficiale (ROS 2, PCL, FreeRTOS, ONNX, TensorRT).

Programma

 Il programma si compone di 5 moduli:

  1. Progettazione di applicazioni embedded
  2. Sensori IoT, Percezione 3D e Pipeline Dati
  3. Edge AI e Ottimizzazione Modelli
  4. Geometria Multivista e Deep Feature Matching
  5. Ricostruzione 3D Neurale e Rendering

Risultati di apprendimento attesi

 Conoscenza e capacità di comprensione

Lo studente dovrà acquisire una comprensione integrata della progettazione dell'intera pipeline di un sistema di percezione intelligente: dall'acquisizione del dato fisico sull'edge, fino all'integrazione in sistemi distribuiti in ottica Industria 4.0 e Smart City. Più in dettaglio:

  • Conoscenza delle architetture hardware embedded, dei vincoli fisici e temporali (dominio del tempo e degli eventi), e delle differenze architetturali tra approcci bare-metal e sistemi operativi Real-Time (RTOS).
  • Conoscenza dei principi fisici e dei modelli matematici alla base dei principali sensori IoT, con focus sui sensori inerziali (IMU) e sui sensori spaziali (LiDAR, Time-of-Flight, telecamere).
  • Conoscenza delle problematiche legate all'acquisizione e all'elaborazione spaziale del dato 3D, includendo tecniche di filtraggio delle point cloud, stima delle normali e geometria locale.
  • Conoscenza dei paradigmi dell'Edge AI e del TinyML, comprendendo a fondo le tecniche di ottimizzazione (come la quantizzazione e il pruning) necessarie per il deployment di modelli neurali su hardware a risorse limitate.
  • Conoscenza dei fondamenti della geometria multivista e del passaggio dagli algoritmi classici all'estrazione di informazioni 3D tramite modelli di Deep Learning e feature matching neurale.
  • Conoscenza delle ultime frontiere dell'Intelligenza Artificiale applicata allo spazio 3D, includendo i paradigmi di ricostruzione densa (Structure from Motion) e le tecniche di neural rendering volumetrico e basato su primitive (es. NeRF, 3D Gaussian Splatting).
  • Conoscenza dei framework per l'integrazione Edge-IoT (es. ROS 2), dei protocolli di comunicazione industriali (DDS, MQTT) e delle infrastrutture distribuite per la sincronizzazione dei dati in Cloud.

Capacità di applicare conoscenza e comprensione

Lo studente acquisirà grazie al corso la capacità di implementare autonomamente sistemi cyber-fisici e pipeline di elaborazione dati, passando dalla teoria all'implementazione su target hardware. Più in dettaglio, saprà:

  • Interfacciare sensori fisici e programmare firmware su microcontrollori o Single Board Computers, gestendo correttamente l'acquisizione dei flussi dati.
  • Implementare pipeline software per il pre-processing e il condizionamento di dati 3D (nuvole di punti).
  • Ottimizzare, convertire ed eseguire il deploy di reti neurali pre-addestrate per l'inferenza real-time su dispositivi Edge (es. tramite TensorRT, ONNX).
  • Applicare modelli neurali moderni per l'estrazione di feature, la stima della profondità monoculare e la generazione della geometria spaziale.
  • Progettare e configurare l'infrastruttura di rete (bridge) per inviare telemetrie e modelli spaziali compressi verso dashboard in cloud per la visualizzazione di un Digital Twin.
  • Leggere documentazione ufficiale di settore e paper scientifici avanzati, estrapolandone i concetti per lo sviluppo pratico in laboratorio.

Abilità di giudizio

Lo studente acquisirà le capacità di analizzare architetture IoT complesse e di bilanciare sapientemente i severi trade-off imposti dall'hardware, come consumo energetico, footprint di memoria e latenza. Sarà in grado di valutare i pro e i contro della distribuzione del carico computazionale (Split-Computing tra Edge e Cloud) a seconda dei requisiti industriali. Lo studente saprà anche valutare criticamente quando i limiti degli approcci geometrici classici rendano necessaria l'adozione di soluzioni basate su Deep Learning, e viceversa, mantenendo una visione ingegneristica pragmatica.

Abilità di comunicare

Lo studente avrà la capacità di comunicare ad una platea di tecnici o esperti del settore, in forma scritta o verbale, le scelte architetturali adottate per la creazione di un sistema intelligente distribuito. Saprà presentare i risultati del proprio lavoro e le performance del codice tramite la discussione e l'esposizione pratica di prototipi o Digital Twin funzionanti.

Capacità di apprendimento

Lo studente avrà la capacità di analizzare autonomamente l'evoluzione continua dell'ecosistema Edge IoT, pianificando un percorso di aggiornamento autonomo. Sarà altresì capace di documentarsi sulle novità tecniche e scientifiche riguardanti framework di accelerazione hardware, middleware industriali e nuovi modelli di visione 3D, dimostrando dimestichezza con la documentazione ufficiale e con la letteratura scientifica di riferimento.

Prerequisiti

Non ci sono propedeuticità specifiche, ma si assume una conoscenza di base degli argomenti dell’ingegneria informatica propri di una laurea triennale. Questo comprende tra le altre cose la conoscenza  in dettaglio dell'architettura degli elaboratori (architettura Harvard) e dei sistemi operativi.

Verifica

L'esame consta di un test intermedio a scelta multipla e un esame in presenza di verifica finale.

Lezioni

Presentazione dell'insegnamento di IoT e Sistemi intelligenti 3D

Introduzione, Ecosistema e Toolchain

Metodologie e architetture per progetti embedded I

Procedure di Avvio dei Sistemi Embedded - Fondamenti

Metodologie e architetture per progetti embedded II

Procedure di Avvio dei Sistemi Embedded - Architetture Avanzate

Gestione della memoria I - Architettura e stack di esecuzione

Gestione della memoria II - allocazione dinamica

Gestione della memoria III - sicurezza e protezione hardware

Controllore degli Interrupt (NVIC) e Clock di Sistema

System Time, Timer Generici e Watchdog

Periferiche GPIO - Configurazione Output Digitale e PWM

Periferiche GPIO II - Input Digitale e Acquisizione Analogica

Fondamenti della comunicazione seriale e UART

Protocolli sincroni master-slave SPI e I2C

Configurazione hardware e profilazione energetica

Strategie firmware e macchine a stati a basso consumo

Interfacce di rete e topologie IoT

Introduzione al TinyML: implementazione dell?intelligenza artificiale su dispositivi IoT

Hello world in TinyML: costruzione e addestramento di un modello

Hello world in TinyML: costruzione dell'applicazione

Deploy dell\'applicazione di Hello World

Ottimizzazione dei Modelli: Quantizzazione - Teoria e Metodi

Pruning: Sparsità dei Modelli tra Teoria e Hardware

Deployment Hardware-Accelerated TensorRT