Introduction to Computer Vision
Introduction to Computer Vision
- Definition: The process and techniques involved in using computers to extract information from images and videos.
- Applications: Autonomous vehicles, quality assurance in manufacturing, facial recognition, etc.
- Significance: More companies are employing computer vision for product improvement and innovation.
Course Overview
- The course is segmented into units, each dealing with specific topics in computer vision.
- Learning Objectives:
- Understand human visual systems and their computational parallels.
- Gain expertise in image acquisition and processing techniques.
- Learn about filtering, low-level features, deep learning in high-level tasks, and video processing.
Unit 1: Vision Fundamentals
Study Goals
- Understand how the human visual system functions.
- Learn how cameras capture scenes into images.
- Represent scenes in digital images using numbers.
1.1 The Human Visual System
- Components: Cornea, pupil, lens, retina, optic nerves, visual cortex.
- Functionality: Processes visual information and allows for vision.
1.2 Camera Types
- Pinhole Camera: Simple; does not use lenses, images are inverted.
- Lens Cameras: More complex; capture images through lenses.
1.3 Image Sensors
- Types: Charge-Coupled Devices (CCD) and Complementary Metal-Oxide-Semiconductors (CMOS).
- Working: Convert light into electrical signals, use a RGB Bayer filter to produce color images.
- RGB Representation: Each pixel has a value representing its intensity (0 for black and 255 for white).
Unit 2: Image Filtering
Study Goals
- Grasp the importance of image filtering techniques.
- Comprehend basic filtering methods and their applications.
Key Topics
- Convolution: A fundamental operation for filtering; combines input pixels' values to produce output.
- Linear vs Non-linear Filters: Linear filters apply convolution; non-linear filters can retain edges while reducing noise.
- Common Filters:
- Median Filter: Effective against salt-and-pepper noise.
- Gaussian Filter: Blurs images using Gaussian distribution.
Unit 3: Low-Level Vision
Study Goals
- Understand low-level vision's essential techniques.
- Define what constitutes a feature in computer vision.
Concepts
- Blobs: Regions in an image significantly different in intensity from the background, used for object detection.
- Edge Detection: Identifying boundaries between objects based on changes in intensity.
- Feature Detectors: Algorithms like LoG (Laplacian of Gaussian), DoH (Determinant of Hessian) help in blob detection.
Unit 4: High-Level Vision
Study Goals
- Comprehend the composition of deep learning models.
- Understand the application of CNNs in computer vision.
Key Topics
- Deep Learning: Involves using ANN (Artificial Neural Networks) for tasks like image recognition.
- Convolutional Neural Networks (CNN): Specialized architecture for processing grid-like data such as images.
- Object Recognition Techniques:
- YOLO (You Only Look Once): Real-time object detection model.
- R-CNN (Region-based Convolutional Neural Network): Uses region proposals for object localization.
Unit 5: Video
Study Goals
- Relate video processing to image analysis.
- Understand object tracking and action classification techniques.
Concepts
- Motion Detection: Identifying changes between successive video frames.
- Optical Flow: Estimates motion based on changes in brightness patterns across frames.
- Object Tracking: Following a moving object across video frames using algorithms to maintain continuity.
- Action Recognition: Identifying human activities through video analysis.
Additional Resources
- Basic and further reading materials mentioned for deeper understanding.
- Course structure includes self-checking questions and knowledge tests for evaluation.
- Access additional material through the learning platform for enriched learning experience.