0% found this document useful (0 votes)
11 views22 pages

0 Image Processing

Chapter 1 provides an overview of image processing techniques, including grayscale conversion, histogram equalization, and various filtering methods for noise reduction and edge detection. It emphasizes the importance of preparing images for analysis, particularly in satellite imagery, and introduces advanced techniques like CLAHE and deep learning approaches for image enhancement. The chapter concludes with a summary table of techniques, their applications, and key formulas.

Uploaded by

Ayush Tembhare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views22 pages

0 Image Processing

Chapter 1 provides an overview of image processing techniques, including grayscale conversion, histogram equalization, and various filtering methods for noise reduction and edge detection. It emphasizes the importance of preparing images for analysis, particularly in satellite imagery, and introduces advanced techniques like CLAHE and deep learning approaches for image enhancement. The chapter concludes with a summary table of techniques, their applications, and key formulas.

Uploaded by

Ayush Tembhare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

📘 Chapter 1 (Revised): Image Processing – Deep

Dive

🧠 1.1 What is Image Processing?


Image Processing involves applying algorithms to digital images (like satellite images) to extract
meaningful information or enhance their quality for further tasks like classification or object detection.

🚀 Why do we need it?


• Satellite images may have blur, poor contrast, or noise.
• Algorithms like Deep Learning work better on cleaned and standardized data.
• It prepares the image for visual interpretation or model training.

🎨 1.2 Grayscale Conversion


❓ Why?
• Reduces 3-channel (RGB) to a 1-channel.
• Most algorithms (e.g., Sobel, Histogram Equalization) need grayscale input.

⚙ How it works?
Each RGB pixel is transformed using human visual sensitivity weights:

$$ \text{Gray} = 0.299R + 0.587G + 0.114B $$

These weights come from the luminance perception of the human eye (we are more sensitive to green
than red or blue).

📊 1.3 Histogram Equalization


❓ Why?
To enhance image contrast, especially in dull or hazy images.

⚙ How it works?
• The pixel intensity range is usually concentrated in a narrow band (e.g., mostly mid-gray).
• Histogram equalization spreads out this range over the full 0–255 scale.
🔍 Step-by-step:
1. Count number of pixels at each intensity (create histogram).

2. Compute probability $p_k$ for each intensity.

3. Compute cumulative distribution function (CDF):

$$ CDF(k) = \sum_{j=0}^k p_j $$

4. Compute new pixel value:

$$ \text{new\_val} = \text{round}(CDF(k) \times (L - 1)) $$

where $L = 256$

🛠 Limitation:
May over-enhance noise or create artifacts in uniform areas.

🧱 1.4 CLAHE – Contrast Limited Adaptive Histogram


Equalization
❓ Why use CLAHE instead of normal HE?
Normal Histogram Equalization works globally, but CLAHE works locally.

⚙ How it works?
1. Divide image into tiles (e.g., 8x8).
2. Apply histogram equalization within each tile.
3. Limit contrast using a clip limit.
4. Interpolate between tiles to remove boundary artifacts.

🔍 What’s the clip limit?


Prevents too much amplification of noise in homogeneous areas by clipping histogram bins at a certain
threshold.

🧽 1.5 Gaussian Filtering


❓ Why?
To remove Gaussian noise and smooth the image.
⚙ How it works?
Apply a Gaussian kernel (a bell-shaped 2D matrix) to every pixel and its neighbors.

🧮 Formula:
$$ G(x, y) = \frac{1}{2\pi\sigma^2} \cdot e^{-\frac{x^2 + y^2}{2\sigma^2}} $$

Here:

• $\sigma$ = standard deviation (controls the "spread")


• $x, y$ = distance from the center pixel

The output pixel is a weighted average, giving more weight to central pixels.

🔳 1.6 Median Filtering


❓ Why?
To remove salt-and-pepper noise (random black & white dots).

⚙ How it works?
1. Take a 3x3 or 5x5 neighborhood.
2. Replace the center pixel with the median value of all neighborhood pixels.

Unlike Gaussian, it preserves edges better and is non-linear.

🧱 1.7 Edge Detection (Sobel & Canny)


❓ Why?
Edges = boundaries of objects like roads, buildings, rivers in satellite images.

🔹 Sobel Operator:
Applies two filters to detect horizontal and vertical gradients.

⚙ How it works?
1. Convolve image with $G_x$ and $G_y$ (see kernels earlier).

2. Combine gradients:

$$ \text{Gradient Magnitude } = \sqrt{G_x^2 + G_y^2} $$


🔹 Canny Edge Detector (Smartest method):
1. Apply Gaussian Blur (reduce noise)
2. Compute gradient (using Sobel)
3. Apply non-maximum suppression
4. Apply double thresholding (weak vs strong edges)
5. Use edge tracking to connect strong edges

✅ When and Why to Use What?


Task Filter to Use Reason

Remove blur/noise Gaussian Blur Smoothes image gently


Remove salt & pepper noise Median Filter Non-linear, preserves edges
Enhance contrast Histogram Equalization Global contrast boost
Local contrast improvement CLAHE Enhances contrast safely
Find edges Sobel / Canny Detects boundaries clearly
Prep for deep learning Grayscale, Normalize, Resize Standardizes input

💬 Common Interview / Viva Questions:


1. What is the difference between Gaussian and Median Filter?
2. Why use CLAHE instead of HE?
3. What is the formula behind histogram equalization?
4. What does Canny do that Sobel doesn’t?
5. How does noise affect edge detection?

🧠 Summary Points
Technique Works On Key Formula / Idea

Grayscale RGB image Gray = 0.299R + 0.587G + 0.114B


Histogram EQ Grayscale CDF-based remapping
CLAHE Grayscale Tile-based + clip limit
Gaussian All images Weighted mean using Gaussian bell formula
Median All images Non-linear median operation
Sobel Grayscale Convolution + gradient magnitude
Canny Grayscale Multi-step smart edge detection
✅ Want me to continue like this?
Next chapters I can write in the same detailed + easy format:

• 📘 Chapter 2: CNN Architecture


• 📘 Chapter 3: Radiometric Correction (Basics + Deep Learning)
• 📘 Chapter 4: GIS Concepts (Raster, Vector, QGIS)
• 📘 Chapter 5: Research Paper Reading Tips + Notes

Let me know what you want next, and I’ll continue writing this into a full personalized book-style guide
for you 📘📚

📘 Chapter 2: Image Enhancement (Traditional +


Deep Learning)

🧠 2.1 What is Image Enhancement?


Image Enhancement refers to techniques that improve the visual appearance of an image or transform it
into a form more suitable for analysis by humans or machines.

It does not add information, but enhances what’s already present to make features more
visible.

🎯 2.2 Why Do We Need It?


• To enhance low contrast satellite images
• To improve visibility in hazy/cloudy conditions
• To boost details before classification or segmentation
• To correct lighting/radiometric distortions

⚙ 2.3 Traditional Image Enhancement Techniques


📊 2.3.1 Histogram Equalization
Goal: Spread out pixel intensity over the full 0–255 range.

Formula:

$$ \text{new\_pixel} = \text{round}(CDF(k) \times (L - 1)) $$

Where:

• CDF(k): Cumulative Distribution Function


• L: Number of intensity levels (usually 256)

Limitations: May amplify noise.

🧱 2.3.2 CLAHE (Contrast Limited Adaptive HE)


Goal: Local enhancement while avoiding noise amplification.

Process:

1. Divide image into tiles


2. Apply HE in each tile
3. Limit contrast (clip limit)
4. Interpolate between tiles

Clip limit: Prevents over-enhancement by clipping histogram peaks.

🌈 2.3.3 Contrast Stretching


Goal: Expand the range of pixel values.

Formula:

$$ \text{Output} = \frac{(Pixel - Min)}{(Max - Min)} \times 255 $$

Where:

• Min and Max are from the input image

Best for: Low dynamic range satellite scenes.

🧽 2.3.4 Filtering for Smoothing


Filter Type Use Maintains Edges? Math Type

Gaussian Remove Gaussian noise No Linear


Median Remove Salt & Pepper noise Yes Non-linear

🤖 2.4 Deep Learning for Image Enhancement


🔥 Why Use Deep Learning?
• Learns non-linear transformations from data
• Works well on real-world degraded inputs
• Handles complex lighting, shadows, atmospheric effects
📦 2.4.1 Autoencoders for Denoising
Architecture: Encoder → Bottleneck → Decoder

Loss Function:

$$ L = \|X - \hat{X}\|^2 $$

Where:

• X: Original image
• $\hat{X}$: Reconstructed image

Training Goal: Learn compressed representation that can reconstruct clean output.

🧠 2.4.2 CNN for Super-Resolution (SRGAN)


SRGAN (Super-Resolution GAN)

• Generator: Upscales low-res image


• Discriminator: Judges whether image is real or generated

Loss Function:

$$ L = L_{content} + \lambda L_{adv} $$

Where:

• Content loss: L2 difference with original


• Adversarial loss: GAN penalty

🌫 2.4.3 CNN for Haze Removal (Dehazing)


Example Model: AOD-Net or DehazeNet

Input: Hazy image → Output: Clear image

Uses CNN layers to estimate transmission map and atmospheric light.

🧪 2.5 Sample Use Cases


Scenario Technique Reason

Low contrast agricultural img CLAHE Local contrast improvement


Nighttime satellite image Histogram EQ + Median Filter Improve contrast, reduce noise
Low-res surveillance image SRGAN Enhance spatial resolution
Cloudy multispectral image DehazeNet Recover clear surface details
🎤 2.6 Interview/Viva Questions
1. What is the difference between HE and CLAHE?
2. When to use deep learning for enhancement?
3. What is the architecture of SRGAN?
4. How does CNN learn enhancement?
5. Why do we need contrast stretching?

🧠 2.7 Summary Table


Technique Type Used For Notes

Histogram EQ Global Linear Contrast boost May over-enhance


CLAHE Local Linear Safe local enhancement Needs clip limit
Contrast Stretch Global Linear Stretch dynamic range Simple, fast
Gaussian Filter Linear Filter Remove Gaussian noise Blurs edges
Median Filter Non-linear Remove salt & pepper noise Edge-preserving
Autoencoder Deep Learning Noise removal Learns from clean vs noisy
SRGAN Deep Learning Super-resolution Uses GAN + perceptual loss
DehazeNet Deep Learning Haze removal in satellite img Learns atmospheric light + trans.

✅ Up Next:
📘 Chapter 3: Radiometric Correction 📘 Chapter 4: CNN Theory (Basics → Applications) 📘 Chapter 5:
GIS for Beginners

Let me know what you want next and I’ll expand it too 📘🚀
📘 Chapter 3: Radiometric Correction (Basics +
Deep Learning)

🧠 3.1 What is Radiometric Correction?


Radiometric Correction refers to the process of correcting satellite images for sensor, atmospheric, and
illumination differences, so that pixel values more accurately represent the true reflectance of the Earth's
surface.

Raw satellite images often have distortions caused by sunlight angle, sensor errors, and
atmospheric scattering — radiometric correction removes these distortions.

🌍 3.2 Why is it Important?


• Ensures accurate spectral analysis of Earth’s surface
• Required for change detection and multitemporal analysis
• Improves accuracy of classification algorithms
• Standardizes images from different dates or sensors

⚖️ 3.3 Types of Radiometric Distortions


Distortion Type Cause Example

Sensor noise Electronic variation in detector Striping/banding in image


Atmospheric effects Scattering/absorption by gases/aerosols Haze, darkening, color shift
Sun angle variation Time of day or season Uneven brightness/shadows
Topographic effects Slope/aspect of terrain Mountain shadows, slope brightening

🔧 3.4 Techniques of Radiometric Correction


✨ 3.4.1 Dark Object Subtraction (DOS)
Goal: Remove atmospheric scattering (haze).

⚖️ Formula:
$$ L_{corrected} = L_{observed} - L_{haze} $$
Where:

• $L_{observed}$: Raw pixel radiance


• $L_{haze}$: Radiance from dark objects (assumed to be 0 in ideal case)

Steps:

1. Identify a "dark object" (e.g., deep water)


2. Measure its radiance in each band
3. Subtract from all pixels

☀ 3.4.2 Sun Angle Correction


Goal: Normalize for different sun angles (solar zenith angle)

Formula:

$$ L_{corrected} = \frac{L_{observed}}{\cos(\theta)} $$

Where:

• $\theta$: solar zenith angle

🌄 3.4.3 Topographic Normalization


Useful in hilly areas where slope/aspect cause variation in illumination.

Formula (Minnaert Correction):

$$ L_{corrected} = \frac{L_{observed} \cdot \cos(i)}{\cos(e)} $$

Where:

• $i$: Incidence angle


• $e$: Local elevation angle

🤖 3.5 Radiometric Correction Using Deep Learning


Why Use DL for Radiometric Correction?
• Can learn to map distorted → corrected imagery
• Can model non-linear distortions better than rule-based methods
• Especially useful in hazy/cloudy or urban scenes

🤷\200d♂️ 3.5.1 U-Net for Atmospheric Correction


Input: Raw (distorted) image
Output: Clean (corrected) image

Architecture:

• Encoder → Bottleneck → Decoder (with skip connections)

Loss:

$$ L = \|Y - \hat{Y}\|^2 $$

Where:

• $Y$: Clean image


• $\hat{Y}$: Output of U-Net

🌬 3.5.2 CycleGAN for Multitemporal Radiometric Standardization


Used to match appearance of images from different times/sensors.

CycleGAN learns mappings A → B and B → A without paired training data.

Useful for:

• Multitemporal satellite change analysis


• Normalizing between Sentinel and Landsat data

📅 3.6 Use Cases


Application Technique Used Reason

Cloudy satellite image DOS Reduce haze


Hilly forest region Minnaert Correction Topographic normalization
High-res change detection CycleGAN Match appearance of two acquisitions
Urban haze removal U-Net Deep learning-based haze correction

🎤 3.7 Interview/Viva Questions


1. What is Dark Object Subtraction and when is it used?
2. How does topographic correction help in classification?
3. Why use solar zenith angle for normalization?
4. Difference between traditional and deep learning correction?
5. What is CycleGAN and how does it work?
🧠 3.8 Summary Table
Technique Type Use Case Key Formula / Concept

Dark Object Sub. Rule-based Remove haze $L_{corr} = L_{obs} - L_{haze}$


Sun Angle Correction Rule-based Normalize light intensity $L / \cos(\theta)$
Minnaert Topographic Terrain correction $L \cdot \cos(i)/\cos(e)$
U-Net Deep Learning Haze/illumination correction Image-to-image translation
CycleGAN Deep Learning Multitemporal normalization Unpaired A↔B translation

✅ Up Next:
📘 Chapter 4: CNN Theory + Architecture (Basics → Advanced) 📘 Chapter 5: GIS Concepts (Raster, Vecto
Layers) 📘 Chapter 6: Remote Sensing Maths + Real Data Tips

Let me know and I’ll expand next chapter in this detailed + practical format 📘🚀

📘 Chapter 4: CNN Theory + Architecture (Basics


→ Advanced)

🧠 4.1 What is a Convolutional Neural Network (CNN)?


A Convolutional Neural Network (CNN) is a deep learning algorithm primarily used for image recognition
classification, and feature extraction. Unlike traditional neural networks, CNNs can capture spatial
hierarchies and patterns in images using layers like convolutions, pooling, and fully connected layers.

🔍 4.2 Why CNN for Image Processing?


• Images have 2D spatial structure (height × width)
• CNNs preserve this structure through convolution and pooling
• More efficient than flattening entire images (as in traditional dense networks)
• Less parameters and better generalization for images
🏗 4.3 CNN Architecture (Layer-by-Layer)
🔹 1. Input Layer
• Takes image as input: shape = (H, W, C)

▪ H = Height
▪ W = Width
▪ C = Channels (e.g., 3 for RGB, 1 for grayscale)

🔹 2. Convolution Layer (Conv2D)


• Applies a kernel (filter) to detect edges, textures, patterns
• Output is a feature map

Formula:

$$ Z = W * X + b $$

Where:

• $*$ = convolution operator


• $W$ = filter weights
• $X$ = input
• $b$ = bias

🧠 What It Does:
• Detects local patterns (e.g., vertical edges, corners)
• Multiple filters → multiple feature maps

🔹 3. Activation Layer (ReLU)


• Applies $f(x) = \max(0, x)$
• Introduces non-linearity to the network

🔍 Why ReLU?
• Helps network learn complex patterns
• Prevents vanishing gradient problem

🔹 4. Pooling Layer (Max Pooling)


• Reduces spatial size (H × W) while retaining features
• Common: 2×2 Max Pooling
What it does:

• Selects maximum value in each 2×2 window


• Reduces computation and overfitting

🔹 5. Flatten Layer
• Converts 3D output to 1D for Dense (Fully Connected) Layers
• E.g., (7×7×64) → 3136

🔹 6. Fully Connected Layer (Dense)


• Classic neural network layer
• Each node is connected to all outputs of previous layer

Purpose:

• Combine all extracted features to make final prediction

🔹 7. Output Layer
• Depends on task:

▪ Classification → Softmax activation (multi-class)


▪ Binary classification → Sigmoid activation
▪ Regression → Linear activation

⚙ 4.4 Forward Pass – Full Flow


Input → Conv → ReLU → Pool → Conv → ReLU → Pool → Flatten → Dense → Output

🧮 4.5 Important Formulas


Convolution Output Size:
$$ O = \left(\frac{I - K + 2P}{S}\right) + 1 $$

Where:

• $O$ = output size


• $I$ = input size
• $K$ = kernel size
• $P$ = padding
• $S$ = stride
Parameters in Conv Layer:
$$ \text{Params} = (K \times K \times C_{in} + 1) \times C_{out} $$

Where:

• $C_{in}$ = input channels


• $C_{out}$ = number of filters

🧪 4.6 CNN in Practice – Satellite Images


Use Case CNN Application

Land use classification Multi-class classification (Softmax)


Building detection Object detection (YOLO, SSD)
Cloud removal Image-to-image translation (U-Net)
Change detection Siamese networks

🧠 4.7 CNN Variants You Must Know


Variant What’s Special Use Case

LeNet First CNN model, small & efficient Digit classification


AlexNet Introduced ReLU + dropout + GPU training ImageNet 2012
VGG Deep CNNs using only 3×3 conv layers Object recognition
ResNet Skip connections to avoid vanishing grads Deep networks (50–100+ layers)
U-Net Encoder-decoder for segmentation tasks Medical / satellite segmentation

🎤 4.8 Interview / Viva Questions


1. What is the role of convolution in CNN?
2. Why is pooling used and which type is better?
3. How does ReLU help in CNNs?
4. What is overfitting and how to prevent it in CNN?
5. Difference between CNN and traditional neural networks?
6. How does U-Net work and where is it applied?
7. What are skip connections and why are they useful?

🧠 4.9 Summary Table


Layer Purpose Key Formula / Concept

Conv2D Feature extraction $Z = W * X + b$


Layer Purpose Key Formula / Concept
ReLU Non-linearity $\max(0, x)$
Max Pooling Downsampling Max in local region
Flatten Prepare for Dense layer Reshape tensor
Dense Classification / regression Weighted sum + activation
Softmax Multiclass classification Probability distribution

✅ Next Topics:
📘 Chapter 5: GIS Concepts (Raster, Vector, QGIS) 📘 Chapter 6: Remote Sensing + Maths 📘 Chapter 7:
Transfer Learning + Fine-Tuning CNNs

Let me know if you'd like these chapters expanded next 📚🚀

📘 Chapter 5: GIS Concepts (Raster, Vector, QGIS)

🧠 5.1 What is GIS (Geographic Information System)?


GIS is a framework for gathering, managing, analyzing, and visualizing spatial or geographic data. It
allows us to see, understand, and interpret data to reveal relationships, patterns, and trends.

GIS integrates:

• Cartography (maps)
• Statistical analysis
• Databases (attribute information)

It plays a key role in remote sensing, urban planning, environmental monitoring, disaster management,
and more.

🌐 5.2 Types of GIS Data


🌍 Raster Data
• Pixel-based representation (grid format)
• Each cell (pixel) has a value (e.g., temperature, elevation, NDVI)
• Common in satellite imagery

Examples:

• Satellite images
• Digital Elevation Models (DEMs)
• Land cover maps

🖊 Vector Data
• Object-based representation
• Uses points, lines, and polygons

Feature Geometry Examples

Point X, Y Tree, well, house


Line X1Y1 → XnYn River, road
Polygon Closed loop City boundary, lake, forest area

📊 5.3 Attribute Data


• Descriptive information stored in tables
• Each feature in vector data has attributes

Example: A "City" polygon may have attributes like:

• Name = "Nagpur"
• Population = 2.4 million
• Literacy Rate = 89%

📜 5.4 GIS Software (QGIS)


💡 What is QGIS?
• Open-source GIS software used for visualizing, editing, and analyzing geospatial data

Key Features:
• Load raster/vector layers
• Perform spatial analysis (buffer, clip, intersection)
• Symbology for visual clarity
• Create professional maps (layouts, scale bars, north arrows)

Popular Tools in QGIS:


Tool Purpose

Buffer Create area around features


Clip Extract portion based on shape
Join Attributes Merge data from tables
Raster Calculator Perform mathematical operations
📊 5.5 Coordinate Reference System (CRS)
• Defines how spatial data is projected on Earth’s surface

🌎 Types:
• Geographic CRS (GCS): Uses latitude-longitude (e.g., WGS 84)
• Projected CRS: Flat 2D representation (e.g., UTM)

🧪 5.6 Map Components


Component Description

Title Describes the map purpose


Legend Explains colors/symbols used
Scale Bar Distance representation
North Arrow Shows orientation
Grid/Graticule Reference lines for coordinates

🔬 5.7 Common GIS Applications in Remote Sensing


Task GIS Use

Land use classification Combine raster image + training polygons


Change detection Overlay images from different time periods
Environmental monitoring Analyze vegetation, pollution, urban growth
Infrastructure planning Route analysis, site selection

👩‍🎓 5.8 Interview / Viva Questions


1. What is the difference between raster and vector data?
2. How does buffer analysis work in GIS?
3. What are some uses of GIS in satellite image processing?
4. Explain the purpose of coordinate reference systems.
5. Name components of a well-structured map.

🧠 5.9 Summary Table


Concept Key Info

Raster Data Pixel-based; continuous (e.g., temperature)


Vector Data Object-based; points, lines, polygons
Concept Key Info
Attribute Data Table info linked to vector features
QGIS Open-source software for GIS tasks
CRS Defines map projection and coordinate system

✅ Next Chapters:
• 📘 Chapter 6: Remote Sensing + Maths
• 📘 Chapter 7: Transfer Learning + Fine-Tuning CNNs
• 📘 Chapter 8: Research Paper Reading Tips

Let me know if you want any section expanded or visual diagrams added 📈📓

Great — here's a detailed book-style deep dive into the models and GAN architectures used specifically
for radiometric correction in satellite imagery, along with related research papers, architectures, math
logic, and implementation insights:

📘 Appendix (Advanced): GAN Architectures for


Radiometric Correction

🧠 What is Radiometric Correction?


Radiometric correction involves correcting the digital number (DN) values in satellite images to reflect
true surface reflectance, by eliminating atmospheric effects like haze, shadows, and sensor noise.

🔧 Why it's important:


• Satellite images often have inconsistencies due to lighting, atmosphere, or sensors.
• These inconsistencies reduce accuracy in tasks like classification or change detection.
• Traditional methods are physics-based. Deep learning offers data-driven, adaptive correction.

🎯 Why Use GANs?


GANs (Generative Adversarial Networks) are excellent at modeling complex, non-linear transformations.
For radiometric correction, GANs can learn the mapping from:

Distorted (hazy/uncorrected) → Clean/Reference (radiometrically corrected)


🧰 Core GAN Architecture (High-Level)
🔁 CycleGAN (Unpaired)
• Used when we don’t have paired clean and hazy images.
• Two Generators: G (A → B), F (B → A)
• Two Discriminators: DA, DB
• Cycle consistency loss ensures A → B → A reconstructs input.

🔀 Pix2Pix (Paired)
• Used when paired input/output available.
• Generator learns direct mapping from distorted to corrected image.
• Better spatial precision.

🧪 Specific GAN Models for Radiometric Correction


🔹 1. CycleGAN
• Used For: Unpaired haze removal and normalization
• Key Losses: Cycle-consistency + Adversarial
• Backbone: ResNet or U-Net Generator
• Example Paper: 📖 Zhang et al., “A Deep Generative Model for Atmospheric Correction of Remote
Sensing Images”

🔹 2. RaGAN (Radiometric GAN)


• Designed specifically for radiometric correction

• Discriminator: PatchGAN to focus on local texture correction

• Generator: U-Net style + residual connections

• Losses:

▪ L1 Loss (pixel-wise)
▪ Perceptual Loss (VGG features)
▪ Adversarial Loss (GAN loss)

📖 Paper: “RaGAN: Radiometric Adversarial GAN for Satellite Image Normalization”

🔹 3. DU-GAN (Dual-Unet GAN)


• Uses two U-Net style generators.
• One generator maps hazy → clean
• Another for clean → hazy (Cycle consistency)

📖 Used in: Multi-temporal satellite normalization tasks

🔹 4. SAR2OPT / OPT2SAR-GAN
• Used in multi-sensor radiometric correction
• SAR (Synthetic Aperture Radar) → Optical
• Helps generate realistic optical images from SAR or fill missing data

📖 Domain adaptation papers from IEEE-GRSL 2021

📐 Common Generator Architectures


Architecture Description

U-Net Encoder-decoder with skip connections (preserves spatial info)


ResNet Residual blocks for deep transformation learning
DenseNet Improves feature reuse; lightweight for large images

🔍 Common Discriminator Types


Discriminator Use Case

PatchGAN Focuses on small patches (e.g., 70×70) to check realism locally


Global D Looks at the full image, ensures large-scale consistency

🧮 Loss Functions Explained


Loss Type Equation (simplified) Purpose

L1 Loss $\mathcal{L}_{L1} = Y - \hat{Y} _1$ Pixel-level


accuracy
Perceptual $\mathcal{L}_{perc} = \phi(Y) - _2$ Feature-level
Loss \phi(\hat{Y}) realism
Adversarial $\mathcal{L}_{adv} = \log D(Y) Encourage
Loss + \log (1 - D(\hat{Y}))$ realistic output

Cycle Loss $\mathcal{L}_{cyc} = X - G(F(X)) _1$ Used in


CycleGAN

📚 Must-Read Research Papers


Title Contribution

📄 Zhang et al., 2021


A Deep Generative Model for Atmospheric Used CycleGAN for haze removal from satellite images
Correction...
Title Contribution
📄 RaGAN, IEEE GRSL 2020 Introduced adversarial learning to radiometric
Radiometric Normalization using GAN correction
📄 Domain Adaptation GANs, Sharma et al. Multi-temporal, cross-sensor normalization

📄 SAR-Optical Translation using GANs Synthesized missing spectral bands from radar to
optical
📄 Denoising GANs for Remote Sensing Focused on noise reduction + spectral correction

🛠 Tools for Implementation


Tool Use

PyTorch / TensorFlow Model training


QGIS / SNAP Toolbox Visualize and preprocess satellite data
Google Earth Engine Data collection + preprocessing
Rasterio / GDAL GeoTIFF processing

🧠 Summary Table
Component Options

Generator U-Net, ResNet, Dual-U-Net


Discriminator PatchGAN (local) / Global Discriminator
Loss Functions L1, L2, Perceptual, Adversarial, Cycle
Frameworks CycleGAN, Pix2Pix, RaGAN, DU-GAN
Data Required Paired (Pix2Pix) or Unpaired (CycleGAN)

💬 Viva/Interview Qs
1. What’s the advantage of using GANs in satellite image correction?
2. Why is PatchGAN used in radiometric correction?
3. What is the difference between perceptual loss and pixel loss?
4. Why use CycleGAN instead of Pix2Pix?
5. How does the generator learn to remove haze?

Would you like me to prepare:

• ✅ Visual GAN architecture diagram


• ✅ Code (PyTorch) for Radiometric GAN
• ✅ Notebook with demo?

Just say the word!

You might also like