azavea / nasa-hyperspectral

An event-driven image processing pipeline for developing our foundational capability to work with HSI data sources.
15 stars 3 forks source link

Research target detection methods #91

Closed jpolchlo closed 3 years ago

jpolchlo commented 3 years ago

This is an issue for the reading and learning required to identify the presence of a hyperspectral signature of interest in a given (mixed?) pixel spectrum. I will fill in this issue with comments regarding the various methods discovered, and close when the coverage appears sufficient. This will primarily focus on matched filters of various descriptions.

jpolchlo commented 3 years ago

As alluded to above, the primary method for target detection is the use of matched filters. In signal processing, the matched filter is achieved by convolution with a time-reversed version of the signal of interest, which produces a strong response if the observed signal is a match with the target pattern. In the discrete space, this same objective is achieved through the use of dot products. If the signals are the same shape, the result will be strongest (modulo scaling factors). Deviations will attenuate the result of the dot product.

Matched filters then produce a scalar value describing a similarity between two signals in some target space. That scalar value can be thresholded to produce a mask of where the signal is likely to be. In our case, the "target space" will be taken to be a whitened, centered space where the center is meant to describe the average of non-signal pixels, and the whitening similarly derives from the covariance of non-signal pixels. Ideally, then, our transformed pixel data is scattered around the origin with a roughly hyper-spheroid distribution. Denote the whitened image pixel spectra as x̃. Similarly, the target signal of interest can be represented in this same space by applying the same whitening and centering transformations derived from the non-signal-carrying pixels to produce s̃.

Matched filters come in a few flavors:

Robust matched filters try to correct for cases where the target signal that the filter is designed around does not perfectly represent the signals extant in the image, or if the background covariance matrix could not be constructed entirely from signal-free pixels. To deal with mismeasured covariance, for instance, we might apply some form of regulaization, usually L² regularization (adding ξI for some small ξ). We'll spend some additional effort in the future to better understand and implement a robust matched filter.

Note that the matched filters rely on a whitened space, but any decorrelation technique can be used. That is the motivation for #102.

References:

Manolakis, D. G., Lockwood, R. B., & Cooley, T. W. (2016). Hyperspectral imaging remote sensing: Physics, sensors, and algorithms. Cambridge University Press.

jpolchlo commented 3 years ago

Target detection is a deep field, and we'll be doing more with it in time. But for the purposes of this initial research question, we have sufficient understanding that is now documented, so I'll be closing this issue. Subsequent issues can be opened to address extensions to this work.