EE 576 – Machine Vision Spring 2018  Course Information

The aim of this course is to provide an overview of machine vision. This 1-semester course covers the fundamentals of the following topics:

Images, extraction of low-level features, boundary and region based analysis, segmentation and grouping, lightness and color, shape from shading. photometric and binocular stereo, optical flow and motion estimation, tracking, texture analysis.



Lectures: Mondays 11-12 @ Fourier, Wednesdays 9-11 Fourier

Instructor: Prof. H. Isil Bozma

Teaching Assistant: Kadir Türksoy   kadir.turksoy  at

Prerequisites : C or C++,  Working knowledge of Matlab & Simulink,

Image Processing (Advised, but not required)


There is no specific text book specified for the course. The recommended reading for this course includes:

  • Robot Vision by Berthold Klaus Paul Horn (MIT Press, 1986) 
  • Machine Vision: Theory, Algorithms, Practicalities by E. R. Davies (Morgan Kaufmann Publications 2005) ·
  • Machine Vision by Ramesh Jain, Rangachar Kasturi and Brian Schunk (McGraw Hill 1995).
  • Introductory Techniques for 3-D Computer Vision by Emanuele Trucco and Alessandro Verri (Prentice Hall 1998)

Some additional references:

  • Image Processing, Analysis, and Machine Vision by Sonka, Hlavac, and Boyle (ITP, 1999) .
  • Digital Image Processing by Rafael C Gonzalez and Richard E Woods (Addison Wesley, 1992) MPSL 621.367 1992 DIG.


Grading will be based on  class participation and performance,  projects , one midterm and a final. The weights of each will be roughly.

Class participation 10%

Projects 45%

Midterm 17%

Final 28%

The following are required to be able to take the final exam:

Projects – All projects must be turned in.


Syllabus – 

Pls note that I will be updating the notes as we progress throughout the semester.

Pls make sure that you get the most updated notes.

Tentative Schedule (Updated: 28.03.2018)

  • Week  1 (5-9 Feb)


-Lecture presentation: Intro 

Camera models and calibration

Lecture presentation:  Camera and Image Formation

  • Week 2 ( 12-16 Feb )

hw1:  Pls do the exercise on  opencv calibration exercise

  • Week 3 (19 – 23 Feb )

Image formation

Lecture presentation: Light and Image Formation

  • Week 4 ( 26 Feb -2 Mar )


Lecture presentation: :color

Enhancement, Morphology, Binary images

Lecture presentation: :Enhancement,


  • Week 5 ( 5 – 9 Mar)


Feature presentation: Features


  • Week 6 (12 – 16 Mar )


  • Week 7 ( 19 – 23 Mar)


Lecture notes:   Segmentation

Ready segmentation codereference


  • Week 8 (26– 30 Mar)

Shape Descriptors

Lecture presentation:  Shape descriptors

Reference material: Kuhl-Giardina

hw4  efd code

  • Week 9 (2 – 6 April)

Object  recognition:

Lecture presentation:  Object Recognition

Scene  recognition:

Lecture presentation:Scenes


Single Image Viewing

Lecture presentation:  Single image viewing


Midterm 1  – 2 April 2018 17-19 Monday

  • Week 10 ( 9 – 13 April)

Motion Field and Optical Flow

Lecture  presentation: Optical Flow

  • Week 11 ( 16 – 20 April)

Spring Break

  • Week 12 (23- 28 April)

Tracking, etc.

Lecture presentation: TrackingPres


  • Week 13 (30 Apr – 4 May)

3D Motion

Lecture presentation: 3D Motion Estimation

Binocular  Stereo

Lecture presentation: Binocular Stereo


  • Week 14 (7 – 11  May)

Photometric Stereo

Lecture presentation:  : Photometric Stereo


Final project


  1. PCB Dataset
  2. Objects Dataset


In your projects, BE SURE TO REFER TO ANY LITERATURE/EXTERNAL CODE you have examined or used.

A separate REFERENCE section must be added to the end of all your reports.

Again, I assume that the projects have not been or are currently being done for other courses, etc.· You must present simulation results done in a statistical manner·

Pls send your source code, ( if applicable) data and report  in a rar file with a name containing your name and  project number – ie.  LastnameFirstnamePrX.rar   both to me and the course TA  Kadir Turksoy.  The report  must be handed in a printed form either to me or to the course TA.

You must present a conclusion regarding your work.

The grading of the projects will be done as follows:

Explanation Points
Checking and verification of execution of code 30 pts
Header of the code inc. author, course,project no, etc. 5 pts
Documentation –where every class and method must be commented including comments of statements themselves. 15 pts
Programming discipline (indentations and ease of following code) 5 pts
Code ( Content of code, creativity, etc.) 45 pts
Total 100 pts

OpenCV Intel’s OpenCV library, a very comprehensive open source vision library of C functions. A free source code version is available from SourceForge which you are recommended to download and install.