Image Analysis, Classification and Change Detection in Remote Sensing, 4th Edition

Book description

Image Analysis, Classification and Change Detection in Remote Sensing: With Algorithms for Python, Fourth Edition, is focused on the development and implementation of statistically motivated, data-driven techniques for digital image analysis of remotely sensed imagery and it features a tight interweaving of statistical and machine learning theory of algorithms with computer codes. It develops statistical methods for the analysis of optical/infrared and synthetic aperture radar (SAR) imagery, including wavelet transformations, kernel methods for nonlinear classification, as well as an introduction to deep learning in the context of feed forward neural networks.

New in the Fourth Edition:

  • An in-depth treatment of a recent sequential change detection algorithm for polarimetric SAR image time series.
  • The accompanying software consists of Python (open source) versions of all of the main image analysis algorithms.
  • Presents easy, platform-independent software installation methods (Docker containerization).
  • Utilizes freely accessible imagery via the Google Earth Engine and provides many examples of cloud programming (Google Earth Engine API).
  • Examines deep learning examples including TensorFlow and a sound introduction to neural networks,

Based on the success and the reputation of the previous editions and compared to other textbooks in the market, Professor Canty’s fourth edition differs in the depth and sophistication of the material treated as well as in its consistent use of computer codes to illustrate the methods and algorithms discussed. It is self-contained and illustrated with many programming examples, all of which can be conveniently run in a web browser. Each chapter concludes with exercises complementing or extending the material in the text.

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Table of Contents
  6. Preface to the First Edition
  7. Preface to the Second Edition
  8. Preface to the Third Edition
  9. Preface to the Fourth Edition
  10. Author Biography
  11. 1 Images, Arrays, and Matrices
    1. 1.1 Multispectral satellite images
    2. 1.2 Synthetic aperture radar images
    3. 1.3 Algebra of vectors and matrices
      1. 1.3.1 Elementary properties
      2. 1.3.2 Square matrices
      3. 1.3.3 Singular matrices
      4. 1.3.4 Symmetric, positive definite matrices
      5. 1.3.5 Linear dependence and vector spaces
    4. 1.4 Eigenvalues and eigenvectors
    5. 1.5 Singular value decomposition
    6. 1.6 Finding minima and maxima
    7. 1.7 Exercises
  12. 2 Image Statistics
    1. 2.1 Random variables
      1. 2.1.1 Discrete random variables
      2. 2.1.2 Continuous random variables
      3. 2.1.3 Random vectors
      4. 2.1.4 The normal distribution
      5. 2.1.5 The gamma distribution and its derivatives
    2. 2.2 Parameter estimation
      1. 2.2.1 Random samples
      2. 2.2.2 Sample distributions and interval estimators
    3. 2.3 Multivariate distributions
      1. 2.3.1 Vector sample functions and the data matrix
      2. 2.3.2 Provisional means
      3. 2.3.3 Real and complex multivariate sample distributions
    4. 2.4 Bayes’ Theorem, likelihood and classification
    5. 2.5 Hypothesis testing
    6. 2.6 Ordinary linear regression
      1. 2.6.1 One independent variable
      2. 2.6.2 Coefficient of determination (R2)
      3. 2.6.3 More than one independent variable
      4. 2.6.4 Regularization, duality and the Gram matrix
    7. 2.7 Entropy and information
      1. 2.7.1 Kullback–Leibler divergence
      2. 2.7.2 Mutual information
    8. 2.8 Exercises
  13. 3 Transformations
    1. 3.1 The discrete Fourier transform
    2. 3.2 The discrete wavelet transform
      1. 3.2.1 Haar wavelets
      2. 3.2.2 Image compression
      3. 3.2.3 Multiresolution analysis
    3. 3.3 Principal components
      1. 3.3.1 Principal components on the GEE
      2. 3.3.2 Image compression and reconstruction
      3. 3.3.3 Primal solution
      4. 3.3.4 Dual solution
    4. 3.4 Minimum noise fraction
      1. 3.4.1 Additive noise
      2. 3.4.2 Minimum noise fraction via PCA
    5. 3.5 Spatial correlation
      1. 3.5.1 Maximum autocorrelation factor
      2. 3.5.2 Noise estimation
    6. 3.6 Exercises
  14. 4 Filters, Kernels, and Fields
    1. 4.1 The Convolution Theorem
    2. 4.2 Linear filters
    3. 4.3 Wavelets and filter banks
      1. 4.3.1 One-dimensional arrays
      2. 4.3.2 Two-dimensional arrays
    4. 4.4 Kernel methods
      1. 4.4.1 Valid kernels
      2. 4.4.2 Kernel PCA
    5. 4.5 Gibbs–Markov random fields
    6. 4.6 Exercises
  15. 5 Image Enhancement and Correction
    1. 5.1 Lookup tables and histogram functions
    2. 5.2 High-pass spatial filtering and feature extraction
      1. 5.2.1 Sobel filter
      2. 5.2.2 Laplacian-of-Gaussian filter
      3. 5.2.3 OpenCV and GEE algorithms
      4. 5.2.4 Invariant moments
    3. 5.3 Panchromatic sharpening
      1. 5.3.1 HSV fusion
      2. 5.3.2 Brovey fusion
      3. 5.3.3 PCA fusion
      4. 5.3.4 DWT fusion
      5. 5.3.5 À trous fusion
      6. 5.3.6 A quality index
    4. 5.4 Radiometric correction of polarimetric SAR imagery
      1. 5.4.1 Speckle statistics
      2. 5.4.2 Multi-look data
      3. 5.4.3 Speckle filtering
    5. 5.5 Topographic correction
      1. 5.5.1 Rotation, scaling and translation
      2. 5.5.2 Imaging transformations
      3. 5.5.3 Camera models and RFM approximations
      4. 5.5.4 Stereo imaging and digital elevation models
      5. 5.5.5 Slope and aspect
      6. 5.5.6 Illumination correction
    6. 5.6 Image–image registration
      1. 5.6.1 Frequency domain registration
      2. 5.6.2 Feature matching
      3. 5.6.3 Re-sampling with ground control points
    7. 5.7 Exercises
  16. 6 Supervised Classification Part 1
    1. 6.1 Maximizing the a posteriori probability
    2. 6.2 Training data and separability
    3. 6.3 Maximum likelihood classification
      1. 6.3.1 Naive Bayes on the GEE
      2. 6.3.2 Python scripts for supervised classification
    4. 6.4 Gaussian kernel classification
    5. 6.5 Neural networks
      1. 6.5.1 The neural network classifier
      2. 6.5.2 Cost functions
      3. 6.5.3 Backpropagation
      4. 6.5.4 A deep learning network
      5. 6.5.5 Overfitting and generalization
    6. 6.6 Support vector machines
      1. 6.6.1 Linearly separable classes
      2. 6.6.2 Overlapping classes
      3. 6.6.3 Solution with sequential minimal optimization
      4. 6.6.4 Multiclass SVMs
      5. 6.6.5 Kernel substitution
    7. 6.7 Exercises
  17. 7 Supervised Classification Part 2
    1. 7.1 Postprocessing
      1. 7.1.1 Majority filtering
      2. 7.1.2 Probabilistic label relaxation
    2. 7.2 Evaluation and comparison of classification accuracy
      1. 7.2.1 Accuracy assessment
      2. 7.2.2 Accuracy assessment on the GEE
      3. 7.2.3 Cross-validation on parallel architectures
      4. 7.2.4 Model comparison
    3. 7.3 Adaptive boosting
    4. 7.4 Classification of polarimetric SAR imagery
    5. 7.5 Hyperspectral image analysis
      1. 7.5.1 Spectral mixture modeling
      2. 7.5.2 Unconstrained linear unmixing
      3. 7.5.3 Intrinsic end-members and pixel purity
      4. 7.5.4 Anomaly detection: The RX algorithm
      5. 7.5.5 Anomaly detection: The kernel RX algorithm
    6. 7.6 Exercises
  18. 8 Unsupervised Classification
    1. 8.1 Simple cost functions
    2. 8.2 Algorithms that minimize the simple cost functions
      1. 8.2.1 K-means clustering
      2. 8.2.2 Kernel K-means clustering
      3. 8.2.3 Extended K-means clustering
      4. 8.2.4 Agglomerative hierarchical clustering
      5. 8.2.5 Fuzzy K-means clustering
    3. 8.3 Gaussian mixture clustering
      1. 8.3.1 Expectation maximization
      2. 8.3.2 Simulated annealing
      3. 8.3.3 Partition density
      4. 8.3.4 Implementation notes
    4. 8.4 Including spatial information
      1. 8.4.1 Multiresolution clustering
      2. 8.4.2 Spatial clustering
    5. 8.5 A benchmark
    6. 8.6 The Kohonen self-organizing map
    7. 8.7 Image segmentation and the mean shift
    8. 8.8 Exercises
  19. 9 Change Detection
    1. 9.1 Naive methods
    2. 9.2 Principal components analysis (PCA)
      1. 9.2.1 Iterated PCA
      2. 9.2.2 Kernel PCA
    3. 9.3 Multivariate alteration detection (MAD)
      1. 9.3.1 Canonical correlation analysis (CCA)
      2. 9.3.2 Orthogonality properties
      3. 9.3.3 Iteratively re-weighted MAD
      4. 9.3.4 Scale invariance
      5. 9.3.5 Correlation with the original observations
      6. 9.3.6 Regularization
      7. 9.3.7 Postprocessing
    4. 9.4 Unsupervised change classification
    5. 9.5 iMAD on the Google Earth Engine
    6. 9.6 Change detection with polarimetric SAR imagery
      1. 9.6.1 Scalar imagery: the gamma distribution
      2. 9.6.2 Polarimetric imagery: the complex Wishart distribution
      3. 9.6.3 Python software
      4. 9.6.4 SAR change detection on the Google Earth Engine
    7. 9.7 Radiometric normalization of visual/infrared images
      1. 9.7.1 Scatterplot matching
      2. 9.7.2 Automatic radiometric normalization
    8. 9.8 RESTful change detection on the GEE
    9. 9.9 Exercises
  20. A Mathematical Tools
    1. A.1 Cholesky decomposition
    2. A.2 Vector and inner product spaces
    3. A.3 Complex numbers, vectors and matrices
    4. A.4 Least squares procedures
      1. A.4.1 Recursive linear regression
      2. A.4.2 Orthogonal linear regression
    5. A.5 Proof of Theorem 7.1
  21. B Efficient Neural Network Training Algorithms
    1. B.1 The Hessian matrix
      1. B.1.1 The R-operator
      2. B.1.2 Calculating the Hessian
    2. B.2 Scaled conjugate gradient training
      1. B.2.1 Conjugate directions
      2. B.2.2 Minimizing a quadratic function
      3. B.2.3 The algorithm
    3. B.3 Extended Kalman filter training
      1. B.3.1 Linearization
      2. B.3.2 The algorithm
  22. C Software
    1. C.1 Installation
    2. C.2 Command line utilities
      1. C.2.1 gdal
      2. C.2.2 earthengine
      3. C.2.3 ipcluster
    3. C.3 Source code
    4. C.4 Python scripts
      1. C.4.1 adaboost.py
      2. C.4.2 atwt.py
      3. C.4.3 c_corr.py
      4. C.4.4 classify.py
      5. C.4.5 crossvalidate.py
      6. C.4.6 ct.py
      7. C.4.7 dispms.py
      8. C.4.8 dwt.py
      9. C.4.9 eeMad.py
      10. C.4.10 eeSar_seq.py
      11. C.4.11 eeWishart.py
      12. C.4.12 ekmeans.py
      13. C.4.13 em.py
      14. C.4.14 enlml.py
      15. C.4.15 gamma_filter.py
      16. C.4.16 hcl.py
      17. C.4.17 iMad.py
      18. C.4.18 iMadmap.py
      19. C.4.19 kkmeans.py
      20. C.4.20 kmeans.py
      21. C.4.21 kpca.py
      22. C.4.22 krx.py
      23. C.4.23 mcnemar.py
      24. C.4.24 meanshift.py
      25. C.4.25 mmse_filter.py
      26. C.4.26 mnf.py
      27. C.4.27 pca.py
      28. C.4.28 plr.py
      29. C.4.29 radcal.py
      30. C.4.30 readshp.py
      31. C.4.31 registerms.py
      32. C.4.32 registersar.py
      33. C.4.33 rx.py
      34. C.4.34 sar_jseq.py
      35. C.4.35 scatterplot.py
      36. C.4.36 som.py
      37. C.4.37 subset.py
    5. C.5 JavaScript on the GEE Code Editor
      1. C.5.1 imad_run
      2. C.5.2 omnibus_run
      3. C.5.3 omnibus_view
      4. C.5.4 imad
      5. C.5.5 omnibus
      6. C.5.6 utilities
  23. Mathematical Notation
  24. References
  25. Index

Product information

  • Title: Image Analysis, Classification and Change Detection in Remote Sensing, 4th Edition
  • Author(s): Morton John Canty
  • Release date: March 2019
  • Publisher(s): CRC Press
  • ISBN: 9780429875342