Learning-based Computer Vision

Convolutional Neural Networks in Computer Vision


Jochen Lang


General and Specific Objectives of the Course

The recent surge in machine learning and in particular deep learning using neural network has revolutionized many fields including speech processing, data mining and medicine. Arguably one of the greatest impacts of this revolution is in computer vision. Since the success of AlexNet at the 2012 ImageNet Large Scale Visual Recognition Challenge (ILSVRC) where the deep neural network solution outperformed, by a significant margin, arguably much more advanced classical computer vision systems, deep neural networks can now be found everywhere in visual processing. This revolution has created enormous economic interest (Facebook, Google, …). The OCICS offering contains various courses that cover neural networks from a machine learning or data mining perspective but there is no dedicated course of machine learning in computer vision. This course is to fill this gap. While it necessarily includes machine learning background, it specifically looks at (convolutional) neural networks and their applications to standard problems in computer vision. It will also contrast the deep-learning based approaches to classical computer vision approaches and how classical approaches inform the design of these deep-learning based solutions.

Calendar Description

Introduction to learning-based computer vision; statistical learning background; image processing and filtering primer; convolutional neural networks (CNNs), network layers, computer vision data sets and competitions; computer vision problems, in particular, image classification, detection and recognition, semantic segmentation, image generation, multi-view problems and tracking.

Course Prerequisites: None

Teaching Methods and Student Expectations

The course material will be covered in in-person, synchronous and asynchronous on-line lectures including program demonstrations. Additional resources in form of textbooks and on-line references are listed below. The course will be using group work and interactive student feedback using Virtual Campus (Brightspace) and Microsoft Teams. Students are encouraged to apply their knowledge through three programming assignments in Jupyter notebooks using Scikit-Learn, Keras and Tensorflow. Participation in the course requires approriate access to resources. The active participation of students is encouraged through discussions, the group video presentation and the individual student project presentations.

Recommended Textbooks and Additional Resources

Course Topics and Readings

Course notes will be made available through Virtual Campus.

Student Evaluation

Student evaluation will be based on assignments and a project.

Marking Scheme

The maximum is 100 marks*) with the following breakdown:

3 Programming assignments (using Tensorflow, Jupyter notebooks)
  • Linear and logistic regression
  • Image recognition
  • Transfer learning for small data-sets
30 marks
Group Presentations

Groups of about 5 students need to make three 10 minute video presentations on a course topic. Topics will be assigned.

24 marks
Project including proposal and oral presentation

Project must be done individually. A video presentation is required.

46 marks

Reminder: Academic Regulations

All components of the course (i.e. assignments, projects, etc.) must be fulfilled otherwise students may receive an INC as a final mark (equivalent to an F). This also holds for a student who is taking the course for the second time.

Academic Fraud and Plagiarism

Any form of plagiarism or fraud including on an assignment or the project will be reported.

For any plagiarism or fraud the university regulation on academic fraud applies. The plagiarism rules explains the University of Ottawa rules. Please familiarize yourself with them.