COMPRESSION OF HYPERDATA WITH ORASIS MULTISEGMENT PATTERN SETS (CHOMPS)

Abstract: The Intelligent Hypersensor Processing System (IHPS) is a system for the rapid detection of small, weak, or hidden objects, substances, or patterns embedded in complex backgrounds, providing fast adaptive processing for demixing and recognizing patterns or signatures in data provided by certain types of "hypersensors". This system represents an alternative to prior systems for hidden object detection by solving the problems encountered when attempting to detect hidden objects/targets in dynamic scenarios at real-time. The CHOMPS version of IHPS provides an efficient means of processing, compressing and manipulating the vast quantities of data collected by the sensors. CHOMPS uses the Adaptive Learning Module Pipeline to construct a compressed data set, along with the necessary scene mapping data, facilitating the efficient storage, download and the later reconstruction of the complete data set with minimal deterioration of signal information.

Description: COMPRESSION OF HYPERDATA WITH ORASIS MULTISEGMENT PATTERN SETS (CHOMPS) BACKGROUND OF THE INVENTION 1 The present invention relates generally to processing signals, and more particularly to a 2 system for the rapid compression of hypersensor data sets that contain objects, substances, or 3 patterns embedded in complex backgrounds. A hypersensor is a sensor which produces as its 4 output a high dimensional vector or matrix consisting of many separate elements, each of which 5 is a measurement of a different attribute of the system or scene under construction. A 6 hyperspectral imager is an example of a hypersensor. Hypersensors based on acoustic or other 7 types of signals, or combinations of different types of input signals are also possible. 8 Historically there have been three types of approaches to the problems relating to the 9 detection of small, weak or hidden objects, substances or patterns embedded in complex 10 backgrounds. 11 The first approach has been to use low dimensional sensor systems which attempt to detect 12 a clean signature of a well known target in some small, carefully chosen subset of all possible 3 attributes, e.g., one or a few spectral bands. These systems generally have difficulty when the 14. target signature is heavily mixed in with other signals, so they typically can detect subpixel 15 targets or minority chemical constituents of a mixture only under ideal conditions, if at all. The 16 target generally must fill at least one pixel, or be dominant in some other sense as in some 17 hyperspectral bands. Also, the optimal choice of bands may vary with the observing conditions 18 or background (e.g. weather and lighting), so such systems work best in stable, predictable 19 environments. These systems are simpler than the high dimensional sensors (hypersensors), but 20 they also tend to be less sensitive to subdominant targets and less adaptable. 1 The second approach has been to employ high dimensional sensor systems which seek to detect well known (prespecified) targets in complex backgrounds by using Principle Components Analysis (PCA) or similar linear methods to construct a representation of the background. Orthogonal projection methods are then used to separate the target from the background. This approach has several disadvantages. The methods used to characterize the background are typically not 'real time algorithms'; they are relatively slow, and must operate on the entire data set at once, and hence are better suited to post-processing than real time operation. The background characterization can get confused if the target is present in a statistically significant measure when the background is being studied, causing the process to fail. Also, the appearance of the target signature may vary with the environmental conditions: this must be accounted for in advance, and it is generally very difficult to do. Finally, these PCA methods are not well suited for detecting and describing unanticipated targets, (objects or substances which have not been prespecified in detail, but which may be important) because the representation of the background constructed by these methods mix the properties of the actual scene constituents in an unphysical and unpredictable way. PCA methods are also used for compression schemes however they have many of the same shortcomings. Linear Vector Quantization (LVQ) is also used for compression. Current LVQ schemes use minimum noise fraction (MNF) or average patterns of PCs to compress the data, which are slow and require a priori knowledge of sensor characteristics. The more recent approach, is based on conventional convex set methods, which attempt to address the 'endmember' problem. The endmembers are a set of basis signatures from which every observed spectra in the dataset can be composed in the form of a convex combination, i.e., a weighted sum with non-negative coefficients. The non-negativity condition insures that the sum can sensibly be interpreted as a mixture of spectra, which cannot contain negative fractions of any ingredient. Thus every data vector is, to within some error tolerance, a mixture of endmembers. If the endmembers are properly constructed, they represent approximations to the signature patterns of the actual constituents of the scene being observed. Orthogonal projection techniques are used to demix each data vector into its constituent endmembers. These techniques are 1 conceptually the most powerful of the previous approaches, but current methods for implementing 2 the convex set ideas are slow, (not real time methods) and cannot handle high dimensional pattern 3 spaces. This last problem is a serious limitation, and renders these methods unsuitable for 4 detecting weak targets, since every constituent of a scene which is more dominant than the target 5 must be accounted for in the endmember set, making weak target problems high dimensional. In 6 addition, current convex set methods give priority to the constituents of the scene which are 7 dominant in terms of frequency of occurrence, with a tendency to ignore signature patterns which 8 are clearly above the noise but infrequent in the data set. This makes them unsuitable for 9 detecting strong but small targets unless the target patterns are fully prespecified in advance. I o When operating in high dimensional pattern spaces massive quantities of data must be I I managed which requires hundreds of millions of computations for each pixel. Thus the need to 12 compress massive quantities of data for storage, download, and/or real time analysis becomes 13 increasingly important and equally elusive. 14 15 SUMMARY OF THE INVENTION 16 17 Accordingly, it is an object of this invention to compress multispectral data, while 18 preserving the spectral information for the detection of objects or substances embedded in 19 complex backgrounds. 20 Another object of this invention is accurate and quickly compress multidimensional 21 data sets from chemical, acoustic or other types of hypersensors capable of handling 22 multidimensional analysis. 23 Another object of this invention is to process signal and compress data with a fast set of 24 algorithms which provide a greatly reduced computational burden in comparison to existing 25 methods. 26 Another object of this invention is to compress hyperspectral or multispectral data in a 27 system employing parallel processing which offers true real time operation in a dynamic scenario. These and additional objects of this invention are accomplished by the structures and processes hereinafter described. The Compression of Hyperdata with ORASIS Multisegment Pattern Sets, (CHOMPS), system is an improved version of the Intelligent Hypersensor Processing System (IHPS) employing the CHOMPS algorithm to compress the size of the data output and increase the computational efficiency of the IHPS prescreener operation or comparable operations in other multidimensional signal processing systems. The CHOMPS configured prescreener employs a structured search method used to construct the exemplar set with the minimum number of operations. IHPS forms a series of pattern vectors through the concatenation of the outputs of multiple sensors. The data stream from the sensors is entered into a processing system which employs a parallel-pipeline architecture. The data stream is simultaneously sent to two separate processor pipelines. The first processor pipeline, referred to as the demixer pipeline, comprises the demixer module, which decomposes each pattern vector into a convex combination of a set of fundamental patterns which are the constituents of the mixture. The decomposition is accomplished using projection operations called 'Filter Vectors' generated in the second pipeline, referred to as the adaptive learning pipeline, which contains the adaptive learning module. The signature pattern of a weak constituent or an unresolved small target is separated from background patterns which may hide the target pattern in the unmixed data. Information detailing the composition of the demixed data patterns is sent to the Display/Output Module along with information about the fundamental patterns and Filter Vectors. The CHOMPS embodiment of IHPS provides an efficient means of compressing and manipulating the vast quantities of data collected by the sensors. CHOMPS uses the Prescreener, the Demixer Pipeline and the Adaptive Learning Module Pipeline to construct a compressed data set, along with the necessary scene mapping data, facilitating the efficient 1 storage, download and the later reconstruction of the complete data set with minimal 2 deterioration of signal information. 3 4 5 BRIEF DESCRIPTION OF THE DRAWINGS 6 7 Figure 1. is a representation of the data cube and the orientation of the spatial and wavelength 8 9 information in X, λ and T coordinates. 10 1 1 Figure 2. is a block diagram of an embodiment of IHPS showing the system's parallel structure. 12 13 Figure 3. is a logic flowchart of the operation of the prescreener 14 15 Figure 4. is a representation of the plane created by V, and V 2 during Gram-Schmidt operations. 16 " 7 Figure 5. is a representation of the orthogonal projections V l0 and V. io during Gram-Schmidt _ 8 19 operations. 0 1 Figure 6. is a representation of the Salient vector and plane defined by V 1O and V io . 22 23 Figure 7. is a representation of the 3-dimensional spanning space defined during Gram-Schmidt/ 24 25 Salient operations. 26 27 Figure 8. is a representation of the 3-dimensional spanning space showing the salient vectors. 28 29 Figure 9. is a representation of a hypertriangle convex manifold. 30 31 Figure 10a. is a representation of a minimized hypertriangle defined using shrink wrap method 2 33 1. 34 35 Figure 10b. is a representation of a minimized hypertriangle defined using shrink wrap method 36 31 2. 38 39 Figure 1 1. is a representation of a minimized hypertriangle defined using shrink wrap method 40 41 3. 42 43 Figure 12. is a logic flowchart of the operation of the adaptive learning module. 44 45 Figure 13. is a flowchart of the operation of the demixer module. 46 47 Figure 14. is a block diagram of the ALM processor pipeline employing multithreaded 48 49 operation. Figure 15. is a representation of a reference vector and its exemplar projections. Figure 16. is a logic flowchart of the Pop-up Stack search method. Figure 17. is a representation of the Single Bullseye search method in vector space. Figure 18. is a representation of the Double Bullseye search method in vector space. Figure 19. is a logic flowchart of the CHOMPS wavespace compression mode. Figure 20. is a logic flowchart of the CHOMPS endmember compression mode. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Referring now to the Figures, wherein like reference characters indicate like elements throughout the several views, Figure 1 is a representation of the data cube and the orientation of the spatial and wavelength information. IHPS forms a series of pattern vectors through the concatenation of the outputs of multiple sensors. Each sensor measures a different attribute of the system being observed, and has a consistent relationship to all the other sensors. In a preferred embodiment the optical system may be employed on an aircraft or spacecraft. As the craft flies over or in close proximity to an area of interest, Hypersensor 10 scans the scene or area of interest by taking successive snapshots of the scene below. Each snapshot constitutes a frame of spectral data. The spectral data is scanned frame by frame 210 and displayed as variations in intensity. In the optical example, a frame 210 is the diffracted image on a two dimensional focal plane of a narrow slit which accepts light from a narrow linear strip of the scene. Variations of the optical sensor layout are possible. Each frame 10 comprises multiple lines 205; each line 205 being the spectral characteristic for a specific point in the scene which correlates to a specific coordinate of the area scanned. Each frame 210 is configured such that the spatial information is expressed along the X axis and wavelength information is contained in the λ direction. Data cube 200, as illustrated in Figure 1, is created by the concatenation of successive frames 210 (different spatial strips) and represents the observed spectral data of the scene provided by the hypersensor. The observed spectral data, which is used to create data cube 200 is expressed in vector form, and processed one spatial pixel, i.e. one spectrum, at a time. Each pixel is fed into a preprocessor (not shown) which performs normalization and purges bad spectral data, bad spectral data being data corrupted or otherwise useless due to incomplete spectral information. Referring now to figure 2, which shows a block diagram of the basic system architecture, the data stream from the sensors is entered into a processing system 100 which employs a parallel-pipeline architecture. The data stream is simultaneously sent to two separate processor pipes one for demixing 140, and one for adaptive learning operations 150. Demixer Module 20, decomposes each pattern vector into a convex combination of a set of fundamental patterns which are the constituents of the mixture. The decomposition is accomplished using projection operations called 'Filter Vectors' generated in the second pipeline by the Adaptive Learning Module 30. Hypersensor 10 collects data and transmits the collected data to prescreener 50. Prescreener 50 constructs a survivor set by extracting exemplars, or data collected by hypersensor 10 which may contain new or useful information. The signature pattern of a weak constituent or an unresolved small target is separated from background patterns which may hide the target pattern in the unmixed data. A priori knowledge about the signatures of known targets can be used, and approximate signatures of unknown constituents are determined automatically. Information detailing the composition of the demixed data patterns is sent to Output Module 40, along with information about the fundamental patterns and Filter Vectors. Learning module 30, performs minimization operations and projects the exemplar set information into a reduced dimensional space, generating endmembers and filter vectors. For other types of hypersensors, the spectral vectors produced by the sensor array would be replaced by a vector of other types of data elements, such as the amplitudes of different frequencies of sound. The organization of input data vectors may also vary somewhat depending on the type of sensor. Aside from these sensor-dependent variations in the type and organization of the input data, the operation, capabilities, and output of the processing system would remain the same. Again referring to figure 2, the vector data d is then simultaneously fed into the adaptive learning and demixer processor pipes. This parallel processing architecture illustrated in the figure is a preferred structure, however, this system, algorithms and hardware contained herein may be employed in a system with a traditional architecture. The demixer processor pipeline 140 comprises demixer module 20 which decomposes each data vector d k into a convex combination of a set of fundamental patterns, which are endmembers or constituents of the mixture. The decomposition is accomplished using projection operators called 'Filter Vectors' generated by the adaptive learning module 30. The filter vectors F s are a set of optimal matched filters: they are the smallest vectors which will satisfy the condition: F, • E δy where is δ^ the Kronecker delta function (δ^ equals 1 if i = j and 0 otherwise) and the vectors E j are the endmembers of the scene, thus, each data vector d k (spectrum) is a convex combination of endmembers plus a noise vector N k . : =∑ c kj E j + N k j = l v° The dot product of d k with filter vector F J; where J is the Jth endmember, yields the coefficient of endmember Ej in the sum, plus a small error due to noise. F J- This determines the contribution which endmember J makes to the spectrum d k . The filter vectors are optimal matched filters which are found by solving the minimization problem (smallest magnitude) described above, subject to the constraint imposed by the orthogonality condition. The solution has the form F=M " 'E where the filter vectors are the rows of the matrix F, the endmembers (assumed to have unit magnitude) are the rows of the matrix E, and the matrix M has the elements M y = E, • E j . Filter vectors allow the signature pattern of a weak constituent or unresolved small target to be separated from background patterns which may hide the target pattern in the spectral data. Filter vectors demix the spectrum by projecting out one endmember at a time. CHOMPS is not limited to filter vector manipulations. There are several methods known in the art to demix the spectrum, such as the use of spectral matched filers (SMF) or pseudoiverses, any of which may be suitable for compression use. Information c kj detailing the composition of the demixed data spectrum is sent to Display/Output module 40 from the demixer module through the demixer pipeline 140, along with information E, about the fundamental spectra patterns, and filter vectors from adaptive learning module 30 via the adaptive learning pipeline 150. Display/Output module 40, displays the distribution of the constituents of the scene, transmits, or stores the demixed data for later analysis. The adaptive learning or second processor pipeline 150 comprises prescreener 50, and adaptive learning module 30. The object of prescreener 50, is to generate the exemplar ensemble {S} to a user specified precision by comparing each incoming spectral vector d to the up-to-date exemplar set {S}. Referring now to figure 3, prescreener 50 receives data vectors d from preprocessor (not shown) and generates a reduced set of vectors or exemplar ensemble called the survivor or exemplar set 55. Exemplar set 55 is then transmitted to adaptive learning module 30. Prescreener 50 reduces the amount of data processed by discarding spectral signatures which contain redundant information. This reduces the computational burden on the other elements of the learning pipeline. The exemplar set 55 is generally less than 1% of the total input stream, but its size varies depending upon the conditions and applications. In CHOMPS, prescreener 50 is implemented in several different ways, depending on the application's timeliness requirements and the processing system hardware. In a preferred embodiment the prescreener module is implemented using multithreaded or messaging multiprocessor operation. Referring now to figure 14 which shows a block diagram of ALM processor pipeline 150 employing multithreaded operation, data generated by sensor 10 passes through multiple processor pipes. The data set is segmented so that each prescreener 50 processes a different section of the input stream. The prescreeners are coupled to allow each prescreener module 50 to share exemplar set information, updating and receiving updates from the other prescreeners. This allows each prescreener to build a complete exemplar set {S} which reflects the exemplars extracted from vector data set {d} by each prescreener 50. In multithreaded operation the prescreeners 50 can also be decoupled, for independent operation. In this mode, each prescreener processes the complete data set , and a separate software module reconciles the output of the parallel prescreeners into a single exemplar set. The complete and updated exemplar set {S} is then passed to the ALM 30 for endmember generation. The endmember data and filter vectors are passed to the output module. CHOMPS is thus able to quickly and efficiently sample a very large data set and generate a exemplar set by prescreening large "chunks" of the data set simultaneously. Coupled with the compression and computational management techniques discussed throughout this text, the ability to employ parallel processing at the prescreener level results in a substantial improvement in the efficiency of IHPS and CHOMPS significantly extending the real time operation envelope. The multiprocessor configuration illustrated in figure 14 may also be employed using multiple prescreeners distributed in a network of machines. CHOMPS is also capable of being employed using a single threaded operation, where each vector is processed sequentially by a single processor. Figure 3 illustrates the flowchart of the logical operation of prescreener 50. Prescreener 50 generates the exemplar set {S} by comparing 54 the data spectra of the most recent pixel sampled with existing members of the exemplar set 55. The exemplar set is generated by performing dot operations in accordance to the relation: d, • S j > l-ε where, d, is the ith newly sampled data vector, S j is an existing exemplar set vector, and ε is variable controlling threshold sensitivity. Here, the vectors d, and S j are assumed to be normalized to unit magnitude. Thus, the condition d, • S } - 1 means that the two vectors are identical and the condition d, • S, > l-ε means that they are almost identical if ε is small. Vectors for d, which meet the above condition for any exemplar S, are discarded 52 and the next vector is examined. Discarded vectors are not included in the exemplar set. The rejection count for each exemplar is stored in an array for future recall. The value of ε, which is set by the operator or a control system, is a function of the exemplar set size desired, memory length for exemplar set values, desired thruput of data and the noise in the signal 56. Generally, as the value of ε is increased, the sensitivity of the system is decreased. The pruner 51 is a memory management device which determines when a exemplar set vector S j should be purged from the memory. Pruner 51 monitors the exemplar set 55, and adjusts the control parameters to control exemplar set size. This is accomplished by setting the value for ε 54, and the maximum allowed age of a exemplar, which determines the threshold for additions to the exemplar set and the time a exemplar is allowed to remain in the exemplar set without being regenerated. The exemplar set vector, S, , used in the d, • S, > l-ε comparison is preferably chosen via the use of a structured search technique to minimize the number of dot operations while offering thorough analysis of the exemplar set 55. This may be accomplished by comparing 54 the newly sampled data vector with the most recent vectors entered into the exemplar set. Other search methods which minimize the number of operations necessary for thorough matching are also suitable. CHOMPS employs several such structured techniques designed to minimize the number of operations necessary for effective prescreener operation discussed in detail below. The computational management techniques employed by CHOMPS is referred to as Focus searching. Focus searching includes priority searching and zone searching which generally relate to focusing the comparisons of the incoming data vector d, to the exemplars S, so that relevant exemplars can be quickly located, and to reduce the number of exemplar comparisons necessary, before a determination can be made as to whether a new data vector d, is similar to an existing exemplar S r In a priority search CHOMPS will assign a higher priority to some exemplars than others on the basis of an exemplars age, past comparisons or some other statistical basis. The exemplars designated with the higher priority are initially used in the d • S > 1- ε prescreener comparison. Exemplars with a lower priority are used later if necessary. In a preferred embodiment, one such computational management technique CHOMPS employs is in the form of a priority search technique called a Pop-up test. The pop up test uses a data structure called a pop up stack. The pop-up stack is a subset of the exemplar set {S} containing only the exemplar vectors S, that most recently rejected an incoming spectral data vector d,. These vectors include the most recent exemplar entry, and the exemplar that most recently rejected a candidate exemplar. When a data vector is determined to be dissimilar from the other exemplar set members it is entered into the pop up stack. Referring now to figure 16, which shows a flowchart of the pop up stack test, prescreener first receives a data vector d N from the sensor 556, where N is just the order in which the vector is received. Prescreener then performs the standard dot product comparison to determine if d N is similar to S j . If the condition in the inequality is met, d N is rejected as similar to S, or repetitive data 565 and the next data vector d N+1 is retrieved, 566. S } is then placed at the top of the stack 567, resulting in the next data vector sampled being compared to S j first. If the condition is not met, the prescreener retrieves the next exemplar in the stack S J+ 1 555, and repeats the d N • S, > l-ε comparison 564 where S } - S J+) . If the condition is met, prescreener again rejects d N as similar 565, places S J+1 at the top of the stack 567 and retrieves the next data vector d N+1 for comparison 566, 556. If the condition is not met, the prescreener will go on to the next text 570. The pop up stack thus gives priority to the last exemplar to reject a data vector as similar. Called a rejector, this exemplar is statistically more likely to be similar to the next incoming data vector than an exemplar with a more distant rejection history. Thus the pop up test improves the chances of quickly classifying a vector as similar with a single comparison operation. Other variations of the pop up stack are possible, for instance the newest rejector may not be assigned highest priority (used in first comparison), it may just be given a higher priority the majority of the other exemplars. Preferably, the pop up test is performed for no more than 2 or 3 cycles, however, multiple iterations of the pop up test may be performed. In the preferred embodiment, after 2 or 3 cycles, CHOMPS next performs a Zone search. In a zone search CHOMPS chooses a point of reference, and defines the exemplar set {S} and the incoming data vectors d according to their relation to the reference. The exemplar data set {S} is labeled and stored according to some defined relationship with the reference point structured to allow the prescreener to quickly recall exemplars S j which meet parameter in relation to data vector d ; . Thus CHOMPS can use the incoming data vectors relation to the reference point to define a zone of exemplars to compare with d ; and determine whether the incoming data vector di contains new information. In a preferred embodiment CHOMPS designates a vector as a reference point. These vectors are referred to as reference vectors. The reference vector is used as a reference point from which the vectors of the exemplar set {S} and data set {d} are defined. Reference vectors may be arbitrary, however a further reduction in the number of computations necessary is achieved if the reference vectors are selected such that the exemplar projections yield the maximum possible spread in each reference direction. Reference vectors may be chosen as approximations to the largest principal components of the current exemplar set. In a preferred embodiment the reference vector is initially chosen arbitrarily, and once the prescreener constructs the exemplar set, CHOMPS uses a Principal Components Analysis to designate one or more reference vectors. In the Principal Components Analysis, CHOMPS uses the exemplar vectors as well as the rejection count for each exemplar to estimate the covariance matrix. As more image pixels arrive, the reference vectors are updated, based on mission requirements and considerations as to whether an update is beneficial. In CHOMPS, the data vectors are addressed on the basis of their projection onto the reference vector. Referring now to figure 15 which illustrates a reference vector R and exemplar set vectors S N projected onto it, the angle Θ N between the reference vector and each incoming spectral vector is computed. The reference angle for each exemplar is stored in an array or table along with a notation designating which vector the angle Θ N represents for future recall. In a preferred embodiment the exemplar set data, the exemplar number and its orientation to the reference vector is contained in a linked list or hash table, known in the art, such that each exemplar can be quickly located and recalled by the prescreener as a function of the reference angle Θ N . Thus, the actual reference angle need not be stored, the reference angle is determined as a function of which address the entry occupies. As new entries to the linked list are made the address pointers are changed, rather than shuffling and reloading the entire array each time an exemplar is changed. A preferred embodiment of CHOMPS also uses a form of the Bullseye test to locate the exemplars in the current exemplar set which are likely to reject the new data vector d as similar. In the Bullseye test, CHOMPS uses the data vectors projection on the reference vector in concert with the exemplars projection on the reference vector to eliminate all existing exemplars that could not possibly match the incoming vector. CHOMPS accomplishes this by constructing a cone which defines the zone in which possible matches may occur and excluding exemplars which do not fall within that range. The bullseye test uses the angle defined by the new data vector and the reference vector to locate all exemplars in the current set that match the new spectral vector to the specified angular precision (θ ε ) where θ ε =cos " 'ε. Those exemplars are then used by the standard prescreener comparison inequality (d, • S, > l-ε) to make a determination as to whether d, is similar to S,. Figure 1 illustrates reference vector R 600 and cone 610 defining a range in which a possible match (rejecting exemplar) may occur. Only exemplars within match zone, 620- 622 will be compared to the new data vector. These exemplars, contained in match zone 650, which form an annulus having a center at q, 660 with maximum thickness 2*ε, are representative of those vectors which have similar projections onto the reference vector within the selected precision. If an exemplars projection does not fall into the match zone, there is no need to compare that exemplar the to data vector d, because there the data vector d, cannot be similar within the desired precision, defined by the thickness of match zone 650. In the bullseye test CHOMPS determines which vectors lie within the annulus by keeping an indexed list of entries in the exemplar table, ordered by angle to the reference vectors. Once the zone is computed, a zig-zag search is performed where the candidate vector is compared to the exemplars with angles starting at θ 0 and deviating in both directions. If the entire zone does not produce a match the vector is determined to contain new information, designated as a new exemplar and added to exemplar set {S}. Thus through the use of reference vector R and the bullseye test, the number of comparisons necessary to test the entire exemplar set are reduced from several thousand, to something on the order of 20. In an alternative embodiment of the bullseye test a substantial increase the precision and speed of the search is realized by designating multiple reference vectors, each one having its own associated bullseye. One such embodiment is depicted in figure 18, which shows what may be described as a double bullseye cone. A first cone 610 is defined in relation to reference vector R and the second cone 10 is defined in reference to second reference vector R 2 700. Exemplars that are candidates to match the new data vector are located within the intersection of the match zones for each reference vector 777* and 888. Through the use of multiple bullseyes defined by multiple reference vectors, the "hot zone" or area in which a likely matching exemplars must reside is reduced. Only the vectors which simultaneously occupy both match zones are possible matches and need be compared to the new data vector. Referring to the figure 18, the only vector which meets this test requirement is exemplar 620. Thus, CHOMPS is able to conclude that all exemplars in the data set are not rejectors (dissimilar to data vector d), with the possible exception of exemplar 620. By employing CHOMPS and a variation of the bullseye test, the prescreener is able to exdude the majority of the exemplar set from the prescreener's comparison test (every exemplar except exemplar 620), and designate the incoming data vector as similar or dissimilar to the exemplar set exemplars after a comparison of the data vector to exemplar 620, a single comparison. Excluding the 2 or 3 comparisons for the pop us stack, the only one dot product operation need be processed before the prescreener can determine whether the new data vector contains new data and should be added to the exemplar set. Alternative embodiments of the zone type test may be employed to minimize the computational load on the prescreener depending on mission requirement and the precision desired. For example an avatar bullseye test may be employed. In the avatar bullseye test, only the exemplars with the highest vector rejection totals are used rather than the complete exemplar set. In yet another version of the bullseye test, the match zone width can be diminished by a significant factor with minimal generation of redundant exemplars but with an increase of algorithm speed. For a candidate exemplar which makes an angle θ 0 with the reference vector the width of the match zone is given by δ where: δ =2 sinθ o /l -ε 2 The data set describing a scene may be processed using either of three modes which include the Automatic scene segmentation mode, the Full scene mode or the Adaptive/continuous mode. In the Automatic scene segmentation mode, the scene is divided into a series of segments and is processed by the prescreener one segment at a time. Segment size is determined as a function of the exemplar set size. This variation offers several advantages, particularly when attempting to resolve dynamic scenes. With a dynamic or complex scene, in general, a larger exemplar set is required to maintain a specified precision. As the number of exemplars increases, the processing time increases very steeply and the compression ratio decreases. Automatic segmentation may also increase compression efficiency because the dimensionality and the exemplars added into a scene segment in a complex setting, only affect the segment that produced them, and not the possibly simpler segments that follow. The full scene mode is identical to the Automatic segmentation mode, except that a scene is treated as one continuous dataset rather than a number of smaller segments. While operating in the single or multiple segmentation modes, the prescreener feeds the exemplar set to the Adaptive Learning Module (ALM) for endmember computation at the end of each segment or block of data. In the Adaptive mode the same efficiency is accomplished by injecting a finite but renewable lifetime to the exemplars, that is, they are pushed to long term system memory, if they have not produced a spectral match with new vectors for predefined time/frame intervals. The lifetime of the individual exemplars depends on their relationship to the endmembers and the priority assigned to the importance of their spectral patterns. For example, exemplars that contain important subpixel objects are assigned longer lifetimes than ones containing variations of background substances. In the adaptive/continuous mode an ALM cycle is triggered when new exemplars change the dimensionality of the enclosing subspace or when a new exemplar is defined that lies outside the subspace defined by the current endmember set or other criteria, which are mission dependent. When a new exemplar is found, it can be projected into the orthogonal basis set produced by the ALM, to confirm whether the new spectrum produced a subspace dimensionality change. A projection in the endmember space, utilizing the current matched filter vectors, indicates whether the subspace has expanded past the bounds of the current simplex, determined by the shrinkwrap component of the ALM. Either test will signal a trigger to the ALM. Additional criteria, such as the number of image frames since the last ALM, are used to avoid triggering excessive numbers of learning cycles. Referring again to figure 2, the exemplar set data, as computed by prescreener 50 is input 58 into adaptive learning module 30. Learning module 30, computes from the exemplar set, a set of endmembers {E} which together span the current scene. Endmembers are a set of fundamental patterns (vectors) from which any pattern vector in the data set can be reconstructed as a convex combination in reduced dimensional space, to within an error determined by the noise or other error criteria. The requirement that all of the observed spectral vectors d k be representable as convex combinations of conventional basis vectors, insures that the decomposition makes sense as a physical mixture of constituents, since any such mixture must have this property. The resulting patterns conform as closely as possible to signatures of actual constituents of the scene. Referring now to figure 12, learning module 30, may employ an ordered Gram-Schmidt analysis using salients to construct a reduced dimensional spanning space 125, while retaining the spectral information contained in the exemplar set. The spanning space is constructed based on a spectral uniqueness hierarchy. The observed spectra of the exemplar set, expressed as vector data are then projected into the spanning space 126. A pixel purity determination algorithm may also be employed to define a subset of the salients, followed by a Gram-Schmidt analysis to complete the set. Computation of the endmembers is performed by learning module 30 by projecting the exemplar set data into a reduced dimensional spanning space using a Gram-Schmidt/Salient analysis of the exemplar set data, and employing shrink wrap minimization 127, to minimize the spanning space volume defined using Gram- Schmidt/Salient analysis. The endmembers are defined by the vertices of the hyper triangle defined by the minimized spanning space 128, as illustrated in figure 8. Gram-Schmidt/ Salient Analysis The spanning space is defined by using a Gram-Schmidt / Salient analysis of the exemplar set vectors. In the parameter vector space which contains the exemplar set data, one first determines the two vectors which are furthest apart in the space, then, in the plane formed by these two vectors, select two mutually orthogonal vectors which lie in the plane. These mutually orthogonal vectors are for convenience called basis vectors, for reasons made apparent below. Next, select the vector in the data cube which is furthest from the plane and 1 identify the hyperplane in which the basis vectors, and the newly selected vector, lie, and select 2 a third basis vector such that it lies in the hyperplane and is mutually orthogonal to the other 3 two basis vectors. This process is repeated, and one accumulates more and more mutually 4 orthogonal basis vectors, until the most distant remaining vector is found to be within a 5 preselected distance of the hyperplane containing all the basis vectors. At this point, the 6 exemplar set vectors are projected onto the reduced dimensional space defined by these basis 7 vectors. 8 Through the reduction of the dimension of the vector space in which one must work, 9 CHOMPS correspondingly reduces the number of operations one must do to perform any 10 calculation. Since none of the data vectors lie very far outside the hypervolume spanned by the 11 basis vectors, projecting the vectors into this subspace will change their magnitude or 12 direction very little, i.e. projection merely sheds components of each vector which were small IS already. Furthermore, because such components are necessarily too small to correspond to 14 significant image features, these components are disproportionately likely to be noise, and 15 discarding them will increase the system's signal to noise ratio. 16 17 18 Gram-Schmidt \ Salient analysis of the exemplar set data is performed in accordance 19 *>0 with the following algorithm: Λ 22 a) Designate the two exemplar vectors farthest apart, V, and V a . Figure 4 illustrates 23 24 the orientation of V, and V 2 and the plane that V, and V,, define. 25 26 b) Generate a 2 dimensional orthogonal set of basis vectors from V, and V, labeled V lo 27 28 and V 2o in the plane defined by V, and V 2 , labeled as PV ol2 as illustrated in Figure 5. 29 30 c) Determine the salient vector (vector displaced farthest from plane) in relation to 31 32 plane PV O12 , defined in Figure 6 as ~S,. 33 34 d) The salient ~S, can be represented as a sum of vectors S,j-and S,||, where S,x is 35 36 orthogonal to the plane PV o and SJ lies in the plane. Use the Gram-Schmidt procedure to 37 1 find S,J_, and call this V 3o . V l0 , V. 2o and V 3o now define a subspace in 3 dimensions. See the 2 3 figure 7. representation of the subspace created by this step. 4 5 e) Select the salient ~S 2 which is the exemplar vector farthest from the subspace 6 7 defined by step (d). 8 9 f) Generate a new orthogonal direction from ~S 2 defined as V^. V^ coupled with V l0 , 0 11 V β0 , and V 3o now defines a subspace of 4 dimensions. 12 13 g) Steps (e) and (f) are repeated to define a spanning space of N dimensions. The 14 15 distance out of the current subspace of the salient selected at each step is the maximum 16 17 residual error which would be incurred by projecting all of the exemplars into the subspace. 18 19 This decreases at each stage, until the remaining error is within a specified error tolerance. At 0 1 this point the subspace construction process is complete. The value of Nis the number of 2 3 dimensions necessary to allow the projection of the exemplar set data vectors into the subspace 24 25 while at the same time preserving important but infrequent signatures. 26 27 h) Project all of the exemplar set data into the spanning space defined in steps (a)-(g). 28 The Gram-Schmidt \ Salient analysis is the preferred subspace determination for CHOMPs, 29 however CHOMPs is not limited to the Gram-Schmidt \ Salient method for subspace SO determination. Other methods known in the art may be employed including but not limited to _> 1 PCA methods, and Pixel Purity methods. 32 S3 Shrink Wrap 34 Once the N-dimensional spanning space is defined, a convex manifold in the form of a 35 36 31 38 21 39 hypertriangle within the spanning space is generated using shrink wrap minimization. Shrink wrap minimization of the spanning space is a simple minimization operation, in which the volume of the manifold is reduced, while maintaining the condition that all of the data vectors projected into the reduced dimensional space are contained within the hypertriangle. The vertices of the hypertriangle are the endmembers, and the volume defined by the hypertriangle itself is the locus of all possible mixtures (convex combinations) of endmembers. The shrink wrap process determines good approximations of the physical constituents of the scene (endmembers), by insuring that the shape and orientation of the hypertriangle conforms as closely as possible to the actual distribution of the data vectors (exemplars). The exemplars are assumed to be mixtures of the actual constituents. The number of endmembers is equal to the dimension of the spanning space. The salients are used to guide the shrink wrap process. Referring to figure 8, hypertriangle T SlS2Ss is defined by salient vectors, however, other vectors which include data may not be within the spanning space which T SlS2Ss defines, as depicted in figure 9. The shrink wrap operation must satisfy the condition that all of the data vectors projected into the spanning space be contained within the volume defined by convex manifold T ElE2E3 . The shrink wrap operation starts with T ElE2E3 = T Sl&2S3 and then expands or contracts the triangle T ElE2E3 by manipulating the vertices, E,, E, and E 3 or by manipulating the orientation of planes that define T ElE2E3 , by the minimal amount to fulfill the above stated condition. For purposes of example, the method described above and the following methods have been found effective, however, a combination of one or more of the disclosed methods, or any other minimization method which maintains the condition that the majority of the data vectors be contained within the minimized space is suitable. Adaptive learning module 30 generates a set of filter vectors {F,} and endmembers {E,, E 2 , E 3 ...E N }in accordance with one of the following procedures, or variants thereof: Method 1 With reference to figure 10a, find a set of endmembers {E,} such that each endmember E, is matched to a salient vector ~S„ and is as close as possible to its salient, subject to the condition that all the data vectors are inside the hypertriangle with vertices {E,} . I.e., minimize N D C=∑ (E -S ) 2 ι = l ' ' subject to the constraints F, • d k > 0 for all i and k. The filter vectors are computed from the candidate endmembers as described above. This constraint condition means that all the coefficients of the decomposition of d k into endmembers are non-negative, which is equivalent to saying that all d k are inside T ElE2 EN . This is a nonlinear constrained optimization problem which can be solved approximately and quickly using various iterative constrained gradient methods. Method 2 Compute a set of filter vectors {F S1 } from the salients {~S,}, using the formulas previously provided. These vectors will not, in general satisfy the shrink wrapping constraints see figure 10b. Find a new set of Filter vectors {F,} such that each Filter vector F, is matched to a salient Filter vector F S1 , and is as close as possible to its salient filter, subject to the condition that all the data vectors are inside the hypertriangle. I.e., minimize C = (F,-F S ,) 2 subject to the constraints F, • d k > 0 for all k. This is a set of independent quadratic programming problems with linear constraints, which can be solved in parallel using standard methods. The decoupling of the individual filter vector calculations increases computational to manipulating the plane faces of the triangle instead of the vertices. Given solutions for the Filter vectors, find the endmembers using the same procedure used to compute Filter vectors from endmembers (the defining relationships are symmetric except for a normalization constant). Method 3 With reference to figure 11, find an approximate centroid C d of the set of exemplar vectors, and then find the hyperplane of dimension one less than the dimension of the enclosing space which is closest to the centroid. Hyperplane 120 divides the complete subspace into two halves, and the minimization is subject to the constraint that all the exemplar vectors d k must be in the same half-space as the centroid {c d }. The normal to the optimal hyperplane 120, is F,, the first filter vector, and the condition that all the exemplars are in the same half-space is equivalent to the constraint that F, • d k > 0 for all k. This process is equivalent to finding a vector F, with a fixed magnitude which minimizes the dot product F, • C d subject to the constraint F, • d k >. 0 for all k. As such it is amenable to solution using conventional constrained optimization methods. The hypertriangle T ElE2E3 can be constructed out of a set of suitably chosen optimal (locally minimal distance to the centroid) bounding hyperplanes which form the faces of the convex manifold. The normal to each face defines the associated filter vector. Again, the endmembers can be determined from the Filter vectors at the end of the shrink wrapping process. Referring to figure 12 and figure 2, once the endmembers and filter vectors are computed adaptive learning module 30 stores this endmember and filter vector data, along with data reflecting the exemplar set, and source vectors 33 for future recall. The adaptive learning module 30 then searches the exemplar set for any changes 148. If the system detects change in the exemplar set 99, the basis and shrink wrap processes are repeated 141. This change in the exemplar set 99, the basis and shrink wrap processes are repeated 141. This process allows the system to continually learn and adapt to changes in the environment. Endmember data and the accompanying exemplar set and source data can be labeled as being consistent with a particular threat or target allowing the system to learn and remember the signature of specific targets in real time 34. Again, referring to figure 2, the filter vectors and endmember data stream are transmitted from learning module 30, to demixer module 40, for computation of the endmember coefficients. The original data set from the sensor is also transmitted to demixer module 20 through the first processor pipe. Demixer module 20 may contain several processors, each of which convolves the unprocessed data vector with a different filter vector. These operations could be performed sequentially on a single fast processor, but in the best mode they are performed in parallel. The output of demixer module 20, is a vector called the endmember coefficient vector, the jth element of which indicates the fraction of the jth fundamental pattern which is present in the unprocessed data vector. The endmember coefficients indicate the amplitude of the signal from the associated endmember, in a mixed spectrum. Demixer module 20 convolves the unprocessed data vector and computes the endmember coefficient in accordance with the equation; F - d c E +F - jk F J- N j J Jk j = ι where F j = said filter vector, d k = said data set, c j = said endmember coefficient, N k = noise vector and E = said endmember. Demixer module 20 next computes the fraction coefficient 131, which tells what percentage of the photons from the given pixel are associated with the endmember in accordance to the equation: c A ( E ) = ____________2 ' ] k fraction I r] ) where A(d k ) is the area under vector d k , i.e. the sum of the elements of d k . Figure 13 illustrates the flowchart for demixer module operation including the demixer module's 20 function in the system's learning process. If the pixel information passed from the preprocessor indicates bad data or an unlearned spectrum 133, 134 demixer module 20 routes that information to the display/ output module 40 with a notation of the status of the pixel data 135, 136. The spectral information, filter vectors, and endmember coefficients is passed to the display/ output module 40 for display and further processing 138. The spectral characteristics of the data is stored, transmitted or displayed in terms of endmembers and endmember coefficients maintaining the relation: where d k = said data set, c k| = said endmember coefficient and c is > 0, N k = noise and E = said endmember. CHOMPS feature three compression modes which provide significant compression of the massive data stream coming from the sensor. These compression modes in a preferred embodiment take advantage of the priority and zone searching techniques disclosed above. employs the basic IHPS algorithm, using the computational management techniques described in this text, and produces a compressed data set which expresses the scene as, a set of fraction planes belonging to each endmember E. Compression results from the low dimensional space in comparison to the number of bands employed by the sensor. For purposes of example, assume a sensor operates in 200 bands, the data set produced by that sensor as input for IHPS will thus tend to have what approaches 200,000,000 scalar values. This assumes only 1,000,000 pixels in a scene. IHPS expresses the scene as fraction planes. The IHPS endmember form compresses the data stream by the ratio: where N B is the number of bands and N E is the number of endmembers necessary to describe the scene. For many natural scenes at a reasonably small loss rate, IHPS requires on the order of 10 endmembers to describe the scene which results in a compression ratio of 20: 1 for a 200 band sensor. Following each ALM cycle, all exemplars for the segment are either left uncompressed, are projected into the orthogonal basis space or are projected to the current shrinkwrap. Referring to figure 19 which shows a simple logical flowchart of the second or wavespace compression packaging mode in which the data is expressed in terms of the exemplars and two maps used for reconstruction of the data set d. The complete data set is received from the sensor 701, containing for purposes of example approximately 200 million scalar values describing a scene. CHOMPS next uses the prescreener to perform the prescreener comparison 702, and reduces the complete data set to an exemplar set 703. The exemplar set size can be adjusted by the user on the basis or the precision desired or other mission requirements, but for purposes of example may be 10,000 vectors in size (2,000,000 scalars). CHOMPS uses information from the prescreener comparisons to compile a rejector index or rejector plane 704. The rejector plane simply records which exemplar rejected each new data vector received by the prescreener. CHOMPS also builds an intensity map 705, which records the intensity of each new data vector input into the prescreener. The intensity map and rejector index is downloaded along with the complete exemplar set, expressed in wavespace 706. Thus the data stream of 200 million scalars is expressed as approximately 10,000 exemplars each having 200 elements and the map information, each map containing 1 scalar for each of the 1 million data set vector, rather than the 200 scalar values for each data vector. This represents a data set compression of the approaching 50: 1 using the wavespace mode. The third compression packaging mode is similar to the wavespace compression mode except that CHOMPS projects the exemplars into endmember space for additional compression. Referring to figure 20 which is a flowchart of the endmember compression mode, the data set is received in the prescreener from the sensor 555 and compared to the existing exemplars 556, just as in the wavespace compression mode 700. The prescreener builds the exemplar set 557, rejector index 558, and an intensity map 559 identical to that in the wavespace compression mode 700. However, in the endmember compression mode CHOMPS sends the exemplar set to the ALM 560, for computation of endmembers 561. The exemplar set is thus projected into endmember space 562, realizing additional compression. The compressed exemplar set is expressed in endmember space, each exemplar now expressed as 10 or so scalars rather than the 200 or so scalar values necessary in wavespace, assuming a sensor having 200 bands. The endmembers expressed in wavespace are added to facilitate reconstruction of the scene. The rejector index and intensity map are also output for reconstruction of the data set. Endmember compression realizes a 100: 1 reduction in the data transfer necessary to describe a scene. The output packet of the compressed segment data consists of the exemplar list in any of the projections above, the endmembers or basis vectors and the two decoding maps. Additional information can be injected, such as the number of vectors replaced by each exemplar. CHOMPS thus uses the Adaptive Learning Module Pipeline to construct a compressed data set, along with the necessary scene mapping data, facilitating the efficient storage, download and the later reconstruction of the complete data set with minimal deterioration of signal information. In a preferred embodiment the CHOMPS employs the following algorithm: a) Receive data vector d, into the prescreener. b) Designate priority exemplars from the existing exemplar set and perform priority testing according to the relation (d ° S = l>ε) of the data vector d; using the exemplars S j designated with the higher priority. c) If priority testing generates a match condition go to (a), if no match condition produced after N iterations, continue. d) Select at least one reference point or reference vector. e) Designate at least one match zone and perform zone testing on data vector d; according to the relation (d ° S = l>ε) using only those exemplars S j which are contained (to the desired precision) within the match zone. f) If zone testing generates a match condition go the step (a), if no match condition is produced add d; to the exemplar set and go get next data vector d i+ 1 exemplars are exhausted. g) Perform compression packaging via full IHPS mode, wavespace mode, exemplar mode or a combination thereof. Obviously, many modifications and variations of the present invention are possible in light of the above teachings. For example this invention may be practiced without the use of a parallel processing architecture, different combinations of zone and priority testing may be employed, ie., zone testing may be employed without priority testing or standard compression algorithms may be employed to compress the intensity map and rejectors index. It is therefore understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described.

Claims: We Claim: 1. A system comprising: sensor means for generating a plurality of data vectors; means for producing endmember vectors responsive to said generating; wherein said means for producing comprises a module adapted to reduce the spanning space of said data vectors by application of the Graham-Schmidt algorithm using salients. 2. A sensor system comprising: means for collecting data, an exemplar set, said exemplar set comprising exemplar set members; means for generating a compressed data set, said data set comprising data set members wherein; said means for generating compares said data set members with respective ones of said exemplar set members effective to characterize said data set members as similar or dissimilar to said exemplar set members according to a preselected criterion, and means for including said data set members characterized as similar in said exemplar set; means for generating the endmember vectors of said exemplar set; means for demixing said data set. 3. A system comprising: sensor means for generating a plurality of data vectors; means for producing endmember vectors responsive to said means for generating; wherein said means for producing comprises a module adapted to reduce the spanning space of said data vectors by application of the Graham-Schmidt algorithm using salients; means for compression said plurality of data vectors by employing the CHOMPs algorithm. 4. A method for processing hyperspectral data comprising: generating a plurality of data vectors; producing endmember vectors responsive to said generating; wherein said producing comprises reducing the spanning space of said data vectors by application of the Graham-Schmidt algorithm using salients; compressing said plurality of data vectors by application of the CHOMPs algorithm. 5. A method for processing multi dimensional data comprising: collecting data, generating a exemplar set, said exemplar set comprising exemplar set members; generating a compressed data set, said data set comprising data set members wherein; comparing said data set members with respective ones of said exemplar set members effective to characterize said data set members as similar or dissimilar to said exemplar set members according to a preselected criterion, and including said data set members characterized as similar in said exemplar set. generating the endmember vectors of said exemplar set; demixing said data set. 6. A method for compressing a data stream comprising: collecting data, generating a exemplar set, said exemplar set comprising exemplar set members; generating a compressed data set, said data set comprising data set members wherein; said generating compares said data set members with respective ones of said exemplar set members effective to characterize said data set members as similar or dissimilar to said exemplar set members according to a preselected criterion, and including said data set members characterized as similar in said exemplar set. generating the endmember vectors of said exemplar set.

Inventors: ANTONIADES JOHN A, BAUMBACK MARK M, BOWLES JEFFREY A, GROSSMANN JOHN M, HAAS DANIEL G, PALMADESSO PETER J, ANTONIADES, JOHN, A., BAUMBACK, MARK, M., BOWLES, JEFFREY, A., GROSSMANN, JOHN, M., HAAS, DANIEL, G., PALMADESSO, PETER, J.
Applicants: US NAVY, THE GOVERNMENT OF THE UNITED STATES OF AMERICA AS
Application year: 1999
Main classification: G06K
IPC codes: G06K9, H03M7