Deep Learning for Computer Vision

Deep Learning for Computer Vision is a course on Convolutional Neural Networks for Visual Recognition. It is taught by Prof. Justin Johnson at University of Michigan, in winter 2022. The course is available on Course Website and YouTube.

Introduction

I chose this lecture series instead of the popular CS231n course by Stanford University because first, it already includes most of the materials covered in CS231n and covers more advanced topics such as attention and 3D vision. Second, it is taught by Prof. Justin Johnson, who was a lecturer for CS231n in the past. I have watched his lectures on YouTube and found them very informative and easy to understand.

I also referred to YouTube lectures on deep learning from Prof. Seungsang Oh, Korea University. His lecture gives a different perspective on the same topic, which I found very helpful. I will use his content and materials to supplement my understanding of the course.

Topics

The first lecture is an introduction to deep learning for computer vision.

The rest of the lecture covers the following topics:

I will also cover some lectures from past semesters, which covers hardware and software and reinforcement learning, etc.

Assignments

There are six assignments in the course:

  1. PyTorch 101, k-Nearest Neighbor classifier [Instructions] [Code]
  2. Linear Classifiers, Two-layer Neural Network, MNIST Challenge [Instructions]
  3. Fully-Connected Neural Network, Convolutional Neural Network [Instructions]
  4. One-Stage Detector, Two-Stage Detector [Instructions]
  5. Image Captioning with Recurrent Neural Networks, Transformer model for simple arithmetic operations [Instructions]
  6. Variational Autoencoder, Generative Adversarial Networks, Network Visualization, Style Transfer [Instructions]

I will post my solutions to the assignments in the future. Stay tuned for more updates on the Deep Learning for Computer Vision series!