Nuova ricerca

Rita CUCCHIARA

Professore Ordinario
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Computer Vision and Cognitive Systems

Artificial intelligence engineering (Offerta formativa 2023)

Obiettivi formativi

La Visione e i Sistemi Cognitivi studiano come i computer possono percepire e comprendere il mondo attraverso immagini e video. Sviluppa sistemi basati sull'elaborazione delle immagini, la analisi del contenuto video, la ricostruzione da 2D a 3D. In senso lato, è la parte visiva dell'Intelligenza Artificiale e il più importante componente dei sistemi cognitivi. Il “Cognitive Computing” è una disciplina emergente che integra l’AI e la “signal processing”; sfrutta dati sensoriali (immagini, audio, suono, dati di profondità e altri dati sensoriali) per estrarre conoscenza ed inferenze in molti ambiti, dall'interazione uomo-macchina, alla robotica e big data.
Il corso fornisce i fondamenti della visione e dei sistemi cognitivi: l’acquisizione, l’image processing ed analysis, la geometria 3D, la stima del movimento e la classificazione. Il corso sarà principalmente un corso di laboratorio con progetti in Python e con Librerie (OpenCv e PyTorch per Deep Learning) e sensori (fotocamere, eye-tracker…). È un corso di ingegneria: fornisce strumenti per la progettazione di sistemi cognitivi basati sulla visione. Nel corso si proporranno progetti in diversi contesti: video-sorveglianza, guida autonoma, HMI, robotica, interpretazione del comportamento umano (viso, riconoscimento e tracciamento del corpo). La teoria dei sistemi cognitivi, integrando paradigmi di visione con quelli più ampi del calcolo cognitivo delle neuroscienze, e dell'apprendimento automatico permetterà di comprendere le tendenze future dell'AI, come progettare e implementare sistemi software capaci di imparare, interagire e collaborare con gli esseri umani. Durante il corso discuteremo alcuni progetti realizzati in grandi aziende come Google, IBM, Panasonic, Facebook e Amazon; inoltre riceveremo presentazioni di aziende emergenti che lavorano nella VA e piattaforme cognitive e richiedono nuovi saperi in queste discipline.

Prerequisiti

Sono richieste conoscenze di base sulla teoria della probabilità, i metodi classici di machine learning e i fondamenti del Deep Learning (SGD, tipologie fondamentali di reti neurali).

Programma del corso

1. Introduction: Computer Vision and Artificial Intelligence; history; the current research trends; the market, applications, future trends.
2. Data manipulation in PyTorch: tensors, strided representation, tensor operations. Computational graph construction and automatic differentiation.
3. Image processing: image, video, resolution; histograms; color and other spaces; compositing and matting; OpenCV labs. linear operators; binarization with Otsu and adaptive thresholding; Noise; correlation and convolution; smoothing, Gaussian, median, bilateral filtering, deblurring; edge detection; Canny; lab; border tracing, active contours; Humans Perceptive systems; attention and saliency; saliency detection with deep learning; pixel adiacency, labeling, morphology, distance transform; region segmentation, graph cut;
4. CNNs: 2D convolution with stride, padding, dilation, grouping. 2D Pooling layer. State-of-the-art CNN models (AlexNet, ResNet, Wide ResNet, ResNeXt, Densely Connected CNNs).
5. Image formation,: the pinhole model, 2D and 3D isometries, similarities, affine and projective transformation; mosaics. dstortion; calibration tools; stereo vision and 3D; labs.
6. Human and cognitive vision; cognitive computing: philosophy, psychology, gestalt; neuroscience and computer science; D.Marr computational vision;. The brain; pathways in the cortex; Gabor filters; detection and recognition; neural networks trends for recognition. Integration with natural language processing (NLP); cognitive systems for HMI; adaptive reasoning.
7. Identification, detection, classification: performance evaluation, NCC for template matching; Machine Vision, standards in label reading; Shapes and Hough transform, line and circle recognition, GHT; labs; features, Hog for people detection; Faces VJ: CNN for detection of road signs, DL for autonomous driving; labs. Harris, Sift detector, Bag of words; lab of image retrieval.
8. State-of-the-art models for detection (Region-CNN, Fast-RCNN, RoI pooling, RoI Align, YOLO, SSD) and segmentation (Fully convolutional networks, downsampling/upsampling protocol, Transpose convolution, SegNet, UNet).
9. Motion analysis: video segmentation; motion field; optical flow; LKT; affine motion; Motion segmentation with static camera, MoG, Sakbot, shadow analysis; tracking; NCC, Kalman; Particle filtering; multiple target tracking; re-id;
10. State-of-the-art architectures for video understanding (3D convolutions, two-stream CNNs, Inflated 3D convolutions, pseudo 3D convolutions, non-local neural networks)
11. Applications to Surveillance big data and biometry; fingerprint; face, iris detection; applications.

Il numero di crediti dell'insegnamento è ripartito equamente tra i punti sopra riportati.

Metodi didattici

Il corso si svolge in presenza e viene erogato in lingua inglese. I metodi didattici includono:

- teoria con slide
- letture di libri e di paper scientifici
- laboratori in aula con librerie open-source
- progetto svolto in gruppo
- presentazioni e discussioni con aziende

La frequenza è fortemente suggerita.

Testi di riferimento

- Slides dai docenti, pubblicate su Moodle
- Paper di riferimento, segnalati sulle slide, e in generale pubblicati in CVPR; NIPS; ICCV; TPAMI
- Testo di riferimento: D. Fosith, Computer Vision

Verifica dell'apprendimento

L'esame prevede lo svolgimento preventivo di un progetto a gruppi, e consiste in una prova orale in lingua inglese, con domande di teoria sui contenuti del corso e la presentazione del progetto sviluppato durante il corso.

Risultati attesi

- developing vision systems
- designing and implementing cognitive systems
- providing software applications in computer vision for robotics, autonomous driving, video and image big data analysis, human-machine interaction