- Docente: Giuseppe Lisanti
- Credits: 6
- SSD: ING-INF/05
- Language: English
- Moduli: Giuseppe Lisanti (Modulo 1) Samuele Salti (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)
Learning outcomes
At the end of the course, the student masters the basic algorithms, tools and systems for the management, processing and analysis of digital images. The student is able to design and develop simple systems oriented to real-world computer vision applications such as those requiring segmentation and classification of objects in digital images.
Course contents
Introduction: Basic definitions related to computer vision. An overview across major application domains.
Image Formation and Acquisition: geometry of image formation; lenses; field of view and depth of field; image sampling and quantization.
Spatial Filtering: Linear shift-invariant operators. Mean and Gaussian filtering. Median Filtering. Bilateral filtering.
Edge Detection: image gradient; non-maxima suppression; Laplacian of Gaussian; Canny edge detector.
Local Invariant Features: detectors and descriptors; Harris Corners; scale-invariant features; SIFT features;
Object Detection: pattern matching; shape-based matching; Hough transform; object detection by local invariant features; Hough-based voting.
Camera calibration: Projective coordinates and perspective projection matrix. Intrinsic and extrinsic camera parameters. Zhang's algorithm. Image rectification and stereo calibration.
Basics of Machine learning for Images: k-NN classifier and linear classifiers as image template matching.
Image representations: BoVW, VLAD, representation learning for images, localist versus distributed representations.
Convolutional Neural Networks: advantages of convolutions, vector-valued functions, LeNet5, normalization layers.
Successful architectures: AlexNet, ZFNet, VGG, Inception v1 and v3, ResNet, Inception-ResNet-v2.
The theory is complemented by lab sessions. Lab sessions cover selected topics such as spatial filtering, camera calibration, local invariant features, image classification and transfer learning.
Readings/Bibliography
All the slides from the lectures of the course will be made available on the Virtuale platform. There is no official textbook; further details on some of the topics of the course can be found in:
- Szeliski, Richard. Computer vision: algorithms and applications. Springer Science & Business Media, 2010.
- http://d2l.ai/ - Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola "Dive into Deep Learning", 2020
Further readings, such as scientific papers and online resources, might be recommended during the lectures of the course.
Teaching methods
Teaching methods include taught lessons and lab sessions. The datasets and code snippets for the lab sessions will be provided. The code used in the lab is based on Python, the OpenCV library and the PyTorch framework.
Assessment methods
Teaching tools
The pdf of the slides used in the course will be made available on the website of the course before each lecture.
The python scripts and datasets required for the lab sessions will be made available on the website of the course.
Office hours
See the website of Giuseppe Lisanti
See the website of Samuele Salti