Key deadlines
Key logistics
Teams: Final projects must be done individually, no teams are allowed.
Imaging hardware: Final projects can (and are encouraged) to make use of imaging hardware (cameras, projectors, lights, depth sensors, light field cameras, special lenses, and so on). If you already have access to such equipment, then great! If not, the teaching staff will likely be able to provide it, but you should talk to us in advance.
Project ideas (until October 30th, optional, but highly encouraged)
Each student will post on Piazza up to three ideas for a final project. (Please make sure to make your post private and assign it to the final project folder.) The description of each idea should be short, about one paragraph. The teaching staff will follow up on the posts, with feedback on each idea (whether it is of the right scope for a final project, whether it is too ambitious given the project timeline, and so on). We encourage you to submit the maximum number of ideas, so that you have more options for your eventual project proposal.
Type and scope of final projects: These are intentionally left very open-ended. It could be re-implementing and thoroughly evaluating a published computational photography research paper in scenaria not covered in the paper itself. It could be creating a new computational photography algorithm to produce some visual effect you find interesting. It could be using simple or advanced imaging equipment in some unconventional way. It could be proposing a modification to an existing computational photography system (software, hardware, or both) that you believe could result in some significant improvement. Especially in a field such as computational photography, the possibilities are very diverse and numerous.
Coming up with project ideas: Imagining something exciting and new to do as a project is hard, which is why we have allocated almost three weeks (including the time for your final project proposal) for this. Below are a few pointers that can help you come up with exciting and important ideas. You should also take advantage of office hours between now and the due dates for your ideas and proposal, to discuss potential final project topics with the teaching staff.
- Most lectures (often near their end) include teasers of advanced subjects that relate to the lecture's overall theme. These subjects are not discussed in detail, but the references at the end of the lecture provide pointers to related literature. You can follow up on those pointers.
- If the overall theme of some lecture strongly appealed to you, you can do a literature search to find more recent papers in that area, and peruse those for ideas. Good starting points for your literature search are the related sections in the Szeliski textbook (listed at the end of lecture slides as references), as those almost always discuss key recent advances and papers. Google Scholar is also your friend, especially the option to show citations of a paper, which you can use to search through recent research on topics and papers we discuss in class lectures.
- You can look at final projects from previous offerings of this course (Fall 2020, Fall 2021), as well as other, related, courses.
- You can binge-watch videos on the ICCP YouTube channel, to find talks and related papers and research topics that strongly appeal to you.
Below are some pointers to specific topics that the teaching staff find intriguing and suitable for a final project for this class (most of them make some use of hardware).
- Fun with projectors: direct-global separation, dual photography, structured light 3D scanning, optical computing, optical gradient descent.
- Fun with speckle: seeing through stuff, motion tracking, tampering detection.
- Fun with flashes: flash no-flash pairs, non-photorealistic camera.
- Fun with polarization: depth sensing, dehazing.
- Fun with lightfields: unstructured lightfields, pinhole lightfield camera, build your own plenoptic camera, motion estimation, shape estimation, reconstructing transparent objects, schlieren photography.
- Fun with motion blur: flutter shutter.
- Fun with apertures and defocus: coded aperture, confocal stereo, extended depth of field, focal flow, depth from focus on your phone, depth from defocus in the wild.
- Fun with cheap lenses: imaging with cheap lenses, depth from cheap lenses.
- Fun with stereo and dual pixels: edge-aware stereo, depth from dual pixels, synthetic defocus on stereo and monocular mobile phones.
- Fun with shading: exemplar-based shape and material, shape, illumination, and reflectance from shading, near-light photometric stereo.
- Fun with lensless cameras: diffuser cam.
- Fun with hyperspectral cameras: DIY hyperspectral imaging.
- Fun with imaging around corners: corner camera, computational periscopy, accidental pinholes.
- Fun with photography: wide-angle portraits, computational zoom, white balancing on mobile phones.
- Fun with the image processing pipeline: implement your own, invert it.
Project proposal (October 31st)
The written project proposal should be a PDF of size between 1-2 pages, to be submitted on Gradescope. It should have at least the following sections and content:
- Title. Provide the title of your project.
- Summary. Summarize your project in no more than 2-3 sentences. Describe what you plan to do and what will be learned.
- Background. Describe in 1-2 paragraphs why this project is hard, useful, and/or interesting.
- Resources. Describe the resources (cameras and other imaging hardware, starter code, dataset, any special computing resources, etc.) you will use. If you are building off of an existing codebase, or an existing hardware setup, please explicitly say so. If there are any books or papers that you are using as references, please provide the citations. Make sure to explain what data (images, videos, etc.) you will use to evaluate your results. If you are doing a hardware project, explicitly mention so and list what equipment you will need. Please also explain whether you already have access to these resources, or whether you would like teaching staff to provide them to you.
- Goals and deliverables. Describe the deliverables or goals of your project. Make sure to separate your goals into what you plan to achieve (that is, the minimum set of goals you believe must be reached for the project to be successful), as well as what you hope to achieve (additional goals you would like to see happen if the project goes really well).
- Schedule. Provide a tentative schedule for your project. List what you plan to get done each week from now until the project due date.
Final deliverables: project report and video (December 20th)
There are two final deliverables for your project: A project report, and a project presentation video. Both should be submitted on Gradescope.
Project report: Your final report, should be a PDF of length 4 pages (for 15-463) or 8 pages (for 15-663 and 15-862), plus any additional pages for references. Your report should be written as a SIGGRAPH paper (you can use the author kit for the formatting).
Project presentation video: You should prepare a video of duration 5 minutes where you record yourself presenting your final project. This will require preparing a set of presentation slides and a narration script. Think of the video as a recording of a presentation you would give about your project to an audience consisting of your instructors and classmates. You can use the ICCP 2022 video instructions for technical information on how to prepare your video (e.g., formatting, file extension, recording software). Obviously, the ICCP time limits do not apply to you.
Special Thanks
Some of this write-up is inspired from Kayvon Fatahalian's final project instructions for 15-769: Visual Computing Systems.