CSE527: Introduction to Computer Vision

http://www.cs.stonybrook.edu/~cse527

Instructor: Prof. Dimitris Samaras

Fall 2025: Tue-Thu  5-6:20

 

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:

Note: contents may be up to change to reflect the fast evolution of the frontier of computer vision.

 

1.              Image Formation

o        Geometric and photometric basis of imaging

o        Camera geometry

2.              Image processing

o        Pixel-level operations

o        Filtering

3.              Model Fitting

o        Under- and over-fitting

o        Robust fitting

4.              Machine learning

o        Basic concepts in machine learning

o        Deep learning: CNNs

o        Deep learning: Transformers

5.              Visual recognition

o        Object recognition

o        Object detection

o        Semantic segmentation

o        Vision Language Models (VLMs)

 

6.              Feature matching

o        Local features

o        Hough transform and RANSAC

7.              Motion

o        Optical flow

o        Object tracking

8.              Structure from motion

o        Two- and Multi-frame SfM

o        SLAM

9.              Depth estimation

o        Epipolar geometry

o        Stereo 3D reconstruction

10.            Augmented reality

o        Illumination

o        Neural Rendering

11.            Deep Generative Models

o        Autoencoders

o        Generative Adversarial Networks

o        Diffusion Models

 

Intended Audience:

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

 

Grading:

There will be four homeworks, three quizzes, a midterm and a final. Homeworks will be  25%, quizzes 20% total, the midterm 25%, and the final 30%. 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! There will be 4 free late dates for the semester. After that there will be 10% penalty per day.

 

You can do a project instead of the final exam. 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 taking the final. Two people projects will be scaled accordingly.

 

Quiz 1: Sep 11th 2025 (tentative)

Quiz 2: Oct 2nd 2025 (tentative)

Quiz 3: Nov 13th 2025(tentative)

Midterm date:  Oct 23rd 2025,

Final date: Dec 11th 2025. Projects due Dec 12th 2025.

You can have one sheet of paper with notes in the exams.

 

Textbook:

Computer Vision: Algorithms and Applications by Richard Szeliski (2nd  ed. 2022) Main text, available online.

Foundations of Computer Vision by Antonio Torralba, Phillip Isola, William Freeman, (2024), available online.

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

Deep Learning, Goodfellow and Yoshua Bengio, Aaron Courville, 2016, MIT press.

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

 

Student Accessibility Support Center Statement:

If you have a physical, psychological, medical, or learning disability that may impact your course work, please contact the Student Accessibility Support Center, Stony Brook Union Suite 107, (631) 632-6748, or at sasc@stonybrook.edu. They will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential.

 

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 occurres, 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. It is your responsibility to protect your work and to ensure 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. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Professions, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at: http://www.stonybrook.edu/commcms/academic_integrity/index.html

Code-Assistance Policy: 

This class seeks to set a foundation for you to be at the forefront of computer vision in both research and industry practice. Code generating tools are a reality for those working in research and industry software engineering. However, assignments that are fully solved by querying such a tool do not aid in learning and limit students to only solving problems that are already used. The policy below is meant to balance the reality of code generating tools to be used as an aid for support with the learning objectives of the course. Your own, original work must constitute the central logic and structure of your code.

Use of code generating/completion tools (ChatGPT, GitHub CoPilot, etc…) is allowed if and only if: 

1. it is explicitly stated in the assignment description

2. the tool is freely available to all students

3. you comment your code to:

       i. mark the code segment ("#BEGIN" and "#END") as well as 

       ii. reference the tool name, web address, and the prompt used to get the code.

Critical Incident Management:

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of University Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.

 

Contact info:

·                Dimitris Samaras, Email: samaras@cs.stonybrook.edu 

·                Office Hours: Tue., 3-4pm, Wed., 4-5 pm, or by appointment, in room NCS 263

·                TAs: Ravindu Nagasinghe (OH: Thursday 9-10 am), Md Shahrar Fatemi (OH: Monday 12:00pm-1:00pm), Drosos Drosakis (OH: Friday 1:00pm – 2:00pm) in room Old CS 2126