Skip to main content

Grading

Nickname

Change your nickname in the Discord server to your full name, first and last. This is how we identify you. This item carries 0 points. If you skip it and open a ticket without a first and last name in your nickname, we subtract 10 points from your Assignment 1 grade as a penalty.

Development Environment Setup

This section is optional and carries no points - you can do the assignment in Colab but you will benefit long term from learning how to use docker. Please refer to the Virtualization guide for setup instructions. After you clone or import the class github repo you can show that your development environment is correctly set up:
  1. Complete this notebook. It prints your Torch version and the device it resolved, which is cuda on an NVIDIA machine, mps on an Apple Silicon Mac running natively, and cpu otherwise. A screenshot of that output is the proof, whichever setup you chose.
  2. Create an account on Hugging Face and provide a screenshot of your profile.
Screenshots must be stored as .png files, named dev-environment-xyz.png, and located under the assignment submission folder in your cloned class repo.

Shadow-Invariant Vision

A shadow puts a strong edge in an image. The material under the shadow is the same material, and only the light reaching it changed. A vision system that reads that edge as a real boundary can be fooled by it, and driver assistance systems have braked and swerved for a stripe of shade across a road. The question is whether you can build a representation that responds to a change of surface material and stays quiet for a change of illumination.
A Tesla on FSD 14.2.2.5 swerving for a shadow, reported by Elias Martinez in March 2026. If the embed does not load, the clip is on X. The method follows chapter 10 of Peter Corke’s Robotics, Vision & Control. Download the chapter before you start, and read sections 10.1, 10.2 and 10.4.

Points

What you will need

In the course container, run make install-notebooks. It installs Kornia alongside OpenCV and PyTorch. Running make start on its own is not enough, since that installs only the base dependencies. In Colab, run this once before the first cell:

Assignment Notebook

Open Notebook in Colab

Shadow-Invariant Vision Notebook
The default regions of interest in section 3.1 are placeholders. Replace them with coordinates that put one box on lit material and the other on the same material in shade, otherwise every comparison that follows comes out empty.

Submitting

Commit the notebook to your own private clone of the class repo, under assignments/assignment-1. Save all cell outputs before you commit. See also the assignment submission guide.