Assignment Day | Friday, June 17 |
Due Date | before 11:54 PM. |
[P1-P3]: Projects
Overview:
You will have 3 opportunities (Projects 1 through 3) to use what you have learned in class to create a computational photography artifact. For each project, you can choose to take an artistic angle or a technical angle. The main goal is for you to explore an aspect of computational photography that you find interesting and want to investigate in greater depth. It is required that you demonstrate you are using techniques what you have learned in class.
When selecting a project to work on it may be advantageous do consider a project that builds up a portfolio of work that may be interesting to potential employers or research advisors. In the past students have built systems to do motion blurring, image mosaics, image morphing, colorization, image blending, producing cinemagraphs, image seam-carving, hole-filling, simulating tilt-shift, capturing images to get a different output from photosynth, simulating how a picture would appear rendered on wood, steel, etched papers (etc.), generating non-photorealistic / painterly / sketch images, photo mosaics, photo montages, photo collages, averaging and aligning faces, etc. Feel free to share your ideas over Piazza.
Note that there must be a computational aspect to each project. That is, you can’t simply take one set of of images and produce one artifact. Your report and presentation must demonstrate that it is robust and that you have created a process that is repeatable. Your process should be applicable to a different set of images.
Tools:
You are required to use Python/OpenCV as your main tool in all three projects. on
Summary on what you need to turn in on each project:
- report.pdf - A project writeup as a PDF file. (See more details below)
- image1.png, ... imagesN.png - Any source images you used.
- code.py - Your source code. The file name is not important, but should be appropriate.
- Readme.txt - Details of how to run your code, suitable for a TA or instructor to be able to reproduce your results.
- result1.png, .. resultN.png - A sample of output images that your workflow produced.
- myproject[1-3].html - An HTML (.html) file suitable for display on the class website that describes your project, and highlights why it is interesting. (See the description below.)
- presentation.pdf - The script or outline of a presentation you would give to the class describing your project. We will select one of your projects for a 3 minute presentation. You will need to showcase at least one of your 3 projects in class, so please prepare the script of a 3 minute presentation of you project, and mame sure you volunteer so that you don't miss points.
Write-up myreport[1-3].pdf details:
Your write up needs to contain the following information:
- Your name(s), email address(es), and T-Square ID.
- Introduction: A high level description of your project (what it does / is / the purpose) The images showing example input/output should be embedded into your document in this high level description so that we do not have to open the source/output images you submit in addition to the PDF file while reviewing the PDF file.
- Workflow: A lower level description of your “workflow”. You must specify your inputs (e.g. “Two images of the same size”), each step in your computation/procedure (e.g., “Step 1, the cropImages function makes sure that both images are the same size.”), and end with the output (e.g., “The final step concatenates the 5 images together into an animated gif.”) We suggest that you draw a flow chart or diagram graphically outlining your process, combined with textual details of each step. Provide Python/OpenCV pseudo code. The description of your workflow should be at a level such that somebody with all of your submitted files could use different input images to produce similar results.
- Credits: Any code or ideas you did not directly develop must be credited with their source (e.g., another student in the class, a website URL or book)
- Artistic or Technical emphasis?: Specify if you attempt to be "technical", or more "artistic", where did you invest the most energy. You will need to do both, but you can specify the emphasis. Tell us the number of points you want to allocate to each: From 10% to 40% in 10% increments. The total must sum to 50%. This is your chance to argue for why you should receive both technical and artistic points, and point out any aspects of your project that are especially subtle.
Write-up myreport[1-3].html details:
Your HTML file should include the following components:
- Your name (if you want to be publicly identified with the work), or a pseudonym (if you would like to protect your privacy).
- Overview: A brief blurb describing the motivation/purpose/procedure for your project.
- Input: example input images.
- Output: An example of the result of your process, e.g,. output images or animation.
- Optional contents: You may, but are not required to, include links to any document you have uploaded as part of your t-square submission, such as your source code (to replicate the work) this may be a link to github, or alternate input/output examples,.
Please make sure that all links are “relative” and refer to only the file names you use in your t-square submission (e.g., you input and output images). The goal is that if we place the HTML file and your associated upload files (.jpg / .py) in its own directory, they will be complete. (i.e., the html file and the image files are all in the same directory).
We may choose to show only a subset of the submissions on the class website from each project. The expectation is that every student will have a submission for one of the three projects that is suitable for exhibition.
Rubric:
First 50 points applicable to all types of projects (artistic or technical):
First 50 points:
- 10 pts - Is your choice of input images are appropriate to fully demonstrate your process/pipeline? Were they visually interesting? Do you have the appropriate rights/permissions to display the output publicly? (e.g., do you own copyright yourself (preferred), or were they creative commons licensed or in the public domain?)
- 30 pts - Does your submission include all required elements and in the correct format? Is there enough detail that a reader could replicate your pipeline/workflow. Does the project demonstrate a technique taught in the class? Is the html content correctly formatted and fully self contained?
- 10 pts presentation.pdf - Is the presentation complete? Is it interesting and appropriate for presentation to the class?
Second 50 points (artistic vs. technical):
Allocation between Artistic and Technical is based on the student’s choice as described in report.pdf.
- (10-40) Artistic - A mostly subjective measure of how “Awesome” the output of your project looks (regardless of how technically challenging it was to produce). Was the effect novel and interesting? Is it clearly “artistic”? (whatever that means... you will need to discuss the definition) Is it visually pleasing? Does it have a consistent message or theme? It is OK for you to describe in your report any reasons you think you should get a strong score here, including subtle aspects of the imagery.
- (10-40 pts) Technical - How much does the project demonstrate what you have learned about computational photography, including but not limited to: Python / OpenCV or third party software tools. Did you learn novel API calls, tools, and so onthat were not covered in class or did you simply re-use code we provided? Does your workflow/process follow the most efficient path, or could it be simplified? Is it subjectively “Awesome” due to the technical sophistication.
Also your 3 projects need to differ for each other, e.g., they cannot all be about blending, or all about panoramas. There need to be some differences showing breath.
Representative Example Projects:
These projects are from last Summer Session in 2015, note they followed a similar format 3 projects aross the semester, e.g, project 1, assumed less knowledge and project 3 is more advanced. You are welcome to work ahead.
http://www.cc.gatech.edu/classes/AY2015/cs4475_summer/projects.htm
--
Credit: Project description: Jay Summet