Abstract:
A method and apparatus for detecting innovations in a scene in an image of the type having a large array of pixels. The method comprises the step of generating a multitude of parallel signals representing the amount of light incident on a group of adjacent pixels (masks) and these signals may be considered as forming a n by one vector, Z, where n equals the number of pixels in the masks. L such groups of adjacent pixels or elementary masks are used to geometrically cover the entire image in parallel. The method further comprises the step of replicating the generating step a multitude of times to generate a multitude of Z vectors by taking multiple frames of observations of the image (scene). These Z vectors may be represented in the form A k , where k equals 1,2,3, . . . , m, where m equals the number of replicates. Each of the Z k  vectors are related to a vector β k  of three parameters by a measurement equation in a linear model framework, i.e. Z k  =Dβ k  +e k , where e k  is an additive noise term. In one embodiment, a solution of the linear model yields the best estimates of the parameters β k  =D t  Z k , where D T  is a three by four matrix, β k  is a three by one vector, and Z k  is a four by one vector of the measurements. β k  includes three components u k , A k  and β k . The values of u k , A k , and B k  are monitored over time, and a signal is generated whenever any one of these variables rises above a respective preset level.

Description:
BACKGROUND OF THE INVENTION 
     This invention generally relates to methods and apparatus for detecting innovations, such as changes or movement, in a scene or view, and more particularly, to using associative memory formalisms to detect such innovations. 
     In many situations, an observer is only interested in detecting or tracking changes in a scene, without having any special interest, at least initially, in learning exactly what that change is. For example, there may be an area in which under certain circumstances, no one should be, and an observer may monitor that area to detect any movement in or across that area. At least initially, that observer is not interested in learning what is moving across that area, but only in the fact that there is such movement in an area where there should be none. 
     Various automatic or semiautomatic techniques or procedures may be employed to perform this monitoring. For instance, pictures of the area may be taken continuously and compared to a &#34;standard picture,&#34; and any differences between the taken pictures and that standard picture indicate a change of some sort in the area. Alternatively, one could subtract adjacent frames of a time sequence of pictures taken of the same scene in order to observe gray level changes. It is assumed herein that the sampling rate, i.e. the frame rate, is selected fast enough to capture any sudden change or motion (i.e. &#34;innovations&#34; or &#34;novelty&#34;). This mechanization would not require knowledge of a &#34;standard picture&#34;. More particularly, each picture may be divided into a very large number of very small areas (picture elements) referred to as pixels, and each pixel of each taken picture may be compared to the corresponding pixel of the standard or adjacent frame picture. The division of a picture containing the scene into a larger number of pixels can be accomplished by a flying spot scanner or by an array of photodetectors/photosensors as well known to those versed in the art. The resultant light intensity of the discretized picture or image of the scene can be left as analog currents or voltages or can be digitized into a number of intensity levels if desired. We will refer to the photodetector/photosensor output current or voltage signal as the input signal to the apparatus described herein. Whether the input signal is a current or voltage depends on the source impedance of the photodetector/photosensor as well known to those versed in the art. This may be done, for example, by using photosensors to generate currents (or voltages) proportional to the amount of light incident on the pixels, and comparing these currents to currents generated in a similar fashion from the amount of light incident on the pixels of the standard scene. These comparisons may be done electronically, allowing a relatively rapid comparison. Even so, the very large number of required comparisons is quite large, even for a relatively small scene. Because of this, these standard techniques require a very large amount of memory and are still comparatively slow. Furthermore, changes in the scene can be caused not only by gray level differences but also by innovations or novelty (changes) in the texture of the scene. In such cases the method of reference comparisons or subtracting adjacent frames would not work. Hence, these prior art arrangements do not effectively detect changes in the texture of a scene. 
     SUMMARY OF THE INVENTION 
     An object of this invention is to provide a method and apparatus to detect innovations in a scene, which can be operated relatively quickly and which does not require a large memory capacity. 
     Another object of the present invention is to employ a recursive procedure, and apparatus to carry out that procedure, to detect innovations in a scene. 
     A still further object of this invention is to provide a process, which may be automatically performed on high speed electronic data processing equipment, that will effectively detect innovations in either gray level or the texture of a scene. 
     These and other objects are attained with a method for detecting innovations in a scene in an image array divided into a multititude of M×N pixels. Each pixel is assumed to be small enough to resolve the smallest detail to be resolved (detected) by the apparatus described herein. The method comprises the step of generating input signal vectors Z, with each component of Z being a pixel obtained from an ordered elementary grouping of said 2×2 adjacent pixels at a time (referred to as a 2×2 elementary mask operator or neighborhood by those versed in the art). Thus the components of Z are strung-out mask elements and form, in general, a n by one vector. Typically, n=4, and thus Z is a four by one vector. The method may further assume that the elementary mask operators geometrically cover the image containing the scene. For an M×N pixel image there are ##EQU1## elementary mask values neighborhoods or operations. If M=N=256 and n=4 then L=16,384. In this manner by observing all L mask neighborhoods simultaneously in parallel one can detect innovations anywhere in the image (scene). 
     The method further comprises the step of generating replicates of Z from multiple frames of observations of the scene (image) forming a set of Z vectors. These Z vectors are represented in the form Z k , k=1,2,3, . . . ,m, where m equals the number of replicates (frames). Each of the Z k  vectors are related to a vector β k  of three parameters by a measurement equation in a linear model framework, i.e. Z k  Dβ k  +e k , where e k  is an additive noise term. A solution of the linear model yields the best estimates of the parameters β k  =D T  Z k , where D T  is a three by four matrix, β k  is a three by one vector and Z k  is a four by one vector of the measurements. β k  includes three components u k , A k  and B k . The values of u k , A k , and B k  are monitored over time, and a signal is generated whenever any one of these variables rises above a respective preset threshold level. 
     Further benefits and advantages of the invention will become apparent from a consideration of the following detailed description given with reference to the accompanying drawings, which specify and show preferred embodiments of the invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a general M×N pixel image or detector array of observations of frames of a scene, taken over a period of time and generally outlining how that scene may change. 
     FIG. 2 shows a two by two group of pixels (a two by two elementary mask) of one of the observation frames. 
     FIG. 3 shows a series of two-by-two pixels groups (masks) taken from a series of the observation frames. 
     FIG. 4 schematically depicts one network in the form of a three-neuron neural network with constant weights for processing the signals from the group of pixels shown in FIG. 3. 
     FIG. 5 schematically depicts another network to process the signals from the group of pixels shown in FIG. 3. FIG. 6 schematically depicts a procedure to calculate a robustizing factor that may be used in the present invention. 
     FIG. 7 schematically depicts a network similar to the array represented in FIG. 5, but also including a noise attenuating robustizing factor. 
     FIG. 8 comprises three graphs showing how three variables obtained by processing signals from a (2×2) mask change as an object moves diagonally from one pixel to another pixel. 
     FIG. 9 comprises three graphs showing how the three variables obtained by processing signals from a (2×2) mask change as an object moves either vertically or horizontally from one pixel to another adjacent pixel within the 2×2 mask. 
     FIG. 10 shows an array of 2×2 masks at one observation fame. 
     FIG. 11 shows an array of overlapping 2×2 masks of an observation frame. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     I have discovered that the output signals from an image pixel array detector elements representing a scene under consideration can be expressed in terms of a selected group of variables in a mathematical equation having a form identical to the form of an equation used in a branch of mathematics referred to as associative mapping. I have further discovered that techniques used to solve the latter equation can also be used to solve the former equation for those selected variables, and that changes in these variables over time identify innovations in the scene. 
     FIG. 1 illustrates a series of observation frames F 1  -F n  taken over a period of time. Each frame comprises an array of pixels, and FIG. 2 shows a two-by-two mask neighborhood from frame F 1 . Generally, a pixel is identified by the symbol z ij , where i identifies the row of the pixel in the frame, and j identifies the column of the pixel in the frame. Thus, for example, the four pixels shown in FIG. 2 are identified as z 11 , z 12 , z 21 , and z 22 . Photosensors (not shown) may be used to generate currents proportional to the intensity of light incident on each pixel, and these currents (i.e. input signals described previously) may be represented, respectively, by the symbols Z 11 , Z 12 , Z 21  and Z 22 . These current measurements can be used to form a four by one vector, ##EQU2## The measurement vector Z can also be expressed in the form of a linear model in the following manner: 
     
         Z=Dβ+e                                                (2) 
    
     Where β is a three by one parameter vector representing the current due to the light from the pixels from objects of interest, D is a four by three matrix, discussed below, and e is a four by one vector representing the current due to random fluctuations. 
     Over time, a sequence of frames of a scene may be taken or developed, and FIG. 3 shows a series of 2×2 masks from frames F 1 , F 2  and F 3 . The symbol for each pixel within the mask is provided with a superscript, k, identifying the frame of the pixel; and thus the pixels from frame F 1  are identified in FIG. 3 as z 11   1 , z 12   1 , z 21   1  and z 22   1 , and the pixels from frame F 2  are identified in FIG. 3 as z 11   2 , z 12   2 , z 21   2  and z 22   2 . Photosensors may be used to generate currents representing the intensity of light incident on corresponding pixels of each frame as described previously; and if m frames are taken the current measurements from the pixels z 11   k , z 12   k , z 12   k  and Z 22   k  can be generally represented by Z 11   k , Z 12   k , Z 21   k  and Z 22   k , where k=1,2,3, . . . ,m. Equations (1) and (2) can be generalized respectively, as follows: ##EQU3## It is known that, while equation (4) does not always possess a unique solution for β k , an approximation to β k , identified by the symbol β k  can be determined by the method of least squares, given by the equation: 
     
         β.sub.k =(D.sup.T D).sup.-1 D.sup.T Z.sub.k           (5) 
    
     Where D T  is the transpose of D. 
     This nonrecursive method is based on the direct solution of the normal equations of an equivalent linear experimental design model. If D can be constructed as an orthogonal matrix, than D T  D=1, and equation (5) becomes 
     
         β.sub.k =D.sup.T Z.sub.k                              (6) 
    
     Equation (6) has the same form as the equation: 
     
         y.sub.k =Mx.sub.k for all k in the set (k=1,2,3, . . . ,m) (7) 
    
     which is used in linear associative mapping to represent the fact that M is the matrix operator by which pattern y k  is obtained from pattern x k . If M is a novelty mapping, then M is always a balanced matrix, which means that all of the elements of M are either 1 or -1. If equation (6) is to correspond to equation (7), then D must also be balanced. Thus, D must have the following properties: 
     (i) it must be orthogonal, which means that D T  D=c[I], where c is a scalar and I is the identity matrix. 
     (ii) every element of D must be 1, or -1, and 
     (iii) it must have four rows and three columns in this example case. 
     The design matrix of certain classes of reparametrized linear models are found to satisfy the above criteria for novelty mappings by providing the required balanced properties of the matrix operator. For a class of randomized block fixed-effect two-way layout with n observations per cell experimental design, the corresponding reparametrized design matrix is both full rank and orthogonal. In this case, the association matrix can be prespecified by the model and becomes the transpose of the design matrix whose elements are +1 and -1. 
     I have found that one solution for D is: ##EQU4## 
     If, in equation (4), β k  and e k  are represented, respectively, by: ##EQU5## then equation (4) becomes: ##EQU6## 
     Substituting the right-hand side of equation (8) for D in equation (Il) yields: ##EQU7## 
     Equation (6) can be solved for u k  A k  and B k  as follows: ##EQU8## 
     FIG. 4 schematically depicts a logic array or network (which is in the form of a three-neuron neural network with constant weights) to process input signals according to equations (13), (14) and (15), and in particular, to produce output signals u k , A k  and B k  from input signals Z 11   k , Z 12   k , Z 21   k  and Z 22   k . As previously mentioned, the input or output signals can represent either voltages or currents as appropriate. 
     Input signals Z 11   k , Z 23   k , Z 21   k  and Z 22   k  are conducted to multiply operators OP 1 , OP 2 , OP 3  and OP 4 , respectively, and each of these operators is a unity operator. The output currents of these operators have values that are the same as the respective input signals Z 11   k , Z 12   k , Z 21   k  and Z 22   k , and these operators are shown in FIG. 4 to illustrate the fact that they apply a weighted value of +1 to input signals Z 11 , Z 12   k , Z 21   k  and Z 22   k . The output of operators OP 2 , OP 3  and OP 4  are applied, respectively, to operators OP 5 , OP 6  and OP 7 , which are signal inverters. Each of these latter three operators generates an output signal that is equal in magnitude, but opposite in polarity, to the input signal applied to the operator. Thus, the output of operator OP 5  has a magnitude equal to and a polarity opposite to the signal Z 12   k , the output of operator OP 6  has a magnitude equal to and a polarity opposite to the signal Z 21   k , and the output of operator OP 7  has a magnitude equal to and a polarity opposite to the signal Z 22   k . 
     The output of operator OP 1  is applied to an &#34;a&#34; input of each of a group of summing devices S 1 , S 2  and S 3 , the output of operator OP 2  is applied to a &#34;d&#34; input of summing device S 1  and to a &#34;c&#34; input of summing device S 2 , the output of operator OP 3  is applied to a &#34;b&#34; input of each of the summing devices S 1  and S 3 , and the output of operator OP 4  is applied to a &#34;c&#34; input of summing device S 1 . The output of operator OP 5  is applied to a &#34;c&#34; input of summing device S 3 , the output of operator OP 6  is applied to a &#34;d&#34; input of summing device S 2 , and the output of operator OP 7  is applied to a &#34;b&#34; input of summing device S 2  and to a &#34;d&#34; input of summing device S 3 . For the sake of clarity, the &#34;a&#34;, &#34;b&#34;, &#34;c&#34; and &#34;d&#34; inputs of summing devices S 1 , S 2  and S 3  are not expressly referenced in FIG. 4. 
     Each summing device S 1 , S 2  and S 3  generates an output signal equal to the sum of the signals applied to the inputs of the summing device. Thus: 
     
         output of S.sub.1 =Z.sub.11.sup.k +Z.sub.21.sup.k +Z.sub.22.sup.k +Z.sub.12.sup.k                                           (16) 
    
     
         output of S.sub.z =Z.sub.11.sup.k -Z.sub.22.sup.k +Z.sub.12.sup.k -Z.sub.21.sup.k                                           (17) 
    
     
         output of S.sub.3 =Z.sub.11.sup.k +Z.sub.21.sup.k -Z.sub.12.sup.i -Z.sub.22.sup.k                                           (18) 
    
     As can be seen by comparing equations (13)-(15) with equations (16)-(18), the outputs of summing devices S 1 , S 2  and S 3  respectively represent u k , A k  and B k . 
     Another solution (recursive) for equation (4) can be derived by a technique called stochastic approximation minimum variance least squares (referred to as SAMVLS), and this technique provides the iterative equation: ##EQU9## Where: an arbitrary value is chosen for β 1 , and A is a selected matrix, referred to as the gain matrix. The gain matrix, A, controls the rate of convergence of the procedure along with the step size k. The gain matrix can also be made adaptive (a function of the input data sequence) by those versed in the art to keep the recursive estimation procedure convergence rate &#34;near&#34; optimum. 
     This iterative/corrective procedure realization is based on temporal data sequence novelty parameter estimation from the measurement equation of the linear model using robustized stochastic approximation algorithms requiring little storage. 
     Equation (19) is a recursive equation in that each β k+1  is expressed in terms of the prior calculated β k  value. Any arbitrary value is chosen for β 1 , and so there will likely be an error for the first few calculated β k  values. Any error, though, will decrease over time. Also, under most conditions, there is a known range for the value of β k , and picking a β 1  within this range limits any error for the first few β k  values calculated by means of equation (19). Indeed, a skilled individual will normally be able to provide a good approximation of β 1 , so that any error in the subsequent β k  values calculated by equation (19) may often be negligible. 
     FIG. 5 schematically depicts a logic array or network to process input signals according to equation (19), and in particular, to produce the output vector β k+1 , from the input vectors Z k  and β k . For the sake of simplicity, FIG. 5 does not show the individual components of Z k , β k  or βk+1, nor does FIG. 5 show the individual operators representing the elements of matrix D T  or A. These components and operators could easily be added by those of ordinary skill in the art to expand FIG. 5 to the level of detail shown in FIG. 4. 
     With the circuit shown in FIG. 5, a β k  value is conducted to operator OP 8  which multiplies β k  by the matrix D T . At the same time, the measured signal values comprising Z k  are conducted to operator OP 9 , which multiplies Z k  by the matrix D T . The outputs of operators OP 8  and OP 9  are conducted to operator OP 10 , which subtracts the former output from the latter output, and the difference between the outputs of operators OP 8  and OP 9  is conducted to operator OP 11 , which multiplies that difference by the matrix A divided by k. The product produced at operator OP 11  is conducted to operator OP 12 , where β k  is added to that product to produce β k+1 . The value of β k+1  is conducted both to an output of the network, and to delay means D 1 , which simply holds that vector for a unit of time, corresponding to the iteration step, k. 
     The β k  values calculated by using equation (19) are sensitive to all signal changes in the elementary mask unit, including changes that are of interest and changes that are not of interest, referred to as noise. To decrease the sensitivity of β k  to noise, and ideally to make β k  insensitive to noise, recursive estimation procedures based on robustized stochastic approximation may be incorporated into equation (19). By using a nonlinear regression function, the recursive estimator can be made robust, i.e. the output parameter estimates made insensitive to unwanted disturbances/changes in the measurement equation of the model. In particular, W b , a symmetric form of the Mann-Whitney-Wilcoxon nonparametric statistic based b-batch, nonlinear robustizing transformation may be added to equation (19). 
     More specifically, ##EQU10## where r and s each is a set consisting of b sample measurements; and sign is an operator which is equal to +1 if r i  -s j  is greater than 0, equal to 0 if r i  -s j  equals zero, and equal to -1 if r i  -s j  is less than 0. 
     For example, assume that a total of eight sample measurements are taken, producing values 4, 2, 6, 1, 5, 4, 3 and 7. These sample measurements may be grouped into the r and s sets as follows 
     
         r={4, 2, 6, 1}                                             (21) 
    
     
         s={5, 4, 3, 7}                                             (22) 
    
     W b  can be calculated as follows: ##EQU11## 
     We note that in general, 
     
         max w.sup.b =+1 
    
     
         min w.sup.b =-1                                            (26) 
    
     thus w b  has been normalized to ±1. 
     FIG. 6 schematically illustrates this procedure to calculate W b . A set of b sample values is stored in memory M 1 , a different set of b sample values is stored in memory M 2 , and then W b  is calculated by means of equation (20). 
     Various other procedures are known for calculating the robustizing factor W b , and any suitable techniques may be used in the practice of this embodiment of the invention. 
     The W b  factor is introduced into equation (19) as follows: ##EQU12## Where i equals 1, 2, 3, . . . ,b, and k&#39;=b(k-1). 
     A is the gain matrix and selected to achieve a near optimum convergence rate for the procedure. One value for A which I have determined is given by the equation ##EQU13## 
     A time dependent adaptive gain matrix A k  (.) could also be used in equation (27) to provide a faster approximation to β k+  1, although for most purposes, a fixed A value provides sufficient convergence rate. Numerous techniques are known by those of ordinary skill in the art to determine a time dependent adaptive gain matrix, and any suitable such technique may be used in the practice of this embodiment of the invention. 
     FIG. 7 schematically illustrates a network or array to process input signals according to equation (27). As can be seen by comparing FIGS. 7 and 5, the robustizing of equation (19) requires the addition to the circuit of FIG. 5 of two buffer units B 1  and B 2 , and the matrix operator W b . The first m values of Z k  are stored in buffers B 1  an B 2 , an arbitrary is provided to operator OP 8 , and the vector is operated on by matrix D T . At the same time, the vector Z k  is operated on by the matrix D T  at operator OP 9 . The output of operators OP 8  and OP 9  are conducted to operator OP 10 , where the former is subtracted from the latter. This difference is then multiplied by W b , and this result is operated on by the gain matrix A at operator OP 11 . The output matrix from operator OP 11  is added to β k  at operator OP 12  to derive β  k+1 . This value is conducted both to the output of the network, and to unit delay means D 1 , which holds that value of β k+1  for a time unit, until the network is used to calculate the next β k  value. 
     In effect, W b  is a data dependent adaptive nonlinear attenuation factor, formed by summing and limiting selected measured values, and the introduction of this factor is designed to eliminate false alarms caused by increases in noise-like disturbances. The values taken to form W b  are selected, not on the basis of their absolute magnitude, but rather on the basis of their value relative to the immediately preceding and immediately following measured values. 
     FIG. 8 shows the output values for u k , A k  and B k  for the situation where an object moves from one pixel, such as pixel Z 11 , to a diagonal pixel, such as pixel Z 22 . As can be seen, such movement is clearly indicated by a spike in u, and the parameters A and B do not show any significant change. 
     FIG. 9 shows the output signals u k , A k  and B k  during movement of an object from one pixel to an adjacent pixel, such as from pixel Z 11  to pixel Z 21 . As can be seen, this movement results in spikes in the value of all three parameters, and in fact this change produces a double spike in the value of u. 
     Thus, movement of an object across pixels z 11 , z 12 , z 21  and z 22  can be automatically detected by, for example, providing first, second and third threshold detectors to sense the output of summing devices S 1 , S 2  and S 3 , respectively, of FIG. 4 and to generate respective signals whenever the level of the output of any one of the summing devices rises above a respective preset level. As will be understood by those of ordinary skill in the art, these movement indication signals may be, and preferably are, in the form of electric current or voltage pulses, forms that are very well suited for use with electronic data processing equipment such as computers and microprocessors. Moreover, the present invention is effective to detect changes in the texture of a scene--which is the result of changes in the light intensity of individual pixel groups--even if there is no actual movement of an object across the scene. 
     A scene, of course, normally includes many more than just four pixels, and movement across a scene as a whole can be tracked by covering the scene by a multitude of elementary mask operators, and automatically monitoring the movement indication signals of the individual mask operators, a technique referred to as massive parallelism. For example, with reference to FIG. 10, a movement indication signal from pixel group pg 1  followed by movement indication signals from pixel groups pg 2  and pg 3  indicate horizontal movement across the scene. Analogously, a movement indication signal from pixel group pg 1  followed by movement indication signals from pixel groups pg 4  and pg 5  indicate vertical movement across the scene. 
     A more precise tracking of an object across a scene can be obtained by overlapping the pixel groups For instance, with reference to FIG. 11, pixel group pg 1  can be formed from pixels z 11 , z 12 , z 21  and z 22  ; pixel group pg 2  can be formed from pixels z 12 , z 13 , z 22  and z 23  ; and pixel group pg 3  can be formed from pixels z , z 22 , z3l and z 32 . Movement indication signals from pixel groups pg 1  and pg 3 , coupled with no movement indication signals from pixel group pg 2 , indicate movement of an object between pixels z 11  and z 21 . Analogously, movement indication signals from pixel groups pg and pg 2 , in combination with no movement indication signal from pixel group pg 3 , indicate movement between pixels z 11  and z 12 . 
     In addition to detecting the presence of innovations and direction of movement, one can also determine the speed (and velocity given the direction of motion) of an object. This can be accomplished by computing the dwell time of an object within a mask. The dwell time depends on the object speed, S, the frame rate R=1/T, where T is the frame time, the pixel size and the mask size. If each pixel within an elementary 2×2 mask is a by a units wide, then the speed of an object moving diagonally is given by ##EQU14## where L is the number of masks in the frame. 
     The networks illustrated in FIGS. 4, 5 and 7 are similar in many respects to neural networks as mentioned before. A multitude of data values are sensed or otherwise obtained, each of these values is given a weight, and the weighted data values are summed according to a previously determined formula to produce a decision. 
     While it is apparent that the invention herein disclosed is well calculated to fulfill the objects previously stated, it will be appreciated that numerous modifications and embodiments may be devised by those skilled in the art, and it is intended that the appended claims cover all such modifications and embodiments as fall within the true spirit and scope of the present invention.