EECS 442: Computer Vision (Winter 2023)

For the course project you will explore a topic in-depth of your own choosing in a group of 3-4 students. The course project should amount to roughly one homework's worth of work per person.

This can be an implementation (implement an existing algorithm); an application (apply a computer vision algorithm to a new problem); or research (trying to invent something new). All are totally fine.

If you don't have any ideas, or want a reasonable idea, don't worry! We have a list of suggested projects. Any of these would be feasible to complete as a project. If you would like to do a pre-scoped out project, you do not have to write much for a project proposal.

We expect:

  • That you explore a problem that's challenging

  • You to write a large fraction of the code yourself with the help of libraries like Pytorch, Numpy, etc.

  • That the projects are a bit more open ended than the homeworks

  • That you get some experience with doing a project start to finish, from developing the method to evaluating it and writing it up.

We do not expect:

  • A course project that is worthy of a publication

  • A new idea (implementing an old idea is totally fine!)

  • That your project works (so long as you can identify and diagnose why the system doesn't work)

What To Submit for the Proposal

The project proposal is due at the very latest on March 20, 2022 4:59:59pm to Gradescope, but we'll start giving feedback on March 8. You only need to submit one project proposal per group and add all the other members on Gradescope.

Your project proposal should be a 1-page PDF that answers the following questions. If you are following a suggested project, your project statement can be brief and your method, data, and evaluation can copy from the suggestions (that's why we provide them):

  • Project Title: What is the name of your project?

  • Group Members: What are the names and uniqnames of the students involved?

  • Group Dynamics: How will you communicate? When will you meet? How will you resolve group issues? What is a reasonable timeframe for responses?

  • Problem Statement: What is the problem you are trying to solve?

  • Approach: How do you plan to go about solving this problem? You don’t need to have everything figured out exactly, but you should have a vague sense of how you will proceed.

  • Data: What dataset do you plan to use? A common failure mode for projects is to have a cool idea, but no idea where to get the necessary data. We recommend against collecting your own dataset for the project, as this will significantly increase the complexity and workload; instead you should try to get away with existing datasets.

  • Computational Resources: For this question, it's fine to guess – the point of the proposal is that we will give you feedback if you're proposing something really out there. What computational resources will you use for this project? For some projects a laptop may be completely fine. But if you are planning to train any kind of neural network, you should have an estimate of how much time a model should take to train, and where you will get access to the computational resources you need. Google Colab is a great free resources for small amounts of GPU resources; but be aware that this is not sufficient for training large-scale models.

  • Evaluation: How do you plan to evaluate whether your project is successful? What metric will you use? Is there some simple baseline that you plan to compare your model against?

How is the Proposal Graded?

The proposal is graded on completeness and meant as an opportunitity to get feedback on what you plan to do. Within reason, there are no wrong answers. We put some grade to ensure that there's an incentive to submit something.

Matching with other students

If you would like to be matched to students with a similar interest, please let us know via this form by March 8, noon.