Navigation

Introduction to AI

Machine Learning

Deep Learning

Generative AI

Tools & Frameworks

General

Convolutional Neural Networks - Revolutionizing Image Processing

Convolutional Neural Networks (CNNs) represent a breakthrough in processing images and visual data. By incorporating domain knowledge about image structure, CNNs achieve remarkable accuracy on vision tasks. This post explores how they work.

The Problem with Fully Connected Networks

Standard neural networks treat each pixel as independent input. For images:

Issues:

  • 256×256 image = 65,536 inputs
  • Fully connected layer to 1000 neurons = 65 million parameters
  • Computational explosion
  • Spatial relationships ignored
  • Hard to train with limited data

Insight: Images have structure:

  • Nearby pixels related more than distant ones
  • Patterns (edges, corners) repeat across image
  • Translation invariance (same object anywhere in image)

CNNs exploit this structure.

Core Concepts

Convolution Operation

Idea: Slide small filter across image, computing dot product at each position.

Intuition: Filter learns to detect patterns (edges, textures, shapes)

Example: Edge Detection

Image           Filter         Output
[3 1 2]         [1 0]         [3×1 + 1×0 + 1×1 + 2×0] = 4
[1 2 1]    *    [0 1]    =    [1×1 + 2×0 + 2×1 + 1×0] = 3
[2 1 3]                        ...

Filter slides one step right, then next row
Each position produces one output value

Mathematical Definition:

(Image * Filter)[i,j] = Σ Σ Image[i+a, j+b] × Filter[a,b]

Filter/Kernel

Small matrix learned by network.

Common Sizes:

  • 3×3: Most common
  • 5×5: Larger receptive field
  • 1×1: Combines information

Interpretation:

  • Each neuron: One filter
  • Each filter: Detects specific pattern
  • Layer with N filters: N feature maps

Multiple Filters

Each convolutional layer has multiple filters, each detecting different patterns.

Example:

  • Layer 1 Filter 1: Vertical edges
  • Layer 1 Filter 2: Horizontal edges
  • Layer 1 Filter 3: Corners

Result: Multiple feature maps, one per filter

CNN Architecture Components

1. Convolutional Layer

Operation: Apply filters to input

Process:

  1. Apply filter to all positions in image
  2. Each filter produces feature map
  3. Multiple filters produce multiple maps

Parameters:

  • Number of filters (e.g., 32)
  • Filter size (e.g., 3×3)
  • Padding (add zeros around edges)
  • Stride (how many pixels to slide)

2. Activation Function

Purpose: Introduce non-linearity

Typical: ReLU (f(x) = max(0, x))

Applied: After convolution, before pooling

3. Pooling Layer

Purpose: Reduce spatial dimensions, retain important information

Max Pooling (most common):

Input:              Max Pool (2×2):
[1 3 2 5]          [3 5]
[4 2 1 3]     →    [9 7]
[3 9 4 7]
[2 6 8 1]
  • Slide 2×2 window, take maximum
  • Stride typically 2 (no overlap)
  • Reduces size by half

Advantages:

  • Reduces computation
  • Provides translation invariance
  • Extracts dominant features

Average Pooling:

  • Take average instead of max
  • Less common
  • Smooth features

4. Fully Connected Layer

Purpose: Classification after feature extraction

Process:

  • Flatten feature maps
  • Pass to dense layers
  • Final layer: Softmax for probabilities

Example:

Flattened features (e.g., 1024 values)

Dense layer (512 neurons)

Dense layer (256 neurons)

Output layer (10 classes for digits)

Softmax probabilities

Typical CNN Architecture Flow

Input Image

Conv Layer (32 filters, 3×3) → Activation (ReLU)

Max Pooling (2×2)

Conv Layer (64 filters, 3×3) → Activation (ReLU)

Max Pooling (2×2)

Conv Layer (128 filters, 3×3) → Activation (ReLU)

Max Pooling (2×2)

Flatten

Dense Layer (256 neurons)

Dropout (prevent overfitting)

Output Layer (10 classes)

Softmax Probabilities

Feature Hierarchy

CNNs learn hierarchical features:

Layer 1: Simple patterns

  • Edges
  • Corners
  • Textures

Layer 2: Simple combinations

  • Shapes
  • Parts
  • Local patterns

Layer 3: Complex structures

  • Objects
  • Faces
  • Animals

Layer 4: Full semantics

  • Classification
  • Recognition
  • Understanding

Example: Dog Recognition

L1: Edges, textures
L2: Fur patterns, nose shape
L3: Eye structure, ear shape
L4: "This is a dog"

Famous CNN Architectures

LeNet (1998)

Historical: First successful CNN

Architecture:

  • 2 conv layers
  • 2 pooling layers
  • 3 fully connected layers

Trained on: Handwritten digit recognition

AlexNet (2012)

Breakthrough: Deep learning renaissance

Architecture:

  • 5 conv layers
  • 3 pooling layers
  • 3 fully connected layers
  • 60 million parameters

Innovation:

  • ReLU activation
  • GPU training
  • Dropout
  • Data augmentation

Impact: Won ImageNet competition with huge margin

VGGNet (2014)

Key Insight: Depth matters

Architecture:

  • 16-19 layers
  • All 3×3 filters
  • Showed importance of depth

ResNet (2015)

Innovation: Residual connections

Key Idea:

  • Skip connections bypass layers
  • Allows training very deep networks (152+ layers)
  • Easier optimization
Input ──────────┐
    ↓           ↓
  Conv    +  [Skip]
  Conv    ↓
    ├─────┘

  Output

MobileNet (2017)

Focus: Efficiency

Innovation:

  • Depthwise separable convolutions
  • Fewer parameters
  • Faster on mobile devices

Advantages of CNNs

  • Spatial Awareness: Understands image structure
  • Parameter Efficiency: Weight sharing (same filter everywhere)
  • Translation Invariance: Recognizes objects anywhere
  • Learned Features: Automatically discovers useful patterns
  • Proven: State-of-the-art on vision tasks

Parameters and Computation

Parameter Reduction

Example:

  • Input: 256×256×3
  • Fully connected: 196,608 weights per neuron
  • Conv 3×3×3: Only 27 weights per filter

With 32 filters: 864 weights total vs millions for dense layer

Computational Complexity

Key Insight: Convolutions much cheaper than fully connected layers

Impact:

  • Can train on GPUs
  • Feasible for large images
  • Enables deep networks

Training Considerations

Data Augmentation

Artificially increase training data:

  • Rotation
  • Flipping (horizontal/vertical)
  • Cropping
  • Brightness/contrast adjustment
  • Color jittering

Benefit: More robust, prevents overfitting

Transfer Learning

Use pre-trained networks:

  1. Start with ImageNet-trained network
  2. Remove classification layer
  3. Add task-specific layer
  4. Fine-tune on your data

Advantage: Drastically reduces training data needed

Dropout

Randomly disable neurons during training:

  • Prevents co-adaptation
  • Reduces overfitting
  • Typical rate: 0.5

Practical Applications

  • Image Classification: What’s in the image?
  • Object Detection: Where are objects? (with location)
  • Semantic Segmentation: Pixel-level classification
  • Face Recognition: Identify people
  • Medical Imaging: Detect diseases in X-rays, CT scans
  • Autonomous Driving: Road scene understanding
  • Satellite Imagery: Land use classification

Conclusion

CNNs revolutionized computer vision by incorporating domain knowledge about image structure. Convolutions efficiently extract spatial features; pooling reduces dimensions; deep architectures learn hierarchical representations. From LeNet to ResNet, CNNs have evolved to handle increasingly complex tasks. Understanding convolutional layers, pooling, and architectural components enables building effective vision systems. CNNs remain the gold standard for image-related AI tasks.