EE 576 – Machine Vision Spring 2020

Course Information

The aim of this course is to introduce the students to the fundamental problems of  machine vision and the approaches that have been proposed for solving these problems. The topics covered include the following: Images, image formation, light and image formation, color, visual processing, features, segmentation, shape descriptors, object recognition, scene recognition, optical flow, tracking, motion estimation,  binocular stereo, photometric stereo.


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

Instructor: Prof. H. Isil Bozma

Teaching Assistant: Serhat İşcan  serhat_iscan 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  projects, two midterms and a final project.

The weights of each will be roughly.

Projects 40%,  Midterm  1 17%, Midterm 2  28%, Final project  15%

This part will be modified! I will announce the new weights. Pls be patient.

All projects must be turned and be completed to a passing degree in order to be eligible for taking the second midterm

Syllabus  and Tentative Schedule

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.

  • Week  2 (10-14 Feb)
    • Introduction
  • Week 6 (9 -13  Mar )
  • Week 9 -10  (31 Mar -3 Apr ->  20 Apr – 1 May  ~ 2 weeks)
  • Week 11 (6- 10 April ->  4 – 8 May)
  • Week 13-14 (11 – 13  May  -> 18 – 29 May)



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. 10pts
Programming discipline (indentations and ease of following code) 5 pts
Code ( Content of code, creativity, etc.) 50 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.