First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Engineering
Course unit
COMPUTER VISION (Numerosita' canale 1)
INP6075837, A.A. 2018/19

Information concerning the students who enrolled in A.Y. 2018/19

Information on the course unit
Degree course Second cycle degree in
IN2371, Degree course structure A.Y. 2017/18, A.Y. 2018/19
bring this page
with you
Degree course track Common track
Number of ECTS credits allocated 9.0
Type of assessment Mark
Course unit English denomination COMPUTER VISION
Department of reference Department of Information Engineering
Mandatory attendance No
Language of instruction English
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Teacher in charge STEFANO GHIDONI ING-INF/05
Other lecturers Kenji Koide

Course unit code Course unit name Teacher in charge Degree course code
INP6075837 COMPUTER VISION (Numerosita' canale 1) STEFANO GHIDONI IN0521

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses ING-INF/03 Telecommunications 9.0

Course unit organization
Period Second semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Lecture 9.0 72 153.0 No turn

Start of activities 25/02/2019
End of activities 14/06/2019
Show course schedule 2020/21 Reg.2019 course timetable

Examination board
Board From To Members of the board
3 A.A. 2018/2019 01/10/2018 15/03/2020 ZANUTTIGH PIETRO (Presidente)
GHIDONI STEFANO (Membro Effettivo)
2 A.A. 2018/2019 01/10/2018 15/03/2020 GHIDONI STEFANO (Presidente)
ZANUTTIGH PIETRO (Membro Effettivo)
1 A.A. 2017/2018 01/10/2017 15/03/2019 ZANUTTIGH PIETRO (Presidente)
GHIDONI STEFANO (Membro Effettivo)

Prerequisites: The course relies on preliminary knowledge of: mathematical analysis, linear algebra, signal frequency analysis, basic knowledge of Object-Oriented programming. Basic programming skills are also required.
Target skills and knowledge: The course will provide the following knowledge and abilities:
- Know the principles of projective geometry and image formation, based on fundamental concepts of Linear Algebra, and on how it is possible to model the acquisition of imaging sensors through the camera calibration process.
- Develop the ability of processing images and performing spatial frequency analysis.
- Know the main methods for high-level image understanding, becoming autonomous in exploiting the techniques presented during the course.
- Develop the ability of developing software following the Object-Oriented programming for the production of software for automatic image processing and understanding.
- Develop the ability of designing computer vision systems exploiting image processing techniques and tools.
- Develop the ability of implementing computer vision systems in the C++ language exploiting open-source libraries, and how to evaluate the overall system performance.
Examination methods: Evaluation of knowledge and abilities acquired will be as follows:
1. The student must delivery three laboratory reports on three lab sessions, and related software. Lab sessions will be developed under teacher's supervision. The reports account to the 10% of the final mark with an on/off evaluation.
2. A written exam (wihout the book) where the sudent should solve some simple problems and answer to questions on the theory seen during the lectures with the aim of verifying the acquisition of the main ingredients of a computer vision problem and of the main computer vision tools, the analytical ability to use these tools and the ability to interpret the typical results of a practical computer vision problem. This part accounts for 50% of the final mark.
3. Evaluation of the system design capabilities, based on the analysis of an individual software project that will be developed by the student. The project will be discussed during the oral exam. It allows to verify that the student has acquired the skills to apply the theoretical concepts to practical problems. This part accounts for 40% of the final mark.
Assessment criteria: Evaluation criteria are as follows:
1. The completeness of the acquired knowledge for what concerns the basic tools for computer vision.
2. The analytical and practical ability in the use of these tools for the solution of basic problems.
3. The capability of using a proper technical terminology, both oral and written.
4. The originality and independence in identifying the most suited methodologies for the solution of a specific computer vision problem.
5. The ability to interpret the results in a practical computer vision problem.
6. The skills in the usage of the computer vision software tools, in particular the OpenCV library.
7. The practical and analytic skills in the usage of these tools for the solution of simple problems.

Furthermore, for the 3 components of the evaluation:
- Report evaluation: capability of moving from theory to a simple software application related to a real case.
- Written exam: knowledge level about theoretical tools and techniques presented during the course.
- Software project: problem solving capabilities exploiting the tools introduced in the course, capability of developing a complex software project.
Course unit contents: 1. Cameras: sensors, lenses and image formation. Colors: additive and subtractive color models, color spaces, Bayer pattern.
2. Projective geometry, image formation, pinhole camera model.
3. Intrinsic and extrinsic camera calibration.
4. Image processing algorithms, low level: linear, bilateral, median filters, histograms, Fourier transform, morphological operators.
5. Middle level processing: edge detection, blob detection, contour extraction, Hough transform, segmentation: clustering, watershed, mean shift, split and merge, region growing.
6. Image features: keypoints and descriptors.
7. High level algorithms: template matching, object recognition.
8. C++ Templates: libraries and classes; template library examples.
9. Class hierarchy and inheritance.
10. Data management for computer vision applications, applications using OpenCV.
Planned learning activities and teaching methods: Theoretical classes using both the blackboard (because it allows to keep the right pace in class and facilitate the interaction with students during class) and slides or other computer-based material when this allows for a better understanding of the presented topics (for example complex drawings, animations showing the execution of the algorithms, etc).

Seven lab lectures will also be given, in which students are assisted in their first steps towards the implementation of concepts introduced in the course. Interactive teaching techniques will often be used, including think-pair-share and interactive discussions of a few minutes on open questions. This will enforce interactive learning and the ability to reflect on things.
Additional notes about suggested reading: All topics will be covered during the lectures. Slides will be made available on elearning. Students' notes could be integrated using the books, and further material provided by the teacher on the elearning platform.
Textbooks (and optional supplementary readings)
  • Gonzalez, Rafael C.; Woods, Richard Eugene, Digital image processing. Upper Saddle River: Pearson Prentice Hall, 2018. Cerca nel catalogo
  • Szeliski, Richard, Computer visionalgorithms and applications. New York: Springer, 2011. Cerca nel catalogo
  • Kaehler, Adrian; Bradski, Gary Rost, Learning OpenCV 3computer vision IN C++ with the OpenCV library. Sebastopol: CA, O'Reilly, 2017. Cerca nel catalogo
  • Forsyth, David; Ponce, Jean, Computer VisionA Modern Approach. Boston: Pearson, 2012. Cerca nel catalogo
  • Savitch, Walter; Mock, Kenrick, Absolute C++. Boston: Pearson, 2016. Cerca nel catalogo

Innovative teaching methods: Teaching and learning strategies
  • Lecturing
  • Laboratory
  • Interactive lecturing
  • Problem solving
  • Flipped classroom
  • Use of online videos

Innovative teaching methods: Software or applications used
  • Moodle (files, quizzes, workshops, ...)

Sustainable Development Goals (SDGs)
Quality Education Industry, Innovation and Infrastructure