Nuova ricerca

Rita CUCCHIARA

Professore Ordinario
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Learning Algorithms for Smart Connected Systems

Electronics Engineering - Ingegneria Elettronica (Offerta formativa 2020)

Obiettivi formativi

Il corso vuole fornire conoscenze e competenze sullo sviluppo di sistemi di Artificial Intelligence (AI) per l’Automotive. Fornisce una iniziale panoramica, anche di tipo di impatto economico, sui sistemi AI che vengono impiegati in automotive, sia per gli ADAS, per la autonomous driving, per la interazione uomo-veicolo e per la produzione industriale. Il corso offre una dettagliata panoramica sullo stato dell’arte delle tecnologie AI e soprattutto di deep learning, orientate alla comprensione visuale, all’azione e all’interazione in ambito Automotive, e fornisce competenze avanzate sulla progettazione di algoritmi di Deep Learning, anche in riferimento alla loro ottimizzazione e deployment su architetture a ridotta capacità computazionale. Vengono presentate le tecniche di visione artificiale per la comprensione geometrica degli spazi, le tecniche di apprendimento automatico e le practices per il design e l’implementazione di architetture neurali completamente connesse, convolutive, e per la comprensione e la generazione di sequenze temporali. Un’importante parte del corso è dedicata allo studio di architetture e soluzioni per la comprensione visuale di dati da telecamere posizionate all’interno e all’esterno dell’abitacolo - con particolare riferimento alla stima del movimento, all’identificazione degli oggetti, alla segmentazione semantica la predizione di traiettorie, la comprensione dell’ambiente circostante e il monitoring del guidatore e del suo stato attentivo.

Prerequisiti

Conoscenze di base di statistica, algebra lineare, geometria introdotti nei corsi triennali e magistrali delle Lauree in Ingegneria. Conoscenza dell’architettura dei calcolatori e conoscenza di base del linguaggio Python (che comunque viene ripreso nel corso). Il corso di Vision and Cognitive Systems fornisce elementi utili per questo corso.

Programma del corso

# History and impact of AI in Automotive
Introduction to the history of AI and to its economical impact in the Automotive domain. AI and Computer Vision for Automotive.

# Neural Architectures fundamentals
Gradient-based optimization, fully connected and convolutional architectures. Analysis of computational costs and computational graph management. Design practices, network surgery.

# On-board sensors and cameras, depth sensors
Analysis of commercial on-board sensors, depth, thermal and RGB cameras.

# Sequence modelling and prediction
Recurrent, Convolutional and Fully-Attentive architectures for sequence understanding and generation. Computational graph analysis. Self-attention and cross-attention. Applications to trajectory prediction and language-based interfaces.

# Visual understanding algorithms
Algorithms and techniques for motion estimation, architectures for video object detection and trajectory prediction. Planar Distance estimation, road segmentation, road lane detection. Driver Monitoring, Driver Distraction prediction, eye fixation prediction.

# Image generation
Generative algorithms for images and videos: Generative Adversarial Networks, VAEs; techniques for rendering high-resolution images. Applications to the automotive domain.

# Reinforcement learning for navigation
Markov decision processes, policy learning strategies. Algorithms for locomotion and navigation. Simulated environments and strategies for deployment in real settings. Applications to autonomous driving.

# Architecture optimization and compression
Weight matrix factorization, quantization and pruning approaches. Design practices for optimization.

Metodi didattici

La maggior parte delle lezioni sono frontali e utilizzano slide e paper scientifici come supporto didattico; circa un 30% delle lezioni è di laboratorio, con esperienze hands-on su librerie di calcolo tensoriale e di progettazione e training di reti neurali e di algoritmi di AI per l’Automotive. A completamento, vengono organizzati incontri e discussioni con aziende. Gli studenti sono tenuti a elaborare un progetto finale (da presentare durante l’esame) che richiede lo studio e lo sviluppo di un algoritmo predittivo applicabile in ambito automotive, la sua validazione sperimentale ed eventualmente la raccolta di dati. La presentazione del progetto deve essere accompagnata dalla consegna del codice sviluppato e da un technical report che descrive l’approccio, il suo posizionamento in letteratura, i dataset utilizzati e i risultati sperimentali ottenuti.

Tutte le lezioni saranno fornite in streaming su Microsoft Teams. Le registrazioni delle lezioni saranno inoltre disponibili sulla pagina Dolly del corso.

Testi di riferimento

- Slides and scientific papers from international conferences and journals (CVPR; ECCV; ICCV; T-PAMi. IVPR, IEEE ITS; IEEE IV)

Verifica dell'apprendimento

L'esame consiste in una prova orale, con domande teoriche, presentazione dei laboratori sviluppati durante il corso, e presentazione del progetto finale (si veda la sezione “metodi didattici”).

Risultati attesi

- Conoscenza avanzata delle soluzioni di Deep Learning, Computer Vision e dei Sistemi Cognitivi orientati alla comprensione visuale, all’azione e all’interazione.
- Conoscenza avanzata del linguaggio Python e capacità di sviluppo autonomo di reti neurali e algoritmi di Deep Learning in PyTorch.
- Capacità di sviluppare soluzioni software per la autonomous driving, la comprensione di video e dati visuali da camera-car, l'integrazione con la sensoristica e l'interazione uomo-veicolo.
- Conoscenza delle strategie per il deployment ottimizzato di architetture neurali.