We will have 7 homework assignments (including 1 optional), which will be listed below as they are assigned. The assignments will be given out every week starting week 1 for week 2's assignment, so we can get going. Please let the TAs know if you have any issues with the homeworks.

Note that there is a deadline for each homework. Anything uploaded after the deadline will be marked late. Please be careful to not overwrite an in-time assignment with a late assignment when uploading near the deadline. Each student has 4 penalty-free late days for the whole quarter; other than that any late submission will be penalized (10% of total points will be deducted from the obtained points) for each day it is late.


Turn in all homeworks on canvas.

Final Project:

There will be a final project worth 20% of your final grade. The project should be done in teams of about 4 students, except in unusual circumstances. The TAs will help you form teams (who will collaborate among themselves virtually) and help with your progress during the office hours. Canvas groups will be created for your teams, where you can submit your documents. Don't worry about multiple submissions, canvas will automatically show one submission (the latest one) per team. The project timeline is given below.

Projects must involve machine learning, but otherwise are up to you to define. Each project should have a significant technical component, software implementation, or large-scale study. Projects can focus on developing new techniques or tools in computer vision or applying existing tools to a new domain. You can take a look here for some guidance.


  • Use this discussion post to discuss about project teams, topics etc.
  • You can use Google Colab for computing resources, they generally have GPUs available all the time.
  • Submit your files on canvas.
  • All your written documents (except presentation) should be in NIPS format.
  • You can use Overleaf to collaborate on your written documents.
    • Here are some tutorials on Overleaf/Latex.
    • CSE students get free access to Overleaf Pro if you sign up with your cs.washington.edu email.

Project timeline:

  • Group formation
    • Preliminary deadline: April 20 @ 11:59 pm
      • Update the spreadsheet (linked in the canvas discussion post) with the names of your current team members.
      • If you have decided your project topic, update that as well so that other students may be interested to join your team.
    • Final deadline: April 24 @ 11:59 pm
      • If you are in a team of 4 students, you are good to go. Discuss the next steps among yourselves.
      • If you are in a team of less than 4 students, you can also approach the students without any team to get them to join you.
      • If you are not in a team, you can approach the students who have already formed teams to join them.
      • We will probably assign the remaining students randomly to existing teams after the deadline.
  • Project proposal (1 point)
    • Deadline: May 1 @ 11:59 pm
    • Submit a 1 page PDF named proposal.pdf specifying your team member names, brief description and goal of the project, and milestones.
    • We will give you feedback on canvas as comments.
  • Project status report (4 points)
    • Deadline: May 15 @ 11:59 pm
    • Submit a 2-3 page PDF named status_report.pdf containing your project description, what you have done till date, and future work.
  • In-class project presentation (15 points)
    • Time: June 8, 10:30 am - 12:20 pm (most likely)
    • Zoom link: available on Canvas
    • Duration: 5 minutes per team. No limit on number of slides.
    • Introduce the project, show the methodology, then your results, and finally some conclusion. Extra credit (5 points): A live demo of some sort.
    • Submit your slides in the form of a PDF (don't worry about animations if any). Name the PDF presentation.pdf.
    • Submission deadline: June 8 @ 1 pm
  • Project final report (30 points)
    • Deadline: June 9 @ 12 noon
    • Submit a 5-10 page PDF named final_report.pdf using this format, containing
      • Title (name of the project) and team members
      • Introduction
      • Related work, with references to papers, webpages etc.
      • Methodology, with an algorithm or a diagram
      • Experimental results (preferably both quantitative and qualitative)
      • Screenshots of your code/demo
      • Discussion of results - strengths/weaknesses, what worked/what didn't
      • Conclusion and future work (what you could have done given more time)
    • No late days allowed!


  • Introduction
  • Color and Texture
  • Transforms and Resizing
  • Filters and Convolutions
  • Edges and Lines
  • Interest Operators, Image Matching and Stitching
  • Optical Flow
  • 3D
  • Stereo
  • ML overview including Neural Nets
  • Object Detection and Recognition with ML
  • Convolutional Neural Networks
  • CNN Applications

Lecture Notes:

Date Lecture Notes in PPT Lecture Notes in PDF Readings
March 31 Course Details Course Details None
April 2 Introduction Introduction None
April 7 Color and Texture; ink Color and Texture Shapiro & Stockman Ch 6 and 7
April 9 Resizing; ink Resizing None
April 14 Filtering; ink Filtering Shapiro & Stockman 5.4-5.5,
Szeliski 3.2, 3.3.1, Morphological operations
April 16 Edges and Lines; ink Edges and Lines Shapiro & Stockman 5.6-8 and 10.3.4,
Szeliski 4.2.1
April 20 Interest Operators; ink Interest Operators Szeliski 4.1.1, Harris Paper, SIFT paper
April 22 Describe and Match; ink Describe and Match Szeliski 4.1.2-4.1.3, SIFT paper
April 28 Matching; ink Matching Szeliski 6.1
April 30 Regions, Recognition, and Matching; ink Regions, Recognition, and Matching Kadir paper; Fergus paper; S&S Ch 8
May 5 CBIR and EM; ink CBIR and EM S&S Ch 8; Yi's EM Classifier Paper
May 7 Learning 1; ink Learning 1 Related to S&S Ch 4
May 12 Motion; ink Motion Szeliski 8.4-8.5, S&S 9.3.4-6, Pyramid Paper; Ming Ye's paper; Motion Layers Paper
May 14 Continue Learning 1
May 19 Learning 2; ink Learning 2
May 21 Object Recognition; ink Object Recognitin Girshick Paper; Redmon's YOLO Paper
May 26 CNN Basics (Beibin); GANs (Bindita) CNN Basics (Beibin); GANs (Bindita)
May 28 Bindita's Facial Expression Research; Shima's Cancer Diagnoisis Research; Beibin's ASD Research Bindita's Facial Expression Research; Shima's Cancer Diagnoisis Research; Beibin's ASD Research
June 2 Stereo and 3D; ink Stereo and 3D Shapiro and Stockman Chs 12-13
June 4 NO CLASS Work on your projects.
June 8 at 10:30am PROJECT PRESENTATIONS 5 minutes per group

Text Books:

Course Administration and Policies

  • Collaboration is encouraged! Feel free to discuss howemork and class material with other students. However, make sure you understand the concepts. Each student will complete and submit their own work. Do not directly or indirectly copy other students' work.
  • If you are working together or helping another student, work on teaching them concepts and answering general questions, not directly telling them what code to write. You're all smart; you should understand the line between productive collaboration and giving someone answers.