BBM 413 - Fundamentals of Computational Photography (Spring 2013)

Lectures: Fridays 13:00-15:45 @D9

An image abstraction example produced by the method of Karacan, Erdem and Erdem (work in progress)


Instructor:   

Aykut Erdem

aykut-at-cs.hacettepe.edu.tr

Office: 111, Tel: 297 7500 / 146


Lectures: 

Fridays, 13:00-15:45 @ D9 

Practicum: 

Mondays, 15:00-16:45 @ D9 


TA:

Levent Karacan

karacan-at-cs.hacettepe.edu.tr


Course Description:

This advanced undergraduate course is about the fundamentals of computational photography, an emerging new research area which brings together the advancements in computer graphics, computer vision and image processing to overcome the limitations of conventional photography. The course is structured around basic topics such as cameras and image formation, blending, compositing, resizing, warping, morphing, texture synthesis, super resolution, panoramas, mosaics, collages, denoising, image inpainting, high dynamic range imaging, tone mapping, photo quality assessment and non-photorealistic rendering.

The main goal of this course is to introduce students a number of different computational techniques to capture, manipulate and enrich visual media. The students are expected to develop a foundational understanding and knowledge of concepts that underly computational photography. The students will also be expected to gain hand-on experience via a set of programming assignments supplied in the complementary BBM 446 Computational Photography Practicum. Hence, the students are strongly advised to register both BBM 444 and BBM 446 classes.


Prerequisites:

Good math (calculus, linear algebra, statistics) and programming skills. An introductory course in image processing (BBM 413) is highly recommended.


Reference books:


Grading Policy:

Grading for BBM 444 will be based on a set of written assignments (15%), a midterm exam (35%) and a final exam (45%). Participation in class discussions will also be an important factor for the grade (5%). In BBM 446, the grading will be based on at least 4 problem sets which will be done individually.


Important Dates:

Problem Set 1   

15 March 2013 18 March 2013

Problem Set 2   

5 April 2013 8 April 2013

Problem Set 3   

3 May 2013

Problem Set 4   

24 May 2013 28 May 2013

Midterm exam

26 April 2013

Final exam

13 June 2013


Detailed Schedule:


Week

Date  

Topic

Additional Readings

Problem Sets


1

3/8

Introduction [slides]

2

3/15

Cameras and image formation [slides]

PSet 1 out

3

3/22

No class

4

3/29

Image processing review [slides]

5

4/5

Blending, compositing and resizing [slides]

PSet 1 due

6

4/12

Warping and morphing [slides]

PSet 2 out

7

4/19

Data-driven texture synthesis and super resolution [slides]

8

4/26

Midterm exam

PSet 2 due

9

5/3

Panoramas and mosaics [slides]

10

5/10

Big Visual Data - Part I [slides]

PSet 3 out | starter code

11

5/17

Big Visual Data - Part II [slides]

12

5/24

High dynamic range imaging and tone mapping, Colorization [slides]

PSet 3 due, PSet 4 out

13

5/31

No class

14

6/7

What makes a good picture, Tone Style Enhancement [slides]

PSet 4 due



Acknowledgements:

The materials used in this class largely rely on lecture notes by other researchers. In particular, the slides are adapted from those of Alexei A. Efros, Steve Seitz, Rick Szeliski, Paul Debevec, Stephen Palmer, Paul Heckbert, David Forsyth, Steve Marschner, Lana Lazebnik, Silvio Savarese, Rob Fergus, Marc Levoy, Peter N. Belhumeur, Derek Hoiem, James Hays, Tamara Berg, Fredo Durand, Bill Freeman (as credited within).


Additional Resources:


Communication:

The course webpage will be updated regularly throughout the semester with lecture notes, programming and reading assignments and important deadlines. All other communications will be carried out through Piazza. Please enroll it by following the link https://piazza.com/hacettepe.edu.tr/spring2013/bbm444


Policies:

All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated.
In short, turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.