ricky-ma / CPSC425-Computer-Vision

CPSC425: Computer Vision, taught by Jim Little at UBC, Spring 2020

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CPSC425: Computer Vision

Course Description

Computer vision, broadly speaking, is a research field aimed to enable computers to process and interpret visual data, as sighted humans can. It is one of the most exciting areas of research in computing science and among the fastest growing technologies in today’s industry. This course provides an introduction to the fundamental principles and applications of computer vision.

Assignments

A0

  • Introduction to Python for computer vision

A1

  • Convolution filtering by hand
  • Gaussian filtering
  • Hybrid images
  • Denoising filters

A2

  • Scaled representation
  • Object/face detection with normalized cross-correlation
  • Gaussian and Laplacian image pyramids
  • Image blending

A3

  • Texture synthesis by non-parametric sampling
  • Hole filling using texture synthesis

A4

  • SIFT keypoint matching
  • RANSAC sampling and model fitting for noisy image data
  • Keypoint projections using homography matrices
  • Panorama stitching with RANSAC homography

A5

  • Bags of features: bag of words using SIFT descriptors
  • Clustering SIFT descriptors with K-means
  • Representing images as histograms of visual words
  • Scene recognition with KNNs
  • Scene recognition with 1-vs-all linear SVMs

A6

  • Implementing PyTorch layers from scratch (ReLU, MaxPool2d, Linear, Conv2d)
  • CNN hyperparameter tuning (epochs, channel sizes, hidden layers, activations)
  • Image segmentation with MaskRCNN

About

CPSC425: Computer Vision, taught by Jim Little at UBC, Spring 2020


Languages

Language:Jupyter Notebook 99.9%Language:Python 0.1%