Syllabus

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)

 

Textbooks

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

https://www.packtpub.com/product/learning-opencv-4-computer-vision-with-python-3-third-edition/9781789531619

https://www.oreilly.com/library/view/learning-opencv-4/9781789531619/

Code: https://github.com/PacktPublishing/Learning-OpenCV-4-Computer-Vision-with-Python-Third-Edition

Demo: http://bit.ly/2STXnRN (YouTube)

OpenCV-Python Tutorials

https://docs.opencv.org/4.x/d6/d00/tutorial_py_root.html

Code (unofficial) https://github.com/jagracar/OpenCV-python-tests/find/master

Reference:

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

http://www.computervisionmodels.com/

https://www.amazon.cn/dp/B073FPHJ99/

Learning OpenCV 3
Adrian Kaehler and Gary Bradski

https://www.oreilly.com/library/view/learning-opencv-3/9781491937983/

 

Fei-Fei Li (TED 2015)

https://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_to_understand_pictures
(17:49)

 

CVPR

https://github.com/hoya012/CVPR-2023-Paper-Statistics

https://medium.com/@dobko_m/cvpr-2023-summary-ad271d383404

https://scholar.google.co.jp/citations?view_op=top_venues&hl=en

https://scholar.google.co.jp/citations?view_op=top_venues&hl=en&vq=eng

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)

Q.
opencv-contrib-python-nonfree ?
https://github.com/opencv/opencv/issues/17693

ex) Docker

https://hub.docker.com/r/opencvcourses/opencv-docker

ex) Google Colaboratory

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

 

Zoom screens