Object detection system with minimum-spanning gradient filter for scene clutter suppression

Abstract: A minimum-spanning gradient filter used to suppress clutter in a target detection and tracking system. The minimum-spanning gradient filter uses subspace projection clutter suppression techniques, but does not require eigenanalysis. Model frames of data from a sensor array are stored in a memory in which the model frames do not include targets that are being detected. At start-up, a Gram-Schmidt system generates a series of unit vectors that define a clutter subspace where most of the clutter in the model frames will reside. Current frames of data from the sensor array and unit vectors from the Gram-Schmidt system are applied to a subspace projection system that removes the clutter subspace from the current frames of data. Once the original clutter subspace has been generated, a plane smoothing system updates the clutter subspace as new frames of data are added to the model frames. Current frames of data sent to the subspace projection system are centered. Additionally, a standard deviation for the pixel intensities in each frame of data is applied to a standard deviation threshold to prevent pixels that fall below the threshold from being updated in the clutter subspace. A glint threshold detector is provided to eliminate pixels above a predetermined glint threshold so that they do not contribute to the updated clutter subspace.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates generally to a clutter suppression technique for suppressing clutter in an object detection and tracking system and, more particularly, to an object detection system that includes a clutter suppression technique for suppressing line-of-sight jitter induced clutter noise where the technique incorporates subspace projection, but does not require eigenanalysis. 2. Discussion of the Related Art Strategic and tactical target detection systems which detect targets of interest and then track their courses are known in the art. These detection and tracking systems include ground-based and air-based systems that detect and track strategic objects such as aircraft, missiles, motor vehicles and the like. One such detection and tracking system is disclosed in U.S. Patent No. 5,300,780 issued to Denney et al., titled MISSILE SURVEILLANCE METHOD AND APPARATUS and assigned to the Assignee of the instant invention. This patent discloses a missile launch detection and tracking system that performs missile detection and tracking from a satellite orbiting the earth. The detection and tracking system incorporates an infrared sensor which detects infrared radiation being emitted from the earth's surface and from target objects and clutter. The sensor includes a series of detectors where each detector absorbs energy from a particular area or scene of the earth's surface. The detectors will absorb energy of differing intensities for each wavelength within the frequency range of the sensor from the emissions of the objects in the scene. The different background clutter objects, such as clouds, and the objects of interest, such as missiles, will emit infrared energy intensities at the different wavelengths within the frequency range being sensed. Detector outputs are sampled and converted into picture elements (pixels). The radiation received by the sensor is sent through a series of color filters before the radiation impinges the detectors. In one possible implementation, the color filters separate the frequency range into a series of frequency bands where each band is a continuum of wavelengths. The filters are incorporated on a wheel such that as the wheel turns, each filter will receive the impinging radiation. The rotational speed and operation of the wheel is selected such that each filter receives the radiation for a predetermined period of time in order to set an integration time for each frequency band. In a single-band sensor, only one such filter is employed, without a wheel. Target detection and tracking systems of the type discussed above must have a high degree of reliability in that the oignal-to-noise ratio (SNR) must be of such a degree to significantly reduce or eliminate the number of missed target detections and false target detections. In other words, in order to be effective, the system must have a high probability of detecting a target when one is present, and preventing an indication of a target when none is present. Therefore, all target detection and tracking systems incorporate some type of clutter suppression technique or techniques such that background clutter and noise that degrades the systems ability to isolate and detect the target or targets. For example, in the system described above, one background clutter suppression technique involves selecting the color filters and their corresponding integration times accordingly to increase the SNR between the background radiation received and the radiation received from the targets of interest. The most prevalent form of background clutter, especially for satellite based staring sensors, is caused by line-of-sight (LOS) motion. LOS clutter noise typically occurs as a result of motion imperfections in the LOS control sensing system, and the drift of the satellite itself. Because the sensor is mounted on a movable platform, certain phenomena such as the natural resonance of solar panels associated with the satellite, thermal expansion and contraction of different components associated with the satellite, and, in some cases, inertial spinning masses that maintain the satellite's attitude cause the sensor position to fluctuate in a jittering manner. Motion of the sensor causes brightness gradients, from bright/dark boundaries on the surface of the earth, clouds, etc., to move across the sensor pixels, and thus make the image brightness vary in a manner similar to a true target. Consequently, images that are generated by the tracking system contain spurious signal variations, causing an increase in the noise of the system. One known type of clutter suppression technique which attempts to eliminate the effects of jitter and drift is referred to as subspace projection. Subspace projection is a clutter suppression technique in which most of the noise of the system is mathematically defined within a clutter subspace and the clutter subspace is then separated from the frames of data detected by the sensor. To generate the clutter subspace in subspace projection clutter suppression, a model of the pixel outputs is developed depicting the clutter signal from the sensor, and the clutter subspace which contains this signal is determined so as to mathematically delete it from new images being sensed. Known subspace projection techniques utilize eigenanalysis procedures in order to generate the clutter subspace. One reference that sets out a subspace projection clutter suppression technique of this type can be found in the article J.D. Hulsmann and P.E. Barry, "An Eigenvector Procedure for Eliminating Line-of-sight Jitter Induced Noise from Staring Mosaic Sensors", 19th Annual Asilomar Conference on Circuits, Systems and Computers, Pacific Grove, CA, Nov. 6-8, 1985. In the article P. E. Barry and M. Klop, "Jitter suppression: a data processing approach", proceedings of the SPIE, vol. 366, San Diego, California 26 to 28 August 1982, pages 2 to 9 a further subspace projection technique for generating a clutter subspace is described. The clutter subspace is generated by eigenanalysis procedures. Although the known subspace projection techniques that use eigenanalysis have been successful in eliminating LOS induced clutter noise, eigenanalysis requires a considerable amount of processing load and memory. Therefore, robust signal processing techniques must be implemented to provide the necessary processing to perform the eigenanalysis that significantly adds to the cost and calculation time of the system. What is needed is a clutter suppression technique which uses a subspace projection clutter suppressor, but which does not require eigenanalysis and has a natural recursive method for controlling responsiveness. It is therefore an object of the present invention to provide such a clutter suppression technique. SUMMARY OF THE INVENTION In accordance with the teachings of the present invention which is defined in claims 1 and 11, a minimum-spanning gradient filter is disclosed which uses subspace projection clutter suppression, but does not use eigenanalysis. Model frames of data from a focal plane sensor array that do not include targets that are being detected are stored in a first-in first-out buffer memory. At start-up, the model frames of data are applied to a Gram-Schmidt system that generates a series of unit vectors that define a clutter subspace where most of the clutter in the model frames will reside. Current frames of data from the sensor array and the unit vectors from the Gram-Schmidt system are applied to a subspace projection system that removes the clutter subspace from the current frames of data so as to remove the clutter. Once the original clutter subspace has been generated, a recursive plane smoothing system receives the output from the subspace projection system and current frames of data from the sensor array to generate updated clutter subspaces during operation of the filter. The frames of data having the subspace removed are then sent to a target detection system to detect targets of interest. An averaging system is provided to average pixel intensities in each model frame of data in order to center the pixel intensities in the frames applied to the subspace projection system. A standard deviation for the pixel intensities in each model frame of data is determined and applied to a standard deviation threshold based on expected sensor and electronic noise to prevent the pixels that fall below the threshold from being updated in the clutter subspace in order to decrease processing load. A glint threshold detector can be provided so that if a pixel in the frames of data exceeds a predetermined glint threshold, that pixel also does not contribute to an updated clutter subspace. Additional objects, advantages, and features of the present invention will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows a graphical depiction of a clutter component from a single pixel of a sensor associated with an object detection system; Figure 2 is a depiction of a clutter subspace of an image vector; Figure 3(a)-3(b) shows a graphical depiction of pixel vectors; Figure 4(a)-4(c) shows a graphical depiction of a spanning vector formation according to a preferred embodiment of the present invention; Figure 5 is an example of a particular clutter plane; Figure 6 is a noise model depiction; Figure 7 is a graphical depiction of a density function; Figure 8 is a graphical depiction of the jitter component of a density function; Figure 9 is a graphical depiction of a weighting function; Figure 10 is a graphical depiction of a centered model; Figure 11 is a target energy lost model; Figure 12 is a schematic block diagram depicting a minimum spanning gradient filter used for scene clutter suppression according to an embodiment of the present invention; Figure 13 is a series of time line diagrams depicting the separation of model window frames and detection window frames for the minimum spanning gradient filter of Figure 12; and Figure 14 is a model of pixel and time-spanning. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS DEFINING A CLUTTER MODEL FOR A TARGET DETECTION SYSTEM Subspace projection clutter suppression requires that a model of the clutter signals in each pixel output be generated. For a small number of sample times, LOS motion in the focal plane of a sensor array (not shown) for those pixels in the sensor array that have a large spatial scene brightness gradient can be described by a first-order Taylor series approximation to the integrated detector output (target-free), incorporating two-dimensional jitter and drift noise components for a pixel i at a sampling time j, by: s i ( t j ) = s ij ≃ B ij -1 +▿ i • D j +η ij = B ij -1 + ▿ xi ( v x T +η xj ) + ▿ yi ( v y T +η yi ) + η ij , i =1 : N, j =1 : k, where, B ij-1 is the background from s ij-1 , B ij-1 =B ij-2 +▿ xi v x T+▿ yi v y T,B io =B i , B i is an initial brightness for pixel i, ▿ i is the spatial brightness gradient vector, D j is the LOS motion vector due to jitter and drift of the sensor, ▿ xi , ▿ yi are x and y components of ▿ i , v x ,v y are x and y components of LOS drift velocity, T is the sampling period, η xj , η yj are x and y components of LOS jitter motion displacement from an initial position of zero, η ij represents all other random electronic noise sources, k is a sample time, and N is the number of pixels. The approximation of equation (1) applies only to measurements of N pixels made simultaneously. If, for example, the wavelength bands are sampled consecutively, equation (1) applies only to pixels in one frequency band. Therefore, the use of equation (1) for all N cluttered pixels represents one integration time "snapshot" of the cluttered image. The N pixels might be a small part of the entire image. This assumes that the motion is translational over the set of pixels being processed. However, the method extends to any linear model of clutter, including a rotational model. By modeling gradients as constant for each pixel during a sample time k, it can be assumed that the pixels will not change radically at the next (k+1) sample time of the same band. Also, while real motion during integration can be complicated, the net effect is represented by the vector D j in all of the pixels in each cluttered image. It is further assumed that the clutter signal in the pixels is large as compared to η ij . Although the clutter as a result of the slowly-varying brightness difference between pixels due to drift and the noisy signal due to jitter vibration of the LOS is shown separately in equation (1), the following discussion will use the term clutter for both since the process put forward can suppress each type of clutter using the same mechanism. Figure 1 shows the key components of s ij during the sampling period T as modeled by equation (1). The signal s i is the output of a particular signal from the sensor as shown in the vertical axis and time as shown in the horizontal axis. An enlarged area of the output signal is shown to more clearly depict the clutter components as a result of drift and jitter over three sampling periods. The short term accuracy of a linear model is dependent on many factors such as blur circle size, pixel size, drift rate and scene structure. Generally, for optical resolution matched to detector size, the assumption should get better as the factor of pixel size/drift speed gets larger. Also, brightness gradients, hence jitter noise, are smallest where they change most rapidly, offsetting the effect of LOS and cloud drift on a linear model. GEOMETRIC INTERPRETATION OF THE CLUTTER MODEL By ignoring the electronic noise term η ij of equation (1) for the moment, the ideal linear (fixed gradient) clutter model may be recognized as a parametric equation in the parameter time, i.e., each pixel output is linear in the two independent parameters η xj and η yj . Simplifying equation (1) to show this fact by letting η xj = x(jT) = x(t), η yj = y(t), and substituting the previous j-1 B terms provides: s i ( jT ) → s i ( t ) =B i +▿ xi [ ν x t+x ( t )] +▿ yi [ν y t + y ( t )] =B i +▿ xi p ( t ) +▿ yi q ( t ), where p(t) and q(t) are time parameters. All of the pixels have the same time parameters p(t) and q(t) for the same sample time k. Therefore, the effect of ideal linear clutter due only to translational motion is to disperse the pixel outputs into a 2-dimensional plane, referred to as the clutter subspace plane (CP), in the dimension N cluttered-image space. This can also be shown by considering the set of computations from equation (2) that results for all of the pixels, then solving for and eliminating the time parameters p(t) and q(t) common to all of the pixels using any two pixel outputs. This result is a set of equations having the form: s i =as l +bs m +c i where, a, b and c are constants. Equation (3) results in a set of equations of the clutter plane CP which do not pass through the origin. If the data is first centered or averaged, the clutter plane CP will pass through the origin, and the constants a and b will determine the orientation of the clutter plane CP as functions of only the fixed brightness gradients of the pixels. This is a twodimensional plane in dimension N hyperspace, where theoretically the value of any one pixel is algebraically dependent only on any other two pixels. This subspace is spanned by the linear combinations of any pair of non-colinear vectors contained in the subspace. The planar property of clutter can be expressed in a vector form. For example, the clutter vector S j can be depicted as follows: S j is an Nxl vector representing the set of "centered" cluttered pixel values at the sample time k of a clutter image. In this example, centered means subtracting the k time average of each pixel from the individual pixel values. Of course, other types of weighted averages, such as nth-order filtering, could be used. S j is contained in a vector space . If S = [ S 1 S 2 ... S k ] is an Nxk matrix of the last k cluttered images, then: This set of vectors is formed by multiplying a pair of fixed gradient vectors by k pairs of different motion scalars. All of the resulting target-free cluttered image vectors will lie in the clutter plane CP formed by the two fixed gradient vectors ▿ x and ▿ y , as will the future or past images. Equation (5) is column-space oriented, and will be referred to as the pixel or gradient-spanning representation because the pixel outputs are represented by linear combinations of the gradient vectors. Another interpretation can be put forward. Common motion for all pixels over the sample time k forms a pair of dimension-k fixed motion vectors p and q which can be multiplied by N different gradient scalar pairs to form a cluttered image. This interpretation is row-space oriented, and will be referred to as the time or motion-spanning representation. The matrices generated by equation (5) can be manipulated to emphasize the difference between the two interpretations of the same cluttered images. The second interpretation is given as follows: Of course, jitter effects in a real detector signal will not faithfully obey these mathematical abstractions. The clutter plane CP will not remain two dimensional and will grow into something resembling a wobbling, "fuzzy pancake" having more than two dimensions in pixel space as a result of noise, gradient changes, gradient nonlinearity, LOS and cloud drift, etc. In the case where the detector array is a line or strip, such as in a scanner, jitter might be most predominant in one direction, thus allowing a model which uses only the x or y component of motion. In this case, the ideal clutter plane CP is a one dimensional line in N-space which will expand into a twisting figure representing a "fuzzy hot dog" of more than one dimension. In either of these cases, the clutter energy distribution should tend to be confined to a subspace of small dimension relative to the total number of cluttered pixels over a reasonably short period of time (seconds). This fact allows the subspace to be deleted from the measurement for each clutter image. Since, to a first order, the subspace is planar for a two dimensional focal plane, the term "plane" is used even though the subspace model could be of higher dimensions to capture the real effects. SUBSPACE PROJECTION Next, the pixel-spanning representation of equation (5) will be used to explain subspace projection. Subspace projection is an effective approach to clutter suppression in that it attempts to isolate and remove the correlated energy caused by clutter through exploitation of the underlying correlation structure. For example, suppose that k images are used to model the clutter plane CP described above as more formally defined to be the surface of the smallest dimension containing all of the clutter energy. The projection of the next, uncorrected (but centered) Nxl image vector S k +1 onto the complement of the clutter subspace plane CP within the N-dimension image space is defined to be its corrected value. The corrected image is that part of the next cluttered image which does not fit the current clutter model. Since the clutter subspace plane CP is orthogonal to its complement, this corrected value also happens to be the residual of the least-squares fit of the model to the uncorrected vector. This is shown as follows: where, S and k+1 is the corrected image, S M / k +1 is the model fit to S k +1 , and S and k+1 ⊥ S M / k +1. Figure 2 shows a depiction of the above described relationship. Here the clutter subspace plane CP can be any dimension m subspace of pixel space, subject only to m ≤ k -1 for the centered data. The clutter subspace plane for the model is referred to as CP(m). Any sample time k can be corrected by this method. For example, S k +2 or later could be corrected by the same model, as long as the gradients have not changed significantly. As a practical matter, however, sample times used in the model would not be corrected, as it is assumed that model images contain only clutter, and not information such as targets or glint which might bias the estimate of the clutter plane CP. Further if m is close to k-1, model images will be almost completely spanned by the subspace, making it more likely that target energy will not show up as the residual S and k+1 . Since correlated clutter energy should be concentrated into a small subspace, it is natural to consider eigenanalysis as the basis for setting up the model. It is well understood that the eigenvectors E i , i=l:m corresponding to the m largest eigenvalues of a data set's covariance matrix (rank ≥ m) form unit basis vectors for a dimension m subspace which contains the greatest data variance. Also, this subspace is a least-squares solution or fit to data in the model over all subspaces of this dimension. In other words, the model surface so defined is as close as possible to the data set used to define the surface. From this, an Nxk matrix of the last k centered clutter images is given as S . N is assumed to be greater than k. It is then possible to compute the eigenvectors of S S T having the NxN spatial sample covariance, without the factor 1/N, corresponding to the m ≤ (k - 1) largest eigenvalues. However, these column-space eigenvectors can be determined more efficiently from an eigenvalue weighted singular value decomposition transformation of the row-space eigenvectors for the kxk sample time covariance S T S . Since these vectors span the entire clutter plane CP(m), the subspace projection equation (7) becomes: where E i is the eigenvector for the ith largest eigenvalue using centered data. In other words, the summation is the clutter plane model least-squares estimates S M / k +1 of the uncorrected pixel vector. For example, consider a simple case of no drift with jitter in the x dimension only. Such an example leads to- a clutter plane CP that is a line. Figures 3(a) and 3(b) show a cluster of centered data pairs over k = 9 sample times for two pixels, where random noise has been added to an even larger clutter variation. The dotted diagonal line represents the best model fit of a one dimensional subspace to the data. The slope of the line represented is the best fit of the brightness gradient of the second pixel divided by the first pixel. The two components of the gradient vector in equation (5) are shown. If the next, uncorrected pixel vector from the same band falls as shown after centering, the corrected value will be the residual vector perpendicular to the model line, here N=2. Since this residual is really a vector bound to the origin, the corrected value for the two pixels is (S and 1 ,S and 2 ). In this example, the eigenvector corresponding to the largest eigenvalue of the sample covariance matrix of data pairs is effectively used to span the clutter subspace plane. This eigenvector is colinear with the model line as shown in Figures 3(a) and 3(b). Note that one dimension for the model is used that is much smaller than k-1=8. This operation can be shown as follows: where, The operator P m is the unique orthogonal projection matrix for any vector in the dimension N vector space onto the clutter plane CP(m). The range of (I-P m ) is the dimension N-m orthogonal complement of CP(m) within , CP(m) ⊥ . The uniqueness of P m establishes that if any Nxm set of vectors [U i ] - U (i.e., matrix of the U i ) form an orthonormal basis for CP(m), then UU T =P m . DESCRIPTION OF A MINIMUM-SPANNING GRADIENT FILTER FOR CLUTTER SUPPRESSION Armed with the above described analysis, the following discussion will be directed to a minimum-spanning gradient filter (MSGF), according to an embodiment of the present invention. There are three key concepts to the proposed MSGF approach. First, if a dimension k-1 clutter subspace model based on k centered clutter image vectors is used, the k vectors automatically determine the subspace. That is, k centered samples define a dimension k-1 surface in N-space, i.e., CP(k-1). Second, any set of orthonormalized vectors which span this subspace can be used to perform subspace projection. In particular, a Gram-Schmidt procedure using any k-1 size selection of the k image factors is executed to provide this set. As is understood to those skilled in the art, a Gram-Schmidt process is an effective way of finding unit vectors that are mutually orthogonal. In this type of process, eigenvalues and eigenvectors do not need to be computed, since these eigenvectors must span the identical subspace. Therefore, the same information will be deleted from the uncorrected clutter image vector by these two different sets of spanning vectors. Note, however, that the model dimension m must be equal to the k-1 centered data or k for uncentered data for this equivalence to hold. And third, the angle which this subspace will rotate after inclusion of a new sample in the model can be calculated with a simple technique and smoothed. That is, a filter function can be applied to the rate of model correction as the window of k vectors is shifted in time in order to control and balance responsiveness to noise and gradient changes. One form of an MSGF according to the invention can be constructed as follows with reference to Figures 4(a)-4(c). First, form a unit vector by normalizing any one of the k centered image vectors. Then, a Gram-Schmidt procedure produces the set of unit vectors as follows: From equation (8), the correction for the next image to remove the clutter subspace from the image is given by: The speed and processing advantages of the MSGF process comes from avoiding several operations. First, it is not necessary to calculate the covariance eigenvectors. This saves multiplications by avoiding formation of the time covariance matrix and construction of the spatial covariance eigenvectors. A rough estimate of the ratio of multiplications for N>>k 3 is about 5 for k=3, and about 4 for k=4, excluding equations (8) and (11). Also, equation (8) requires about twice the number of square roots. As long as care is taken in forming the vectors using the Gram-Schmidt procedure using numerical techniques familiar to those skilled in the art of matrix computations, the spanning vectors in the MSGF should have better precision and orthogonality than those of equation (8) because they do not depend on convergence criteria associated with eigenvalue/eigenvector calculations. Since the Nx(k-1) set [C i ] forms an orthonormal basis for CP(k-1), the resulting orthogonal projection operator P k-1 is identical to one formed from the Nx(k-1) set of eigenvectors [E i ]. That is: Plane Smoothing The MSGF can be implemented as a moving window of k samples by dropping the first (oldest) sample and adding the k+1 sample to the model. Since this model update preserves the dimension of the clutter plane CP, the effect of the update is to rotate the clutter plane CP within . This rotation amounts to tilting the plane about the k-2 previous centered images in the direction of the update image. Since noise will tend to "bounce" this subspace around the true value of the gradient slopes, it is possible to add inertia determined by the data. The following tradeoff then occurs. If it is desirable to filter heavy clutter by opening up the subspace to more dimensions, the extra time required to collect more data can reduce the accuracy of the model as the clutter plane CP changes. On the other hand, a clutter model of two dimensions is accurate only for two dimensional LOS motion and linear gradients. The right approach is to balance the subspace size and responsiveness to change. There are many ways to smooth the rotation of the subspace CP(m) during updating. One of those approaches is the "βΘ" approach, which acts like a recursive filter. Rather than use the previous k-1 centered image vectors, the spanning set [c i ] will be used as shown in Figure 5. After the k+1 correction, the Gram-Schmidt procedure is run starting with the model fit C' = S M / k +1to the uncorrected image. Any k-2 spanning vectors can be used to complete the procedure. This rotates the spanning vectors CP(m) until one vector is colinear with the model fit. In the CP(2) example shown in Figure 5, the result is C' and C 2 ". Now the angle between C' and the update vector is computed and C' is rotated by a fraction β of the angle Θ between CP(2) and the update vector S k +1 . Since C 2 '' is orthogonal to both C' and the direction of rotation, this rotation does not affect it. In fact, no matter what the size of m is, only the vector C' needs to be rotated towards the update since all the other C'' are orthogonal to both C' and the subspace into which C' is being rotated. All of these operations are straightforward, as model fit is a byproduct of each correction, and the implied arctangent calculation can use coarse numerical approximations. The effect of this procedure is the same as smoothing a random vector normal to CP(k-1) in k space. The distribution of the angle from the clutter plane CP to the new image S k +1 provides some additional insight into good smoothing functions. For convenience, an example will be developed using motion in one direction only giving a line CP(1) as the model, 2 pixels, and independent zero mean normal distributions N(0,σ 2 ) for all jitter and noise components. Figure 6 shows this model and its update with jitter excursion about 1.5 times its standard deviation and random noise excursion about twice its standard deviation. The probability density function of the angle Θ can be derived by calculating the angle distribution of jitter and noise along the true model line, then adding ϕ as a constant, as follows. Since the random/electronic noise component is assumed to have the same variance in both dimensions, its projection onto the true clutter plane CP has the same standard deviation as its projection onto CP(1). Therefore, the problem of finding the distribution of Θ can be worked with respect to a coordinate system aligned to the true clutter plane CP by adding the random noise component "x" (not shown) along the clutter plane CP to the jitter component, then taking the random noise component "y" normal to CP as the height of the desired right triangle for e. Therefore, Θ is given as follows: where σ 2 / e and σ 2 / c are noise and jitter variances. The distribution of S k +1 can be shown to be bivariate normal with diagonalized covariance having entries σ 2 / c + σ 2 / e , and σ 2 / e , and a semi-major axis colinear with the true clutter plane CP. The distribution of Θ can be found by modifying a derivation of the Cauchy distribution, well known to those skilled in the art. This distribution is defined as: Figure 7 shows a graph of the f  () density function. The distribution of Θ is conditioned on the value of the jitter component and provides some feel for the influence on Θ of the amount of the jitter signal. Here, Θ is defined by equation (13) with z replaced by a constant representing the given jitter amplitude as follows: Equation (15) may be recognized as the phase part of a Rician distribution, known to those skilled in the art. The phase part is less well known than the amplitude part that is used extensively in the theory of both envelope detection and fading communication channels. The distribution of the length of the observation will be that of the Rician amplitude. The phase calculation is only extended to 2π as: where erf is a mathematical error function. Figure 8 shows a graph of the density function f() for equation (16). The shapes of the conditional and unconditional densities are similar in the vicinity of zero degrees. These densities emphasize that the greatest improvement using subspace projection occurs when jitter is large relative to other noise sources. A useful result would be the density function f 0 (+ϕ| S M / k +1). However, this presumes some distribution for . Since this angle depends on both the algorithm and the brightness gradient changes, it seems practical to assume that the true clutter plane CP is close to the model, and influence the update according to the approximation A ≈∥ S M / k +1∥. This suggests a class of heuristic "influence" functions with the shape as shown in Figure 9. In this example, a full correction up to the recursion factor β is used when the measured length of the modeled image is large relative to the estimated standard deviation of random noise. An exponential form of weighting seems natural due to the noise distribution. Therefore, experimenting with β and r to find an operating point would be required. Note that noise excursions larger than π/2 will not be detected, and hence not corrected, since the measured angle is taken to be the smallest clutter plane CP. Another approach might be to let β be a simple function of ∥ S M / k +1∥/σ e . Intuitively, the net effect of a good smoothing or influence function should be to substitute the inertia inherent in a sample covariance approach which spans a predetermined number of sample times k, without doing the work associated with a covariance and eigenvector calculation. The idea of functions of those shown in Figure 9 is a weighting according to the aposteriori probability that the corrected update image belongs to the clutter model rather than to random noise. In any case, the main point is to control the clutter filter by controlling or filtering the model update, much like the model update in a Kalman filter, well known to those skilled in the art, allowing gradient changes to be incorporated while damping the reaction to random noise. Centering the Data It is also important to center the pixel intensity data. The spanning vectors formed from centered data are more efficient in describing the clutter model. Figure 10 shows a case of modeling using uncentered (m=k=2) and centered data (m=k-1=1). When the data is uncentered, the first eigenvector E 1 is used to describe the direction of the centroid of the data cluster, which generally has no relationship to the direction of clutter dispersion. The second eigenvector E 2 must be normal to the first. Therefore, it generally will also not be oriented along the line of dispersion either. The most that can be said about E 1 and E 2 is that the plane they define contains the efficient model. The same will be true for the subspace of an MSGF approach using uncentered data. In Figure 10, the best clutter model is one dimensional. For centered data, the spanning vector E 1 will point along the direction of the model data dispersion. Since some kind of average or background estimate is maintained for threshold determination anyway, centering should add less of a processing load than the inner products save by eliminating one vector calculation. The importance of a centered model is that it helps to make the clutter subspace as small as possible by eliminating one dimension. For example, looking at Figure 10, a wild data point which landed a large perpendicular distance away from the correct 1-dimensional model, but close to the plane modeled by uncentered data, would be corrected to a small value. In other words, an uncontered model has one extra, unnecessary dimension which may reduce potential target activity. Of course, the key to good centering is good background estimation. Target Energy Loss One disadvantage in using subspace projection to reduce clutter is that some target energy (or any energy which is projected onto the model) will be lost in the model, and some will be "leaked" from the target pixel into other pixels. Having a large number of pixels in the model suppresses the latter effect. Since the leakage would generally be small, it seems unlikely that it would cause a false alarm problem in another pixel which is cluttered. Large false targets such as glint can be detected and separated as shown below. The target loss effect can be illustrated by considering an example for CP(1), shown in Figure 11, where the clutter model is pointed at (1,1,...,1) T in N-space. That is, the pixels all have the same gradients. Figure 11 shows the effect of pixel correction on other pixels in the model for N=3 and a target in pixel S 3 . Most of the target energy in pixel S 3 will be retained by S 3 because its axis is the only one which is coplanar with the model line and the cluttered sample. In the case of N pixels, a geometric construction shows that if a target value of T is added to pixel i under these conditions with no electronic noise, the output of the filter can be given by: S i = T 2 , S j = T 2 N -1 , j≠i. These terms might be considered figures of merit for general performance. Target loss or leakage for an individual pixel i can be computed by applying P to the unit vector [0,0,...,0,1,0...,0] T , where 1 is the ith component and examining the result. This is equivalent to applying the ith column of I-P, which can be computed from the inner products of CC T or EE T without computing P explicitly. Target Threshold Since the orthogonal projection P is a linear operator, the corrected image spatial covariance can be given by: K I-P =cov ([ I-P ] S ) = [ I-P ] cov ( S ) [ I-P ] T = [ I-P ] K [ I-P ] =K-PK-KP+PKP. If the x and y components of jitter and electronic noise are independent, and drift is ignored, K I-P can be approximated as follows. First, assume that m=k-1=2. Then, let E be an NxN matrix representing the orthonormal completion of the CP(m) spanning eigenvectors E for the spatial covariance S S T . To the extent that this sample covariance represents the true covariance, the distribution of the correct pixels can be estimated. Supposed there is no error in E as an estimate of the eigenvectors of K. E can be partitioned into the CP(2) spanning eigenvectors and their complement as Therefore, equation (18) becomes: K I-P = EE T K 1-P EE T = EE T ( K - PK - KP+PKP ) EE T ( as EE T =I ) For ideal clutter with no drift, E diagonalizes K into: E T KE =Σ= diag ( a σ 2 c +σ 2 e , aσ 2 c +σ 2 e , σ 2 e , σ 2 e , ..., σ 2 e ) =diag ( σ 2 1 , σ 2 2 , ..., σ 2 N ) where, a is a linear function of the square of each of 2N pixel gradients as seen from equation (1) ; σ 2 / c is jitter variance (assumed to be the same in x and y); and σ 2 / e is the variance of electronic noise (variance of η ij in equation (1)). The exact form of the first m terms of the diagonal covariance are not as important in this derivation as the effect of the projection. Then using the definition of P and this diagonalization, equation (19) can be manipulated into the desired form as: where the last expression has m zeros. Because the spanning set C forms an identical P m , the corrected data covariance using C is the same. For the case of general m, the noise distribution in the subspace may not be of equal variance as it is in the example above. Nevertheless, the orthogonal projection still deletes whatever energy is projected onto the clutter plane model CP(m) from N-space and spreads the remainder back into N-space. Since N is much larger than m, the power of uncorrelated electronic noise in each pixel should not be significantly affected by this operation. Equation (21) also implies that an estimate of the electronic noise variance and target loss as described above can be used to set a target detection threshold in corrected pixels. Drift Drift in the linear model introduces a "stretching" of the clutter dispersion on the clutter plane CP which should cause a problem similar to that of an uncentered data if gradient changes are significant. As the brightness gradients and background change, an efficient model of clutter should rotate in N-space along with the slope of the gradient ratios. Uncompensated drift adds a growing term at each sample time which is usually not averaged out by time averaging the model data. Therefore drift compensation will help clutter suppression and vice verse. As the ratio of pixel size/drift speed gets smaller for optical resolution matched to pixel size, target strength may become large enough to overcome random jitter and electronic noise, but the increased rate of background variation will complicate setting a threshold. One approach is to increase the size of the subspace by including more samples in the model at the expense of deleting non-cluttered data. Another is to use the nth-order difference filtering to estimate the background at the expense of added noise. If scene rotation and/or blooming is a problem, the focal plane processing could be subdivided by operating on contiguous data with concentric, segmented bands so that non-translation motion over the focal plane is almost linear within each segment. Figure 12 shows a schematic block diagram of one implementation of a minimum-spanning gradient filter 10 for suppressing clutter according to an embodiment of the present invention. The filter 10 receives images as pixel intensity data from a sensor array (not shown) sensing a scene, such as an infrared focal plane sensor array, associated with a target detection and tracking system (not shown) over a particular frequency band i . The operation of the filter 10 would be carried out prior to the images from the sensor array being tested for the presence of a target. A separate gradient filter would be provided for each band i of the tracking system. For example, in the targeting system disclosed in U.S. Patent No. 5,300,780 there are seven separate frequency bands each requiring its own filter. The corresponding notation of the filter 10 follows the analysis of a minimum-spanning gradient filter according to the invention as discussed above. Consequently, the discussion below of the filter 10 can be found detailed above. Focal plane scene data from the sensor array enter the filter 10 from the upper left as scene frames S over the particular frequency band i . A first-in first-out (FIFO) buffer memory 12 stores a number of current successive frames or images of the scene being sensed for objects of interest at one frame per sample time. Each frame or image is represented by a plurality of pixels, represented here as individual squares in the memory 12. In one known targeting system there are 256 x 256 pixels per frame. A FIFO buffer memory 14 provides a delay of 1 number of frames over which successive frames can be stored for reasons that will become apparent from the discussion below. Additionally, a FIFO buffer memory 16 stores successive frames of the scene as model frames of data that will be used to determine clutter subspaces. In this example, the k oldest frames in the buffer memory 16 form the model frames, and the n newest or current frames in the buffer memory 12 are tested for the presence of a target by a target detection process (not shown) to determine whether a target is present in the model frames that would not be clutter. In one example, there are about fifteen frames that form the model frames in the memory 16 and five frames that are tested for the presence of a target in the memory 12. Any applicable target detection process known in the art can be used to determine whether a target is present in the frames of data stored in the buffer memory 12. The target detection process would be performed after the filter 10 removed the clutter from the frame of data in the manner that is being discussed. The time separation of the n detect frames stored in the buffer memory 12 that are detected for the presence of a target and the k model frames stored in the buffer memory 16 allow the system 10 to determine that there are no targets in the modol frames that would show up as clutter and corrupt the clutter model with target data. Figure 13 shows a series of time lines that depict how the filter 10 represented in Figure 12 defines a series of model frames stored in the memory 16 and a series of detect frames stored in the memory 12. Time is represented along the horizontal axis of each time line and a series of hash lines on the horizontal axis separate consecutive frames of data. As shown by a first time line, a clutter model window is being generated as a series of frames produced at each sample time. A second time line shows a model window being k frames of data that are stored in the memory 16 and represent the model frames to be used to determine the clutter subspace model. Subsequent frames of data will then be stored in the memory 12 as a detection window representing the n detect frames. once the n detect frames are generated as a detection window, the process for determining if a target is present can be performed on these frames of data as corrected by the filter 10. In one example, a test for determining whether a target is present in each pixel is referred to an m-out-of-n rule test where a predetermined number of frames m in the n frame detection window must show a target for that pixel in order for the system to determine that a target exists. For example, if there are five frames of data in the detection window, then three coincident pixels in those frames must show the target is present. If less than m number of frames of data show a target, the system 10 determines that a target is not present, and the model window and the detection window are updated by moving the most recent frame of data into the detection window, moving the oldest frame of data from the detection window into the model window, and discarding the oldest frame of data in the model window as shown in the fourth time line. If, however, a target is detected in the detection window, the memory 14 is incorporated to store successive frames from the detect window so as to keep the model window constant while the target is present. This is shown in the fifth time line where one frame of data is shown as a freeze frame as a first frame of data stored in the memory 14. If the target detection process continues to detect a target in the updated detection window, more freeze frames will be added to the delay memory 14 as shown by the sixth time line. As the freeze frames increase in number, the model window remains constant. Each time a new frame is introduced into the detection window, the test for a target is repeated. At some point, a maximum number of delay freeze frames in the memory 16 will be achieved, where a target is still detected in the detection window, but the model must be updated. The maximum freeze frame window is 1 frames shown in the sixth time line. At this time, the process is shifted one frame such that the model window is updated, but may include a target pixel as shown in the seventh time line. Returning to Figure 12, each pixel for the band i is passed through a series of operations on a frame-by-frame basis to generate a clutter subspace. Particularly, each pixel from the buffer memory 16 is applied to a summation junction 18 to add the pixel intensities in each frame of data for averaging purposes. The summation in the summation junction 18 of all of the pixels for each frame from the buffer memory 16 is applied to a l/k averaging system 20 to generate the average intensity for that set of pixels for centering purposes as will be discussed below. Averaged pixel intensities S mean for each frame S from the averaging system 20 are then applied to subsequent detection operations (not shown) for target detection that will be understood to one skilled in the art. Each pixel of the model frames in the buffer memory 16 are also applied to a standard deviation calculation system 22. The standard deviation calculation system 22 also receives the average pixel intensity S mean from the averaging system 20. A clutter sniffer 24 takes a standard deviation σ of each pixel in the model frames in the buffer memory 16 over the modeling period. The average pixel intensity S mean and the standard deviation σ of the pixels are determined over the modeling period using conventional statistical formulae or adaptive techniques, such as Kalman filtering, based on a model of the scene statistics. These quantities are also useful for threshold settings and subsequent detection operations (not shown) as would be understood to someone skilled in the art. If the standard deviation σ of a pixel is below a predetermined threshold σ c , as determined by the clutter sniffer 24, based on expected sensor and electronic noise, this pixel is not corrected as determined by a do not correct pixel system 26. The clutter sniffer 24 is provided to prevent electronic and detector noise from altering the clutter subspace model of the LOS jitter noise. The frames of data S are also applied to a glint threshold detector 28. The glint detector 28 determines if the absolute intensity of each pixel in the frames S are above some glint threshold value γ g that may undesirably alter the subspace model. If the intensity value applied to the detector 28 is above the glint threshold γ g , this pixel is ignored in the process so as to avoid large leakage into adjacent pixels as a result of subspace deletion as described above. If a pixel intensity exceeds the threshold value γ g , then that pixel is applied to a system 30 so as to replace the pixel having an intensity above the glint threshold value γ g with an average intensity pixel and keep that excessively intense pixel from updating the subspace model. An output of the system 30 is applied to the system 26 so the system 10 does not correct a pixel above the glint threshold γ g . The frames S are applied to a summation junction 40 to be summed with a negative of the average pixel intensity S mean from the averaging system 20 so as to center the frames of data S . Centering the pixel intensity data concentrates the variation of the data into as smallest subspace as possible. Although the step of centering is not necessary to perform the filtering of the invention, such a centering step has known advantages. A more detailed discussion of centering of the pixel data can be found above with respect to Figure 10 and the corresponding discussion. Centered frame data S from the summation junction 40 is then applied to a subspace projection system 42. The subspace projection system 42 performs the subspace projection technique on the centered frame data S as discussed above with respect to equation (11) so as to remove the clutter subspace in the frames and output frame data having substantially all of the clutter removed. The first set of subspace basis vectors that form the clutter subspace model that most of the LOS jitter noise resides are determined using a Gram-Schmidt procedure as discussed above with reference to Figures 4(a)-4(c), equation (10) and the corresponding discussion. A negative of the average pixel intensities S mean from the averaging system 20 is applied to a series of summation junctions 32 to be summed with a signal from the system 26 so as to remove the pixels that are not to be corrected as discussed above. A summation junction 32 is provided for each k frames of data in the memory 16. Outputs of the summation junctions 32 are applied to a series of Gram-Schmidt systems 34 that will perform Gram-Schmidt calculations on the pixels to be corrected for clutter in the model frames. The Gram-Schmidt system 34 generate a series of unit vectors that define the clutter subspace model by equation (10). The unit vectors are defined as C 1 - C k-1 to include all of the model frames in the memory 16. The outputs from the Gram-Schmidt detector system 32 are applied to the subspace projection system 42 at initial start-up. After the initial clutter subspace model has been generated by the Gram-Schmidt calculations, a plane smoothing operation as depicted by a plane smoothing system 44 is used to update pixel corrections in subsequent clutter subspace models. Plane smoothing is discussed above with reference to Figures 5-9. As discussed above, the plane smoothing process attempts to reduce the rotation of the clutter subspace due to random noise during the clutter subspace updating process as new frames are added to the memory 16 so as to maintain the clutter subspace model substantially close to the true clutter subspace. The plane smoothing system 44 uses a β approach acting as a recursive filter. In the plane smoothing operation, the centered frame data S and the C' model fit from the subspace projection system 42 are applied to a first delay n+l-1 system 46 and a residual corrected frame data is applied to a second delay n+l-1 system 48 as shown. The delay n+l-1 systems 46 and 48 synchronize the clutter subspace updating with an output from the part of the image frame which fits the subspace model, i.e., lease squares or projection fit, and a residual in the current frame. Other operations within the plane smoothing system 44 can be found detailed above. The delayed fit from the delay systems 46 and 48 is compared to the corresponding uncorrected, but centered frame data (which corresponds to the next uncentered frame to be sent to the model window in the buffer memory 16) to determined the angle  between them. A unit vector C' is computed from the fit, while a result of two factors, a user-adjusted recursion factor β and an amplitude factor 1- e - rs 2 , are applied to the angle to rotate the unit vector in the direction of the next frame. 1- e - rs 2 is calculated from the magnitude of the residual of the frame vector fit, or alternately the length of the total centered frame vector S relative to expected noise, σ c and adjusted for effect by a user selectable gain factor r. A Gram-Schmidt (GS) system performs a Gram-Schmidt procedure on the remaining basis vectors to rotate these vectors within the previous clutter subspace to produce new subspace vectors c 2 to c k-1 . The plane smoothing update process could also be replaced by a Gram-Schmidt procedure, in which case the plane smoothing system 44 would be removed and the start-up Gram-Schmidt systems 34 would be repeated for all frames. Comparison of the MSGF with Other Subspace Projection Techniques The pixel spanning implementation of subspace projection in the MSGF used fixed gradients to construct subspace spanning vectors in N-pixel space as shown in equation (5). As long as these gradients do not change significantly, the filter can correct future cluttered images of the same pixels in the model. Another classic projection approach follows equations (6) by spanning the clutter plane using motion vectors. In this technique, cluttered images from different pixels, that are not part of the model and are from the same focal plane, but which are sampled at the same time as the model can be corrected. Equation (6) is used to construct a model of the clutter plane formed by the vectors p and q . Here the projection operator for the clutter plane CP is formed from the first m eigenvectors of S T S . One general comparison of time/motion-spanning subspace projection with pixel/gradient spanning subspace projection is that: if one can perform operations row-wise with time spanning, one can perform operations column-wise with pixel spanning. Figure 14 shows a comparison of the relationship between model and correction process over the image matrices S for time spanning and pixel spanning. Note that the use of eigenanalysis on all of the data links both approaches together through the singular values of S . With these singular values, the SVD can be used to compute either column-space eigenvectors or row-space eigenvectors, as was pointed out above. In principle it should be possible to switch back and forth in a sort of hybrid approach. This is not true of the MSGF, as singular values are not available.

Claims: A clutter suppression system for suppressing clutter in an object detection system, said object detection system sensing a scene to determine if an object of interest is present, said clutter suppression system comprising: a model storage device (16) that stores model frames of the scene; a processing system (34) responsive to the model frames of the scene and generating a set of clutter subspace unit vectors that define a clutter subspace in the model frames where substantially all of the clutter in the model frames resides; and a subspace projection system (42) that is responsive to frames of data of the scene and the clutter subspace unit vectors from the processing system, said subspace projection system combining the current frames of data and the clutter subspace unit vectors by a subspace projection technique to remove the clutter in the current frames of data, characterized in that the processing system (34) is a Gram-Schmidt processing system. The clutter suppression system according to Claim 1 further comprising centering means (40) for centering the model frames of data, said centering means (40) including pixel intensity averaging means (20) for averaging the intensities of the pixels in the frames of data, said subspace projection means (42) being responsive to centered pixel intensities of the model frames of data. The clutter suppression system according to Claim 1 wherein the processing system is (34) responsive to centered pixel intensities from a centering means (40) for centering pixel intensities of pixels in the model frames of data. The clutter suppression system according to Claim 1 wherein the clutter subspace means includes a plane smoothing system (44) that determines a set of clutter subspace unit vectors, said plane smoothing being responsive to the clutter free frames of data from the subspace projection means (42) and the frames of data from the frame generation means so as to generate updated clutter subspace unit vectors in order to update the clutter subspace. The clutter suppression system according to Claim 4 wherein the plane smoothing means (44) smoothes the rotation of the clutter subspace relative to an original clutter subspace as frames of data'are added to the model frames by using a recursive filter approach. The clutter suppression system according to Claim 1 further comprising clutter sniffer means (24) for determining the standard deviation of pixels in the model frames of data, said clutter sniffer means (24) being responsive to pixel intensities in the model frames so as to generate the standard deviation of the model frames, wherein the standard deviation of each pixel is applied to a pixel threshold so that if the standard deviation of the pixel is below the pixel threshold the pixel is removed from the clutter subspace. The clutter suppression system according to Claim 1 further comprising glint threshold means (28) for determining if pixels in the frames of data have an absolute intensity above a predetermined glint threshold, wherein if the pixel intensity is above the glint threshold the pixel is removed from the clutter subspace. The clutter suppression system according to Claim 1 further comprising object detection storage means (12) and delay storage means (14), said object detection storage means storing current frames of data to be tested for the present of an object, said delay storage means (14) storing past frames of data that include a detected object of interest, wherein the model storage device (16) stores model frames of data that do not include the object. The clutter suppression system according to Claim 1 wherein the processing system (34) determines the clutter subspace unit vectors by the relationship: where, S i is a centered scene vector for time i in the model frames; C is a unit vector for the clutter subspace; i is an index corresponding to a time sample; j is a summation index; and T is a transpose operation. The clutter suppression system according to Claim 1 wherein the subspace projection system (42) generates frames of data substantially free of clutter by the relationship: where, S is a centered scene vector in the model frames; C is unit vector for the clutter subspace; k is a time sample; i is an index corresponding to a time sample; and T is a transpose operation. A method of suppressing clutter in an object detection system, said object detection system sensing a scene to determine if an object of interest is present, said method comprising the steps of: providing a serie of frames of data representing images of the scene in which clutter is to be suppressed; using the frames of data to generate a series of model frames of the scene; using the model frames of the scene to generate a clutter subspace that defines substantially all of the clutter in the scene; and using the clutter subspace and a subspace projection technique to remove the clutter subspace from the frames of data so as to remove substantially all of the clutter in the frames of data, characterized in that a Gram-Schmitt process is used to determine a set of clutter subspace unit vectors that define the clutter subspace. The method according to Claim 11 further comprising the step of centering the model frames of data so as to provide centered pixel intensities of the model frames of data to be used by the subspace projection technique. The method according to Claim 11 wherein the step of generating a clutter subspace includes using a plane smoothing technique that determines a set of clutter subspace unit vectors that define the clutter subspace, said step of using a plane smoothing technique including smoothing the rotation of the clutter subspace as new frames are added to the model frames of data. The method according to Claim 11 further comprising the step of determining the standard deviation of the pixels in the model frames of data and applying the standard deviation to a clutter threshold to determine if the standard deviation of the pixels is below the clutter threshold, wherein if the standard deviation is below the clutter threshold the pixel is removed from the clutter subspace. The method according to Claim 11 further comprising the steps of determining if the pixels in the frames of data have an absolute intensity above a predetermined glint threshold, wherein if the pixel intensity is above the glint threshold the pixel is removed from the clutter subspace. The method according to Claim 11 further comprising the steps of testing current frames of data for a target and delaying the frames of data that are to be added to the model frames if a target is detected in the current frames of data.

Inventors: WHITSITT STEPHEN J, WHITSITT, STEPHEN J.
Applicants: TRW INC, TRW INC.
Application year: 1996
Main classification: G01S3
IPC codes: G01S3, G01V3, G06T1, F41G7, G02B5