Background recovery in monocular vision

Abstract: A process for background information recovery in an image including an image of a moving object, comprises the steps of identifying regions of moving objects relative to the background; deriving a moving constellation containing moving objects in a minimum circumscribing polygon; deriving partial background images associated with respective positions of the moving constellation; and combining ones of the partial background images.

Description: The present application relates generally to vision technology and more particularly to background recovery and motion estimation. Motion estimation has been an important goal in vision technology for many years. See, for example, R. Jain, "Extraction of motion information from peripheral process," IEEE Trans. Pattern Anal. Machine Intell., vol. 1, No. 5, pp. 489-503, Sept. 1981, mentioned above; W. N. Martin and J. K. Aggarwal, "Survey Dynamic scene analysis," Comput. Graph. Image Processing, 7, 356-374, 1978; J. Roach and J. K. Aggarwal, "Computer tracking of objects in space," IEEE Trans. Pattern Anal. Machine Intell., vol. 1, No. 2, pp. 127-135, Apr. 1979; D. H. Ballard and O. A. Kimball, "Rigid body motion from depth and optical flow," Comput. Vision, Graph. Image Processing, 22, pp. 95-115, Apr. 1983; H. P. Moraveck, "Towards automatic visual obstacle avoidance," in Proc. Fifth Int. Joint Conf. Artif. Intell., vol. 2, p. 584, 1977; W. E. L. Grimson, "Computational Experiments with a Feature Based Streo Algorithm," IEEE Trans. Pattern Anal. Machine Intell., vol. 7, No. 5, pp. 17-33, Jan. 1985; D. Marr and T. Poggio, "A theory of human stereopsis," MIT AI Memo 451 AI Lab., Mass. Inst. Technol. Cambridge, MA, 1977; V. S. Ramachandran and S. M. Anstis, "The perception of apparent motion," Scientific American, 102-109, June, 1986; R. K. Kjeldsen, R. M. Bolle, A. C. Califano and R. W. Taylor, "A Homogeneous Framework for Visual Recognition," Proceedings, IJCAI, 1578-1584, 1989. A number of techniques have been developed to extract and represent object motion in short-range or long-range. However, most techniques can hardly be integrated in a homogeneous frame since the correspondence problem in motion estimation requires either intensive computation for a generalized approach, such as contour motion, as for example, E. Hildreth, The measurement of visual motion MIT Press, Cambridge MA. 1984, or image flow in short-range motion; see for example, B. K.P. Horn and B. G. Schunk, "Determining optical flow," Artificial Intelligence 17, 185-203, 1981 or extra constraints for feature-based matching in long-range motion. See, for example, D. T. Lawton and C. C. McConnel, "Image Understanding Environments," IEEE Proc., vol. 76, No. 8. 1036-1050, August 1988 . Similar work has been done in many different places. Precision is the result of intensive computation in classical estimation techniques. See, e.g. J. Barron, "Computing motion and structure from noisy, time-varying image velocity information," Technical report, RBCV-TR-88-24, Dept. of Comp. Scie., Univ. of Toronto, Toronto, Ontario, Canada; J. H. Duncan and T. Chou, "Temporal edges: the detection of motion and the computation of optical flow," Proceedings, CVPR, 374-382, 1989; L. Matthies, "Dynamic stereo vision," Ph.D. Dissertation, Comput. Dept. Carnegie Mellon Univ., Pitts. PA. CMU-CS-89-195, Oct. 1989; A. Gelb, Applied optimal estimation, (11th ed.), The M.I.T. Press, Cambridge, MA., 1989. Some extra problem specific constraints, such as known object models have been also used in trading off generality. See, e.g. K. Ikeuchi, "Generating an interpretation tree from a CAD model for 3-D object recognition in bin-picking tasks," Int. Journ. Comp. Vis. vol. 1, No. 2., 145-165, 1987 However, our qualitative reasoning approach is very promising. The motion estimation process is herein qualitatively analysed and put in a framework to minimize quantitative computations. Warren Long et al., "Stationary Backgroung Generation: An Alternative to the Difference of two Images", Pattern Recognition Journal, Vol. 23(12), 1990, pp. 1351-1359 discloses a process of background information recovery in a sequence of image frames by identifying regions with stable and varying intensity values over a sequence of image frames; regions with varying intensity values are considered to contain moving objects while stable intensity values are assumed to represent stationary background; a moving constellation is derived from an oval circumscribing the respective region. Background information is recovered by superimposing the moving constellations of several consecutive image frames. The above described problem, underlying the present invention, is solved by a process of background information recovery as defined by claim 1. Alternative realisations of the invention are set out in the dependent claims 2 to 9. In accordance with a first aspect of the invention, there is provided a process of background information recovery in an image sequence having a plurality of image frames, the image sequence including an image of at least one moving object against a background, comprising the steps performed on said image frames of said image sequence of: a) identifying a region of an image frame containing an object moving relative to the background; b) deriving a moving constellation corresponding to the identified region from a comparison between the image frame and a preceding image frame; c) deriving a partial background image frame by excluding from the input image the area covered by the moving constellation; and d) recovering background information; characterised in that said moving constellation is derived in a minimum circumscribing polygon and in that said background information is recovered recursively by combining the partial background image frame with previously recovered background information relating to the area covered by the moving constellation. Preferably, the regions of a moving object are identified by deriving difference images between successive images including the moving object. In preferred embodiments, the partial background images are derived by selecting regions outside of the circumscribing polygon. Preferably, the circumscribing polygon is a rectangle. Preferably, a depth of the moving object is obtained from the first derivative of size of the image of the moving object. Advantageously, a velocity of the moving object is obtained from a perspective compensated image of the object. In accordance with a preferred embodiment of the invention, information recovery is in accordance with the steps of: (1) estimating depth, z, with the equation 1 / (z -kw i ) = l i / f , if l i /l i + 1 \ ≥ T, the threshold value, being the number of pixels which a system requires as a minimum difference in pixels; (2) deriving a rough depth estimation and z component velocity estimation using three consecutive frames or every second three frames ; (3) compensating perspective distortion for x, y in the image using ( u - x p dz/dt, v - y p dz/dt ); and (4) determining x, y velocity components compared to the previous frame. Preferably, the threshold value is dynamically selected after checking a line size change in previous frames. The invention will be further understood from the detailed description of preferred embodiments which follows, in conjunction with the drawing, in which Figure 1 shows the velocity from difference images. d1 = f1 - f0, d2 = f2 - f1; Figure 2 shows the spatio-temporal relation of image pixels. The bold square is the observing window when a three square object is moving to the right on xy image plane; Figure 3 shows input images and incrementally recovered background images; Figure 4 shows object masks and their corresponding objects; Figure 5 shows control flow in reasoning with history; and Figure 6 shows in simplified diagrammatic form an overview of certain steps in accordance with the invention. Motion estimation is an important attribute for robot vision. A qualitative reasoning approach for monocular motion estimation is presented here. Its principal advantage is to minimize quantitative computation. Qualitative reasoning about physical systems has shown that physical behavior in quantitative space can be analyzed and described in qualitative terms. See, e.g. D. G. Bobrow, "Qualitative reasoning about physical systems: An introduction," Artificial Intelligence 24, 1-6, 1984. An input primitive, for example in computer graphics, is a basic data item from an input device such as a keyboard, locator device, or a valuator device. The primitives in qualitative reasoning are defined as primitives which connect system behavior and structural components. Though the primitives in vision processing are not well defined as in tangible physical systems, qualitative reasoning principles can still be applied to vision tasks with a properly defined set of primitives. The method in accordance with the present invention is in a general sense analogous to human motion perception processes. Human motion perception, such as peripheral, attentive and cognitive processes is qualitatively emulated with a fovea locking and a spatio-temporal reasoning. See, e.g. R. Jain, "Extraction of motion information from peripheral process," IEEE Trans. Pattern Anal. Machine Intell., vol. 1, No. 5, pp. 489-503, Sept. 1981. The fovea locking based on a dynamic background recovery identifies multiple moving objects in real time. The spatio-temporal reasoning based on object motion history minimizes quantitative computation. In accordance with a preferred embodiment of the present invention, stationary background and moving objects in the image are used as motion perception primitives. Experimental results with an exemplary embodiment of the present invention are presented with regard to moving cars on a busy street. First, as in peripheral processes, regions of moving objects are identified from the background. The background is recovered in real time by a moving constellation, which contains moving objects in a minimum rectangle. This provides an "area of interest", that is, a fovea locking on moving objects and thus simplifies the rest of the motion estimation process. In attentive and cognitive processes, motion estimation is obtained by qualitatively analyzing the moving edges. The depth is estimated from the first derivative of object size in the image and the velocity is obtained from the perspective compensated image of the object. During the estimation process, a spatio-temporal reasoning which analyzes constellation history is carried out to ensure the validity of each step of motion estimation. This approach minimizes quantitative computation with automatic focus of attention. First, qualitative reasoning and the related vision research will be briefly explained. Then, moving edge characteristics and background recovery as motion perception primitives will be explained, followed by an explanation of reasoning with constellation. Thereafter, system implementation is described and some experimental results of moving cars are presented and compared with prior art approaches. The possible technical limits of the present method are also discussed. Qualitative reasoning, per se, has been studied in many different domains. See for example, D. G. Bobrow, "Qualitative reasoning about physical systems: An introduction," Artificial Intelligence 24, 1-6, 1984; J. de Kleer and B. Williams, "Diagnosing Multiple Faults," Artificial Intelligence 32, 97-129, 1987; Y. Iwasaki and H. Simon, "Causality in device behavior," Artificial Intelligence 29, 3-32, 1986; J. de Kleer, "How circuits work," Artificial Intelligence 24, 205-280, 1984; C. N. Lee, P. Liu and M. Chiu, "Dynamic causal model construction for model-based reasoning," Proceedings WESTEX-87, 90-95, 1987. Generally, phenomena in quantitative space are abstracted and described using qualitative terms, that is, a carefully selected set of discrete symbols. In physical systems the system's functional structure and its physical realization are described with a set of primitives. The primitives are then used to explain system behavior and structure. For example, electrical device primitives, such as resistor, capacitor and transistor can be used to describe how a common emitter feedback amplifier works. The primitives describing system behavior can be chosen by causal analysis and teleological analysis of a system. See, for example, the aforementioned C. N. Lee, P. Liu and M. Chiu, "Dynamic causal model construction for model-based reasoning," Proceedings WESTEX-87, 90-95, 1987. Causal analysis describes the relations of functional components. Teleological analysis describes the design purpose of the system. Such analyses require a deep understanding of underlying mechanism in the system. For motion perception, causal analysis can be performed on an image, such as perspective projection, stationary background and moving objects in the image. The teleological analysis is related to an attentive control in active vision. See, for example, D. H. Ballard, "Reference Frames for Animate Vision," Proceedings, IJCAI, 1635-1641, 1989; J. J. Clark and N. J. Ferrier "Modal control of an attentive vision system," Proceedings, ICCV, 514-523, 1988; D. H. Ballard, "Eye fixation and early vision: Kinetic depth," Proceedings, ICCV, 524-531, 1988. Once a vision task is given, appropriate vision processes can be selected by analyzing the given task. In vision research, qualitative reasoning has been performed in many different forms, such as knowledge-based image understanding, see for example D. T. Lawton and C. C. McConnel, "Image Understanding Environments," IEEE Proc., vol. 76, No. 8. 1036-1050, August 1988; V. S. Hwang, L. S. Davis, and T. Matsyama, "Hypothesis Integration in Image Understanding Systems," Comput. Vision, Graph. Image Processing, 36, 321-371, 1986; R. A. Brooks, "Symbolic Reasoning Among 3-D Models and 2-D Images," Artificial Intelligence 17, 1982, 285-348 perceptual organization; see for example, R. Mohan and R. Nevita "Segmentation and Description Based on Perceptual Organization", Proceedings, CVPR, 333-339, 1989; D. Marr and E. Hildreth, "Theory of edge detection," Proc. R. Soc. Lond. 207, 187-217, 1980; D. H. Ballard, "Reference Frames for Animate Vision," Proceedings, IJCAI, 1635-1641, 1989, underlying biological mechanism, see for example, D. H. Ballard, "Reference Frames for Animate Vision," Proceedings, IJCAI, 1635-1641, 1989, J. J. Clark and N. J. Ferrier "Modal control of an attentive vision system," Proceedings, ICCV, 514-523, 1988; D. H. Ballard, "Eye fixation and early vision: Kinetic depth," Proceedings, ICCV, 524-531, 1988 and so forth. The ontological primitives vary depending upon the tasks. See, for example, J. de Kleer, "How circuits work," Artificial Intelligence 24, 205-280, 1984. In knowledge-based image understanding, image operators are used as primitives and the operator control has been studied with various reasoning strategies and representations. The reasoning mechanism decides image operators and their application sequence. The system representation decides the reasoning boundary. The fundamental tradeoff between representation and reasoning is well known. See, for example, R. Reiter, "A Fundamental Tradeoff in Knowledge Representation and Reasoning", Readings in Knowledge Representation, Morgan Kaufmann Publishers, Inc. Los Altos, California, 42-70, 1985. For perceptual understanding, perceptual primitives such as edges, curves, and regions have been studied, emphasizing computational and psychophysical aspects since visual perception is carried out through those primitives. The motion coherence theory explains those primitives' dynamic characteristics with an image velocity field. See, for example, A. L. Yuille and N. M. Grzywacz, "The motion coherence theory," Proceedings, ICCV, 344-353, 1988. For underlying the biological mechanism, focus of visual attention has been studied with fovea locking or gaze control in active vision. See, for example, D. H. Ballard, "Eye fixation and early vision: Kinetic depth," Proceedings, ICCV, 524-531, 1988. The area of interest can be used as an abstract primitive which provides motion information, even though there is little logical reasoning process involved. It has been shown that visual perception process is greatly simplified with fovea locking on a target object. See, for example, D. H. Ballard, "Reference Frames for Animate Vision," Proceedings, IJCAI, 1635-1641, 1989. Some qualitative primitives are apparent in vision tasks. Though the ontological primitives in vision process are not as well defined as in physical systems, it is herein recognized that the same principles of qualitative reasoning can still be applied in vision tasks. The necessary primitives can be properly defined by analyzing a given task. In the present exemplary embodiment, background and objects in the image are used as motion perception primitives. The motion estimation is obtained by analyzing the perspective projection and the relations between background and objects in the image. Qualitatively moving edge characteristics and background recovery will next be analyzed. The objects move in time and space and their discrete pixel data is available for motion estimation. Apparent motion of an object is perceived by a global activity such as boundary change or a local activity such as pixel intensity change. See, for example, V. S. Ramachandran and S. M. Anstis, "The perception of apparent motion," Scientific American, 102-109, June, 1986, and O. Braddick, " A short-range process in apparent motion," Vision Res. vol. 14, 519-527, 1974. While image intensity alone is herein considered in reference to the present exemplary embodiment, it is herein recognized that an experiment of a sign grating image with an incoherent rendom dot pattern indicates that movement can be also perceived as a group activity without clear edges, that is, texture. Boundary change can be calculated in two different ways: by optical flow in pixel level and moving edge in region level. The optical flow approach is known See, for example, D. H. Ballard and O. A. Kimball, "Rigid body motion from depth and optical flow," Comput. Vision, Graph. Image Processing, 22, pp. 95-115, Apr. 1983, B. K.P. Horn and B. G. Schunk, "Determining optical flow," Artificial Intelligence 17, 185-203, 1981, J. Barron, "Computing motion and structure from noisy, time-varying image velocity information," Technical report, RBCV-TR-88-24, Dept. of Comp. Scie., Univ. of Toronto, Toronto, Ontario, Canada; J. H. Duncan and T. Chou, "Temporal edges: the detection of motion and the computation of optical flow," Proceedings, CVPR, 374-382, 1989; L. Matthies, "Dynamic stereo vision," Ph.D. Dissertation, Comput. Dept. Carnegie Mellon Univ., Pitts. PA. CMU-CS-89-195, Oct. 1989. An intuitive and elegant mathematical discussion of temporal edge and spatial edge is known in connection with the application of optical flow to computation of normal velocity of an object boundary. See, for example, J. H. Duncan and T. Chou, "Temporal edges: the detection of motion and the computation of optical flow," Proceedings, CVPR, 374-382, 1989. This method is appropriate for pixel level computation. However, if object movement is more than one or two pixels, then Gestalt perception, such as shape recognition, is used. It is known that our preexisting knowledge resolves motion ambiguity, which occurs in visual perception of discrete image frames. See, for example, O. Braddick, " A short-range process in apparent motion," Vision Res. vol. 14, 519-527, 1974. It is herein recognized that, therefore, object motion can be easily estimated if knowledge about moving edges and the background is available. Next, moving edge characteristics and related motion estimation, and background recovery for clear edge detection are discussed. Object motion can be estimated from the corresponding moving edges. A moving edge is a spatio-temporal primitive in pixel level and region level. The moving edge and the corresponding object motion can be obtained from difference images. Consider three consecutive frames in Figure 1. If the object moves with a constant velocity v, then the velocity can be approximated by the distance between two boundaries of difference images. This method works only when an object moves in an xy plane, i.e, no depth change,(Δ z = O). The depth can be estimated from the first derivative of object size in the image or from the intensity history of each pixel. The depth change of an object appears in the xy image plane as a change of perspective projection. This perspective projection change at the region level is used for depth estimation. At the pixel level, equivalent information can be obtained. Figure 2 shows how the intensity history of a pixel is related to spatial change. If Δ z = 0, then the intensity history of a pixel represents the object image intensities (or linearly interpolated image) which passed through the pixel location. It reflects the path of object movement on an xy image plane. If Δ z = 0, then the intensity history of a pixel represents a series of consolidated pixels (receding object) or expanded pixels (approaching object) due to perspective projection. To observe this more clearly, consider a moving object in world coordinates ( x, y, z ), with instantaneous velocity ( dx/dt, dy/dt, dz/dt ) = ( u, v, w ) at (x 0 , y 0 , z 0 ). Assume a camera focal length f = 1 and consider perspective projection at the image plane ( x p , y p ) = ( x/z, y/z ), then, after a time interval t, its image will be at (x p1 , y p1 ) = ((x 0 + ut ) / (z 0 + wt), (y 0 + vt) / (z 0 + wt )). Thus, a fixed point in the image (x pc , y pc ), will reflect dz/dt of the moving object at (x c , y c ) in space if u = v = 0. If dz/dt is constant and u = v = 0, then the intensity history represents object surface intensity sampled with equal distance. In other words, the intensity history can be recovered from an image by taking a 1/z scaled sampling. This can also be explained using a convective conservation equation. With the relation between 3-D motion and continuous intensity assumption, the following equation results I(x+dx,y+dy,z+dz, t+dt) = I(x,y,z,t) + ∂ ∂x dx + ∂ ∂y + ∂ ∂z dz + ∂I ∂t + HT (higher order terms) If the first derivatives only are considered and higher-order terms (HT) are neglected, the following equation results as a 3-D optical flow equation: ∂I ∂x u + ∂I ∂y v + ∂I ∂z w + ∂I ∂t = 0 The term ∂I / ∂z is merged into the first two terms if a perspective projection is taken onto an image plane. If there is no depth change, i.e. w = 0, then it becomes a general optical flow equation. The dx p and dy p in the image correspond to dx and dy scaled by a constant value z. However, if w = 0, then dx p and dy p become (dx + x p dz/z)/z and (dy + y p dz/z)/z, which are obtained by first order simplification of 1/( z-dz ). Then the equation (3.1b) for perspective projection becomes ∂I ∂x (u - x p w/z) + ∂I ∂y (v-y p w/z) + ∂I ∂t = O This relation implies that w/z needs to be considered for 3-D motion estimation, especially when x p , y p and ¦w/z¦ are not small enough compared to ¦u¦ or ¦v¦. This notion is herein applied for motion estimation, i.e., get w/z first and compensate u - x p w/z and v - y p w/z for moving objects in the image. In summary, the intensity history of moving object in the image contains z direction motion information as well as x and y direction information, i.e. a moving edge in space can be observed in the intensity history of pixels and gives motion estimation. Now, the following formula of consecutive image frames of a moving object gives depth, z, and z component velocity, dz/dt, estimations. 1 / (z -kw i ) = ℓ i / f s /(z-kw i ) = si /f In equation (3.1a) l is physical object length, z is the distance between camera focal point and the object, k = (i mod 3) for three consecutive equations, w i = dz/dt, ℓ i is line image length at time t i , and f is camera focal length. Equation (3.2b) is for object area s, rather than length ℓ . Note that the above equation can be used with any three or more consecutive frames assuming w i is constant in those frame periods. If we assume an unknown focal length, four frame equations will give all the necessary information, i.e. depth, velocity, object size and focal distance. Once the object length l or object size s is known, two equations will be sufficient to estimate the velocity and depth. In accordance with the present invention, a depth and z component velocity estimation algorithm is as follows: (1) estimate depth z with equation (3.2), if l i /l i + 1 \ ≥ T threshold value, then use three consecutive frames or every second three frames for rough depth estimation and z component velocity estimation; (2) compensate perspective distortion for x, y in the image using ( u - x p dz/dt, v - y p dz/dt ), and (3) find out x, y velocity components compared to the previous frame. The threshold value, T, is the number of pixels which the system requires as a minimum difference in pixels. The threshold value is dynamically decided after checking line size change in previous frames. If T ≈ 1, then subpixel precision should be obtained by frame interpolation. Motion and depth estimation in 3-D using consecutive difference images have been discussed. However, the discussion has been based on an assumption that the size of the image difference is not much greater than the object size in the image. This method works if an object velocity per frame is smaller than half the size of an object since the perspective compensation in algorithm 1 is based on the object size in the image. Also, it is not a reasonable constraint in most cases. To solve this problem, we need to know the exact object boundary in each frame. In the following, an algorithm is presented for background recovery of moving objects. It is essential to estimate the object boundary precisely. In the approach in accordance with the invention, no time-consuming estimation process is involved and, furthermore, the background is continuously updated in real time. Consider the single moving object case first. The first step to the background recovery of a moving object is building a moving constellation. A moving constellation is a minimum rectangle which contains thresholded difference in each frame. It always tracks a moving object and changes its size. Background is recovered by recursively replacing the first image with the current image, except in the region of the moving constellation. Let Bg i denote recovered background image in ith frame time and Bg unknown denote unknown background area until ith frame time. The following three operators are defined for clarity of the following background recovery algorithm. Definition 1: U r is a replace union operator. It replaces the elements in the first operand with the elements in a second operand set if and only if the location indexes (x, y) are the same. Definition 2: "-" is a set difference operation in which each element has a location index (x, y). Definition 3: "Rmτ" is a minimum rectangle operator. The minimum rectangle contains all elements of the operand set, of which value is greater than threshold value τ. The background image is recursively obtained and updated as follows. Algorithm 2: Mc i = Rmτ(I i - I {i-1} ) Bg 0 = I 0 Bg i = Bg {i-1} U r (I i - Mc i ) Bg unknown = ∩ sub {i=0..n} Mc i where I i denotes input image and Mc i is the moving constellation at the ith frame. Note that operations involved are basically pixel replace operations which can be executed very fast in any computer architecture. With this algorithm, a slowly changing background can be updated every frame and the object boundary can be recovered instantaneously by a difference operation. For the multiple moving object case, we need to split the constellation using motion detection heuristics, such as length/width ratio, minimum object size in image, and constellation history. Only the general heuristics are used for the split process in accordance with the invention. Figure 3 shows an example of the background recovery process. There are two problems with this algorithm: 1) there is no guarantee of complete background recovery, and 2) in some cases of multiple moving objects, the constellation should be split for each object. No complete solution for 1) was obtained. For example, in rotational motion, the object does not move away from the original position. However, we know at least whether the background is recovered completely or not by the set intersect operation on Mc i 's. If the intersection of moving constellations is an empty set, ∩ i=0..n Mc i = , then background is completely recovered. The partially recovered background is still useful for boundary detection. The area of unknown background is the area where the moving objects are. For problem 2), especially when multiple objects all move in different directions, window split needs more motion heuristics. For example, firework, it should be defined whether it is regarded as one constellation or not. However, the present inventors did not have such a case in their experiments, discussed below. After the background is identified, the object mask is generated from a difference image between the current input image and the background image. It is similar to detecting moving objects by detecting background change in human motion perception. Figure 4 shows the object masks and their corresponding objects. Once each object image is recovered using a corresponding object mask, further image processing, such as object recognition, can be performed on an individual object. For object mask generation, we use a morphological closing operation. The structuring element for the closing operation can be dynamically configured for each object. The constellation description, such as size, centroid and density, provides a rough estimation of object size and its necessary structuring element size. We use constellation density, Dc, in E size = Mc x * Mc y * Dc/{N * p} where E size, Mc x, Mc y, N, and p denote constellation size x, y, the number of objects (default is one), and noise factor p (default is 70) in the present system. Figure 6 provides a helpful diagrammatic summary of a basic background recovery process flow in accordance with the present invention. Reasoning with history is not new. Most estimation techniques use history in one way or another. The present goal of reasoning is to make fast and reliable estimation based on current data and the previous estimation history. There follows a discussion of the spatio-temporal reasoning in each stage of estimation to show how it works. Figure 5. shows the control flow in our spatio-temporal reasoning. McG, BgR, OMG, MDE denote moving constellation generator, background recovery, object mask generator, and motion and depth estimator. In each module, its previous output and the MDE's previous output are used to assure a correct output. If the output is not believed, then it is adjusted using its previous output and MDE's. In the present system, except for the object mask generator module, only one previous output is kept for this purpose. The estimation process starts with roughly identifying the region of moving objects and recovering background in parallel. The moving object area is located by a moving constellation. The constellation history is used to check object motion consistency. The object moves with approximately constant speed and the object image changes continuously. Thus, any unreasonable change such as a sudden enlargement or shrinking is discarded and replaced with the previous constellation. The changing ratio of constellation size and displacement is used to put limits on object size and velocity under motion estimation. By way of example, the cluttering effect due to tree leaves has been removed by this operation in the street scene experiments. This is a peak noise reduction operation. The boundaries of moving objects are detected to form a set of moving objects and their corresponding object masks. During object mask generation, the constellation size and weight are used to dynamically configure the structuring element size for morphological a closing operation. Since the spatial change of background intensity is almost random, the previous size of structuring element can not be utilized. An object mask moving in the same constellation is assumed to be shape invariant. The semi-transparent window of a moving car is an example. This is a size-dependent very low frequency spatial filter operation. After getting moving object masks, each object is labeled. During labeling, the history of each mask ensures that it matches the same object. Once the object masks are identified, the cases of temporarily overlapping or occluding are handled with their motion history. The present exemplary embodiment can handle only the partially overlapped case since just three frames of mask history are remembered and interpreted. The case of moving cars crossing or masking other cars is an example. However, motion estimation of an invisible object requires more frames to be analyzed in image understanding level. After getting each object mask, the mask size is used for depth estimation. Since the exact boundary of each moving object and its movement history are known, the salient features of an object can actually be selected very fast. In the present exemplary embodiment, just a zero crossing on an averaged scan line at the object mask centroid is used. The precision of image size is also adjusted by looking at the previous motion and depth estimation, since, when an object moves very fast in the xy direction, the slow z movement has no practical importance in total motion estimation. With this coarse depth estimation, a more precise motion and depth estimation process starts. Perspective compensation is performed for each object in the image and the object velocity is then estimated. The depth and object velocity are then smoothed using moving window average. No weighting curve has been used in the present exemplary embodiment. The final estimation result is reported to each stage to be used for prediction and to check performance in each estimation stage. It has been disclosed how history is utilized in every stage of motion estimation. It is neither a simple hierarchical control nor a simple recursive control. Each module is adjusted continuously, using its own history and others. This may well be a reason as to why generalizing a technique in a vision is difficult. However, the moving constellation and history provide appropriate cues at each processing stage for a generalization of the present spatio-temporal reasoning. The system has been implemented in the present exemplary embodiment on a workstation with commercially available vision hardware and software. A SUN™ 4/110 with ANDROX™ board and KBV™ software were used for low level vision processing and high level reasoning. The inventors have designed their own reasoning module using KBV environment and have tested their framework with two different setups, the 230 frames (256x288) of real street scenes and the 12 frames (256x256) of lab setups. They have used a video camera for our lab setup. A toy car three feet away from camera has been used and its velocity and location has been estimated in real time. The camera was calibrated and the optical center point and camera focal length were used. In the moving cars on a street setup, ten cases were tested starting from image sequence number 0, 25, 50, 75, 100, 125, 150, 175 and 200. In all cases the background has been completely recovered after seven frames on an average. There has been no drastic change in motion pattern of the moving cars. The threshold value T adjusted by the system is less then 2 pixels since cars have moved at least more than four pixels per frame time in this experiment. Normalized focal length was used to represent object location, size and velocity. Consistent velocity and depth estimation of maximum three moving cars have been obtained successfully even when they are overlapping each other. In a lab setup, applicants have achieved very precise estimation of depth and velocity of a toy car in an exemplary embodiment. The error is less than 8 percent both in depth and velocity. The error has been caused by the object size change in the image due to car shadow and due to apparent shape change caused by rotation. The system generates a warning message when the viewing direction of the car is changing more than half of the camera viewing angle. Also, the system has ruled out the case of no change in the z direction in five consecutive frames. Knowledge of motion patterns of moving objects can be utilized for more precise estimation. The setup has been used for obtaining normalized velocity estimation only. It is worth mentioning that a goal of motion estimation is to get a qualitative estimation with reasonable precision in real time, rather than with a high precision but not in real time. Motion and depth estimation have been obtained in real time. The system can handle multiple moving objects and some overlapping cases, too. No object models have been assumed, which makes the spatio-temporal reasoning quite general. Significantly, the quantitative computation with qualitative reasoning in each stage of estimation. Using moving constellation as a focus of attention and using the constellation history for spatio-temporal reasoning has made our approach valuable. A qualitative reasoning approach for monocular motion and depth estimation has been disclosed. The quantitative computation in each estimation process has been minimized. The experimental result is a powerful approach, which as presented, can handle multiple moving objects and some overlapping objects. A qualitative motion estimation process has been analyzed. The background and objects in the image have been-selected as motion perception primitives. A moving constellation mechanism for has been utilized for fovea locking. A perspective compensation algorithm and a background recovery algorithm are herein disclosed. Spatio-temporal reasoning based on constellation history has been generalized for motion estimation, regardless of object size and velocity. At the same time, the integration of focus of attention into a qualitative reasoning has been achieved. It is clear that the steps of the present method are intended for implementation with the aid of a programmable computer and are obviously not intended to be understood as mere "mental steps". The computational steps in the claims are intended to be so understood and interpreted. While the present invention has been explained by way of exemplary embodiment, it will be apparent to one of skill in the art to which it pertains that various changes and modifications can be made without departing from the scope of the invention, which is defined by the claims following. For example, the use of a circumscribing rectangle to describe a moving constellation is an overestimate. A more precise description of the constellation, in the form of a closed irregular polygon or difference image with threshold is a possible alternative.

Claims: A process of background information recovery in an image sequence having a plurality of image frames (im0, im1), the image sequence including an image of at least one moving object against a background, comprising the steps performed on said image frames of said image sequence of: a) identifying a region of an image frame (im1) containing an object moving relative to the background; b) deriving a moving constellation (McG) corresponding to the identified region from a comparison between the image frame (im1) and a preceding image frame (im0); c) deriving a partial background image frame by excluding from the input image the area covered by the moving constellation; and d) recovering background information (BgR); characterised in that said moving constellation is derived in a minimum circumscribing polygon and in that said background information (BgR) is recovered recursively by combining the partial background image frame with previously recovered background information relating to the area covered by the moving constellation. A process for background information recovery as claimed in claim 1, wherein the circumscribing polygon is a rectangle. A process for background image recovery as claimed in claim 1 or 2, wherein the moving constellation is derived by obtaining intensity difference frames from consecutive ones of said frames and by deriving a bounding box from each difference frame. A process for background image recovery as claimed in claim 3, wherein said intensity difference frames are binarized to obtain a bounding box frame, and the bounding box is formed in a binarized frame using horizontal and vertical projections and thresholding both ends of said bounding box to get boundaries of said bounding box by utilizing a threshold value dependent upon the size of a moving object. A process of background information recovery in an image as claimed in claim 1, where the background image frame is recursively obtained and updated in accordance with the algorithm: Mc i = Rmτ(I i - I {i-1} ) Bg i = I 0 Bg i = Bg {i-1} Ur(I i - Mc i ) Bg unknown = ∩ {i=0....n} Mc i wherein: I i denotes input image; Mc i is a moving constellation at the ith frame; Bg i is the recovered background image frame in the ith frame time; Bg unknown is the unknown background area until the ith frame time; Ur is a replace union operator; "-" is a set difference operation in which each element has a location index (X,Y); "Rmτ" is a minimum rectangle operator; and "∩ {i=O....n} " represents an intersection operation. A process of motion estimation comprising the process of background information recovery as defined in one of claims 1-5, wherein a depth of said moving object is obtained from the first derivative of size of said image of said moving object. A process of motion estimation comprising the process for background information recovery as defined in claim 6 wherein the velocity of said moving object is obtained from a perspective compensated image of said object. A process of motion estimation as defined in claim 7 comprising the steps of: (1) estimating depth z with the equation 1/(z -kw i ) = l i /f, if l i /l i+ 1 \ ≥T, the threshold value, being the number of pixels which a system requires as a minimum difference in pixels; (2) deriving a rough depth estimation and z component velocity estimation using three consecutive frames or every second three frames; (3) compensating perspective distortion for x, y in the image using ( u - x p dz/dt, v - y p dz/dt ); and (4) determining x, y velocity components compared to the previous frame. A process of motion estimation as defined in claim 8 wherein the threshold value is dynamically selected after checking a line size change in previous frames.

Inventors: LEE CHEOUNG N, SAMMADAR SUMITRO, LEE, CHEOUNG N., SAMMADAR, SUMITRO
Applicants: SIEMENS CORP RES INC, SIEMENS CORPORATE RESEARCH, INC.
Application year: 1994
Main classification: G06T7
IPC codes: G06T7