Abstract:
This invention relates to a method for analyzing a viewed scene containing a target. The scene is digitized forming a binary image in which the target is distinguished from the background. The image is then processed to form a contoured representation of the target, and a target skeleton. Finally a contoured skeleton is produced and the target aimpoint is determined.

Description:
This is a continuation of application Ser. No. 07/493,113, filed on Mar. 15, 1990, which was abandoned upon the filing hereof. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to a method of target aimpoint location, specifically, but not exclusively, to skeleton aimpoint location as may be implemented on parallel processing devices. 
     We have proposed a target tracking system in which digitized image of a target and its background are formed and then the image is processed to form a skeletal image of the target. The terms skeleton and skeletal image used herein mean an image comprising one or more linear elements forming a kind of &#34;stick figure&#34; representation of the original image. In the embodiment to be described, this &#34;stick figure&#34; representation comprises horizontal and vertical linear elements, one pixel across. These elements corresponding to features such as a central area and lobes of the target image. At least approximately, the linear elements are centered symmetrically between boundaries of the target at the two sides of the element. In this embodiment, the skeleton incorporates substantially all the information contained in the original image, i.e. the original image could be reproduced from the skeleton. This follows from an algorithm used to form the skeleton. 
     It may be desirable to assign a specific pixel within the target image, namely the center-of-gravity or centroid of the image, as an aimpoint for a weapon being guided onto the target. 
     SUMMARY OF THE INVENTION 
     One object of the present invention is to provide a quick and simple process for determining the aimpoint of a target using a parallel processing device. 
     According to one aspect of the present invention there is a method of determining a target aimpoint in a missile guidance tracking system, comprising the steps of: 
     forming an image of a viewed scene; 
     determining the presence of a target within the scene and forming a digitized binary image of the scene, the target being distinguished from the background of the scene; 
     contouring the binary image to form a contoured image of the target and forming a separate skeleton image of the target using a recursive process, the skeleton being substantially one element thick; 
     contouring the skeleton image to form a contoured skeleton; and, 
     using a parallel processor to determine a centroid from the contour values and position of the skeleton elements and to determine the element closest to said centroid. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     Reference will now be made, by way of example, to the accompanying drawings, in which: 
     FIG. 1 illustrates a binary image of a target; 
     FIG. 2 shows how the FIG. 1 image is contoured; 
     FIG. 3 illustrates a completed contoured image corresponding to FIG. 1; 
     FIG. 4 shows an image equivalent to FIG. 3 but which satisfies the skeleton image conditions; 
     FIG. 5 illustrates the skeleton image of the FIG. 1 target; 
     FIGS. 6A and 6B show part of another skeleton image in which contour values have been assigned to the pixels of the skeleton; and 
     FIG. 7 shows a block diagram which illustrates the operation of the aimpoint location process. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In order to determine the aimpoint for a given target, a skeleton image has to be obtained from an image of a viewed scene containing the target. As shown in FIG. 7, step 100, a binary image is formed of the target by any convenient method known to those skilled in the art. This binary image is shown in FIG. 1 and comprises, an array of pixels each having a value of either `0` (corresponding to the background) or `1` (corresponding to the target). 
     The binary image of FIG. 1 is contoured, step 101, to provide a weighting for each pixel of the target area. In order to do this, the array is scanned, raster fashion, until the first `1` is located. This `1` is the starting point for the first contour, the boundary contour. Moving in a clockwise direction, all pixels on the boundary are assigned the contour value of `2`, see FIG. 2. The array is scanned again as before until the first `1` is located, then as before all the pixels having a value of `1` inside the boundary contour (having a value `2`) are assigned the value `4` when moving in a clockwise direction. This process is repeated, each of the inner contours being assigned a value two greater than its adjacent outer contour, until no more pixels having a value of `1` are located. The completed contoured image is illustrated in FIG. 3. 
     At the same time as the contoured image is being produced, another `image` of the binary array is formed. Similar processing is used for the contoured image but certain `test` conditions have to be satisfied at each pixel. As before, the first `1` is located by scanning the binary array raster fashion. Once this `1` is located a 3×3 operator is applied to it, step 102, the operator being: 
     
         ______________________________________A               B     AB               C     BA               B     A______________________________________ 
    
     The pixel C is the one to which the `test` conditions are applied, and in this case is the first `1`. The other pixels of the operator respectively take the values of the eight neighbouring pixels unless any of those pixels does not have the value `1`. For each pixel which does not have the value `1`, the relevant pixel of the operator is given the value `0`. 
     For example, for the first `1`, we get: 
     
         ______________________________________0               0     00               1     11               1     1______________________________________ 
    
     The `test` conditions are then applied: 
     →(i) more than two of the light possible (A+B) adjacent pixel pairs must be equal to 1 i.e. A+B=1 for at least three pairs of adjacent pixels; 
     →(ii) the sum of all A&#39;s and B&#39;s must be less than three. 
     If one or both these conditions are satisfied the pixel located at C remains unaltered. If neither condition is satisfied, then the value of the pixel at position C is given an increased value in the same way that values were assigned to the pixels when the contoured image was formed as described above. In the example above neither condition is satisfied. Therefore, that pixel takes a contour value of `2`. If later on in the contouring process, another pixel having the value of `1` is taken: 
     
         ______________________________________4               4     26               1     41               1     4______________________________________ 
    
     All the values of A and B are not `1` so the operator elements corresponding to the non-`1` image elements are made zero: 
     
         ______________________________________0               0     00               1     01               1     0______________________________________ 
    
     In this case, condition (ii) is satisfied and therefore the pixel C (in the center) remains unaltered i.e. keeps its value of `1`. Once this process is completed for each pixel the array as shown in FIG. 4 is obtained i.e. a contoured image except where the `test` conditions are satisfied. From this array, in step 103 the skeleton image is formed where all the pixels not having a value of `1` are assigned the value of `0`, this array is shown in FIG. 5. 
     The array of FIG. 5 may be contoured by any appropriate method to produce an array similar to that of FIG. 6. For example, in step 104 the skeleton pixels may simply be assigned the contour values already determined for the corresponding pixels of the previously formed contour image, i.e. the skeleton pixels of FIG. 5 take the value of the correspondingly located pixels of FIG. 3, thus the information from the contoured image (FIG. 3) is also used to produce a contoured skeleton (FIG. 5). 
     Referring to FIG. 6, in order to determine a suitable aimpoint, step 105, location or actual centroid of the target, an xy axes system is centered on one of the pixels, preferably the one with the highest skeletal contour value, i.e. the skeletal centroid. The co-ordinates x,y of the actual centroid are then determined from: 
     
         x=ΣΣ×C(x,y)/ΣΣC(x,y) 
    
     and 
     
         y=ΣΣyC(x,y)/ΣΣC(x,y) 
    
     where x and y are values on the axes system and C(x,y) are the contour values found at the skeletal pixel locations. From x and y the distance D of the actual centroid (denoted *) from the skeletal centroid may be determined thus: 
     
         D=√(x.sup.2 +y.sup.2) 
    
     Considering the skeleton of FIG. 6. The centroid C is marked and has a contour value of 14. The x,y axis is centered on this point. ΣΣC(x,y), ΣΣxC(x,y) and ΣΣyC(x,y) are determined as shown. ##EQU1## The distance D from the actual centroid to the skeletal centroid is also determined: 
     
         D=√(x.sup.2 +y.sup.2) 
    
     
         D=√(0.1778.sup.2 +0.1555.sup.2) 
    
     
         D=√(0.0316+0.0242) 
    
     
         D=0.236 
    
     If necessary this distance D may be determined for each skeletal pixel so that the pixel closest to the centroid can be determined and this pixel be used as an indication of aimpoint location. 
     Referring to FIG. 7, a block diagram is shown which illustrates the above-described steps to determine the aimpoint location.