|V3 + Ü1 (6 ECTS credits)|
Cameras and images form an ever-growing part of our daily lives. Billions of images and massive amounts of video data are becoming available on the Internet. Large search engines are being created to make sense out of this data. And more and more commercial applications are coming up, e.g. in surveillance and security, on consumer devices, for video special effects, in mobile robotics and automotive contexts, and for medical image processing. All those applications are building on visual capabilities. For us humans, those capabilities are natural. But how do we actually accomplish them? And how can we teach a machine to perform similar tasks for us?
The goal of Computer Vision is to develop methods that enable a machine to "understand" or analyze images and videos. This lecture will teach the fundamental Computer Vision techniques that underlie such capabilities. In addition, it will show current research developments and how they are applied to solve real-world tasks. The lecture is accompanied by programming exercises that will allow you to collect hands-on experience with the algorithms introduced in the lecture (there will be one exercise sheet roughly every two weeks).
In the last decades, Computer Vision has evolved into a rapidly growing field with research going into so many directions that no single book can cover them all. We will mainly make use of the following books:
- D. Forsyth, J. Ponce, Computer Vision - A Modern Approach, Prentice Hall, 2002
- R. Szeliski, Computer Vision - Algorithms and Applications, Springer, 2010
- R. Hartley, A. Zisserman, Multiple View Geometry in Computer Vision, 2nd Edition, Cambridge University Press, 2004
- I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, 2016
However, a good part of the material presented in this class is the result of very recent research, so it hasn't found its way into textbooks yet. Wherever research papers are necessary for a deeper understanding, they will be referenced in the lecture slides.