CS 410/510: Introduction to Computational Photography | |
Instructor: Feng Liu |
TA: Zhan Li |
Office: Zoom | Office:
https://pdx.zoom.us/j/ |
Office Hours: email for an appointment | Office Hours: TR 14:30-15:30 |
Email: fliu@pdx.edu | Email: lizhan@pdx.edu |
|
Announcements |
|
|
Computational photography is a field where computer graphics, computer vision, optics, and photography come together to create high-quality pictures. This course will discuss computational techniques to overcome the limitations of traditional cameras and enhance their capabilities. This course will cover topics ranging from concepts of digital camera and photography to computer vision and graphics techniques for creating high-quality pictures, including high dynamic range imaging, panorama stitching, image segmentation & matting, video stabilization, etc. |
General Course Information |
|
|
Textbook | |||
We do not require any textbooks for this class. But the following two books will be very helpful. | |||
Computer Vision: Algorithms and Applications, by R. Szeliski This book is available online. Please download its latest version. |
Learning OpenCV: Computer Vision with the OpenCV Library, by Gary Bradski and Adrian Kaehler. Or its new version Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library By Adrian Kaehler and Gary Bradski These books provide not only a good reference to the OpenCV library, but also gives very good descriptions of a vast amount of vision algorithms. |
||
|
Lectures*
*Many of the lecture notes were modified from materials for similar classes taught at other universities by Professor Yung-Yu Chuang, Fr¨¦do Durand, Chuck Dyer, Marc Levoy, Steve Seitz, Li Zhang, and Dr. Stephen Chenney and Richard Szeliski. Without their generous help, this class could not have been developed. |
|||
Date | Topic | Notes | *Readings |
W10: 06/02 | Project presentation | No reading assignment | |
W10: 05/31 | Project presentation | ||
W9: 05/26 | Paper presentations | ||
W9: 05/24 | Paper presentations Stereoscopic 3D II |
Keystone Correction for Stereoscopic Cinematography Feng Liu, Yuzhen Niu, Hailin Jin IEEE 3D Cinematography, 2012 Nonlinear disparity mapping for stereoscopic 3D Manue Lang, Alexander Hornung, Oliver Wang, Steven Poulakos, Aljoscha Smolic, Markus Gross SIGGRAPH 2010 |
|
W8: 05/19 | Stereoscopic 3D I |
Production Rules for Stereo Acquisition Frederik Zilly, Josef Kluger, Peter Kauff Proceedings of IEEE, 2011 Looking Beyond Stereoscopic 3D's Revival Kirk L. Kroeker, Communications of the ACM, 2010 |
|
W8: 05/17 | Video Stabilization II |
Subspace Video Stabilization Feng Liu, Michael Gleicher, Jue Wang, Hailin Jin, and Aseem Agarwala, ACM Transactions on Graphics, 2011 |
|
W7: 05/12 | Video Stabilization I |
Full-Frame Video Stabilization with Motion Inpainting Matsushita, Yasuyuki and Ofek, Eyal and Ge, Weina and Tang, Xiaoou and Shum, Heung-Yeung. IEEE PAMI 2006 Content-Preserving Warps for 3D Video Stabilization Feng Liu, Michael Gleicher, Hailin Jin, and Aseem Agarwala SIGGRAPH 2009 |
|
W7: 05/10 | Image Matting |
Compositing Digital Images Tom Porter and Tom Duff. SIGGRAPH 1984 Blue screen matting Smith, Alvy Ray and Blinn, James F. SIGGRAPH 1996 |
|
W6: 05/05 | Graph-cut based Image Editing |
Lazy Snapping.
Yin Li, Jian Sun, Chi-Keung Tang and Heung-Yeung Shum. SIGGRAPH 2004 "GrabCut": Interactive Foreground Extraction Using Iterated Graph Cuts Carsten Rother, Vladimir Kolmogorov, and Andrew Blake SIGGRAPH 2014 |
|
W6: 05/03 | Image Segmentation |
Normalized Cuts
and Image Segmentation Shi and Malik. IEEE PAMI 2000. Intelligent scissors for image composition E. Mortensen and W. Barrett. SIGGRAPH 1995 |
|
W5: 04/28 | Panorama III |
Multiperspective Imaging Steven M. Seitz and Jiwon Kim. IEEE CG&A 2003 Photographing long scenes with multi-viewpoint panoramas. A. Agarwala, M. Agrawala, M. Cohen, D. Salesin, and R. Szeliski. ACM Trans. Graph., 25(3):853¨C861, 2006 |
|
W5: 04/26 | Panorama II |
Szeliski book, Chapter 9 Recognising Panoramas, M. Brown and D. G. Lowe , ICCV 2003 AutoCollage, C. Rother, L. Bordeaux, Y. Hamadi, A. Blake, SIGGRAPH 2006 |
|
W4: 04/21 | Panorama I |
Image
Alignment and Stitching: A Tutorial. Chapter 2 and 4 R. Szeliski. Foundations and Trends in Computer Graphics and Vision, 2009 Creating full view panoramic image mosaics and texture-mapped models. R. Szeliski and H.-Y. Shum. SIGGRAPH 97 |
|
W4: 04/19 | Relighting II: High Dynamic Range Imaging |
Recovering
High Dynamic Range Radiance Maps from Photographs Paul E. Debevec and Jitendra Malik, SIGGRAPH 1997. High Dynamic Range Digital Photography, G. Brown, RPS Journal, Nov. 2006 Burst photography for high dynamic range and low-light imaging on mobile cameras Samuel W. Hasinoff, Dillon Sharlet, Ryan Geiss, Andrew Adams, Jonathan T. Barron, Florian Kainz, Jiawen Chen, and Marc Levoy. SIGGRAPH Asia 2016 |
|
W3: 04/14 | Relighting I: Tone Mapping |
Interactive local adjustment of
tonal values. Lischinski, Dani and Farbman, Zeev and Uyttendaele, Matt and Szeliski, Richard. ACM SIGGRAPH 06 Photographic tone reproduction for digital images. E. Reinhard, M. Stark, P. Shirley, and J. Ferwerda, SIGGRAPH 2012 |
|
W3: 04/12 | Light and Color |
Color2Gray:
Salience-Preserving Color Removal. Amy A. Gooch, Sven C. Olsen, Jack Tumblin, and Bruce Gooch. SIGGRAPH 05 Robust color-to-gray via nonlinear global mapping. Yongjin Kim and Cheolhun Jang and Julien Demouth and Seungyong Lee. SIGGRAPH ASIA 2009 Color harmonization D. Cohen-Or, O. Sorkine, R. Gal, T. Leyvand, Y. Xu, SIGGRAPH 2006 |
|
W2: 04/07 | Denoising |
Video
Enhancement using Per-pixel Virtual Exposures Eric P. Bennett and Leonard McMillan. SIGGRAPH 2005 A Non-local Algorithm for Image Denoising. Buades, A., Coll, B., Morel, J.-M. IEEE CVPR 2005 Accelerating Spatially Varying Gaussian Filters Baek, J., Jacobs, D. E. SIGGRAPH Asia 2010 |
|
W2: 04/05 | Filter |
#Szeliski book: Chapter 3.2. Hybrid Images A. Oliva, A. Torralba, P.G. Schyns, SIGGRAPH 2006 Bilateral Filtering for Gray and Color Images C. Tomasi and R.Manduchi. IEEE ICCV 1998 |
|
W1: 03/31 | Camera |
Computational Cameras: Redefining the Image. Nayar, S.K.. IEEE Computer, 39(8), 2006 |
|
W1: 03/29 | Class overview |
The Edge of Computational Photography |
|
*
You might need to be on the PSU network or have an ACM/IEEE
account to download some of papers. # You cannot select readings from a book for your reading assignment. |
|||
|
Reading Assignments: |
Each
week, you will read a few papers posted in the course web page. Besides, you
need to pick one of the papers you read, write and send a short summary to
lizhan@pdx.edu every Thursday afternoon before 4:00
pm. In your email, please follow the following format for the email subject. CS 410-510 Reading: You full name + Week number + Paper Title. Your summary should be concise, no more than 500 words, and write in the plain text format in your email directly. You need to address the following five questions. Please answer these questions one by one following the format below exactly. 1. What problem is addressed? 2. How it is solved? 3. The advantages of the presented method? 4. The limitations of the presented method? 5. Future work |
In-class Presentation: |
Giving a good technical talk is an important skill
for CS students. Every student needs to present one technical
paper in the class. The presentation should be around 30 minutes, including 3-5
minutes of Q & A. Your presentation should include the following content. 1. Title 2. Introduction 3. Outline 4. Method 5. Experiments/Results 6. Conclusion Below is a list of advices on how to prepare and give a good technical talk. How to give a technical presentation (how to give a scientific talk), by Michael Ernst Giving an Academic Talk, by Jonathan Shewchuk Preparing and Giving a Good Talk, by Steven Swanson |
Project: |
You have the following three project options. Option 2. System development Option 3. Research |
Project Timeline: 04/14: Submit a project proposal to fliu@pdx.edu. In your email subject, put CS510-410 Project Proposal + Your name. If you work in group, only one member of the group needs to submit a copy and the proposal should list all the group members. Your summary need to be concise, less than 300 words. Week 10: In-class project presentation. Each presentation will last 7 minutes, including 6 minutes of presentation and 1 minute of Q & A. A group project only needs to be presented once. Please plan your presentation carefully so that you can finish it within 7 minutes. 06/06: Submit your final project to fliu@pdx.edu. In your email subject, put CS510-410 Project Title+ Your name(s). If you work in group, only one member of the group needs to submit the project. Your submission needs to include your final project report, your code, your testing examples and your in-class project presentation slides. If you work on a literature study project, no code or examples are required. Please make sure that you zip everything into a single .zip package and send me a link to it for me to download. Please do not send the files directly to me. |
Programming Resouces |
1. OpenCV |
2. OpenCV-Python Installation |
3. Visual Studio, OpenGL, and FLTK tutorial |
4. Matlab Tutorial for Image Processing and sample files, provided by Prof. C. Dyer and his TA Tuo Wang at the University of Wisconsin, Madison. |