DM890: Computer Vision

The Study Board for Science

Teaching language: Danish or English depending on the teacher
EKA: N340123102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Spring
Level: Master

STADS ID (UVA): N340123101
ECTS value: 10

Date of Approval: 12-10-2022


Duration: 1 semester

Version: Approved - active

Entry requirements

None

Academic preconditions

The concepts of Matrices and Linear Algebra will be crucial in understanding the foundations of this course. Students taking the course are expected to 

  • have working knowledge of matrix operations, inverses, determinants, inner product, orthogonality, Eigen decomposition, basic matrix factorization.
  • have preliminary understanding of undergraduate level vector calculus, geometry, basic probability, and statistics is a plus. 
  • be able to use scientific methods to carry out experimental investigations.
  • be able to write their own program in Python (OpenCV, NumPy, SciKit) is a requirement.
  • be able to use, understand, process, and modify code from the web, for example, the Github repository. 

The course requires active participation and knowledge of dialogue-based lectures, and hands on prototyping using Python.

Course introduction

Computer Vision is the study of enabling machines to "see" the visual world (i.e., understand images and videos). In this course, the students will learn fundamental computer vision algorithms and have opportunities to implement them. Further, we will be discussing more recent state-of-the-art visual representation learning approaches.

By successfully completing this course the students will be able to:
  • knowledge of a selection of basic image processing algorithms
  • knowledge of computer vision models and methods intended for applications
  • expert knowledge in a computer vision that is based on the highest international field of research within the field of computer science
  • to be able to understand and on a scientific basis reflect on the knowledge of the field of computer vision and be able to identify scientific issues
  • describe, analyze and solve advanced computer science problems using the learned models (current deep neural network (DNN) based approaches to basic image processing and computer vision)
  • describe, analyze and solve problems in computer vision, demonstrate awareness of the current key research issues in computer vision; learn to implement and train their own DNN models 
  • analyze advantages and disadvantages of different DNN architectures for image processing and computer vision
  • elucidate hypotheses made on a qualified theoretical background and be critical of one's own and others' research results and scientific models
  • plan and carry out scientific projects in computer vision at a high professional level
  • develop new variants of the learned methods where the specific problem requires it
  • disseminate research-based knowledge and discuss professional and scientific issues with both peers and non-specialists

This course builds upon the knowledge acquired in previous courses in programming and linear algebra. 

Expected learning outcome

The course is introductory level graduate course. It will cover the basic topics of computer vision and introduce some fundamental approaches for computer vision research. After successful completion of this course, the learning objective is that the student demonstrates the ability to:
  • learn and understand fundamental approaches of image and video processing and analysis in computer vision
  • demonstrate awareness of the current key research issues in computer vision
  • learn to implement and prototype/train their own image processing algorithms, tools. This includes analyzing and understanding a range of state-of-the-art deep neural network architectures for image processing extensively used in computer vision.

Content

The following main topics are contained in the course:

  • Mathematical Preliminaries
  • Fundamentals of Computer Vision:
  • - Image Filtering, Edge Detection, Interest Point Detectors, Motion and Optical Flow, Imaging Geometry, Camera Models.
  • - Region Segmentation, Object Detection and Tracking, Line and Curve Detection
  • Basics of Neural Networks for Pattern Recognition
  • Deep Learning for Computer Vision
  •  -Image Classification, Object Detection, Action Recognition
  • - Video Understanding, Recurrent Neural Networks

Literature

This course will "roughly" follow the book Computer Vision: Algorithms and Applications, by Richard Szeliski, Springer as textbook. 

Suggested reference books are:
  • Mubarak Shah, “Fundamentals of Computer Vision”
  • Ian Goodfellow, Yoshua Bengio and Aaron Courville, “Deep Learning”
  • Simon Prince, Computer Vision: Models, Learning, and Interface, Cambridge University Press,
  • Forsyth and Ponce, Computer Vision: A Modern Approach, Prentice Hall, 2002,
  • Gilbert Strang. Linear Algebra and Its Applications.
Throughout the semester, the students are encouraged to stay updated via itslearning for additional literature, notes, and programming references.

Examination regulations

Exam element a)

Timing

Spring 

Tests

Portfolio

EKA

N340123102

Assessment

Second examiner: Internal

Grading

7-point grading scale

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Examination aids

No study aids, books, notes are allowed during the written examinations. However, the students can consult on resources in their final project.

ECTS value

10

Additional information

The course content portfolio examination that includes the following: Take-home Assignments, In-class Assignments, Final Project, Class Participation. The final project will weight approximately 20% of the final grades.

Indicative number of lessons

68 hours per semester

Teaching Method

The course is taught in a three-phase system. 

Activities in the intro phase:

  • The teacher will teach the concepts, theory, algorithms, and ideas of computer vision via in-person lecture (50 hours).
Activities in the training phase:
  • Discussion of take-home assignment problems after submission. 
  • Hands-on in-class tutorial by Instructor/Teaching Assistant (TA) in the presence of the teacher—18 hours.
Activities during the study phase:
  • Solving three take-home assignments during the semester. The assignments will be roughly divided, so that each assignment covers two topics listed in Article 15.1, Content. 
  • Final take-home team project, presentation, and preparation of short report. 
  • Self-studying/implementing/solving various parts of the course material outlined by the Teacher and the Instructor
  • Reflection upon the intro and training sections

Teacher responsible

Name E-mail Department
Aritra Dutta ard@sdu.dk Data Science

Student teachers

Name E-mail Department City
Jacob Nielsen jacon18@student.sdu.dk Department of Mathematics and Computer Science Odense

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Educational Law & Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.