Faculty of Engineering - University of Pavia - a.y. 2019-2020

Prof. Virginio Cantoni

Please visit the facebook and web page of the Computer Vision and Multimedia laboratory (CVMLab).

Last update, 17 October 2019

This course is intended for advanced undergraduate students. We assume students have a rudimentary understanding of linear algebra, calculus, and are able to program in some type of structured language.

>>>>         IMPORTANT!!!!
You are invited to register for the event:
OTTAVO INCONTRO SULLA VISIONE INDUSTRIALE: La visione Industriale incontra gli Ingegneri nelle Università
22 October 2019, h 14:00 - 18:30
Aula 4, Facoltà d'Ingegneria, Università di Pavia

Computer Vision consists of inferring properties of the world based on one or more digital images. Provides background in image processing and image formation. Focus on algorithms for image and video analysis based on color, texture, shading, stereo, and motion.


Introduction to Computer Vision
Basic definitions. Low-level image analysis methods, including image formation, edge detection, feature detection, and image segmentation.
3D Vision and motion analysis
Methods for reconstructing three-dimensional scene information using techniques such as depth from stereo, structure from motion, and shape from shading. Motion and video analysis.
Object recognition
Recognition Processes. Direct Comparison. Alignment methods. Invariant properties methods. Parts decompositions method. Hough transform.
Image synthesis
Computer graphics topics involving computational photography and image-based rendering. Local rendering, Phong model. Advanced rendering techniques, topics include ray casting, ray tracing, and radiosity.

Lesson 1 - Introduction

Lesson 2 - The photometric track

Lesson 3 - Shape extraction

Lesson 4 - Spatial track

Codici esempio:
- C-utilities
- Java-utilities (updated 22/10/2015)
- example images in pgm format (updated 22/10/2015)
- example colour images


Book: "3C Vision - Cues, Contexts and Channels", V. Cantoni, S. Levialdi, B. Zavidovique, Elsevier, 2011
course slides (please download at this website address)

Information on the Project Structure

- choose one programming language: C, C++, or Java
- do not use toolbox and packages for image processing
- work in a group of 2 people
- write a report (Word or HTML)
- the project can be submitted on cd-rom; please write name and surname of each participant and the academic year
- the project will be evaluated according to: clearness, completeness, results and related discussion
- Structure:
  1. objective of the project
  2. description of the implemented theory including images, drawings, etc.
  3. insert images before and after the elaboration
  4. comment the results regarding efficiency, precision, computing time, comparison with other solutions, etc.
  5. insert the source code ANNOTATED and compiled with all the necessary to run as Appendix

TEST modalities

Academic year 2018/2019
Students will be asked to read three papers. They will be required to write a report of one of these papers, due before we discuss the paper. Each student is required to complete a laboratory project consisting of a sequence of image analysis steps resulting in image interpretation thus emphasizing hands-on image analysis experience. The exam consists on the discussion of the project and on the paper report.

Characters to be modeled in 3D and groups assignments
Please find a description of characters and scenes in L'Arca di Sant'Agostino, Pavia e dintorni and an archive containing pictures of the "Angioletti San Luca".

Each student will give a Power Point (or similar) presentation on a paper taken from the following list. Please consider the files in alphabetical order.
Each group member must select a different paper among five possible (there is no priority even if they are called first, second, .. , fifth choice). The sixth and seventh choice are for gropus of three members.,,,,,,

Software tools:
Blender is a professional, free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, interactive 3D applications and video games. download
Adobe Fuse CC is a 3D computer graphics software developed by Mixamo that enables users to create 3D characters. Its main novelty is the ability to import and integrate user generated content into the character creator. For a limited time, Fuse will be available as a free beta version for members of Creative Cloud. download
CINEMA 4D is a 3D modeling, animation, motion graphic and rendering application developed by MAXON Computer GmbH in Germany. Please ask for CINEMA 4D Studio R17 + upgrade to Studio R18 to Alessandra Setti ( - Computer Vision and Multimedia Lab - CVML).

Adobe Fuse + Blender WORKFLOW, by Federico Guerra and Marco Provitina (e-mail addresses:,
Material.blend is the file in which you will find the three materials that you can need for your work. If you open that file, you'll find the instruction written on the blender's text editor.
Blender shortcuts is a pdf file that contains all the most useful shortcuts.

Contact: (prof. Virginio Cantoni)