Ths course gives an overview of fundamental methods in computer vision from a computational perspective. Methods include computation of 3-D geometric constraints from binocular stereo, motion, texture, shape-from-shading, and photometric stereo. Edge detection and color perception are studied as well. Elements of machine vision and biological vision are also included.
Students are expected to have adequate mathematical preparation, including familiarity with calculus, linear algebra, and basic probability. They are also expected to be able to program in a high level language and/or be familiar with Matlab.
Credit Hours: 3 (application)
Professor: Gregory D. Hager
E-mail: hager at cs dot jhu dot edu
Office: Hackerman 121, Homewood Campus
Office hours: By appointment
Teaching Assistant: TBD
Problem Session: TBD
Office hours: TBD
Schedule: Vision Course Schedule/Notes 2012
Matlab: Student Version of Matlab
Python: OpenCV installation and usage notes
Class Email: TBD
Texts and Other Resources
I am beginning to use an online version of class notes located at [ https://cirl.lcsr.jhu.edu/Introduction_To_Computer_Vision@JHU ]. If you wish to have a “real” textbook, I would recommend the following:
Computer Vision: Algorithms and Applications by Richard Szeliski
Other books include:
- Computer Vision: A Modern Approach by D. Forsyth and J. Ponce
- Multiple View Geometry in Computer Vision by R. Hartley and A. Zisserman
- An Invitation to Computer Vision by Ma, Soatto, Kosecka, and Sastry
- Robot Vision by BKP Horn, MIT Press, 1986.
- Machine Vision, R.C. Jain, R. Kasturi and B.G. Schunck, McGraw-Hill, 1995.
- Computer vision by Dana H. Ballard, Christopher M. Brown.
- Image processing, analysis, and machine vision by Milan Sonka, Vaclav Hlavac, and Roger Boyle.
Overview readings that will reinforce this material:
- Review Linear Algebra Material, including matrices, vectors, transformations, SVD.
- Review basic probability concepts.
This course is intended for first year graduate students and advanced undergraduate. The only listed prerequisite is Data Structures. However, familiarity with calculus and basic linear algebra are also necessary to fully understand the material in the course. Elementary probability and statistics is also useful. The ability to program in a high level language and/or familiarity with Matlab is essential.
Goals and Evaluation
The goal of this course is to acquaint you with the fundamentals of computer vision, to teach you the practice of implementing computer vision algorithms, and to give you an appreciation of current and potential applications of computer vision. There will be four to five homework assignments, one exam, and a final project. Grading will be approximately 50% on the homework assignments, 25% on the exam, and 25% on the final project.
Homeworks are due on by midnight on listed due date if submitted online, and must be turned in by 5:00 in the afternoon if submitted on paper. Late homework is frowned upon. 10% of the possible grade is deducted for each day late. If there is ever a situation which prohibits you from turning in your homework on time, you must alert the Office of Student Affairs because I will check with them to verify the claims.
Honor Code Above all, you must not misrepresent someone else’s work as your own. You can avoid this in two ways:
Do not use work from someone else.
Give proper credit if you do use someone else’s work.
Naturally, even if you give appropriate credit, you will only receive credit for your original work, so for this class you should stick with option #1. All cases of confirmed cheating/plagiarism will be reported to the Student Ethics Board.
Please read the Computer Science Academic Integrity Code.