Computational Imaging (CI)

Computational Imaging (CI)#

What follows are the teaching materials for the course Computational Imaging (CI, in the following), Module 2, for the Academic Year 2024-2025, held by professor Davide Evangelista.

Topics#

This module is divided into 3 parts. In the first part, we will discuss how to transiction between classical methods for image reconstructions (such as those seen in the first part of this course) to neural network-based methods. To this aim, we will briefly introduce pytorch, arguably the most used Python library to work with neural networks. Then, we will present IPPy, a small library specifically designed for this course, whose aim is to help designing more advanced neural network models with few lines of code, specifically thought for application to image reconstruction. The course assume that you have a good familiarity with Python, together with a partial understanding of Linear Algebra tools such as numpy and scipy. Having a basic knowledge on neural networks (e.g. having followed the Deep Learning course held by Andrea Asperti) is helpful, but not required.

In the second part of the course, we will introduce present and analyze in great details the most common neural network architecture for image processing, such as the Convolutional Neural Network (CNN), the UNet, and the Vision Transformer (ViT). Also, application to various inverse problems is presented, such as Image Deblurring and Computed Tomography (CT). In particular, based on examples in CT, we will discuss the topic of image pre-processing, also presented some recent literature results.

In the last part, we will introduce the field of hybrid methods, whose aim is to join together the mathematical explainability and reliability of classical methods with the rapidity and accuracy of neural network-based models, to obtain state-of-the-art results. Here, we will briefly present algorithms such as Algorithm Unrolling, Plug-and-Play, and the more recent field of Diffusion-based Image Reconstruction. Note that the aim of this last part is not to analyze in detail how these methods work, but just give an overview of the range of possibilities so that each student will be able to autonomously read and understand the most recent papers.

Tutor of the Course#

For this course a tutor is available. In case you need any assistance, please refer to Fabio Merizzi (fabio.merizzi@unibo.it).

Office hour#

The office hour is Wednesday morning, from 9a.m. to 12p.m., via Microsoft Teams or in my office, at Ex Veneta, close to the Zanolini train station.

Either cases, it is mandatory to set an appointment by e-mail, via the address davide.evangelista5@unibo.it.