CV701 - Human and Computer Vision
Total Page:16
File Type:pdf, Size:1020Kb
Core Courses Syllabi CV701 - Human and Computer Vision Title Human and Computer Vision Code CV701 Loading 4 Credit-hours Prerequisites • Basics of Linear Algebra, Calculus, Probability and Statistics • Proficiency in Python Catalog Description This course provides a comprehensive introduction to the basics of human visual system and color perception, image acquisition and processing, linear and nonlinear image filtering, image features description and extraction, classification and segmentation strategies. Moreover, students will be introduced to quality assessment methodologies for computer vision and image processing algorithms. Goal This graduate level course will provide a coherent perspective on the different aspects of human and computer vision and give students the ability to understand state-of-the-art computer vision literature and implement components that are essential to many modern machine vision systems. Content This course covers the following major modules: (I) human vision and color perception, (II) digital cameras and computational photography, (III) feature detection (IV) 3D computer vision (V) applications of computer vision. Recommended 1. D. A. Forsyth, and J. Ponce, Computer vision: A Modern Approach, 2nd Textbooks edition, Pearson, 2003. ISBN: 013608592X R. Szeliski, Computer Vision: Algorithms and Applications, Springer Verlag, 2011. ISBN: 1848829345 Recommended Relevant research papers, tech reports, and surveys for each topic, where References & needed, are identified in the teaching plan ahead. In addition, the following Supplemental textbook will be useful: Material R. C. Gonzalez and R. E. Woods, Digital Image Processing, 4th edition, Pearson, 2018. Masdar City, Abu Dhabi, UAE mbzuai.ac.ae Teaching Topics Week 1 Course Overview and Motivation Lecture • Introduction and overview of computer vision problems • Introduction to human-vision • Light and color Lab • Getting started with Python • Practice problems to gain familiarity with libraries: Numpy, Pytorch, etc. 2 Color Science & Digital Cameras Lecture • Introduction to color spaces • Camera and optics Lab • Implementation: transformation of color spaces • Hands on experience with camera and optical instruments (mirrors, lenses, etc.) 3 Computational Photography and Image Filtering Lecture • Computational photography • Image filtering in spatial and frequency domain Lab • Assignment # 1 due 4 Edge Detection and Image Restoration & Enhancement Lecture • Edge detectors: Canny, Sobel, Prewitt, Roberts cross • Image restoration and enhancement: Image denoising, deblurring, super-resolution, color and contrast enhancement Lab • Implement image contrast enhancement technique (unsharp masking) • Implement Gaussian filter to denoise images 5 Clustering and Point Detectors Lecture • Clustering: K-means, Gaussian mixture model (GMM), mean shift, • Point detectors: Harris corners, Shi and Tomasi Lab • Implementation of K-means clustering algorithm Masdar City, Abu Dhabi, UAE mbzuai.ac.ae Teaching Topics Week 6 Blob Detection and Feature Descriptors Lecture • Blob detection: Laplacian of Gaussian (LoG), Difference of Gaussian (DoG), Determinant of Hessian (DoH) • Feature descriptors: Scale-Invariant Feature Transform (SIFT), Speeded-up Robust Features (SURF), Gradient Location and Orientation Histogram (GLOH), Histogram of Oriented Gradients (HOG) Lab • Assignment # 2 due 7 Camera Calibration and Projective Geometry Lecture • Image to image projections • Camera calibration: extrinsic and intrinsic parameters • Projective geometry: Euclidean transformations, affine transformations, homographies Lab • Implement image rotation, translation, and warping 8 Introduction to 3D Computer Vision Lecture • Perspective imaging • Stereo vision • Epipolar geometry • Multi-view reconstruction Lab • Implement artifact-free view interpolation from stereo pairs 9 Crash Course on Machine Learning Lecture • Crash course on machine learning: supervised learning (parametric/non-parametric learning, support vector machines), unsupervised learning (clustering, dimensionality reduction) Lab • Implementation of linear Support Vector Machine (SVM) classifier from scratch 10 Crash Course on Neural Networks Lecture • Crash course on Neural Networks: Multi-layer perceptron, backpropagation, and convolutional neural networks Lab • Assignment # 3 due Masdar City, Abu Dhabi, UAE mbzuai.ac.ae Teaching Topics Week 11 Optical Flow and Classic Visual Tracking Approaches Lecture • Optical flow, Lucas-Kanade, Horn and Schunk, SIFT-flow • Particle filters, kernel-based object tracking Lab • Implementation of object tracking using template matching 12 Action Recognition and Video Object Segmentation Lecture • Action recognition • Video object segmentation Lab • Reproduce the results of a recent state-of-the-art action recognition or video object segmentation approaches 13 Human Pose Estimation Lecture • Traditional techniques for human pose estimation • Deep learning based methods for human pose estimation Lab • Assignment # 4 due 14 Overview of Related Applications Lecture • Medical Imaging • Computer graphics and rendering, visualization Lab • Use hourglass network designed in assignment 4 to automatically segment the retinal blood vessels for early detection of diabetic retinopathy 15 Guest Lecture & Review Lecture • Guest Lecture on trending topic Lab • Review and Exam Preparation Masdar City, Abu Dhabi, UAE mbzuai.ac.ae.