Instructor: Prof. Dimitris Samaras
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:
Basic facts about light
Anatomy of a camera
Image Warping, Mosaics
PCA for Image Patches
Convolutional Neural Networks
3D Range Scanning
Tracking in 2D and 3D
Recurrent Neural Networks
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.
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
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/
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.
Zoom info is on blackboard and piazza.