From CS294-69 Image Manipulation and Computational Photography Fa11
The purpose of the final project is to provide hands-on experience designing, implementing, and evaluating a new algorithm or technique in image manipulation or computational photography. Projects will be carried out by a team of up to three people. Your project should address a concrete visualization problem and should propose a novel, creative solution. The final deliverable will be an implementation of the proposed solution and a 8-12 page paper written in the format of a conference paper submission.
In addition, each group will be responsible for presenting the project to the rest of the class for design discussions. This presentation should describe the problem that the project will address, the relevant related work, and the approach the group plans to take to solve the problem. At the end of the class we will have final project presentations so that groups can show their work to others.
Schedule (final presentation and paper due dates may change slightly)
- Project proposal due: 10/31
- Proposal presentation 10/31 and 11/2
- Final presentation due: 11/28 and 11/30
- Final paper due: 12/7
Project Proposal (Due 10/31)
As a first step you should create a project proposal (in the form of a wiki page) that includes the names of the members of your group and a short (1 to 2 paragraph) description of the visualization problem you plan to address. See the bottom of this page for instructions on making the wiki page for this assignment. This sample assignment page gives an example of the kind of the page format you might wish to use for the project.
Proposal Presentation (Due 10/31 and 11/2)
A good way to assess the strengths and weaknesses of your project proposal is to present your ideas to your classmates for feedback. Thus, each group will be expected to present their project to the rest of the class on either 10/31 or 11/2 (we will finalize the schedule in class the week before). The presentation should include the following material:
- Description of the problem and motivation explaining why it is worth addressing.
- A background survey of related work and a list of references.
- A list of the key technical challenges your group expects to face and a description/storyboard/demo of the approach you plan to use to address the challenge.
- A list of milestones breaking the project into smaller chunks and a description of what each person in the group will work on.
Note: After giving your presentation you should add a link to your slides and other presentation materials to the wiki page for your project.
Final Presentation and Paper/Implementation (Presentation due 11/28 and 11/30, everything else 12/7)
The final deliverables will include:
- Code: an implementation of your system (source code and executable).
- Paper: an 8-12 page paper written in the form of a conference paper submission. The paper should present related work, a detailed description of your system and a discussion of your design.
- Presentation: The presentations will occur in class on 11/28 and 11/30. The slides will be considered a final deliverable.
Note: After giving your final presentation you should add links to your final deliverables to the wiki page for your project.
Due: 11/28 and 11/30 5-6:30pm
The final presentation should provide an overview of your project. It should include the following information:
- Problem - A clear statement of the problem your project addresses.
- Motivation - An explanation of why the problem is interesting and what makes it difficult to solve.
- Approach - A description of the techniques or algorithms you used to solve the problem.
- Results - Screenshots and a working demo of the system you built.
- Future Work - An explanation of how the work could be extended.
You should show a working demo of your system if at all possible.
Due: 12/7, 5pm PST
The final paper should be in the style of a conference paper submission. The paper should include content that is typical of papers that appear at SIGGRAPH.
- Introduction - An explanation of the problem and the motivation for solving it.
- Related Work - A description of previous papers related to your project.
- Methods - A detailed explanation of the techniques and algorithms you used to solve the problem.
- Results - The visualizations your system produces and data to help evaluate your approach. For example you may include running times, or the time users typically spend generating a visualization using your system.
- Discussion - What has the audience learned about visualization from your work?
- Future Work - A description of how your system could be extended.
We have read a number of papers from SIGGRAPH throughout the course, but if you are having trouble figuring out how to write your paper, go back and take a look at representative papers that you read earlier in the semester.
Your final paper should be formatted using the 2 column formatting of papers that appear at SIGGRAPH. If you need help finding a formatting template talk to me.
The final project will count for 50% of your final grade in the course. I will consider strongly the novelty of the idea (if it's never been done before, you get lots of credit), how it address the problem at hand, the methodology you employ in doing the research, and your technical skill in implementing the idea.
In small group projects, each person will be graded individually. A good group project is a system consisting of a collection of well defined subsystems. Each subsystem should be the responsibility of one person and be clearly identified as their project. A good criteria for whether you should work in a group is whether the system as a whole is greater than the sum of its parts!
Suggested Project Topics
The main requirement of the final project is that it should make some new research contribution. It is not enough to simply implement a paper. The research may involve developing a new problem in image manipulation/computational photography or it may involve developing a new solution to an existing problem. A good way to get started is to re-read papers you found especially interesting and think about how you might go beyond what is described in the paper(s). New research ideas often come from addressing the following issues:
- Every technique has some limitations (well written papers usually describe some of them). Develop techniques to address one or more limitations.
- Sometimes different papers present different techniques for addressing the same problem. Implement competing techniques and compare the strengths and weaknesses of them.
- It is sometimes possible to combine ideas from multiple papers to produce a new hybrid technique that addresses a new problem. Develop a new way to combine the techniques your have read about to solve a new problem.
We have also written a few suggestions for project ideas that we will post to class discussion board on piazza.com. Please talk to us if you have any questions or concerns.
How to create your wiki page
Begin by creating a new wiki page for this assignment. The title of the page should be of the form:
Replace Firstname and Lastname with your real first and last names. You can create the page by entering a url of the following form into your browser:
Groups of two or more people should use URLs of the form:
To upload images to the wiki, first create a link for the image of the form [[Image:image_name.jpg]] (replacing image_name.jpg with a unique image name for use by the server). This will create a link you can follow that will then allow you to upload the image. Alternatively, you can use the "Upload file" link in the toolbox to upload the image first, and then subsequently create a link to it on your wiki page. Use the "Upload file" link to upload other files, such as the required .zip or .tar.gz archive.
One you are finished editing the page, add a link to it here with full name as the link text. The wiki syntax will look like this: *[[FP-FirstnameLastname|Firstname Lastname]]. Hit the edit button for this section to see how I created the link for my name.
- Maneesh Agrawala
- Armin Samii and Tim Althoff
- Robin Gaestel and Moeka Takagi
- Yeon Jin Lee and Yin-Chia Yeh
- Vasily Volkov and Stacy Hsueh
- Sean Arietta
- Aaron Eidelson and Dustin Shean
- Sally Ahn and Soham Mehta
- Jiamin Bai
- Eileen Bai and Philip Ly
- Hong Wu, Viraj Kulkarn and Rohan Nagesh
- Nancy Wang
- Michael Tao
- Nikhil Naikal
- Wesley Willett
- Jeff Donahue
- Vera Dadok