Computer Vision (CV) enables machines to extract meaningful information from digital images and videos. The field has moved from manual feature engineering to deep learning-based automated feature extraction.

Convolutional Neural Networks (CNNs)

CNNs are the foundation of modern CV. They use 'convolutional layers' to automatically learn spatial hierarchies of features, from simple edges to complex object parts.

  • Convolution: Sliding filters over the image to detect patterns.
  • Pooling: Reducing the spatial dimensions (downsampling) to make the model invariant to small translations.
  • Fully Connected Layers: Using the extracted features for the final classification.

Object Detection & YOLO

Object detection involves both identifying what objects are in an image and where they are (bounding boxes). YOLO (You Only Look Once) revolutionized this by treating detection as a single regression problem, enabling real-time performance.

CV Task Hierarchy

  • Image Classification: What is in this image?
  • Object Detection: What is where? (Bounding boxes)
  • Semantic Segmentation: Which pixel belongs to which class?
  • Instance Segmentation: Which pixel belongs to which specific object?

Vision Transformers (ViT)

Vision Transformers apply the Transformer architecture (originally for NLP) to images. They treat an image as a sequence of patches, allowing the model to capture global relationships more effectively than local CNN filters.