Course Identification
Practical Online Course: Deep Learning for Computer Vision
Lecturers and Teaching Assistants
Dr. Meirav Galun, Prof. Tali Dekel, Dr. Shai Bagon
Ron Shemesh, Daniel Barzilai, Rafail Fridman
Course Schedule and Location
03/11/2024
Field of Study, Course Type and Credit Points
Mathematics and Computer Science: 2.00 points
Comments
Online course
The lectures will be recorded and posted online, but there will also be 4 practical programing exercises, which will be submitted by the students during the course.
Prerequisites
-
Mathematical background: Basic courses in Linear Algebra, Calculus and Probability.
-
Programming skills: All class assignments will be in Python. If you have a lot of programming experience but in a different language (e.g. C/C++/Matlab/Javascript) you will probably be fine.
-
We also encourage students to take “Introduction to Computer Vision” course, which provides complimentary fundamental knowledge to ours.
Attendance and participation
Evaluation Type
No final exam or assignment
Estimated Weekly Independent Workload (in hours)
Syllabus
-
Introduction & ML Basics
-
Basics of Neural Networks
-
Convolutional Neural Network
-
Advanced Neural Networks Training
-
Detection / Segmentation
-
Visualizing and Understanding
-
Sequences (Recurrent Neural Networks, Attention, Transformers)
-
Generative Models (GANs, VAEs)
-
Self-supervision in Images, Videos and Sound
-
Learning from Videos
-
CNN as representations and optimizers
-
Implicit 3D representation
-
Graph Neural Networks
-
Deep Learning Theory
Learning Outcomes
Upon successful completion of the course the students will be able to have:
-
In-depth understanding of the fundamentals of deep-learning based methodologies in computer vision (e.g., convolutional neural networks, optimization, back-propagation, generative image models)
-
Gain knowledge about core deep learning algorithms, modern approaches and cutting-edge research for various visual tasks.
-
Hands-on experience with deep learning for computer vision:
-
Implement neural networks and their components from scratch.
-
Train, run and debug CNN models using leading frameworks (PyTorch)