^{1}

^{2}

^{1}

^{3}

^{1}

^{2}

^{3}

Accurate covariance matrix estimation for high-dimensional data can be a difficult problem. A good approximation of the covariance matrix needs in most cases a prohibitively large number of pixels, that is, pixels from a stationary section of the image whose number is greater than several times the number of bands. Estimating the covariance matrix with a number of pixels that is on the order of the number of bands or less will cause not only a bad estimation of the covariance matrix but also a singular covariance matrix which cannot be inverted. In this paper we will investigate two methods to give a sufficient approximation for the covariance matrix while only using a small number of neighboring pixels. The first is the quasilocal covariance matrix (QLRX) that uses the variance of the global covariance instead of the variances that are too small and cause a singular covariance. The second method is sparse matrix transform (SMT) that performs a set of K-givens rotations to estimate the covariance matrix. We will compare results from target acquisition that are based on both of these methods. An improvement for the SMT algorithm is suggested.

The most widely used algorithms for target detection are traditionally based on the covariance matrix [

In target detection, the image is not normally statistically stationary; it will however have quasistationary “patches” which connect to each other at the edges. When one estimates the mean and covariance matrix of the background of a particular pixel, the local neighboring pixels will have provided a better estimate than the pixels of the entire image. In [

The overall question of using a covariance matrix from local areas in which not enough data is sparse is actually a well-studied issue in the literature. In particular, in [

Assume we are given a dataset

To compare the covariance matrix based on the local area surrounding a pixel and a matrix based on all the available data (referred to as global), consider the statistics of the dataset

If

Mathematically, using the dataset

For subpixel targets, previous work [

In this method, we use sparse matrix rotations to find the nearest covariance matrix to the original one which is still nonsingular. We can use SVD to decompose the local covariance as follows:

The concept of SMT is to start from the identity matrix, rotate every time two axes in the direction of the axis of the eigenvectors of the local covariance matrix, and to stop the rotations when it gives the best fit without becoming singular.

In other words, from a first set of data we can determine the correlations between the variables. If we did all the possible rotations, we would have diagonalized the matrix, but we cannot do this since we do not have enough data to simultaneously find all the local eigenvectors. Instead, we do these rotations on the most correlated ones, testing our new matrix by the degree that it provides good results on a second dataset. When our correction to the second dataset fails, we stop the diagonalizing procedure.

Mathematically, the rotation matrix

We divide the group of pixels into three groups. We take one third to be the tested pixels

The probability that

To select every time the rotations that will make the biggest improvement, we perform greedy minimization, that is, always choosing the next rotation that will contribute most to reduce the correlation between data along the axis of the matrix as follows:

After we calculate the covariance matrix for SMT, we can use it for anomaly detection:

For subpixel targets as we stated previously, it will be better to use the mean of 8 neighbors

Two datasets were used (Figure

Datasets information—OBP1 and OBP2 are parts of OBP.

Name | Site | Sensor name | No. bands | Waveband ( |
Spat. Res. (m) | Scene description |
---|---|---|---|---|---|---|

OBP | Oberpfaffenhofen (Ge) | Hymap | 126 | 0.44–2.45 | 4 | Airfield with agricultural area around |

OBP1 | Oberpfaffenhofen (Ge) | Hymap | 126 | 0.44–2.45 | 4 | Agricultural area |

OBP2 | Oberpfaffenhofen (Ge) | Hymap | 126 | 0.44–2.45 | 4 | Agricultural area |

RGB composite of the original data cubes. From left to right: OBP1, OBP2.

The two data cubes (OBP1 and OBP2) are real data from the Hymap sensor in which anomalies were inserted artificially by linearly mixing the spectra of a green paint pixel with the original background pixel. For display purposes, in Figure

We now wish to compare the SMT and QLRX algorithms. We will perform RX anomaly detection (

Since the dataset being used contains implanted subpixel targets without any danger of overlap into neighboring pixels, the mean in the calculation of (

The first test was done using only the nearest 8 neighbors for the approximation of the covariance; in this test, it is very easy to see that QLRX results are superior to the SMT results. The ROC curves are given in Figure

Results of RX algorithm using QLRX and SMT on dataset OBP1 with the stated OWS = 3 and GWS = 1.

OBP1 results with OWS given by the number in the legend.

In this picture is the result for

Results from the OBP2 dataset were comparable.

When the OWS is larger, the results of the SMT improve dramatically.

For the dataset OBP1 we can see a large improvement as OWS increases. For this dataset QLRX gives better results, especially in the low CFAR (constant false alarm rate).

For the dataset OBP2, the differences between QLRX and SMT are reduced but still QLRX performs better in the low CFAR regime (see Figure

Similar to Figure

Similar results were received for the cases in which 10, 25, 50, or 100 percent of the target is in the pixel.

The SMT has two main difficulties: first, the algorithm calculates a new covariance matrix at every point. This calculation needs a sequential set of rotations based on the training set followed by evaluations of the test set. Both sets are taken from the pixel surrounding only, so none of the information outside the selected group is used in the calculation. In QLRX, the eigenvectors are the same for all points (the eigenvectors of the global covariance). All that we need to do is measure the variance in the local area in the spectral direction of the eigenvalues and calculate the new covariance matrix. Second, the calculation of the SMT itself is highly dependent on the size of the “local” area. While a larger area improves the results, it also increases the time for calculation (see Table

This table shows the time it took to complete the calculation of a dataset.

“Name” | “OWS” | “GWS” | “QLRX” time in seconds | “SMT” time in seconds | Time ratio |
---|---|---|---|---|---|

“OP1_T1_S10” | 9 | 1 | 26 | 3845 | 148 |

“OP1_T1_S33” | 9 | 1 | 26 | 3794 | 146 |

“OP1_T1_S100” | 9 | 1 | 25 | 3820 | 153 |

| |||||

“OP1_T1_S10” | 7 | 1 | 25 | 2781 | 111 |

“OP1_T1_S33” | 7 | 1 | 24 | 2769 | 115 |

“OP1_T1_S100” | 7 | 1 | 24 | 2770 | 115 |

| |||||

“OP1_T1_S10” | 5 | 1 | 23 | 1965 | 85 |

“OP1_T1_S33” | 5 | 1 | 23 | 1969 | 86 |

“OP1_T1_S100” | 5 | 1 | 23 | 1965 | 85 |

| |||||

“OP1_T1_S10” | 3 | 1 | 23 | 1195 | 52 |

“OP1_T1_S33” | 3 | 1 | 22 | 1187 | 54 |

“OP1_T1_S100” | 3 | 1 | 23 | 1201 | 52 |

| |||||

“OP2_T1_S10” | 9 | 1 | 14 | 2135 | 153 |

“OP2_T1_S33” | 9 | 1 | 14 | 2105 | 150 |

“OP2_T1_S100” | 9 | 1 | 14 | 2095 | 150 |

| |||||

“OP2_T1_S10” | 7 | 1 | 14 | 1480 | 106 |

“OP2_T1_S33” | 7 | 1 | 14 | 1481 | 106 |

“OP2_T1_S100” | 7 | 1 | 14 | 1464 | 105 |

| |||||

“OP2_T1_S10” | 5 | 1 | 13 | 961 | 74 |

“OP2_T1_S33” | 5 | 1 | 14 | 962 | 69 |

“OP2_T1_S100” | 5 | 1 | 13 | 960 | 74 |

| |||||

“OP2_T1_S10” | 3 | 1 | 12 | 556 | 46 |

“OP2_T1_S33” | 3 | 1 | 13 | 555 | 43 |

“OP2_T1_S100” | 3 | 1 | 14 | 552 | 39 |

A small change in the published method for doing SMT could lead to a large improvement.

In the original algorithm, the initial assumed axes of the covariance matrix are in the direction of the original dataset. Then the axes are rotated in pairs into the directions of the “local eigenvectors” to create new covariance matrices.

When we stop, some of the axes will be almost the same direction as the local covariance eigenvectors and some will be closer to the direction of the original axes.

Now since the original directions were random, that is, not related to the correlations between the axes, it is easy to see that there is no reason that this should be optimum. In particular, would it not make more sense to start from the global eigenvectors and rotate into the local ones? Another benefit we will get from this approach is that we will start the rotation from a condition that most probably will be closer to the optimum point (see Figure

When starting from PCA subspace, we will start from a closer point to the maximum so we need fewer rotations; the delta in

For the OBP1 dataset (Figure

OBP1 results with OWS given by the number and the legend.

For the OBP2 dataset (Figure

Similar to Figure

Examining the number of rotations needed in the SMT and in the SMT-PCA (see Table

This table shows the time it took to complete the calculation of a dataset.

“Name” | “OWS” | “GWS” | Original SMT number of rotations | SMT after PCA number of rotations | Rotations number ratio |
---|---|---|---|---|---|

“OP1_T1_S10” | 9 | 1 | 3845 | 1851 | 2.1 |

“OP1_T1_S33” | 9 | 1 | 3794 | 1831 | 2.1 |

“OP1_T1_S100” | 9 | 1 | 3820 | 1806 | 2.1 |

| |||||

“OP1_T1_S10” | 7 | 1 | 2781 | 1508 | 1.8 |

“OP1_T1_S33” | 7 | 1 | 2769 | 1498 | 1.8 |

“OP1_T1_S100” | 7 | 1 | 2770 | 1457 | 1.9 |

| |||||

“OP1_T1_S10” | 5 | 1 | 1965 | 1177 | 1.7 |

“OP1_T1_S33” | 5 | 1 | 1969 | 1203 | 1.6 |

“OP1_T1_S100” | 5 | 1 | 1965 | 1122 | 1.8 |

| |||||

“OP1_T1_S10” | 3 | 1 | 1195 | 442 | 2.7 |

“OP1_T1_S33” | 3 | 1 | 1187 | 407 | 2.9 |

“OP1_T1_S100” | 3 | 1 | 1201 | 421 | 2.9 |

| |||||

“OP2_T1_S10” | 9 | 1 | 2135 | 839 | 2.5 |

“OP2_T1_S33” | 9 | 1 | 2105 | 840 | 2.5 |

“OP2_T1_S100” | 9 | 1 | 2095 | 827 | 2.5 |

| |||||

“OP2_T1_S10” | 7 | 1 | 1480 | 647 | 2.3 |

“OP2_T1_S33” | 7 | 1 | 1481 | 641 | 2.3 |

“OP2_T1_S100” | 7 | 1 | 1464 | 635 | 2.3 |

| |||||

“OP2_T1_S10” | 5 | 1 | 961 | 440 | 2.2 |

“OP2_T1_S33” | 5 | 1 | 962 | 435 | 2.2 |

“OP2_T1_S100” | 5 | 1 | 960 | 431 | 2.2 |

| |||||

“OP2_T1_S10” | 3 | 1 | 556 | 203 | 2.7 |

“OP2_T1_S33” | 3 | 1 | 555 | 205 | 2.7 |

“OP2_T1_S100” | 3 | 1 | 552 | 206 | 2.7 |

The smaller the number of rotations, the less time needed for the calculation.

As a preliminary to our conclusions, please note that when we discuss using a small or large number of pixels, that in all cases the number of pixels used is less than the number of spectral bands.

Two methods in this paper have been considered for dealing with possibly singular covariance matrices. In the first (QLRX), we use global eigenvectors and local eigenvalues as an approximation of the inverse covariance matrix. In the second (SMT), we use an iterative process to slowly “twist” our axes to come closer to those determined by the data.

In our two datasets, we found that if a small area was used for estimating the background, the QLRX algorithm was superior. For large areas of background, QLRX remains superior, although SMT greatly improves as follows:

the calculation time of QLRX is much smaller (two orders of magnitude) than both SMT and SMT-PCA,

the calculation time of SMT PCA is less than the calculation time of the original SMT by about a factor of two,

SMT-PCA and QLRX performance are better than those of SMT for any number of pixels,

for a small number of pixels

for a large number of pixels

The authors gratefully recognize the partial support for this work from the Paul Ivanier Center for Robotics Research and Production Management, Beer-Sheva, Israel. The test images are part of the Oberpfaffenhofen HyMAP scene, collected in 2004, during an airborne campaign sponsored by the Belgian Science Policy Office (BelSPO). Flights were operated by the German Aerospace Center (DLR).