CSE327: Computer Vision


Instructor: Prof. Dimitris Samaras

Spring 2021: Tuesday and Thursday  4:45 – 6:05 online on Zoom (Blackboard)

Course Syllabus

The aims of this course are to provide an understanding of the fundamentals of Computer Vision and to give a glimpse in the state-of-the-art, at a moment when the field is achieving "critical mass" and has significant commercial applications. Apart from basic theory we will look at applications of Computer Vision in Robotics, Graphics and Medicine. Topics in this course:


  1. Image Formation

Basic facts about light

Anatomy of a camera


  1. Image Noise
    Modeling image noise

Smoothing images

Image Pyramids

  1. Image Features
    Point Features, Corners
    Edge Features



  1. Model Fitting
    Lines, Curves
    The Hough Transform



  1. Perspective Projection

Homogeneous Coordinates

Image Warping, Mosaics

  1. Object Recognition

Object representation

PCA for Image Patches


Object Categories  

  1. Deep Learning Practice

Convolutional Neural Networks




Data Augmentation

  1. Multiple View Geometry
    Stereo Viewing and Reconstruction

       3D Range Scanning

  1. Segmentation

Grouping, SuperPixels

Nearest Neighbors


Semantic Segmentation

  1. Motion

Motion Capture

Tracking in 2D and 3D

Recurrent Neural Networks

Action Recognition

  1. Illumination

Shading, Shadows,

Reflectance properties

  1. Big Data

Annotated Data Sets


Weakly Supervised and

Unsupervised Learning




Intended Audience:

This course is intended for undergraduate students with interests in all areas of Visual Computing, such as Computer Vision, Computer Graphics, Visualization, Biomedical Imaging, Robotics, Virtual Reality, Computational Geometry, Optimization, Deep Learning, HCI. Prerequisites include a foundation in Linear Algebra and Calculus, and the ability to program. We will be programming in Python (OpenCV, NumPy, SciKit).


There will be 5-6 homeworks, a final, a midterm and 4 10 min quizes. You can do an optional project instead of the last two homeworks. Homeworks will be 60%, and the exams 40%. The worse of quizzes will be discarded. Weights are approximate and subject to change. You are expected to do homeworks by yourselves. Even if you discuss them with your classmates, you should turn in your own code and write-up. Do not share your code!  Final projects can be done by one or two people. Two people projects will be scaled accordingly. There will be 3 free late dates for the semester. After that there will be 10% penalty per day.

      You can do a project instead of the final homework. Projects will be done in up-to 2 people teams, and will require a significant programming and documentation effort. This will probably be much more work than doing the final homework. Two people projects will be scaled accordingly.

 Midterm date:  March 23rd, 2021
You can have one sheet of paper with notes in the midterms.


Computer Vision: Algorithms and Applications by Richard Szeliski (2010) Main text, available online.

Computer Vision: A Modern Approach by David Forsyth and Jean Ponce (2012)

Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, (1998)

Readings from these books and notes for all topics will be posted on blackboard


Academic misconduct policy:

Don't cheat. Cheating on anything will be dealt with as academic misconduct and handled accordingly. I will not spend a lot of time trying to decide if you actually cheated. If I think cheating might have occurred, then evidence will be forwarded to the University's Academic Judiciary and they will decide. If cheating has occurred, an F grade will be awarded. Discussion of assignments is acceptable, but you must do your own work. Near duplicate assignments will be considered cheating unless the assignment was restrictive enough to justify such similarities in independent work. Just think of it that way: Cheating impedes learning and having fun. The labs are meant to give you an opportunity to really understand the class material. If you don't do the lab yourself, you are likely to fail the exams. Please also note that opportunity makes thieves: It is your responsibility to protect your work and to ensure that it is not turned in by anyone else. No excuses! The University has a relevant policy:

“Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Any suspected instance academic dishonesty will be reported to the Academic Judiciary. For more comprehensive information on academic integrity, including categories of academic dishonesty, refer to the academic judiciary website at http://www.stonybrook.edu/uaa/academicjudiciary/

Disability note:

If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, I would urge that you contact the staff in the Disabled Student Services office (DSS), Room 133 Humanities, 632-6748/TDD. DSS will review your concerns and determine, with you, what accommodations are necessary and appropriate. All information and documentation of disability is confidential.

Contact info:
We will be using Piazza for class discussion. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza so everyone may benefit from the answers.
Our class page is piazza.com/stonybrook/spring2021/fundamentalsofcomputervision

Zoom info is on blackboard and piazza.


    D. Samaras, Email: samaras@cs.stonybrook.edu

Office Hours: Tue., 2.30-3.30pm, Thu 6:30-7:30pm or by appointment, on zoom or rm NCS 263

    TA: Qiaomu Miao, Email: qiamiao@cs.stonybrook.edu

 Office Hours: Friday 10:00 am-11:30am on zoom