|Subject Area||Signals, Communications, and Networking|
|Semester||Semester 8 – Spring|
The course covers the main topics, related algorithms, and computational tools in the field of computer vision. In more detail, the following are covered:
- Geometric primitives and transformations (2D and 3D).
- Main concepts in image formation and digital camera basics.
- Basic image processing operations, namely linear filtering, additional neighborhood operations, Fourier transform, and Gaussian / Laplacian pyramidal image representation.
- Feature detection, matching, and alignment, including the Harris detector and SIFT descriptors, the Canny edge detector, the Hough transform, as well as efficient and robust feature matching algorithms and the RANSAC approach.
- Motion estimation, optical flow, and object tracking, including mean-shift, cam-shift, Kalman and particle filters.
- Stereo vision, including intrinsic and extrinsic camera parameters and calibration, disparity maps, epipolar constraints, triangulation, image rectification, and structure from motion.
- Object recognition and scene understanding employing various classification and clustering approaches, in conjunction with various applications such as face detection, category recognition, and image segmentation.
- Basic computational tools in Matlab and OpenCV corresponding to the above.
This course introduces students to the basic concepts and algorithms employed in modern computer vision systems, while also providing numerous examples to allow student familiarization with them, as well as practical computational tools within the Matlab and OpenCV software frameworks, further demonstrating these.
Students successfully completing this class will have mastered the main concepts, algorithms, and tools of computer vision. For example, they will be able to:
- Mathematically describe 2D and 3D geometric primitives and transformations.
- Describe the process of image formation and digital camera operation principles.
- Apply appropriate filtering operations to image data and decompose images into multi-scale Gaussian and Laplacian pyramids.
- Detect and represent semantically important image features by applying algorithms such as the Harris detector, SIFT descriptors, edge detectors, and the Hough transform, as well match them across images employing algorithms such as least squares or RANSAC.
- Estimate motion and track objects in videos, employing appropriate algorithms such as optical flow, mean shift, and others.
- Describe the basic ideas of stereo vision, estimate camera calibration parameters, compute disparity maps, and perform image rectification and triangulation.
- Employ appropriate classification and clustering algorithms to perform object detection and scene understanding, with particular emphasis in specific application such as face detection, category recognition, and image segmentation.
- Create code in Matlab and OpenCV to implement the above tasks.