Computer Vision: 2023-2024
OverviewThis is an advanced course in modern computer vision and machine learning. It contains fundamental concepts from classical computer vision: filtering, matching, indexing and 3D computer vision. On top of that, a large portion of the course focuses on current computer vision methodologies and problems, which build on top of deep learning techniques: detection, segmentation, generation, and vision and language models. This course will introduce the fundamental mathematical concepts behind these tasks and how they can be integrated into modern machine-learning models. The taught material and assessment include both theoretical derivations as well as applied implementations, and students are expected to be proficient with both.
After studying this course, students will:
- Understand a wide range of computer vision concepts.
- Be able to use, implement and evaluate common models for vision tasks.
- Have a solid understanding of core computer vision tasks, matching, segmentation, detection, tracking, and generation.
- Be able to visualise features and decision boundaries to understand trained vision models.
- Gain the ability to derive and understand the mathematics behind 3D/geometric/multi-view computer vision.
- Understand the ethical and privacy-related implications of large datasets and models.
- Be able to design and implement various computer vision algorithms for a wide variety of tasks.
Required background knowledge includes machine learning, linear algebra, continuous mathematics, and multivariate calculus, as well as good programming skills in Python. Students are required to have taken the Machine Learning course. The programming environment used in the lecture examples and practicals will be Python/PyTorch.
Undergraduate students are required to have taken the following courses:
● Machine Learning
a) Computer Vision Overview
b) Historical Context
2. Image enhancement: image basics and terminology
a) point operations
b) spatial filters
c) matched filters.
3. 2D Fourier transforms and applications:
a) spatial frequencies
b) convolution theorem
4. Image Restoration
a) inverse and Wiener filters
b) applications to defocus and motion deblurring
c) MAP estimation
5. Matching, indexing, and search
c) bag of words
6. Image Classification
a. Data-driven approaches
7. Convolutional Networks
8. Transformer Networks for Images
9. Visualization and Understanding
a) feature visualisation methods
10. Object Detection
a) two-stage approaches
b) single-stage approaches
11. Image Segmentation
a) semantic segmentation
b) instance segmentation
c) panoptic segmentation
c) temporal regularization
c) optical flow
14. Generative Models I
c) auto-regressive models
15. Generative Models II
b) diffusion models
c) Deep equilibrium models
16. Camera models and triangulation
a) fundamental matrix
b) homogeneous coordinates
17. 3D Reconstruction
a) Multiple-view geometry
b) Learning-based methods
18. Representation Learning
a) pre-text tasks
b) learning from negatives
19. Unsupervised Computer Vision
b) learning signals
c) complex tasks
20. Vision and Language
b) Question answering
21. Ethics and Privacy
c) Who is harmed?
- Multiple View Geometry in Computer Vision, Richard Hartley and Andrew Zisserman, Cambridge University Press
- Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep Learning. MIT Press 2016
- Pattern Recognition and Machine Learning, Christopher M Bishop, Springer 2007
Students are formally asked for feedback at the end of the course. Students can also submit feedback at any point here. Feedback received here will go to the Head of Academic Administration, and will be dealt with confidentially when being passed on further. All feedback is welcome.
Taking our courses
This form is not to be used by students studying for a degree in the Department of Computer Science, or for Visiting Students who are registered for Computer Science courses
Other matriculated University of Oxford students who are interested in taking this, or other, courses in the Department of Computer Science, must complete this online form by 17.00 on Friday of 0th week of term in which the course is taught. Late requests, and requests sent by email, will not be considered. All requests must be approved by the relevant Computer Science departmental committee and can only be submitted using this form.