BBM 413: Fundamentals of Image Processing

Fall 2018

Mark I Perceptron
Draughtsman Drawing a Lute, Albrecht Drer, 1525

Course Information

Course Description

The subject matter of this advanced undergraduate course is about the fundamentals of image processing. The course is structured around key topics in image processing, including image formation, point operations and histogram processing, spatial filtering techniques, frequency domain approaches, image smoothing, edge detection and image segmentation. The main aim of this course is to provide an introduction to students who wish to specialize in interrelated disciplines like image processing, computer vision and computational photography. The students are expected to develop a foundational understanding and knowledge of concepts that underly image processing and related fields. The students will also be expected to gain hand-on experience via a set of programming assignments supplied in the complementary BBM 415 Image Processing Practicum.

Time and Location

Lectures: Tuesdays at 09:00-11:50 (Room D8)
Practicum: Thursdays at 15:00-17:00 (Room D10)

Course Instructor

Erkut Erdem's avatar

Erkut Erdem

Office Hour:Mondays 09:00-10:00

Teaching Assistant

Ozge Yalcinkaya's avatar

Ozge Yalcinkaya

Office Hour:Wednesdays 14:00-16:00


The course webpage will be updated regularly throughout the semester with lecture notes, programming and reading assignments and important deadlines. All other course related communications will be carried out through Piazza. Please enroll it by following the link:


Basic probability, linear algebra and calculus. Good programming skills.

Course Requirements and Grading

Grading for BBM 413 will be based on

  • a course project (done in groups of 2-3 students) (25%),
  • a midterm exam (30%), and
  • a final exam (40%),
  • class participation (5%).
In BBM 415, the grading will be based on
  • quizzes (lowest 2 quiz grades will be dropped, 20%)
  • four programming assignments (done individually, 20% each),


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.

back to top

Reference Books

  • (S) Computer Vision: Algorithms and Applications, Richard Szeliski, Springer, 2010 (draft available online).

  • (GW) Digital Image Processing, R. C. Gonzalez, R. E. Woods, 3rd Edition, Prentice Hall, 2008

back to top


Week Date Topic From the book Notes
1 Oct 9 Introduction, Image formation S1, S2.1-2.3.1 Slides: (pdf, 4pp)
Reading: D. Marr, Vision, The Philosophy and the Approach, 1982
Lab material: (pdf)
2 Oct 16 Color and Point operations S2.3.2, S3.1, GW3.1-3.3 PA1 out (pdf) (github-classroom)
Slides: (pdf, 4pp)
Reading: Beau Lotto's TED Talk: Optical illusions show how we see
Lab material: (Jupyter Notebook)
3 Oct 23 Spatial filtering S3.2-3.3 Slides: (pdf, 4pp)
Lab material: (Jupyter Notebook)
4 Oct 30 Frequency Domain Techniques S3.4, GW4.1-4.10 PA1 due
Slides: (pdf, 4pp)
Lab material: (Jupyter Notebook)
5 Nov 6 Frequency Domain Techniques (cont'd.) S3.4, GW4.1-4.10 PA2 out (pdf) (github-classroom)
Slides: (pdf, 4pp)
6 Nov 13 Image pyramids and wavelets S3.5, GW7.1-7.5 Slides: (pdf, 4pp)
Reading: A. Oliva, A. Torralba, P.G. Schyns, Hybrid Images, ACM Transactions on Graphics, ACM SIGGRAPH, 25-3, 527-530, 2006
Applications: Eulerian Video Magnification, Phase-Based Video Motion Processing
Lab material: (Jupyter Notebook)
7 Nov 20 Gradients, edges, contours S4.2,4.3.1-4.3.2 PA2 due
Slides: (pdf, 4pp)
Reading: D. Marr and E. Hildreth, Theory of Edge Detection, Proc. R. Soc. Lond. B, 1980
8 Nov 27 Image smoothing - revisited S3.2 PA3 out (pdf) (github-classroom)
Slides: (pdf, 4pp)
9 Dec 4 Midterm Exam Lab material: (Jupyter Notebook)
10 Dec 11 Image segmentation S5.1-S5.5 PA3 due, PA4 out: (pdf) (github-classroom)
Slides: (
pdf, 4pp)
11 Dec 18 Advanced topics: Deep learning basics Slides: (pdf, 4pp)
12 Dec 25 Advanced topics: Convolutional neural networks PA4 due
Slides: (pdf, 4pp)
13 Jan 1 No class (first day of the new year)
14 Jan 8 Project Presentations

back to top

Course Project

The students taking the course are required to complete a project. The students can work individually or in pairs to apply their newly acquired skills towards developing a photo editing tool with a selection of filters they devise.

For a detailed description of the course project and the related schedule, see this page. In preparing your progress and final project reports, you should use the provided LaTeX template and submit them electronically in PDF format.

back to top


back to top


Related Conferences

  • IEEE International Conference on Computer Vision (ICCV)
  • European Conference on Computer Vision (ECCV)
  • IEEE Conference on Computer Vision and Pattern Recognition (CVPR)
  • IEEE Winter Conference on Applications of Computer Vision (WACV)
  • British Machine Vision Conference (BMVC)
  • Advances in Neural Information Processing Systems (NIPS)
  • IEEE International Conference on Pattern Recognition (ICPR)
  • IEEE International Conference on Image Processing (ICIP)

Related Journals

  • IEEE Transactions on Image Processing (IEEE TIP)
  • IEEE Transactions on Pattern Analysis and Machine Intelligence (IEEE TPAMI)
  • ACM Transactions on Graphics (ACM TOG)
  • International Journal of Computer Vision (IJCV)
  • Computer Vision and Image Understanding (CVIU)
  • Image and Vision Computing (IMAVIS)

Linear Algebra

Resources for scientific writing and talks

back to top

© 2018 Hacettepe University