Course Project


The Course Project is an opportunity for you to apply what you have learned in class to a problem of your interest.

Potential projects usually fall into these two tracks:

To inspire ideas, you might look at recent deep learning publications from top-tier vision conferences, as well as other resources below.

Don't be afraid to think outside of the box. Some successful examples of using computer vision to tackle different types of problems can be found below:

You are welcome to come to our office hours to brainstorm and suggest your project ideas. We also provide a list of popular computer vision datasets:

Ideas From the CAs

The CAs have compiled a list of project ideas here. We recommend that you look them over. See something interesting? The CA responsible for that idea would be delighted to hear about it and will offer project guidance for the quarter (though you're welcome to reach out to any CA for help).

Important Dates

Project proposal: due April 21.
Midterm progress report: due May 15.
The project presentations session will be held on June 7
Final course project: due June 9 (11:59pm).

Grading Policy

The Course Project contributes to 38% of your final grade. Specifically, it is broken down into a few main parts:

Project Proposal

The project proposal should be up to 2 pages and should contain the following:

We highly recommend submitting a project proposal and talking to the course staff about your proposed project throughout the quarter. Generally, we find that students who do this end up with very strong, and even publishable, final projects.

If your proposed project is joint with another class' project (with the consent of the other class' instructor), make this clear in the proposal.

Midterm Progress Report

Your midterm progress report should be at most 4 pages using the provided template. The following is a suggested structure for your report:

Submission: Please upload a PDF file to the assignments tab on Gradescope. If you are working in a team, please use the team function on Gradescope. The late days are counted by the timestamp of the last submission in the team.

Final Submission

Your final write-up should be between 6 - 8 pages using the provided template. After the class, we will post all the final reports online so that you can read about each others' work. If you do not want your writeup to be posted online, then please let us know at least a week in advance of the final writeup submission deadline.

Submit your final submission through Gradescope. You will submit the following:
  1. A PDF file of your final report
  2. A link to your Git repository. Please put this somewhere in your final report (and add a member of the course staff if it is a private repository).

Report. The following is a suggested structure for the report:
Supplementary Material is not counted toward your 6-8 page limit.
Examples of things to put in your supplementary material: Examples of things to not put in your supplementary material:

Project Presentations

We will hold a session in which you will present the results of your projects to your classmates and a broader audience. The presentation sessions will be held on June 7. The exact time and location will be announced at a later date.

Example Project Reports

Your project reports should structure like a computer vision conference paper (CVPR, ECCV, ICCV, etc.). You can find publications from Stanford's Computational Vision & Geometry Lab (CVGL) here and from the Stanford Vision Lab from here. In addition, you may also take a look at some previous projects from other Stanford CS classes, such as CS331B, CS231N, CS221, CS229 and CS224W.
Projects from previous years
You can see project reports from previous years here:

Collaboration Policy

You can work in teams of up to 3 people. We do expect that projects done with 3 people have more impressive writeup and results than projects done with 2 people. To get a sense for the scope and expectations for the projects have a look at project reports from previous years.

Honor Code

You may consult any papers, books, online references, or publicly available implementations for ideas and code that you may want to incorporate into your strategy or algorithm, so long as you clearly cite your sources in your code and your writeup. However, under no circumstances may you look at another group’s code or incorporate their code into your project.

If you are doing a similar project for another class, you must make this clear and write down the exact portion of the project that is being counted for CS231A.