[image] [credit]

Course Description

Ever wonder how robots can navigate space and perform duties, how search engines can index billions of images and videos, how algorithms can diagnose medical images for diseases, how self-driving cars can see and drive safely or how instagram creates filters or snapchat creates masks? In this class, we will explore all of these technologies and learn to prototype them. Lying in the heart of these modern AI applications are computer vision technologies that can perceive, understand and reconstruct the complex visual world. Computer Vision is one of the fastest growing and most exciting AI disciplines in today’s academia and industry. This 10-week course is designed to open the doors for students who are interested in learning about the fundamental principles and important applications of computer vision. We will expose students to a number of real-world applications that are important to our daily lives. More importantly, we will guide students through a series of well designed projects such that they will get to implement a few interesting and cutting-edge computer vision algorithms.

General Information


Class Time and Location

Tuesdays and Thursdays
1:30pm to 2:50pm
@Building 420-040.


Syllabus

Link to details on when assignments are due and what will be taught every day.


Textbook

Recommended but not required: Computer Vision: A Modern Approach by Forsyth & Ponce


Assignments

Details on how to work on and submit each assignment.

Office Hours

Juan Carlos Niebles
By appointment
Fri 11am-12pm
@Gates 243
Ranjay Krishna
By appointment
Thu 3pm - 5pm
@Gates 247
Sho Arora
Mon 4pm - 5:30pm
@Gates B30
Thu 3pm - 4:30pm
@Gates B30
David Rey Morales
Mon 7pm - 9pm
@Gates B21
Wed 8pm - 9pm
@Gates B21
Shubhang Desai
Wed 3pm - 5pm
@Gates B30
Fri 10:30am - 11:30am
@Gates B28

Websites you should sign up for.


Course Discussions

Please use Piazza to ask questions you have throughout the course. Use access code vision.


GradeScope

Submit your assignment ipython pdfs to GradeScope. Use the code 9XVR52 to join the class.

Grading Policy

Summary Assignments

Assignment 0 is a simple assignment to get you acquainted with python and basic libraries we will be using in the course. Each assignment (1 through 8) will be worth 9% each. You will have one week to complete every assignment but all the assignments will be available 2 weeks before they are due. It will be due on Fridays at 11:59pm.

Final

The final exam will be a 3 hour exam where you will be tested on the concepts, applications and theories taught in the class.

Extra Credits

Throughout the course you will have opportunities to earn extra credit. They can be earned by completing the extra credit questions in every assignment or by improving the existing course notes. These extra credit points are designed to allow students to delve deeper into the topics that they find most interesting. You can improve your final class grade by 1 letter point using extra credit, i.e. you can go from a B+ to an A+ or a B to an A if you do all the extra credit.

Extra Credit Class notes

The course staff believes that the best way to learn something is to teach it to someone else. Since we have changed the class last year and its assignments from previous years, we ask that all the students contribute to help teach one another by contributing to the class notes. You can choose to add to the existing notes from last year. There are new materials that have been added this year that don't have any notes, meaning that there are plenty of opportunities to earn extra credit. These notes will be worth 3% of your extra credit.

The class notes will be graded based on fluency (grammatically correct complete English sentences), consistency (the entire lecture should be a coherent message), coverage (all topics in the lecture are included).

Late policy

You will have a total of 7 late days that you can use in whichever assignments you prefer. There is a limit of 3 late days used per assignment, which means that the hard deadline for each assignment is on Thursday at 11:59pm.

Once you have used all your late days (or 3 late days for an assignment), penalty is 25% for each additional late day.

Prerequisites


Proficiency in Python (NumPy)

All class assignments will be in Python (with numpy.) Please review this NumPy tutorial to help with your assignments.


Linear Algebra (e.g. MATH 51)

We will use matrix transpose, inverse, rotation, translation and other algebraic operations with matrix expressions. If you are a quick learner you should be able to learn them during the class if you haven’t yet. We will have review sessions and provide review materials.


Calculus (e.g. MATH 19 or 41)

You’ll need to be able to take a derivative, and maximize a function by finding where the derivative=0.


Probability and Statistics (e.g. CS 109)

You should know basics of probabilities, gaussian distributions, mean, standard deviation, etc.

Course Calendar