This course offers opportunity to learn 2D and 3D computer vision and computer graphics. We do so by combining such fundamentals as image processing, computational geometry, machine learning, numerical computation, linear algebra, and others.

Methods to realize tracking, recognition, and other functions on 2D images will be discussed at first. To be more specific, feature detection and image descriptor for images, machine learning algorithms for recognition or classification of images are discussed. OpenCV, the de facto standard library of computer vision, will support the students to understand and prototype the methods.

Camera calibration for 3D depth estimation is the main topic of the next part. Special camera models and human vision model are also our concern.

In the last part, the student understands and explains several state-of-the-art algorithms for computer vision and computer graphics. The student is able to research newly available computer vision and computer graphics on his/her own to implement and benefit from the methods.

The student must have command of linear algebra and calculus, skills in Python programming, as well as understanding of important algorithms and data structures. One should also know basics of image processing techniques (e.g., image filtering) and machine learning (e.g., clustering, classifiers such as Support Vector Machines, dimensionality reduction, or regression).


Grading Policy

Technical report that involves programming (75%)
Assignment 1 (25%)
Assignment 2 (30%)
Assignment 3 (20%)

Literature review and presentation (25%) (Assignment 4)



Learning OpenCV 4 Computer Vision with Python 3 – Third Edition
Joseph Howse, Joe Minichino


Demo: (YouTube)

OpenCV-Python Tutorials

Code (unofficial)


Computer Vision: Models, Learning and Inference
Simon J.D. Prince

Learning OpenCV 3
Adrian Kaehler and Gary Bradski


Fei-Fei Li (TED 2015)



Install OpenCV

ex) Anaconda + VSCode

  1. Install VSCode
  2. Install Anaconda
  3. “Environment” > Create “CV” (python 3.*)
  4. Install opencv, numpy, scipy, matplotlib
  5. “Home” > Launch “VSCode”
    (Don’t shut down Anaconda while coding)

opencv-contrib-python-nonfree ?

ex) Docker

ex) Google Colaboratory

  1. Open Google Drive
  2. “Setting” > Add application > Colaboratory
  3. New > “Google Colaboratory”


Zoom screens