Satellite Image Processing Fundamentals and Applications - From Remote Sensing to Change Detection
Satellite Imagery and Remote Sensing Fundamentals
Satellite image processing analyzes Earth observation data acquired by sensors aboard artificial satellites. It serves agriculture, environmental monitoring, urban planning, disaster management, and climate change research across diverse applications.
Major Earth observation satellites:
- Sentinel-2 (ESA): 13 bands, 10-60m resolution, 5-day revisit. Free and open. Well suited to vegetation and water quality monitoring
- Landsat 8/9 (NASA/USGS): 11 bands, 15-100m resolution, 16-day revisit. Free. 40+ years of time series data
- ALOS-2 (JAXA): SAR (Synthetic Aperture Radar), 1-10m resolution. All-weather observation capability
- WorldView-3 (Maxar): 31cm resolution (panchromatic). High-resolution commercial satellite
- Planet (PlanetScope): 3m resolution, daily global coverage. Constellation of many small satellites
Satellite image characteristics:
- Multispectral: Observes multiple wavelength bands simultaneously including visible, near-infrared, shortwave infrared, and thermal infrared
- Wide coverage: Single scene covers 100km × 100km or more
- Periodic: Regular revisits enable time series change tracking
- Large volume: Even a single Sentinel-2 scene (all bands) holds a large amount of data
Unlike standard RGB images, satellite imagery pixels represent physical quantities (radiance or reflectance) as quantitative data. Leveraging this property is the core of remote sensing analysis.
Preprocessing - Geometric and Atmospheric Correction
Raw satellite data contains sensor geometric distortions, atmospheric effects, and terrain influences. Preprocessing to remove these effects is essential for quantitative analysis.
Geometric Correction: Corrects image distortion from satellite attitude variations, Earth curvature, and terrain relief, accurately aligning to map coordinate systems (UTM etc.):
- Orthorectification: Uses DEM (Digital Elevation Model) to remove terrain effects, converting to nadir-view (orthographic projection)
- GCP (Ground Control Points): Known ground coordinates improve geometric accuracy
- Sentinel-2 Level-1C products are geometrically corrected
Atmospheric Correction: Removes atmospheric scattering and absorption effects to estimate true surface reflectance:
- TOA (Top of Atmosphere) reflectance: Reflectance at atmosphere top, includes atmospheric effects
- BOA (Bottom of Atmosphere) reflectance: Surface reflectance after atmospheric correction
- Sen2Cor: ESA's official Sentinel-2 atmospheric correction tool. Level-1C to Level-2A conversion
- 6S: High-accuracy atmospheric correction based on radiative transfer modeling
Cloud masking: Cloud-covered pixels contain no surface information and must be excluded from analysis. Sentinel-2's SCL (Scene Classification Layer) band automatically classifies clouds, cloud shadows, and snow. Fmask algorithm is also widely used. Scenes with high cloud cover are often excluded from analysis.
Vegetation and Water Indices - Information Extraction via Band Math
Combining multispectral bands through arithmetic operations (band math) enables quantitative assessment of vegetation vigor, water distribution, and soil conditions. These indices are fundamental environmental monitoring tools.
NDVI (Normalized Difference Vegetation Index): Described by the USGS (as of March 2026) as one of the most widely used vegetation indices; it exploits healthy vegetation's strong near-infrared (NIR) reflection and red light absorption:
NDVI = (NIR - Red) / (NIR + Red)
- Value range: -1 to +1. According to the same USGS explanation, barren rock, sand, or snow usually show 0.1 or less, sparse vegetation such as shrubs and grasslands may show about 0.2-0.5, and dense vegetation such as forests about 0.6-0.9
- Sentinel-2: Uses Band 8 (NIR, 842nm) and Band 4 (Red, 665nm)
- Applications: Crop growth monitoring, forest health assessment, drought monitoring
NDWI (Normalized Difference Water Index): Used for water body detection:
NDWI = (Green - NIR) / (Green + NIR)
- Water: NDWI > 0, Land: NDWI < 0
- Applied to flood mapping and lake area change tracking
Other important indices:
- EVI (Enhanced Vegetation Index): Improved NDVI reducing atmospheric and soil influences. Less saturation in dense vegetation
- NDBI (Normalized Difference Built-up Index): Urban area detection. (SWIR - NIR) / (SWIR + NIR)
- NBR (Normalized Burn Ratio): Fire scar detection. (NIR - SWIR2) / (NIR + SWIR2)
In Python, use rasterio to load band data and NumPy array operations for index calculation. Guard against division by zero with np.where(denominator != 0, numerator/denominator, 0).
Land Cover Classification - Machine Learning Surface Classification
Land cover classification assigns each satellite image pixel to categories such as forest, cropland, urban, or water. It is essential for urban planning, environmental assessment, and carbon budget estimation.
Supervised classification methods:
- Random Forest: Uses multiple band values and indices (NDVI, NDWI etc.) as features. Implementable with scikit-learn. Accuracy varies with training data and study area
- SVM (Support Vector Machine): Strong for high-dimensional feature space classification. Effective with small datasets
- Deep learning (CNN): Learns spatial patterns. U-Net and DeepLab for high-accuracy segmentation
Training data creation:
- Reference Google Earth or high-resolution imagery to delineate representative areas per class as polygons
- Collect minimum 100-500 pixel samples per class
- Consider class balance; oversample minority classes
Accuracy assessment: Calculate from confusion matrix:
- Overall Accuracy (OA): Total correct rate
- Kappa coefficient: Chance-corrected accuracy
- Producer's Accuracy: Per-class recall
- User's Accuracy: Per-class precision
Google Earth Engine (GEE): Cloud-based geospatial analysis platform accessing petabyte-scale satellite data from browsers. Available via JavaScript or Python API, well suited to large-scale time series analysis without local data download.
Change Detection - Extracting Changes from Time Series Imagery
Change detection compares satellite images from different dates to automatically identify surface changes. It is applied to deforestation monitoring, urban expansion tracking, and disaster damage assessment.
Basic change detection methods:
- Image differencing: Compute difference between two-date images or indices, threshold to determine change/no-change. Simplest but threshold selection is challenging
- Ratio method: Compute ratio between two dates. Robust to atmospheric condition differences
- CVA (Change Vector Analysis): Represents multi-band change as vectors, simultaneously evaluating change magnitude and direction
Deep learning change detection:
- Siamese Network: Inputs two-date images to identical encoders, detecting change from feature differences. FC-Siam-diff is representative
- BIT (Bitemporal Image Transformer): Transformer-based capturing long-range spatial dependencies for high-accuracy change detection
- Accuracy: depends heavily on the dataset
Time series analysis: Beyond two-date comparison, multi-year time series analysis distinguishes seasonal variation from actual change. BFAST (Breaks For Additive Season and Trend) separates seasonal and trend components to detect abrupt change points.
Practical example - deforestation detection: Calculate monthly NDVI time series from Sentinel-2, flagging areas with 0.3+ decrease compared to same month previous year as deforestation candidates. Apply cloud masking and seasonal correction to reduce false positives. Some initiatives also use satellite imagery to monitor forest change worldwide.
Practical Satellite Image Processing - Tools and Workflows
This section covers concrete tools, data acquisition methods, and processing pipelines for applying satellite image processing in practice, focusing on freely available resources.
Data acquisition:
- Copernicus data distribution service: Free download of all Sentinel-1/2/3 data. Also retrievable via API
- USGS EarthExplorer: Free access to entire Landsat archive. MODIS and ASTER also available
- Google Earth Engine: Direct browser-based analysis without download. Large-scale processing capability
- AWS Open Data: Sentinel-2 and Landsat as COG (Cloud Optimized GeoTIFF) directly accessible from S3
Processing tools:
- QGIS: Open-source GIS for satellite image display, band math, and classification. Free
- SNAP (ESA): Official Sentinel processing tool integrating atmospheric correction, geometric correction, and SAR processing
- Python (rasterio + GDAL): Programmatic processing.
rasterio.open()reads GeoTIFF, NumPy for computation - xarray + rioxarray: Efficient multidimensional array satellite data processing. Well suited to time series
Example pipeline:
- Download Sentinel-2 Level-2A (atmospherically corrected)
- Apply cloud mask → extract valid pixels only
- Calculate NDVI → create time series stack
- Change detection or classification → output results as GeoTIFF
- Visualize and map in QGIS
Large-scale processing strategy: National-scale analysis requires processing several TB of data. Google Earth Engine, AWS Lambda + S3, or Dask parallel processing are effective. COG format enables partial reading of only needed regions, reducing I/O overhead.