CMPT 361: Introduction to Visual Computing

(Summer 2022)

teapots

Introduction

Prerequisite

Course Staff

Resources

Course Schedule

bunnies


Introduction

We will offer an introduction to fundamental concepts and techniques in both computer graphics and computer vision, with more emphasis placed on material that is deemed central to both fields. With a focus on classical topics, we will also shed light on the most recent trend and developments in the fields and the interplay between them. Students completing this course will be well prepared for more advanced courses in both computer graphics and computer vision. Programming assignments will be conducted in WebGL/JavaScript for the graphics-related problems and MATLAB for vision-related ones.


Prerequisite


Course Staff

Principal Instructor: KangKang Yin
Guest Instructor:
Teaching Assistant: Taher Ahmadi; Rahil Lavkumar Balar; Shishir Gopinath; Anupam Jose 


Resources

Recommended Textbooks: "Computer Vision: Algorithms and Applications, 2nd Edition", by Richard Szeliski (online)

" Interactive Computer Graphics: A Top-Down Approach with Web GL, 7th Edition", by Edward Angel and Dave Shreiner.

Reference books: OpenGL Programming Guide: The Official Guide to Learning OpenGL;    Computer Graphics: Principles and Practice

Matlab Onramp
The OpenGL Programmer's Guide (the Redbook) 8th Edition;
OpenGL ES 3.0 Programming Guide;
WebGL Programming Guide;
WebGL Beginner's Guide;
WebGL: Up and Running;
JavaScript: The Definitive Guide


Course Schedule (tentative, subject to changes, check regularly)

Week Monday Wednesday Friday
1
May 11
Introduction 
May 13
Image Formation
2 May 16
Matlab Tutorial 
May 18
Colors and Perception
May 20
Image Filtering
3 May 23
Victoria Day, no class  
May 25
Image Filtering
May 27
Sampling and Aliasing
4 May 30
Matlab Lab
Jun 1
Image Pyramid
Programming Assignment 1 Out
Jun 3
Edge Detection
5 Jun 6
Edge Detection
Jun 8
Corner Detection
Jun 10
SIFT
6 Jun 13
Matlab Lab
Jun 15
Feature Matching
Jun 17
Deep Learning
Programming Assignment 2 Out
7 Jun 20
CNN
Jun 22
Graphics Pipeling
Jun 24
Geometric Objects
8 Jun 27
HTML and JavaScript Tutorial 
Jun 29
Coordinate Systems
Jul 1
Canada Day, no class
9 Jul 4
WebGL and GLSL Tutorial
Jul 6
Transformations
Jul 8
Transformations
10 Jul 11
Graphics Programming Lab
Programming Assignment 3 Out
Jul 13
Modeling
Jul 15
Viewing and Projection
11 Jul 18
Viewing and Projection
Jul 20
Lighting and Shading
Jul 22
Polygonal Shading 
12 Jul 25
Texture Mapping
Jul 27
Texture Mapping
Jul 29
Vision Programming Assignment Review
13 Aug 1
BC Day, no class
Aug 3
Ray Tracing
Aug 5
Review and Discussion
14 Aug 8
Last class: Guest Lecture on Visual Effects by beloFX

Aug 12
Office Hour