ADVANCED TOPICS IN COMPUTER VISION AND DEEP LEARNING - 2024/5
Module code: EEEM071
Module Overview
Module purpose: This course offers an introduction to image processing and computer vision for those interested in the science and technology of machine vision. It provides background and the theory for building artificial systems that manipulate videos and images and alter or analyse their information content. This is done by various computer algorithms that are discussed, implemented and demonstrated.
Module provider
Computer Science and Electronic Eng
Module Leader
SONG Yi-Zhe (CS & EE)
Number of Credits: 15
ECTS Credits: 7.5
Framework: FHEQ Level 7
Module cap (Maximum number of students): N/A
Overall student workload
Independent Learning Hours: 96
Lecture Hours: 11
Laboratory Hours: 10
Guided Learning: 11
Captured Content: 22
Module Availability
Semester 2
Prerequisites / Co-requisites
None.
Module content
Indicative content includes the following.
Introduction. Image Representation and Colour. Geometric Image Transformations. Homogeneous Coordinates. Image Warping. Interpolation. Image Quality metrics.
Image Filtering. Aliasing. Blurring, Sharping and Edge Detection. Gaussian kernel and its derivatives. Scale-space pyramids. Thresholding.
Classical object recognition. Convolutional Neural Networks (CNNs). CNN Interpretatability. GCN, Transformers Fully convolutional networks. Up-convolution. Optical flow. FCNs for Stylization. Segmentation.
Genereative Adversarial Networks (GANs). Image transformation networks. Super-resolution. Domain Adaptation and Generalisation.
Cross-modal: vision and language; sketch (recognition, retrieval and synthesis). 3D vision (feature encoding, reconstruction). Neural rendering.
Revision lectures
Assessment pattern
Assessment type | Unit of assessment | Weighting |
---|---|---|
Coursework | MATLAB-based Exercise and Report | 25 |
Examination | 2hr invigilated (open book) examination | 75 |
Alternative Assessment
N/A
Assessment Strategy
The assessment strategy for this module is designed to provide students with the opportunity to demonstrate the following.
Problem Classes, assignments, examination:
Knowledge of image processing and computer vision, understanding of the engineering methodologies for design and implementation of software algorithms.
Knowledge of state-of-the art solutions to image processing and computer vision problems, their limitations and requirements for better solutions.
Skills of identifying, classifying and describing the performance of software systems and components through the use of analytical methods and modelling techniques.
Laboratory based assessment: Practical knowledge of designing and assessment of the performance of image processing and computer vision algorithms, such as filtering, clustering, motion estimation, matching, recognition, image enhancement. Assessed by laboratory exercises.
Knowledge of engineering principles for software design in signal processing. This involves integration of software components related to verification and validation.
Skills of applying quantitative methods, mathematical and computer-based models, and use computer software (Matlab) to solve image-processing problems.
Skills of identifying and analyse problems in images, and develop software solutions to remove problems, for example noise. Assessed by laboratory exercises.
Programming skills and understanding of software tools, development environments, libraries and reusable components such as matlab or open-CV libraries. They use these to perform filtering, image geometry, and other computer vision tasks such as matching and clustering.
Thus, the summative assessment for this module consists of the following.
- Matlab exercise and report
- Examination
The coursework assessments consists of using the Caffe framework (e.g. via DIGITS) to perform an experiment e.g. image recognition, with a report summarizing theoutcomes. The purpose of the coursework is for students to practically apply the theoretical knowledge gained from the lectures on a topic from each of the core themes of this module: image processing, and computer vision.
Open-book examination: there are 3 questions each from different area of the course. Each question consists of several subquestions testing knowledge, analytical, and design skills.
Formative assessment and feedback
For the module, students will receive formative assessment/feedback in the following ways.
During lectures, by question and answer sessions
Module aims
- The aim of this module is to offer an in depth course on the principles of Image Processing and Computer Vision which form the foundation for a variety of disciplines like Robotics, Machine Vision, Remote Sensing, Surveillance, Medical Imaging, Multimedia Technologies etc. In particular the course focuses upon Deep Learning - a form of AI/Machine Learning that has emerged in recent years with broad applicability across these domains.
- The module also aims to provide opportunities for students to learn about the Surrey Pillars listed below.
Learning outcomes
Attributes Developed | Ref | ||
---|---|---|---|
001 | Be able to demonstrate an understanding of a number of principles in image processing and computer vision and the theory behind those | KC | M1, M2 |
002 | Be able to choose an appropriate method to an image processing or computer vision problem at hand and predict the outcome of the applied processing | KCT | M3, M4 |
003 | Be able to formulate problems in Image Processing and Computer Vision in a Mathematical way and solve them to achieve optimality in performance | KCT | M6, M13 |
004 | Calculate using appropriate methods, including, computational methods, device performance parameters, for different materials and device geometries and report on them the findings in written form | KCPT | M3, M16, M17 |
Attributes Developed
C - Cognitive/analytical
K - Subject knowledge
T - Transferable skills
P - Professional/Practical skills
Methods of Teaching / Learning
The learning and teaching strategy is designed to achieve the following aims.
To introduce image processing and computer vision to promote deep understanding of the engineering methodologies for design and implementation of software algorithms. The topics include: algebraic manipulation; probability & statistical analysis; discrete probability; Fourier analysis; vector algebra; differential & integral calculus.
To introduces engineering principles for software design in signal processing, which involves integration of software components related to verification and validation.
Students learn to identify, classify and describe the performance of software systems and components through the use of analytical methods and modelling techniques. These allow them to employ performance trade-offs and the use of appropriate metrics, to predict and evaluate performance of computer vision algorithms.
Students learn skills of applying quantitative methods, mathematical and computer-based models, and use computer software (Matlab) to solve image-processing problems. Skills involve identifying and analyse problems in images, and develop software solutions to remove problems, for example noise.
Students learn basic programming skills and understanding of software tools, development environments, libraries and reusable components such as matlab or open-CV libraries. They use these to perform filtering, image geometry, and other computer vision tasks such as matching and clustering.
Learning and teaching methods include the following.
Lectures
Recorded Lectures
Labs: Matlab exercises to consolidate the lecture material
Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.
Reading list
https://readinglists.surrey.ac.uk
Upon accessing the reading list, please search for the module using the module code: EEEM071
Other information
- Digital capabilities
By introducing students to high performance computing servers needed to complete the coursework; by enriching their programming skills for the AI discipline via Python and the various deep learning libraries
Employability
By teaching students practical deep learning skills which is the most welcomed skillset in modern AI; by talking through practical computer vision applications, e.g., self-driving; by introducing a practical coursework component that addresses specific industrial problems
Global and cultural capabilities
By studying ethics-related topics around computer vision; by teaching computer vision techniques around data bias and domain adaptation, which is cornerstone to deploying computer vision solutions across multiple cultures and in global scale.
Resourcefulness and resilience
By experimenting with different deep networks and performing hyper-parameter searching which helps to build resilience in experimental science.
Sustainability
By introducing concepts of network optimization which is more efficient to train thereby reducing energy consumption
Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2024/5 academic year.