ADVANCED TOPICS IN COMPUTER VISION AND DEEP LEARNING - 2023/4

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 Online Online (Open Book) Exam within 4hr Window 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 25% (weeks 5-10)

  • Examination 75%



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.

The examination consists of 4h open-book online 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 2023/4 academic year.