NEURAL NETWORKS

Abstract: A method for recognising, identifying or classifying a spectrum, image or other input data sequence, using a pulse-coupled neural network (PCNN). The PCNN ouputs a time signature of binary barcode data, which has a one-to-one correspondence with the input. This may then be taken to a recognition engine, such as a further neural network, which identifies it on the basis of predetermined, known, reference time signatures of barcode data. The recognition process is therefore easier and faster than if the recognition engine acted directly on the basis of reference spectra or images.

Description: NEURAL NETWORKS This invention relates to neural networks for use in pattern recognition or identification. Amongst other uses, it may be used for recognition or identification or classification of the spectra produced by spectroscopic analysis of a sample. It may also be used in a wide variety of image processing and pattern recognition applications. It is known to carry out identification of the molecular species within a sample by studying the spectra produced by a spectroscopic analysis of the sample. For example, Raman spectroscopy and infra-red absorption spectroscopy has been used for this purpose. An example of Raman spectroscopy apparatus is shown in European Patent Application No. 0543578. However, identification of the compounds present remains essentially a job for expert spectroscopists, especially where it is desired to identify trace compounds and/or compounds which are present in mixtures. The spectra produced must be compared with known, reference spectra and common features identified. Recent studies [1,2] of the visual cortex highlight the role of temporal processing using synchronous oscillations for object identification. A few oscillatory neural network models have been developed using related strategies for image processing. However, most of these approaches either use linear or phase-oscillator models and as such ignore dendritic processing. A known neural network, which has been used for image processing, is the pulse coupled neural network (PCNN), also called the computer-modelled cortex neural network (C-MCNN). It typically comprises a two-dimensional laterally connected array of integrate and fire neurons. This may receive inputs generated by an imaging device, such as a charge-coupled device, one neuron being connected to each pixel of the imaging device. In the embodiments of the present invention, the original neural network model of Eckhorn [1] is modified according to the proposal of Johnson and others [2] for image segmentation. One aspect of the present invention provides a method for recognising, identifying or classifying a spectrum, image or other input data sequence, comprising the steps of: pre-processing input data representing the spectrum, image or data sequence, in a pulse-coupled neural network, thereby generating a time signature corresponding to the input data; and applying the time signature to a recognition engine which recognises, identifies or classifies it on the basis of predetermined time signatures of known, reference spectra, images or data sequences. The recognition engine may use a library of the time signatures, in the form of a lookup table. Alternatively, the recognition engine may itself be a further neural network, such as a multi-layer perceptron (MLP) classifier. It is of course known for such recognition engines to be used directly upon the original spectral data, but we have found that the recognition proceeds much more quickly and easily if performed upon the time signatures produced by the PCNN. A second aspect of the invention provides a method for recognising, identifying or classifying a spectrum, image or other input data sequence, comprising at least one step of processing input data representing the spectrum, image or data sequence, in at least a first pulse-coupled neural network, thereby generating either an output barcode corresponding to the input data, or output data which represents such a barcode. The output data representing barcodes may be used as a unique identifier for the input pattern or data sequence. Alternatively, it may be fed to a recognition engine, as above, in order to perform recognition of the input pattern or data sequence. Embodiments of the invention will be described by way of example, with reference to the accompanying drawings, in which: Figure 1 is a schematic representation of a PCNN neuron; Figure 2a is a block diagram of a barcoding technique for still images; Figure 2b is an example of a still image; Figure 2c is a time signature (TS) or icon of the image of Fig 2b; Figure 2d is a grey-level barcode of Fig 2c; Figure 2el is a corresponding one-dimensional binary barcode (BBC-ID); Figure 2e2 is a corresponding two-dimensional binary barcode (BBC-2D); Figure 3a is a block diagram of a barcoding technique for a data sequence; Figure 3b is an example of a data sequence as an (x,y) plot; Figure 3c is a grey-level barcode of Fig 3b; Figure 3dl is a corresponding one-dimensional binary barcode (BBC-ID); Figure 3d2 is a corresponding two-dimensional binary barcode (BBC-2D); and Figure 4 is a block diagram of a recognition process. Fig 1 of the accompanying drawings shows an example of a PCNN neuron, consisting of three parts: (1) The input unit (dendritic tree) includes the image pixel input (real value) as well as feedback (binary) inputs from surrounding neurons. (2) The linking and feeding branches merged together to compute the internal activation U. The integrated signals from the linking synapse plus an offset term of ' 1 ' are multiplied with the integrating signals from the feeding synapse to produce a membrane voltage U. The linking branch may be omitted in some embodiments of the invention, though this is not preferred. (3) The pulse or spike generator, which compares the threshold value Θ and U. If U>Θ, then the PCNN output becomes equal to 1 and is reset to a maximum value V © , else the output is zero and Θ is decreased exponentially by the time constant α © . The PCNN can be implemented by iterating the following equations: F, j [n] = exp(-α F ) F u [n-1] + S„ + V F ∑ M ljkl Y w [n-1] (1) kl L, j [n] = exp(-α L ) L^n-1] + V L ∑ W ljk , Y kl [n-1] (2) kl U y [n] = F y [n] (1 + β L^n]) (3) Θ, j [n] = exp(- Θ ) Θ y [n-1] + V Θ Y u [n-l] (5) where S is the stimulus input (the pixel intensity), F and L are the feeding and linking inputs to the neuron and Y is the output. The other parameters include three potentials, V, and three decay constants , associated with F, L and Θ, respectively; β being the linking scaling constant. The interconnections in M and W are local Gaussians (dependent on the distance between the neurons). If a digital image is applied as input to such a PCNN network, the network groups image pixels based on spatial proximity and brightness similarity, Kuntimad [3]. A two-dimensional input function can be mapped into a one-dimensional output function for e.g. time-series. Spatial averaging of neural responses gives a temporal output signal that is shown to be valid as a coding mechanism. The time signal G[n], as computed by equation (6), is the number of "on pixels" in each iteration. G[n] = X Y υ [n] (6) This varies with time, as the iterations progress, and may be termed a "time signature" or "icon". The PCNN provides a one-to-one correspondence between input images and their time signatures (icons). Referring to Fig 4, a simple example of the invention receives a plurality of intensity (or grey-level) inputs 10. These may represent the output of the detector in a Raman or other spectroscopy apparatus according to European Patent Application No. 0543578. In such an apparatus, the spectrum to be analysed may be dispersed across the detector, and an output (i.e. input 10) is generated for each pixel (or group of pixels) within the dispersed spectrum. This is taken to a computer, as described in that European patent application, where it is processed as follows. Each of the inputs 10 in Fig 4 provides an input to one neuron 1 1 of a PCNN array 12. Each neuron 11 is as shown in Fig 1, the inputs 10 corresponding to the inputs S. For clarity, the cross-connections between the neurons 11 are not shown in Fig 4. Each neuron has an output 13 (corresponding to the output Y in Fig 1). From these outputs the time signature TS is derived, in accordance with equation (6). This is taken to a recognition engine 20. Since the PCNN provides a one-to-one correspondence between images and their time signatures (icons), it is opportune to exploit this property to create a database from reference Raman spectra of known compounds. The PCNN unit described above is only a pre-processor, and requires some task specific post-processing in the recognition engine 20. In a simple case, the recognition engine may comprise a library (in the form of a look-up table, for example) of the time signatures produced from the spectra of known compounds. When an unknown compound is to be identified, a similar time signature is produced from its spectrum, and the nearest match in the library is determined. Alternatively, the post-processing in the recognition engine 20 may be performed by a multi-layer perceptron (MLP) classifier. This is a feed-forward, back-propagation neural network. A database of the icons of known compounds is used for the training/testing of the MLP neural network classifier. The icons generated by using the PCNN from the Raman spectrum of any material in the database can then be matched by the MLP classifier with the corresponding signature within the large database for identification. The method described above has been used for the identification of a few trace compounds: Pentaerythritol tetranitrate (PETN), dimethyl dinitrobutanc (DMNB), 2,4,6-Trinitro toluene (TNT), 4 mononitrotoluene (4MNT), 3,4-dinitrotoluene (34DNT), heroin, and cocaine [6,7]. Typical Raman spectra of these materials were excited at ca. 244nm and 633nm. A large number of iterations is required for each Raman image before a cyclic pattern becomes discernible in the time signature. Thus, a sampled or gated time signature is employed to cover a representative portion of the cycle (100 iterations). Different time signatures were obtained for each Raman image for 16 different sets of PCNN parameters (a's, β and V's). For excitation at 244nm and 633nm, 80 or 55 signatures respectively were used to train the feed forward neural network with the following architecture: 30 input neurons, 10 hidden neurons and 3 output neurons. Each training data consists of gated PCNN time signature amplitudes and the output data (in the required output format corresponding to the compound). The remaining signatures (32 or 25 respectively) were used to test the MLP. Our test results indicate a high success rate (>98.3%) for the identification. Thus, the identification process using neural network avoids the consultation of huge listings of the Raman bands/Raman peak intensities altogether - saving time. It also saves the institution from an in-depth training on Raman spectroscopy of these materials. The identification can thus be performed by non-experts. Our preliminary results in this work demonstrate the effectiveness of the hybrid neural network, and hence, its potential for use in other similar areas. The use of an MLP classifier on the time signatures allows much simpler and faster identification than if an MLP classifier were constructed directly from Raman spectra of the reference samples. We will now describe the preferred techniques for the generation of barcodes from (1) still images and (2) data sequences, such as spectra produced by spectroscopic analysis. The technique (Figure 2a) for the generation of binary barcode for still images, described hereunder, requires the use of two PCNNs - PCNN#1 and PCNN#2. PCNN#1 is used for time signature generation from the still image [5-7]. This time signature is then grey-coded as an image. The PCNN#2 is then used for binary barcode generation from the grey-coded time signature [8]. Alternatively, PCNN#2 can be used to obtain a time signature output which is then fed back (dotted lines in Figure 2a) to obtain the corresponding grey-coded image. This feedback can be iterated any number of times and the parameters of PCNN#2 can be varied at each iteration. A.1 Time Signature Generation from Still Image Step 1 : Set Parameters for the PCNN#1 (Decay parameters, thresholds, potentials), Number of Iterations. Step 2: Present Image (Figure 2b) (direct or pre-processed) to PCNN#1 to generate time signature (also referred as ICON) - Figure 2c. For a particular set of parameters for the PCNN#1, there is a 1 :1 correspondence between the input to the PCNN#1 and the output ICON. A.2 Grey Level Barcode (GBC) Generation from ICON Step 3: Set Number of Colour Levels and Select order of Colour Levels. The set order determines the end-use sensitivity. Convert ICON to grey-level barcoded image (Figure 2d). A.3 Binary Barcode Generation from GBC Step 4: Set Parameters for the PCNN#2 (Decay parameters, thresholds, potentials), Number of Iterations N (if N = 1 go to step 3a, else step 3b). Step 5a: Present Image (Figure 2d) to PCNN#2 to generate binary barcode for the first iteration to obtain a ID BBC (Figure 2el). For a particular set of parameters for the PCNN#2, there is a 1 :1 correspondence between the input to the PCNN#2 and this output binary barcode. Step 5b:Present Image (Figure 2d) to PCNN#2 to generate binary barcode for 2D BBC (Figure 2e2). For a particular set of parameters for the PCNN#2, there is a 1 : 1 correspondence between the input to the PCNN#2 and the output binary barcode set. Note: Step 4': Alternatively in Step 4, the parameters of PCNN#2 can be set to produce a time signature of Figure 2d. This time signature is fed back for grey-coding (Back to Step 3). This process (feedback option) can be repeated any number of times. However, the final steps will be 4-5 for BBC generation. The technique (Figure 3 a) for the generation of binary barcode for a given data sequence (such as a spectrum) given either as data pairs (x,y) where (x,y) e R or complex numbers (x + jy) e Z, described hereunder, requires the use of one PCNN. This PCNN is used to generate the binary barcode directly from the grey-coded data sequence. Alternatively, this PCNN can be used to obtain a time signature output which is then fed back (dotted lines in Figure 3 a) to obtain the corresponding grey- coded image. This feedback can be iterated any number of times and the parameters of the PCNN can be varied at each iteration. B.l Grey Level Barcode (GBC) Generation from Data Sequence Step 1 : Set Number of Colour Levels and Select order of Colour Levels. The set order determines the end-use sensitivity. Convert Data Pair Sequence (Figure 3b) to grey-leve) barcoded image (Figure 3 c). B.2 Binary Barcode Generation from GBC Step 2: Set Parameters for the PCNN (Decay parameters, thresholds, potentials), Number of Iterations N (if N = 1 go to step 3a, else step 3b). Step 3a: Present GBC (Figure 3c) to PCNN to generate binary barcode for the first iteration to obtain a ID BBC (Figure 3dl). Step 3b: Present GBC (Figure 3c) to PCNN to generate binary barcode for 2D BBC (Figure 3d2). For a particular set of parameters for the PCNN, there is a 1 : 1 correspondence between the input to the PCNN#2 and the output binary barcode set. Note: Step 2': Alternatively in Step 2, the parameters of PCNN can be set to produce a time signature of Figure 3c. This time signature is fed back for grey- coding (Back to Step 1). This process (feedback option) can be repeated any number of times. However, the final steps will be 2-3 for BBC generation. The above techniques (Figs 2 and 3) may be used to generate the actual barcodes shown themselves. Alternatively, they may generate data (e.g. a binary string) corresponding to the barcode. In one form of the invention, such a binary barcode (or corresponding data stored in some way) is simply used as a unique identifier for the original image or data sequence. Alternatively, as in Fig 4, the data corresponding to the barcodes may be fed to a recognition engine in order to recognise and identify an unknown input pattern or sequence of data. We have demonstrated our novel method on three different applications: (a) identification of trace compounds from their Raman spectra, (b) monitoring of cardiac cycle (ECG tracings), and (c) condition monitoring of power transformer from its transfer function spectra. Individual input spectra, in the form of grey-level images are presented to the PCNN. As an example, we used as an input the Raman spectrum of an explosive (trace compound), dimethyl dinitrobutane (DMNB), and generated the corresponding 8-bit grey-level image and the binary images produced by the PCNN after iterations 1,2,7 and 8. There is a one-to-one correspondence between the barcode-like PCNN output and the corresponding input image. This feature is exploited in our spectral recognition technique. These barcodes can be used either singly (one iteration only) or in combination (more than one iteration) as explained below. The first iteration PCNN output is converted into a binary codeword and stored in a look-up table (LUT). For the spectral recognition, the codeword is obtained from the corresponding spectrum and its Hamming's distances from all the codewords in the LUT are computed. The spectrum corresponding to the least Hamming distance gives the identity of the input. Ties in minimum Hamming distance are resolved by repeating the procedure using codewords generated from other PCNN iterations. In our present work, ties did not occur and the recognition rate success was 100%. Alternatively, in such work, an MLP classifier may be used on the barcodes in the recognition engine 20. A further possibility, which is faster, is to use a known n-tuple RAM based neural network. The memory-based architecture of RAM -based neural networks provides many important features including one-shot learning and fast recall times. The architecture is basically a number of look-up tables (LUTs) in parallel where each LUT is analogous to the weight matrix of a feed- forward neural network. The speed and success rate for recognition are very encouraging. Our technique involving the hybrid neural network (PCNN pre-processor and n-tuple RAM-based neural network) has successfully been used for the purpose of recognition, diagnosis and condition monitoring tasks. It provides a better performance with easier recognition than any other existing techniques. Our test results demonstrate that the approach is fast and robust making it suitable for real-time applications. We have demonstrated our novel technique on a few examples embracing different applications: (a) condition monitoring of power transformer from its transfer function spectra, (b) identification of chemical compounds from their infrared spectra, (c) identification of trace compounds (narcotics and explosives) from their Raman spectra, (d) monitoring of cardiac cycle, and (e) identification of pulsar profiles. As described so far, the various neural networks (PCNN, MLP, n-tuple RAM) have been implemented as software in a computer. However, the PCNN, in particular, may advantageously be implemented as a dedicated integrated circuit. References: The following references are incorporated herein: [1] R. Eckhom, E. Reitboeck, M. Arndt and P. W. Dicke, "Feature Linking via synchronisation among distributed assemblies: Simulations of results from Cat Visual Cortex", Neural Comp., Vol. 2, 293-307, 1990. [2] J. L. Johnson, "Pulse-coupled neural nets: translation, rotation, scale, distortion and intensity signal invariance for images", App. Opt., Vol. 33, 6239-6253, 1994. [3] G. Kuntimad, "Pulse-coupled neural network for image processing", PhD d dissertation, University of Alabama, USA, 1995. [4] T. Lindblad and J. M. Kinser, Image Processing using Pulse-Coupled Neural Networks, (Springer- Verlag, London 1998). [5] Lindblad, T., Pladgett M.L., and Kinser J., Editors, Proceedings of the Ninth Workshop on Virtual Intelligence/Dynamic Neural Networks, Proc. OfSPIE, 3728, 328-332 (1999). UK Patent Applications Nos. 9915788.5 (7th July 1999) and 9922008.9 (20th September 1999), from which the present application claims priority, are also incorporated herein by reference.

Claims: CLAIMS: 1. A method for recognising, identifying or classifying a spectrum, image or other input data sequence, comprising the steps of: pre-processing input data representing the spectrum, image or data sequence, in a pulse-coupled neural network, thereby generating a time signature corresponding to the input data; and applying the time signature to a recognition engine which recognises, identifies or classifies it on the basis of predetermined time signatures of known, reference spectra, images or data sequences. 2. A method for recognising, identifying or classifying a spectrum, image or other input data sequence, comprising at least one step of processing input data representing the spectrum, image or data sequence, in at least a first pulse-coupled neural network, thereby generating either an output barcode corresponding to the input data, or output data which represents such a barcode. 3. A method according to claim 2 wherein the output barcode is in a binary form. 4. A method according to claim 2 or claim 3 wherein the output of the first pulse- coupled neural network is further processed by a second pulse-coupled neural network. 5. A method according to claim 4, wherein the first pulse-coupled neural network produces a time signature, and the second pulse-coupled neural network generates therefrom said output barcode or data which represents the output barcode. 6. A method according to claim 4 or claim 5, wherein the output barcode is in a binary form, the method including an intermediate step of generating a grey-level barcode, or data representing a grey-level barcode. 7. A method according to any one of claims 2 to 6, including the step of applying the output barcode or data representing the output barcode, to a recognition engine which recognises, identifies or classifies it on the basis of predetermined barcodes or data representing predetermined barcodes, being barcodes of known, reference spectra, images or data sequences. 8. A method according to claim 1 or claim 7, wherein the recognition engine is a further neural network, trained with known reference spectra, images or data sequences.

Inventors: RUGHOOPUTH HARRY COOMAR SHUMSH, RUGHOOPUTH SOONIL DUTT DHARAM, RUGHOOPUTH, HARRY, COOMAR, SHUMSHER, RUGHOOPUTH, SOONIL, DUTT, DHARAM, VIR
Applicants: RENISHAW PLC, RUGHOOPUTH HARRY COOMAR SHUMSH, RUGHOOPUTH SOONIL DUTT DHARAM, RUGHOOPUTH, HARRY, COOMAR, SHUMSHER, RUGHOOPUTH, SOONIL, DUTT, DHARAM, VIR
Application year: 2000
Main classification: G06K9
IPC codes: G06K9, G06N3, G06T1, G06T7