Studiewijzer 2025/2026

Globale inhoud

"We see in order to move; we move in order to see" [William Gibson].

Seeing and perceiving the world is vital for everyday life.  For humans and animals this perceptual capability seems effortless, as it has been “baked” into them through biological evolution.  However, endowing computers with similar capabilities proves to be challenging.  In this course we discuss computational models for computer vision and how these can be implemented as working programs.

To this end, we convert digital images based on pixels into "visual features", and then process these features for classifying images into categories, tracking the depicted objects, or reconstructing them in 3D. For converting pixels into features we use mathematical models of the local structure and color of images, ideas from the human visual system, the camera's imaging process, and computationally efficient algorithms.  For computer vision we use classic tools, such as linear algebra and Taylor series of multi-dimensional functions (i.e, images), or more advanced ones, such as convolutional neural networks.  In more detail, we will discuss the following topics:

  • Low-level vision (interpolation, warping, local operators, convolutions).
  • Local structure in images, scale space, feature detection (SIFT).
  • Pinhole camera, camera calibration, stereo vision.
  • Motion, optical flow, tracking (time permitting according to the semester’s schedule).
  • Convolutional Neural Networks (CNNs) for computer vision.

We implement the above models as working programs on computers, apply them on images and get results.

In this course you will use skills acquired through the "Linear Algebra" course and the "Calculus and Optimization” course.  You will also need prior hands-on experience in computer programming.

Studiemateriaal

Syllabus

  • https://rvdboomgaard.github.io/ComputerVision_LectureNotes/index.html

  • Slides & all content uploaded on Canvas

  • SIFT paper

Software

  • Python

  • OpenCV

Leerdoelen

  • Can explain fundamental techniques and underlying theories in computer vision.
  • Can apply mathematical techniques from linear algebra (e.g., eigenvalues, singular value decomposition) and calculus (e.g., differentiation of multivariate functions).
  • Can develop working programs for mathematical models using Python/Numpy/Scipy/OpenCV.
  • Can judge the strengths and limitations of the developed methods and programs.

Onderwijsvormen

  • Hoorcollege
  • Laptopcollege
  • Zelfstudie
  • Werkcollege

- In Hoorcollege (HC) the tutors will introduce some key concepts per week.
- In Laptopcollege (LC) the students will work on weekly assignments on the topics discussed in HC, with the help of TAs (1 TA will be helping a group of ~20 students). This is a free-form, active-learning activity.
- The Werkcollege (WC) is the last slot of every week; this is the opportunity for students to do extra practice (typically on past-exam questions provided by the tutor). This is an active-learning activity.
- The course includes a self-study of all material at home, and working on weekly assignments.  This includes independently reading a research paper (week 4).

For details, see the homepage of Canvas.

Verdeling leeractiviteiten

Activiteit

Uren

 

Hoorcollege

24

 

Laptopcollege

26

 

Mid-term

2

 

Tentamen

3

 

Werkcollege

8

 

Zelfstudie

105

 

Totaal

168

(6 EC x 28 uur)

Aanwezigheid

Aanwezigheidseisen opleiding (OER-B Artikel B-4.10):

  • Voor sommige studieonderdelen geldt een aanwezigheidsplicht. Indien er een aanwezigheidsplicht geldt, dan staat dit aangegeven in de studiegids. De onderbouwing voor, en invulling van, deze aanwezigheidsplicht kan per vak verschillen, en is opgenomen in de studiewijzer. Wanneer studenten niet voldoen aan deze aanwezigheidsplicht kan het onderdeel niet met een voldoende worden afgerond.

Aanvullende eisen voor dit vak:

- HC attendance is highly encouraged.  Lectures will be recorded for offline preview (note that recording might fail).
- WC attendance is highly encouraged.  This is extra practice, with only in-class activities.  Sessions will not be recorded.
- LC attendance:
    -- Most 'standard' sessions are highly encouraged.  Your first point of contact is the TA.   Sessions will not be recorded.
    -- A minimum of 2x slots will be mandatory for "live grading". TAs will test the students' understanding of weekly submissions.
    -- The schedule for the mandatory slots will be announced on Canvas.
- All students need to work on weekly assignments -- including retakes.
- The general rules of the BSc program apply.

For details, see the homepage of Canvas and the respective announcements.

Toetsing

Onderdeel en weging Details

Eindcijfer

0.4 (40%)

Mid-term Exam

0.4 (40%)

Final Exam

0.15 (15%)

Weekly Assignments (WA)

0.05 (5%)

Live Grading (on WA)

    • Overall grade:
      • For passing  the course:
        • Grade  exam  >= 5.5
        • Grade  average_of_6_best(weekly_assignments)  >= 5.5
        • Grade  live_grading  >= 5.5
        • weekly_assignment : This is the combination of theory and programming questions as a package. All people in a group get the same grade. Irrespective of this: Please note the contributions of each person. 
        • live_grading :
          • This will take part in some LC slot(s), and attendance for these will be mandatory. We will announce a schedule.
          • Your TA will ask you questions on your weekly assignments, to check your understanding and explanation skills. The  live_grade  will reflect the quality of Q&A. The grade will be personal, so please study all material in case the workload is split (which is not the optimal work style). 
        • Grading is different for passing the course, and for what we register on SIS:
          • pass_grade =
            • [Exam case]:          40% mid-term + 40% final exam + 15% weekly_assignments + 5% live_grading >= 5.5
            • [Retake case]:    80% retake + 15% weekly_assignments + 5% live_grading >= 5.5
            • For passing, each individual component and the overall weighted average must be >= 5.5
            • Only people that pass the mid-term can attend the Exam.
            • The mid-term grade cannot be transferred for the resit. That is, for students who attend Hertentamen their previous grades (mid-term, exam) are automatically deleted. The resit covers the full curriculum (all weeks). 
          • SIS_grade   = pass_grade + bonus_up_to_0.5. (see below for bonus)
      • bonus_up_to_0.5 : Out of all bonus questions, we will compute the success rate and normalize in the range [0, 0.5]. This means that whoever answers all bonus WooClap questions correctly, their final grade (if they pass the exam and the weekly assignments) will get a +0.5 boost.  
    • Weekly assignments / Homework:
      • For each week: "weekly_assignment" grade = 50% theoretical_questions_ANS + 50% programing_CodeGrade

For more details, see the homepage of Canvas

Inzage toetsing

Announcements take place through Canvas for weekly-assignment results, and exam results (incl. mid-term, resit).

Inspecting the assessed submissions for weekly assignments is possible with the help of the TA of each student group.  Students have a limited time-window of 2 weeks after the release of weekly grades to communicate any errors.

Any discussion on grading needs to take place through ANS (except for CodeGrade assignments).

For exams (incl. mid-term & resit) the typical window for inspection is 3 calendar days (via ANS). 

Opdrachten

Weekly assignments include theory and programming tasks.
Students work in pairs of two, and also submit in pairs.
Coding assignments are submitted on CodeGrade -- which also facilitates semi-automatic grading.
Theory assignments are submitted on ANS.
The TA of each LC group does the grading for both coding and weekly assignments for the (roughly 20) students in their group.
For any corrections (in a window of max 2 weeks after grade release), the first point of contact is the TA for quick resolving.

The understanding of students of their submissions will be tested via "live grading" is some LC slots that will be announced (attendance for these live-grading slots will be mandatory). 

For details, see the homepage of Canvas.

Fraude en plagiaat

Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: http://student.uva.nl

Weekplanning

Week number Topics Study material
1 Histograms & Interpolation - E-notes - Image Processing - Ch1 Images
- E-notes - Image Processing - Ch3 Point Operators
- Weekly assignments
- Slides
2 Homogeneous Coordinates & Geometric Transforms - E-notes - Image Processing - Ch4 Geometrical Operators
- E-notes - Math Tools - Ch5 Homogeneous coordinates
- Weekly assignments
- Slides
3 Local Operators & Structure - E-notes - Image Processing - Ch5 Local Operators
- E-notes - Image Processing - Ch6 Local Structure
- Weekly assignments
- Slides
4 RANSAC, Image Stitching, SIFT - E-notes - Image Processing - Ch7 Scale Space
- SIFT paper
- Weekly assignments
- Slides
5 Lecture-free week (School-free week)
6 Camera - E-notes - Computer Vision - Ch1 The Pinhole Camera
- E-notes - Computer Vision - Ch2 Stereo Vision
- Weekly assignments
- Slides
7 CNN - E-notes - Computer Vision - Ch4 Conv. Neural Networks
- Weekly assignments
- Slides
8 Motion - E-notes - Computer Vision - Ch3 Images in Motion
- Weekly assignments
- Slides

The above is rule of thumb. Any refinement of the above will be published on Canvas -- please use Canvas as the main source.

E-notes: https://rvdboomgaard.github.io/ComputerVision_LectureNotes/index.html

Slides: Uploaded on Canvas after HC slots.

The typical submission deadline for the weekly assignments released each week (both programming and theory), is Sunday at 23:59.

Contactinformatie

Coördinator

  • dr. Dimitris Tzionas

Docenten

  • Peter Adema (TA)
  • Jesse van Bakel (TA)
  • Lisa Douwes (TA)
  • Maas Hermes (TA)
  • Yorben Koolhaas (TA)
  • Casper Smeets (TA)
  • dr. Emmeke Veltmeijer (D4)