A moving body recognition apparatus

Abstract: A moving body recognition apparatus recognizes a shape and movement of an object moving in relation to an image input unit by extracting feature points, e.g. a peak of the object and a boundary of color, each in said images captured at a plurality of instants in time for observation by the image input unit. The moving body recognition apparatus comprises an image input unit for capturing images of an object as a moving body having a rotation, a feature point extraction unit for extracting feature points from the images inputted by the image input unit, a feature point storage unit for storing known position data of the extracted feature points, and a shape/movement recognition unit for calculating the actual positions and movements of the feature points of the object in the images by using the known position data of the extracted feature points outputted from the feature point storage unit.

Description: This invention pertains to a moving body recognition apparatus. A moving body recognition apparatus in many cases uses a TV camera as an image input unit receiving an image of an external object. Image processing devices are used widely, e.g. for an FA (factory automation) inspection, an automatic monitoring device, and a visual sensor for an automatically operated vehicle, generally as devices capable of processing visual information as with a human being. There are potential demands for them and their research and development is actively conducted. Although an image processing device originally processed a still image as its object, recently it has put a greater emphasis on processing a moving image. Especially, those capable of recognizing a moving body have come to take a large share of all image processing devices. A moving body recognition apparatus generally recognizes the shape of a moving body and its relative movement, when the image input unit of the moving body recognition apparatus is moving in relation to the object. That is, even if an object is not actually moving, when an image input unit of a moving body recognition apparatus moves, the moving body recognition apparatus recognizes the shape of the object standing still and the movement of the image input unit. For example, in a case of a visual sensor for an automatically operated vehicle, its image input unit is loaded on top of the vehicle, and the moving body recognition apparatus recognizes the environment in which the vehicle is running. A moving body recognition apparatus must be compact and responsive. Compactness is critical, especially when a moving body recognition apparatus is loaded on a vehicle in its application to a visual sensor of an automatically operated vehicle. Responsiveness is crucial, because a realtime processing similar to a human vision is required . A conventional moving body recognition device captures an object by two [2] image input units. By establishing the correspondences between the feature points of the objects in the two [2] images captured by the two [2] image input units, the shape of the object is captured at every certain instant in time for observation by applying a principle of a triangulation, and then the movement of the object is calculated. Figure 1 shows a concept of a conventional moving body recognition apparatus. A first image input unit 2 and a second image input unit 3 input images of an object 1 to a moving image recognition unit 4. The moving body recognition unit 4 detects feature points of an object 1 from the two [2] images. By matching a same feature point between the two [2] images, the position of a feature point is calculated by applying a principle of a triangulation. Here, a feature point refers to a point representing a particular part of the object 1. When there is a peak, an outline point or a pattern, a feature point may be a dot in a pattern or on a color boundary. The moving body recognition unit 4 calculates the movement of a feature point and the object 1 from a shift of the feature point in a time series. The moving body recognition apparatus outputs as a recognition result 5 the position and movement of a feature point and the movement of an object. Figure 2 shows a configuration of a conventional moving body recognition apparatus. A first feature point extraction unit 6 extracts a feature point from an image inputted by the first image input unit 2 and supplies it to a feature point correspondence unit 8. Likewise, a second feature point extraction unit 7 extracts a feature point from an image inputted by the second image input unit 3 and supplies it to the feature point correspondence unit 8. The feature point correspondence unit 8 matches the same feature points from among the feature points extracted from the first feature point extraction unit 6 and the second feature point extraction unit 7. A feature point position calculation unit 9 obtains the positions of feature points by relating the positions of the matched feature points with the positions of the first image input unit 2 and the second image input unit 3, and stores the result in a feature point position storage unit 10. The positions of feature points at plural instants in time for observation stored in the feature point position storage unit 10 are sent to an object movement calculation unit 11, which calculates the movement of an object and stores the result in an object movement storage unit 12. However, a conventional moving body recognition apparatus as explained in the description of Figures 1 and 2 have the following problems. (a) Because two [2] feature point extraction units need to individually extract feature points extracted from two [2] images captured respectively by two [2] image input units, the process load for extracting a feature point is twice as much as that by using a single TV camera. (b) An additional process of matching features from two [2] images captured differently is required. The feature point correspondence unit is required as shown in Figure 2. Because the positions of two [2] image input units are different, they capture the object 1 differently. This makes it difficult to match feature points of the object 1. Hence, the feature point correspondence unit 8 requires a large workload for searching for corresponding feature points. (The closer the positions of two [2] image input units, the easier it is to make correspondences between feature points of an object, but the less accurate a recognition of the shape of an object becomes.) Typically, processing in (b) is impossible when a feature point of an object captured by one [1] image input unit cannot be captured by the other, where no correspondence between those feature points can be made. Figure 3 shows an example in which a conventional moving body recognition apparatus fails to establish correspondences between feature points captured by different image input units. The object 1 has two [2] feature points, for instance. However, there is a case in which both the first image input unit 2 and the second image input unit 3 can capture only one [1] of the two [2] feature points. Biological Cybernetics, vol. 42, no. 3, 1982, Heidelberg, Germany includes a paper at pages 195-204 by D.D. Hoffman et al entitled "The interpretation of biological motion". This paper discloses computational methods for analysing how the limbs of animals move during ambulation, based on an assumption of planar motion. An image is divided into groups of two or three elements each, and pairs of elements in each group are tested for pairwise-rigid planar motion, the results of which are combined to complete the analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 12, no. 5, May 1990, New York, U.S.A., includes a paper at pages 417-434 by H. Shariat et al entitled "Motion estimation with more than two frames". This paper discloses a general motion estimation system based on using three or more frames and with one or more feature points in each frame. Such a system can estimate movement from an image captured by a perspective projection and constitutes a moving body recognition apparatus according to the preamble of claim 1. A prime object of this invention is to recognise a moving body by extracting a feature point from images at plural instants in time for observations inputted from a single image input unit. In order to recognise the movement of an object most generally in a movement coupled with a revolution, i.e. a rotation, from the position data of the four [4] feature points of an object each in orthogonally projected images captured at any three [3] instants in time for observation, this invention invokes a determination e.g. that the four [4] feature points are not on a single plane, and then a calculation of the actual positions of the four [4] feature points. However, since the required processes are complicated in a general case like this, this invention also aims at more easily recognizing the movement of a moving body despite some restrictions. The above aims can be summarized as follows: This invention aims at recognizing the movement of an object moving on a single plane coupled with a rotation at a constant rotating speed, from the already known position data of two [2] feature points each in images of the object captured from a direction perpendicular to the axis of rotation at three [3] instants in time for observation having equal time intervals. This invention configures a moving body recognition apparatus to comprise a single image input unit for capturing an image of an object, a feature point extraction unit for extracting feature points in an image outputted from the image input unit, and a feature point storage unit for storing the extracted feature points, thereby enabling the movement of a moving body to be recognised from the known position data of the feature points. According to the invention there is provided a moving body recognition apparatus for recognising a movement of a moving body by positions of feature points on said moving body, comprising: image input means for capturing images of said moving body as an object; feature point extraction means for extracting feature points in said images captured by said image input means; and feature point position storage means for storing known position data of extracted feature points; characterised by shape/movement recognition means for applying a condition indicating that said object rotates at a constant rate and moves on a single plane, and that said images are captured from a direction perpendicular to an axis of rotation of said object, for calculating a rotation amount at the constant rate of said object around the axis of rotation from said known position data of two feature points of said object each in said images captured at three instants in time at equal time intervals, using a condition that a rotation amount between the first and second instants coincides with a rotation amount between the second and third instants, and for calculating positions of the feature points of said object. The present invention relates to a "First Form" described in detail below. One of skill in the art can easily understand additional features and objects of this invention from the description of the preferred embodiments and some of the attached drawings. In the drawings: Figure 1 shows a concept of a conventional moving body recognition apparatus; Figure 2 shows a configuration of a conventional moving body recognition apparatus; Figure 3 shows an example in which a conventional moving body recognition apparatus fails to establish correspondences between feature points captured by different image input units; Figure 4 is a block diagram of a moving body recognition apparatus of this invention; Figure 5 shows a universal relation between an object and its observation plane in an image input unit pursuant to the first form of this invention; Figure 6 shows a relation between an object and its observation plane pursuant to the first form of this invention, in which feature point 0 is fixed to the origin of a three-dimensional coordinate system; Figure 7 illustrates the orthogonal projections of feature points 0 and 1 shown in Figure 6 on the XY plane at three [3] instants in time for observation pursuant to the first form of this invention; Figures 8A and 8B show two [2] sets of solutions forming mirror image transformations of each other with respect to the X axis pursuant to the first form of this invention; Figure 9 is an explanatory chart showing the concept of a moving body recognition apparatus of this invention; Figure 10 is a block diagram showing the global configuration of a moving body recognition apparatus of this invention; Figure 11 is a block diagram illustrating in detail the configuration of a feature point extraction unit 25 shown in Figure 10; Figure 12 is a block diagram illustrating in detail the configuration of the shape/movement recognition unit 27 shown in Figure 10; Figure 13 illustrates an embodiment of sensor connections for the known data input unit 31 shown in Figure 12; Figure 14 is a first one of flowcharts showing in a three part series the whole processes of the movement/shape recognition unit 27 pursuant to the first form of this invention; Figure 15 is a second one of flowcharts showing in a three part series the whole processes of the movement/shape recognition unit 27 pursuant to the first form of this invention; Figure 16 is a third one of flowcharts showing in a three part series the whole processes of the movement/shape recognition unit 27 pursuant to the first form of this invention; Figure 17 is a flowchart of an embodiment of recognition disablement process {1} pursuant to the first form of this invention; Figure 18 is a flowchart of the movement calculation unit 34 pursuant to the first form of this invention; Figure 19 is an explanatory chart for the method of selecting the appropriate one [1] of two [2] rotation matrices R and R -1 ; Figure 20 is a flowchart of the shape calculation unit 35 pursuant to the first form of this invention; Figures 21A and 21B are explanatory charts for concave/convex data of an object; Figure 22 is a flowchart of an embodiment of recognition disablement process {2} pursuant to the first form of this invention; Figure 23 is a block diagram of a computer system embodying a moving body recognition apparatus of this invention; and Figure 24 shows an environment for an experimental program verification. Figure 4 is a block diagram of a moving body recognition apparatus of this invention. The moving body recognition apparatus comprises a single image input unit 15 for capturing an image of an object, a feature point extraction unit 16 for extracting feature points in an image outputted from the image input unit 15, and a feature point storage unit 17 for storing the extracted feature points, thereby recognizing the movement of a moving body from the known position data of the feature points. Because first, second, third and fourth forms of this invention operate under similar principles, they are all explained by referring to Figure 4. A First Form A shape/movement recognition unit 18 recognizes a shape and a movement of an object. The shape/movement recognition unit 18 in a first form of this invention calculates the actual position and movement of the object in a three-dimensional space, e.g. moving on a single plane coupled with a rotation at a constant speed, from the known position data of two [2] feature points, e.g. the X coordinate value of a feature point of an object moving on the XY plane, each in images of the object captured at three [3] instants in time for observation having equal time intervals from a direction perpendicular to the axis of rotation. The first form of this invention assumes, for example, that the direction of an axis of rotation is the same as the direction of the Z axis, that the direction of the movement of the rotating object is the same as the direction of the X axis, that an object moves on the XZ plane, and that the object is observed from the Y axis perpendicular to the image plane, i.e. the Xz plane. Because of the earlier described assumption of an orthogonal projection, a displacement in the X axis direction is the same as a displacement observed on the image plane, although a displacement in the direction of the Y axis is unknown. After one [1] of the two [2] feature points moves to the origin, the shape/movement recognition unit 18 calculates the angle of rotation around the origin of the other one [1] of the two [2] feature points. That is, the shape/movement recognition unit 18 in the first form of this invention obtains the X coordinate value of a first feature point from the position data of an input image, and then calculates the Y coordinate value of a second feature point after the first feature point moves to the origin and the angle of rotation around the origin of the object, thereby obtaining the actual positions and movements of the first and second feature points. This invention is based on a new theory, which this applicant originally submits and proves. The new theory shows that the shape (positions of feature points) and movement of an object can be calculated under limited circumstances, as long as the feature points can be extracted at several instants in time for observation even if there is only one [1] image input unit. The First Form First, the new theory on the first form of this invention is explained in detail. The first form of this invention assumes that an object moves on a single plane coupled with a rotation around a predetermined axis of rotation and that an image input unit observes an object from a direction perpendicular to the axis of rotation of the object. The first form of this invention can be applied to a lot of cases under such assumptions. For instance, as described earlier, it is applicable to a case in which the image input unit is attached to a self-propelled vehicle running along various objects such as a wayside wall along a highway, in which case an edge e.g. formed by the curb can be used as the feature points. Also, the image captured by the image input unit is approximated by an orthogonal projection. An approximation by an orthogonal projection is pretty good especially when an image input unit can capture an object in a narrow scope, because the distance between the image input unit and the object is large. In addition, this theory is premised on the object having a constant rotating speed. Many a moving body is deemed to be standing still during a very short lapse of time. Therefore, an assumption that a movement is constant is natural. Besides, strictly speaking, a condition "The rotating speed of an object is constant." is sufficient for a condition "A movement is constant.", because parallel displacement components of a movement of an object can be easily obtained from the movements of feature points on an image plane. When a rotating speed is constant, the number of feature points to be in correspondence can be reduced to two [2]. That is, when two [2] feature points each in images captured at three [3] instants in time for observation having equal time intervals can establish correspondences, a moving body can be recognized. (This relates to theorem 1 to be described later.) A single feature point does not allow the shape of an object to be obtained. Also, three [3] images are necessary to confirm a status that the movement is constant. Hence, two [2] feature points and three [3] images are necessary premises. Figure 5 shows a universal relation between an object and its observation plane in an image input unit pursuant to the first form of this invention. The direction of the Z axis on the image plane is defined as the direction of the axis of rotation of the object, and the X axis is set in a direction perpendicular to the Z axis. More specifically, the direction of the X axis is parallel to the direction of the movement of a feature point. The origin on the image plane is by definition the point at which the X axis crosses the Z axis. The Y axis is perpendicular to the image plane, and passes through the origin on the image plane. Because of an assumption of an orthogonal projection, the XYZ coordinate system can be displaced parallelly in any direction. Figure 6 shows a relation between an object and its observation plane pursuant to the first form of this invention, in which one [1] of feature points of the object is fixed at the origin of a three-dimensional coordinate system. Also, because of the assumption of an orthogonal projection, the displacement in the direction of the X axis is the same as the displacement observed on the image plane, although the displacement in the direction of the Y axis in unknown. As such, one [1] of the feature points, i.e. a feature point 0, can be considered as fixed to the origin O, as shown in Figure 6. Figure 7 illustrates the orthogonal projections of feature points 0 and 1 shown in Figure 6 on the XY plane at three [3] instants in time for observation pursuant to the first form of this invention. To obtain data on the shape and movement of an object, it is sufficient to calculate the displacement of a feature point having a correspondence, i.e. feature point 0, and the angle of rotation around the feature point. Because the displacement of feature point 0 can be obtained self-evidently, as described earlier, it is sufficient to calculate an angle of rotation around feature point 0. A moving body recognition apparatus pursuant to the first form of this invention obtains an X axis value and a Y axis value from the known data of feature points of an input image, and calculates a Y axis value of another feature point after feature point 0 moves to an origin and an angle of rotation of the object around the origin. The following is a description of the codes shown in Figure 7. Feature point 0 is a feature point of an object having moved to the origin O. Feature point 1 is a feature point other than feature point 0. u 1 is a two-dimensional vector representing a feature point 1 at a first instant in time for observation. v 1 is a two-dimensional vector representing a feature point 1 at a second instant in time for observation. w 1 is a two-dimensional vector representing a feature point 1 at a third instant in time for observation. [Expressions 8] Here, although a subscript 1 in the above vector expression, e.g. in u1, is not necessary, it is put here for maintaining consistency with explanations for other forms of this inventions. Also, a first vector component represents an x element, and a second vector component represents a y element. Rotation matrix R represents a rotation of an object around the origin from a first instant in time for observation to a second instant in time for observation. This is equal to the rotation of an object around the origin from a second instant in time for observation to a third instant in time for observation, due to an assumption of a constant rotating speed. [Expression 9] ┌cos - sin┐ They have the following relations, v 1 = R u 1 , w 1 = R 2 u 1 which represent Accordingly, the problem can be formulated as follows: [Problem Of Recognizing A Body Moving On A Single Plane] u 1 , v 1 , w 1 are two-dimensional vectors whose first elements are known. R is a two-dimensional rotation matrix. v 1 = R u 1 , w 1 = R 2 u 1 Obtain from the above, R and second elements of u 1 , v 1 , w 1 . A next theorem 1 gives conditions for solving this problem. [Theorem 1] The conditions for solving the above movement/structure recognition problem are v 11 ≠ 0 v 11 = ±u 11 and w 11 = u 11 are not outstanding concurrently. These conditions comprise data solely on the observed X coordinate values. Condition {1} means that the observation point mapped by v1 does not fall on the origin. That is, it means that two [2] feature points relative from an observation point do not fall on the second instant in time for observation. Condition {2} may not be clearly understood. However, it is actually equivalent to a next condition {3}. [Theorem 2] Condition {2} in theorem 1 is equivalent to condition {3}.  ≠ n π (where n is an integer) Condition {3} means that the angle of rotation of an object between a first instant in time for observation and a second instant in time for observation is neither zero degrees [0°] nor one hundred and eighty degrees [180°]. A next system 2.1 is used in a proof of theorem 3. [System 2.1] [Expression 10]  ≠ n π (where n is an integer) being regular Here, a subscript i represents the first row of a matrix. A next theorem 3 presents an expression for calculating a set of solutions. [Theorem 3] Under the conditions of theorem 1, the next set of definite solutions can be finalized. [Expression 11] and y component of a vector can be calculated by the following equations. cos  = (u 11 +w 12 )/2v 11 sin  = ±(1 - cos 2 ) ½ A next system 3.1 defines a relation between two [2] sets of solutions. [System 3.1] Assuming one [1] set of solutions comprises R , u 1 , v 1 and w 1 , the other set of solutions corresponding to it comprises: [Expression 12] is an inverse rotation matrix of R . is a mirror image transformation of u 1 with respect to the X axis. is a mirror image transformation of v 1 with respect to the X axis. is a mirror image transformation of w 1 with respect to the X axis. Theorem 3 and system 3.1 correspond to a fact that there are two [2] sets of solutions for the earlier described moving body recognition problem, i.e. a fact that the Y coordinate value of the other feature point is positive or negative, when feature point 0 in an orthogonally projected image falls on the origin. They also mean that the surface of an object seen from a TV camera as an image input unit forms a convex or a concave. Figures 8A and 8B show two [2] sets of solutions forming mirror image transformations of each other with respect to the X axis pursuant to the first form of this invention. Figure 8A shows a projection of a feature point shown in Figure 6 to an XY plane. Figure 8A illustrates a case in which the surface of an object forms a convex. Figure 8B illustrates a case in which the surface of an object forms a concave, which is obtained by a mirror image transformation of the solution shown in Figure 8A with respect to the X axis. The proofs of theorems 1, 2 and 3 are illustrated in a sequence of a proposition 1, system 2.1, theorem 2 and theorem 3. [Proposition 1] Expression {1} in theorem 1 and expression {3} in theorem 2 are necessary conditions for finalizing a solution. v 11 ≠ 0  ≠ n π (where n is an integer) [Proof Of Proposition 1] To reiterate the conditions, v 1 = R u 1 , w 1 = R 2 u 1 (1) Proof that expression {1} is a necessary condition By assuming that v 11 = 0, it is shown that no set of definite solutions can be obtained. [Expression 13] Conditions Therefore, an equation needs to be solved. The unknowns are , u 12 and v 12 . Since the number of unknowns are three [3], which is greater than the number of equations, no set of definite solutions can be obtained. (2) Proof that expression {3} is a necessary condition By assuming that  = n π(where n is an integer), it is shown that no solution can be finalized. Since cos = ±1, and sin = 0, R = ± I . It is necessary to solve conditions  v 1 = ±u 1 ,w 1 = u 1 and equations v 12 = ±u 12 , w 12 = u 12 The unknowns are u 12 , v 12 and w 12 . Since the number of unknowns are three [3], which is greater than the number of the equations, no set of definite solutions can be obtained. [End of Proof] [Proof of system 2.1] [Expression 14] The contraproposition of a proposition is proved. Therefore, [End of Proof] [Proof of theorem 2] [Expression 15] The contraproposition of a proposition that v 11 = ±u 11 and w 11 = u 11  = n π is proved. R = ±I, v 1 = ±u 1 , w 1 = u 1 , v 11 = ±u 11 and w 11 = u 11 . is defined. v 11 = cos (α+), w 11 = cos ( α+ 2 ) (i) when v 11 = u 11 , w 11 = u 11 cos (α+ ) = cos α, cos (α+2) = cos α  = 2n π or m π, when either (1) or (2) is positive. when both (1) and (2) are negative. (2) - (1) :  = 2(m-n) π (ii) when v 11 = -u 11 , v 11 = u 11 cos (α + ) = - cosα, cos (α + 2) = cosα when either (1) or (2) is positive  = (2 n + 1) π, m π when both (1) and (2) are negative (2) - (1) :  = (2m - 2n - 1) π [End of Proof] [Proof of theorem 3] [Expression 16] From conditions v 1 = R u 1 and w 1 = R 2 u 1 from system 4.2.1 is regular, By using the first component of (1), u 11 = 2cos v 11 - w 11 From a condition of theorem 1, since v 11 ≠ 0 cos  = (u 11 +w 11 ) / (2 v 11 ) sin  = ± (1 - cos 2 ) 1/2 By using the second component of (1) From conditions v 1 = R u 1 and w 1 = R 2 u 1 (End of Proof) [Proof of system 3.1] [Expression 17] Since are mirror image transformations of R , u 1 , v 1 and w 1 with respect to the X axis, they satisfy the conditions for a set of solution. Therefore, they are in fact a set of solutions. Since there are two [2] sets of solutions according to theorem 3, it is known that the set of solutions other than the above is [End of Proof] [Proof 2 of system 3.1] [Expression 18] If one solution is R , u 1 , v 1 and w 1 from theorem 3, it is known from the calculations that the other solution is [End of Proof] So far, a new theory for use in the first form of this invention has been explained in detail, by having the shape/movement recognition unit 18 shown in Figure 4 apply the new theory to a body moving on a single plane coupled with a rotation having a constant speed of rotation, based on the extraction result in an image of two [2] feature points at three [3] instants in time for observation having equal time intervals, the actual positions and movements of those feature points in a three-dimensional space are calculated, thereby enabling the movement of a moving body to be recognized. Figure 9 is an explanatory chart showing the concept of a moving body recognition apparatus of this invention. An embodiment of the first form of this invention assumes that an image input unit 21, provided singularly, recognizes the movement of a moving body rotating around a single axis, e.g. the Z axis, by observing the moving body from a direction perpendicular to the axis of rotation. In Figure 9, the image input unit 21 captures images of an object 20, and transmits them to a moving body recognition unit 22. The moving body recognition unit 22 extracts feature points of the object 20 from an image, and recognizes the shape and movement of an object from the positions of feature points at plural instants in time for observation. The moving body recognition unit 22 outputs the result of recognizing the object 20, as a recognition result 23. Figure 10 is a block diagram showing the global configuration of a moving body recognition apparatus of this invention. In Figure 10, an image input unit 24 captures an input image and outputs it to a feature point extraction unit 25. The feature point extraction unit 25 extracts feature points from the input image, and outputs the position data of the feature points in the input image. The feature point storage unit 26 outputs to a shape/movement recognition unit 27 known its stored position data of the feature points at plural instants in time for observation. The shape/movement recognition unit 27 calculates the positions of the plural feature points in an actual three-dimensional coordinate space and the movement of an object, and stores the result indicating the movement of an object in an object movement storage unit 28 and the result indicating the three-dimensional positions of feature points in a feature point position storage unit 29. Figure 11 is a block diagram illustrating in detail the configuration of a feature point extraction unit 25 shown in Figure 10. In Figure 11, the feature point extraction unit 25 comprises a spatial filter 25a and an edge point extraction unit 25b. There are a number of methods for extracting a feature point, e.g. by an edge and by a color. The moving body recognition apparatus of this invention may use any one [1] of or any combination of feature point extraction systems, and is not restricted to use a particular method for extracting a feature point. A typical method for extracting a feature point is to extract an edge point of an object. As shown in Figure 11, the spatial filter 25a is applied to an input image for extracting an outline image, enabling the edge point extraction unit 25b to detect as feature point data a kink of an edge and an intersection. For instance, in recognizing an object on a single plane, the intersections between the horizon on an image plane and an edge in the vertical direction may be used as feature points. In Figure 10, the shape/movement recognition unit 27 uses the earlier described new theory for calculating the actual positions of feature points and the movement of an object. Figure 12 is a block diagram illustrating in detail the configuration of the shape/movement recognition unit 27 shown in Figure 10. In Figure 12, the shape/movement recognition unit 27 comprises a known data input unit 31 for receiving known data about the movement of an object e.g. from a sensor, a feature point normalization position unit 32 for obtaining the relative positions of other feature points when one [1] of plural feature points moves to the origin of a three-dimensional coordinate space, i.e. the normalized positions, a shape/movement determination unit 33 for determining a recognition enablement or a recognition disablement of the movement of an object, a movement calculation unit 34 for calculating the angle of rotation around the axis of rotation of the object by using an output from the feature point normalization unit 32, a shape calculation unit 35 for obtaining unknown position data of feature points other than the feature point on the origin, and a feature point position reconstruction unit 36 for outputting the movement of the object the and the positions of feature points in the three-dimensional coordinate space respectively to the object movement storage unit 28 and the feature point position storage unit 29, by using outputs from the movement calculation unit 34 and the feature point position normalization unit 32. Figure 13 illustrates an embodiment of sensor connections for the known data input unit 31 shown in Figure 12. Figure 13 shows two [2] connecting systems (1) and (2). In connecting system (1), an external sensor 37 is connected directly to the known data input unit 31. In connecting system (2), an external memory 38 is connected to the known data input unit 31 and the external sensor 37 is connected off-line to the external memory 38. That is, the external memory 38 stores data from the external sensor 37, the external memory disconnects itself from the external sensor 37. The external sensor 37 may be a special electrical sensor, an optical sensor or an ultrasonic sensor for measuring an object. However, such a sensor is premised on a special relation between an object and the moving object recognition apparatus of this invention and is not a general purpose sensor almighty for any object. The configuration of the moving body recognition apparatus illustrated in Figures 9 through 13 can be realized almost "as is" by a computer system. First, the image input units 21 (shown in Figure 9) and 24 (shown in Figure 10) are realized by a TV camera, and the known data input unit 31 is connected with a keyboard and a sensor other than a TV camera, as described earlier. The feature point storage unit 26, the object movement storage unit 28 and the feature point position storage unit 29 comprise a memory or a secondary storage apparatus such as a disk storage apparatus, and the feature point extraction unit 25 is realized by image processing hardware including the spatial filter 25a. The shape/movement recognition unit 27 is realized by a generic CPU, and the recognition result 23 (shown in Figure 9) corresponds to the movement of an object and the positions of feature points stored respectively in the object movement storage unit 28 and the feature point position storage unit 29. Figures 14, 15 and 16 are flowcharts showing in a three part series the whole processes of the movement/shape recognition unit 27 pursuant to the first form of this invention. In Figure 14, on starting the process it is determined in step S40 whether or not the known data input unit 31 shown in Figure 8 has received an expression {3}', i.e.  = n π, where n is an integer. Here, expression {3}' is generally determined to be outstanding or not only after a calculation of rotation matrix R, because various sensors (not explained here) are attached to the moving body recognition apparatus of this invention, it is determined by signals from those sensors whether or not the rotation of an object from a first instant in time for observation to a second instant in time for observation is a rotation by zero degrees [0°] or one hundred and eighty degrees [180°]. Here, the prime sign for expression {3}' indicates that expression {3} used in theorem 2 is transformed on an equivalent basis. When the shape/movement recognition unit 21 determines in step S40 that the known data input unit 31 has received expression {3}', in step S41 the known data input unit 31 outputs a deactivation signal to the feature point normalization unit 32 and stores in the movement calculation unit 34 recognition disablement data, thereby invoking a recognition disablement process {1}. Figure 17 is a flowchart of an embodiment of recognition disablement process {1} pursuant to the first form of this invention. On start of recognition disablement process {1}, the movement calculation unit 34 sends recognition disablement data to the feature point position reconstruction unit 36 in step S42. Then, the feature point position reconstruction unit 36 stores the recognition disablement data in the object movement storage unit 28 and the feature point storage unit 29 in step S43, thereby ending the process. Returning to Figure 14, when the shape/movement recognition unit 27 determines in step S40 that the known data input unit 31 has received expression {3}', it determines in step S44 whether or not the feature point storage unit 26 has stored the positions of two [2] feature points each in images captured at three [3] instants in time for observation. The shape/movement recognition unit 27 repeats step S44 until it determines that the feature point storage unit 26 has stored the positions of two [2] feature points each in images captured at three [3] instants in time for observation. When the shape/movement recognition unit 27 determines affirmatively (YES) in step S44, the feature point storage unit 26 sends an activation signal to the feature point position normalization unit 32, thereby activating the feature point position normalization unit 32. Continuing on to Figure 15, in step S46, the feature point position normalization unit 32 receives the positions of two [2] feature points 0 and 1 stored in the feature point storage unit 26 by the feature point position normalization unit 32. Then, the first components u 11 , v 11 and w 11 of u 1 , v 1 and w 1 are obtained from the image coordinate values of feature point 1, which is different from feature point 0, which falls on the origin. The shape/movement determination unit 33 determines in step S47 whether or not those first components u11, v11 and w11 satisfy expressions {1} and {2}. If at least either one [1] of them is not satisfied, the shape/movement determination unit 33 sends recognition disablement data to the movement calculation unit 34 in step S48, thereby invoking recognition disablement process {1} shown in Figure 17. As already explained in the description of theorem 2, expression {2} is equivalent to expression {3}. Therefore, it can be said that the check of expression (3) in step S40 and the check of expression {2} in step S47 form a duplication. However, since a sensor can perform the check in step S40, such a duplication is instituted. Also, no further calculation is performed, when in step S47 the shape/movement determination unit 33 determines a recognition disablement by using only the positions of feature points in an image. If the shape/movement determination unit 33 determines in step S47 that both expressions {1} and {2} are outstanding, the shape/movement determination unit 33 activates the movement calculation unit 34 in step S49, thereby invoking respective processes of the movement calculation unit 34 and the shape calculation unit 35, in accordance with theorem 3. Figure 18 is a flowchart of the movement calculation unit 34 pursuant to the first form of this invention. On starting the process, the movement calculation unit 34 calculates rotation matrix R in step S50, and determines in step S51 whether or not any of the calculation results satisfies the known data regarding the movement of an object inputted to the known data input unit 31. If rotation matrix R does not satisfy the known data, recognition disablement process {1} shown in Figure 17 is invoked. As described earlier, a sensor (not illustrated as part of the moving body recognition apparatus) inputs known data about the movement of an object. Assume here, for instance, that an object stands still on a single plane, and that a TV camera loaded on a running vehicle moves on the same single plane. Because the moving vehicle may slip, the movement of the TV camera cannot be determined precisely. However, the direction of the relative movement of the running vehicle as against the still body can be determined. The relative movement of the still body is supplied as known data of the object via an external memory to the known data input unit 31. The movement calculation unit 34 obtains rotation matrix R and its inverse rotation matrix R -1 , as two [2] sets of solutions , the constraint on the direction of a relative movement allows only one [1] set of solutions to be selected as the appropriate set of solutions. Figure 19 is an explanatory chart for the method of selecting the appropriate one [1] of two [2] rotation matrices R and R -1 . More specifically, Figure 19 shows a case in which a vehicle loaded with a TV camera is observed straight from the above, and illustrates how to capture the image of a still object facing a direction perpendicular to the moving direction of a running vehicle. It is assumed that a sensor e.g. loaded on the running vehicle has already detected the moving direction of the running vehicle. If the running vehicle moves to the left, the TV camera observes that the object rotates clockwise, which means that it is sufficient to select, as the calculated rotation matrix, either R or R -1 that represents a clockwise rotation. If, on the other hand, the running vehicle moves to the right, as opposed to the direction shown in Figure 19, the TV camera observes that the object rotates counterclockwise, in which case it is sufficient to select, as the calculated rotation matrix, either R and R -1 that represents a counterclockwise rotation. When the movement calculation unit 34 determines in step S51 that it can select rotation matrix R satisfying known data of the object inputted in known data input unit 31, the movement calculation unit 34 sends rotation matrix R as its result to the shape calculation unit 35 and the feature point position reconstruction unit 36. Figure 20 is a flowchart of the shape calculation unit 35 pursuant to the first form of this invention. According to the first form of this invention shown in Figure 20, on invoking the process, the shape calculation unit 35 obtains u 12 , v 12 and w 12 as the second components of two-dimensional vectors u 1, v 1 and w 1 in step S53. Then, in step S54, the shape calculation unit 35 sends the second components u 12 , v 12 and w 12 to the feature point position reconstruction unit 36. After the shape calculation unit 35 shown in Figure 15 completes its processes, the feature point position reconstruction unit 36 executes its processes in step S55 shown in Figure 16. Here, from the two-dimensional vectors u 1 , v 1 and w 1 and rotation matrix R , as the calculation result of the shape and movement of the object, the feature point position reconstruction unit 36 selects the values matching the known data about the movement of the object inputted to the known data input unit 31. If no such values exist, a recognition disablement process {2} is invoked. Here, for explaining an example of known data, it is assumed that the TV camera loaded on a vehicle moves on a single plane. It is further assumed here that it is known already whether the surface shape of the still object observed from the TV camera is a convex or a concave. For instance, a telegram pole has a convex surface. The concave/convex data on an object are supplied as known data of the still object to the known data input unit e.g. via an external memory. Although the shape calculation unit 35 obtains two [2] sets of solutions, which are mirror image transformations of each other with respect to the observation plane, the concave/convex data on the object enables only one [1] set of solutions to be selected as the appropriate set of solutions. Figures 21A and 21B are explanatory charts for concave/convex data of an object. Because two [2] feature point are captured in the first form of this invention, if the relative distances of the two [2] feature points observed by a TV camera are known, either of the two [2] sets of solutions can be selected as the appropriate set of solutions. Figure 21A shows a case in which feature point 0 is closer to the TV camera than feature point 1, and Figure 21B shows a case in which feature point 1 is closer to the TV camera than feature point 0. The known data input unit 31 receives as the knowledge about the object either these relative distances "as is" or the results measured e.g. by an ultrasonic sensor. Figure 22 is a flowchart of an embodiment of recognition disablement process {2} pursuant to the first form of this invention. In step S56, the feature point position reconstruction unit 36 stores the recognition disablement data in the object movement storage unit 28 and the feature point position storage unit 29, thereby ending the process. Returning to Figure 16, when the feature point position reconstruction unit 36 selects a set of solutions satisfying the known data in step S55, the feature point position reconstruction unit 36 stores in the object movement storage unit 28 the values of elements of rotation matrix R in the selected set of solutions and the in-image coordinate values of feature point 0 in step S57, and in the feature point position storage unit 29 the second component values u 12 , v 12 and w 12 of the two-dimensional vectors u 1 , v 1 and w 1 also in the selected set of solutions and the in-image coordinate values of the two [2] feature points 0 and 1 stored in the feature point position normalization unit 32 in step S58, thereby ending the process. In the above described embodiment, the movement calculation unit 34 obtains two [2] sets of solutions simultaneously in step S50 (shown in Figure 18) of calculating rotation matrix R . However, the above embodiment can be reconfigured, such that the movement calculation unit 34 obtains only one [1] set of solutions in step S50. In such an alternative embodiment, as an initial step, the feature point position reconstruction unit 36 calculates inverse rotation matrix R -1 inverse to rotation matrix R , which is in the other set of solutions not selected. [Expression 19] Also, two-dimensional vectors u 1 ', v 1 ' and w 1 ' in the other set of solutions, which are the mirror image transformations of two-dimensional vectors u 1 , v 1 and w 1 in the selected set of solutions with respect to the X axis are calculated. [Expression 20] This allows the feature point position reconstruction unit 36 to obtain two [2] sets of solutions. As described above, the first form of this invention enables the movement of an object moving on a single plane coupled with a rotation at a constant rotating speed to be recognized from the positions of two [2] feature points each in images captured at three [3] instants in time for observation having equal intervals. Also, as explained in the description of Figure 15, the shape/movement determination unit 33 can immediately determine the recognition enablement or the recognition disablement from the in-image positions of feature points. Figure 23 is a block diagram of a computer system embodying a moving body recognition apparatus of this invention. As has already been described in the descriptions or Figures 9 through 13, a TV camera 180, image processing hardware including a space filter 181, a first memory 182 and a CPU 183 correspond respectively to the image input unit 24, the feature point extraction unit 25, the feature point storage unit 26 and the shape/movement recognition unit 27 shown in Figure 10. The CPU 183 connects with a sensor 184 and the first memory 182. The sensor 184 comprises e.g. a keyboard for supplying known data to the known data input unit 31. The CPU 183 outputs a result of recognizing a moving body to a second memory 185 corresponding to the object movement storage unit 28 and the feature point position storage unit 29. A moving body recognition apparatus having such a system configuration can have the TV camera 180 capture images of an object and the second memory 185 store the result of recognizing the movement of an object. The moving body recognition apparatus can be an automatic monitoring device, an visual sensing device for an automatically running vehicle, or an FA inspection device. Figure 24 shows an environment for an experimental program verification. An experiment is performed to verify a program for processes of a moving body recognition apparatus of this invention by using as an input feature point correspondence data created internally in a computer. The program comprises two hundred and eighty [280] steps, and the average duration of execution is four point six milliseconds [4.6ms]. This attests that the moving body recognition apparatus of this invention, even if it is a system based on a personal computer, can recognize a moving body at a rate faster than a video speed. As described in detail above, this invention allows the shape and movement of an object to be recognized based on the feature points extracted from images of an object captured by a single image input unit. As such, compared with a prior art in which two [2] image input units are used, this invention enables the numbers of image input units and feature point extraction units to be slashed by half, thereby miniaturizing a moving body recognition apparatus. Also, because feature points of an object need not have correspondences, unlike the prior art of using two [2] image input units, this invention sheds the time required for establishing the correspondences, thereby having an advantage of reduced processing time. This invention enables a single TV camera to recognize a moving body. A moving body recognition apparatus can be applied for use in various industries requiring a recognition of a moving body by an image processing, such as factory automations and various monitoring devices. In addition, this invention is applicable not only to a visual recognition of an object but also to an acoustic recognition of an object, in which case a moving body recognition apparatus is configured mutatis mutandis e.g. by using an ultrasonic sensor as a sound input unit in lieu of a TV camera as an image input unit.

Claims: A moving body recognition apparatus for recognizing a movement of a moving body by positions of feature points on said moving body, comprising: image input means (15,21,24) for capturing images of said moving body as an object; feature point extraction means (16,25) for extracting feature points in said images captured by said image input means; and feature point position storage means (17,26) for storing known position data of extracted feature points; characterised by shape/movement recognition means (18,27) for applying a condition indicating that said object rotates at a constant rate and moves on a single plane, and that said images are captured from a direction perpendicular to an axis of rotation of said object, for calculating a rotation amount at the constant rate of said object around the axis of rotation from said known position data of two feature points of said object each in said images captured at first, second and third instants in time at equal time intervals, using a condition that a rotation amount between the first and second instants coincides with a rotation amount between the second and third instants, and for calculating positions of the feature points of said object. The moving body recognition apparatus according to claim 1, wherein: said shape/movement recognition means (18,22) processes said images of said object captured from said direction perpendicular to said axis of rotation as orthogonally projected images of said object. The moving body recognition apparatus according to claim 1 or 2, wherein said feature point extraction means (25) comprises: spatial filter means (25a) for extracting an outline image from said images captured by said image input means; and edge point extraction means (25b) for extracting an edge point from said outline image and for storing it as feature point data in said feature point position storage means. The moving body recognition apparatus according to claim 1 or 2, further comprising: calculated feature point position storage means (29) for storing the positions of feature points outputted from said shape/movement recognition means (27); and object movement storage means (28) for storing a rotation amount of an object outputted from said shape/movement recognition means (27). The moving body recognition apparatus according to claim 4, configured as a computer system comprising: a television camera (180) constituting said image input means (21); image processing hardware (181) including a spatial filter, constituting said feature point extraction means (25); a first memory (182) constituting said feature point position storage means (26) ; a central processing unit [CPU] (183) constituting said shape/movement recognition means (27) ; a second memory (185) constituting said calculated feature point position storage means (29) and said object movement storage means (28); and a sensor (184) for outputting to said CPU (183) known position data regarding the shape and movement of said object (20). The moving body recognition apparatus according to claim 4, wherein: said image input means (24) captures images of said object monitored by a visual device of an automatically running vehicle or an image of said object inspected in an inspection of factory automation; and said calculated feature point position storage means (29) and said object movement storage means (28) store the results of recognizing the movements of said object (20) being monitored or inspected. The moving body recognition apparatus according to claim 4, wherein said shape/movement recognition means (27) comprises: known data input means (31) for receiving from an external sensor (37) known data regarding movements and positions of said feature points of said object (20); feature point position normalization means (32) for obtaining as normalized known position data the relative positions of the other one feature point when one of said two feature points 0 and 1 of said object each in said images captured at said first to third instants in time for observation having equal time intervals falls on the origin of a three-dimensional coordinate space; shape/movement determination means (33) for determining an enablement or a disablement of recognizing said movements and positions of feature points of said object (20) by using an output from said feature point position normalization means (32); movement calculation means (34), activated by a determination by said shape/movement determination means (33) of an enablement of recognizing said movements and positions of said feature points of said object (20), for calculating an angle of rotation of said object around said origin by using an output from said feature point position normalization means (32); shape calculation means (35) for obtaining unknown position data other than said known position data of said two feature points 0 and 1 of said object by using outputs from said movement calculation means (34) and said feature point position normalization means (32); and feature point position reconstruction means (36) for outputting a movement of said object (20) by combining an angle of rotation around said origin outputted from said movement calculation means (34) with said position data of said feature point falling on said origin in said images outputted from said feature point position normalization news (32), and for outputting positions of feature points by combining said unknown position data outputted from said shape calculation means (35) with said position data of two feature points 0 and 1 in said images outputted from said feature point position normalization means (32). The moving body recognition apparatus according to claim 7, wherein an external memory means (38) for temporarily storing known data outputted from said external sensor (37) on an offline basis is provided before an input to said known data input means (31). The moving body recognition apparatus according to claim 7, wherein the whole processes of said shape/movement recognition means (27) comprise: a first step of determining whether or not said known data input means has received data corresponding to  = n π (where n is an integer and  is a rotation angle), when the relations between two-dimensional vectors u 1 , v 1 and w 1 are expressed as: v 1 = R u 1 and w 1 = R 2 u 1 , where the X axis is the direction of a parallel displacement of said feature points, the Z axis is the direction parallel to the axis of rotation of said object and, the Y axis is a direction perpendicular to an image plane, which is the XZ plane, u 1 = [u 11 , u 12 ] t , v 1 = [v 11 , v 12 ] t , w 1 = [w 11 , w 12 ] t on the XY plane representing relative positions of feature point 1 (one not falling on the origin of said two feature points 0 and 1) from the origin on which feature point 0 falls respectively at said first, second and third instants in time for observation, and rotation matrix R represents a two-dimensional rotation on the XY plane around the origin of said object (20) from said first instant in time for observation to said second instant in time for observation; a second step, invoked when said shape/movement recognition means (27) determines positively in said first step, of executing a first recognition disablement process after said known data input means (31) outputs a deactivation signal to said feature point position normalization means (32) and recognition disablement data to said movement calculation means (34); a third step, invoked when said shape/movement recognition means (27) determines negatively in said first step, of determining whether said feature point position storage means (26) has stored positions of said two feature points 0 and 1 each in said images at said first to third instants in time for observation, which is repeated until a positive determination is obtained; a fourth step, invoked when said shape/movement recognition means (27) determines positively in said third step, of having said feature point position storage means (26) send an activation signal to said feature point position normalization means (32), thereby activating said feature point position normalization means (32); a fifth step of having said feature point position normalization means (32) store positions of said two feature points 1 and 2 each in said images stored in said feature point position storage means (26) and obtain first components of vectors u 1 , v 1 and w 1 as the X coordinate values by subtracting from the X coordinate values of feature point 1 in said images the X coordinate values of feature point 0 in said images, which falls on the origin of said XZ plane; a sixth step of having said shape/movement determination means (33) determine whether said first components of vectors u 1 , v 1 and w 1 obtained by said feature point position normalization means satisfy both of next two conditions v 11 ≠ 0 v 11 =±u 11 and w 11 = u 11 are not outstanding concurrently; a seventh step, invoked when said shape/movement determination means (33) determines negatively in said sixth step, of having said shape/movement determination means (33) output recognition disablement data to said movement calculation means (34), thereby executing the first recognition disablement process; an eighth step, invoked when said shape/movement determination means (33) determines positively in said sixth step, of having said shape/movement determination means (33) activate said movement calculation means (34) for executing a process of said movement calculation means (34); a ninth step of having said feature point calculation means execute its process; a tenth step of having said feature point position reconstruction means (36) determine whether or not there is a set of R, u 1 , v 1 and w 1 satisfying said known data regarding said movement and said shape of said object received by said known data input means (31) ; an eleventh step, invoked when said feature point position reconstruction means (36) determines negatively in said tenth step, of having said feature point position reconstruction means (36) execute a second recognition disablement process; a twelfth step, invoked when said feature point position reconstruction means (36) determines positively in said tenth step, of having said feature point position reconstruction means (36) store in said object movement storage means (28) a rotation matrix R satisfying said known data and the coordinate values of feature point 0 in said images outputted from said feature point position normalization means (32); and a thirteenth step of having said feature point position reconstruction means (36) store in said calculated feature point position storage means (29) second components of u 1 , v 1 and w 1 satisfying said known data and coordinate values of feature points 0 and 1 in said images outputted from said feature point position normalization means (32), thereby ending the whole processing. The moving body recognition apparatus according to claim 9, wherein said movement calculation means (34) : calculates said rotation matrix R by using expressions cos= (u 11 + w 11 )/2v 11 sin=±(1-cos 2 ) 1/2 ; determines whether or not calculated rotation matrix R satisfies said known data of said object received by said known data input means (31); invokes said first recognition disablement process when no rotation matrix R satisfies said known data; and sends rotation matrix R satisfying said known data to said shape calculation means (35) and said feature point position reconstruction means(36). The moving body recognition apparatus according to claim 9 or 10, wherein said first recognition disablement process comprises: a step of having said movement calculation means (34) send to said feature point position reconstruction means (36) recognition disablement data; and a step of having said feature point position reconstruction means (36) store said recognition disablement data in said object movement storage means (28) and said calculated feature point position storage means (29), for a process completion. The moving body recognition apparatus according to claim 9, wherein said shape calculation means (35) obtains said second components of vectors u 1 , v 1 and w 1 by using expressions u 12 = 1/sin [2cos 2 -1 -cos] [v 11 w 11 ] 2 v 12 = [sin cos] [u 11 u 12 ] t w 12 = [sin cos] [v 11 v 12 ] t The moving body recognition apparatus according to claim 9, wherein said second recognition disablement process comprises: a step of having said feature point position reconstruction means (36) store recognition disablement data in said object movement storage means (28) and said calculated feature point position storage means (29), for a process completion. The moving body recognition apparatus according to claim 9, wherein: said movement calculation means (34): obtains said rotation matrix R by only one of the two values, of sin having positive and negative signs calculated by using expressions cos = [u 11 + w 11 ]/2v 11 and sin = ±(1-cos 2 ) ½ , and sends said rotation matrix R thus obtained to said shape calculation means (35) and said feature point position reconstruction means (36); said shape calculation means (35): obtains said second components of vectors u 1 , v 1 and w 1 by using expressions u 12 = 1/sin [2cos 2 -1 -cos] [v 11 w 11 ] t v 12 = [sin cos] [u 11 u 12 ] t w 12 = [sin cos] [v 11 v 12 ] t , and sends said second components to said feature point position reconstruction means (36); and said feature point position reconstruction means (36) : obtains an inverse rotation matrix R -1 , which is an inverse to rotation matrix R, and vectors u 1 ', v 1 ' and w 1 ', which are mirror image transformations of vectors u 1 , v 1 and w 1 with respect to the X axis by using expressions The moving body recognition apparatus according to claim 1, wherein said image input means (24) captures said images from the direction perpendicular to the axis of rotation of said object moving on the single plane; said feature point extraction means (25) extracts said two feature points in said images captured at said three instants in time by said image input means (24); and said shape/movement recognition means (27) calculates said positions of said two feature points and a movement of said object by using an output from said feature point position storage means (26).

Inventors: KAMADA HIROSHI, KUBOTA TAKASHI, SHIOHARA MORITO, KAMADA, HIROSHI, KUBOTA, TAKASHI, SHIOHARA, MORITO, Kamada, Hiroshi, c/o Fujitsu Limited, Kubota, Takashi, c/o Fujitsu Limited, Shiohara, Morito, c/o Fujitsu Limited
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1992
Main classification: G06T7
IPC codes: G06K9, H04N5, G06T7