video is processed by maintaining a background model for the video, detecting a target in the video, detecting if the target is a stationary target, and classifying the stationary target as an insertion in the background model or a removal from the background model.
|
10. A method for processing video, comprising the steps of:
maintaining a background model for said video;
detecting a target in said video;
detecting if said target is a stationary target; and
classifying said stationary target as an insertion in said background model or a removal from said background model, or as being unidentifiable as said insertion or said removal.
11. A method for processing video, comprising the steps of:
maintaining a background model for said video;
detecting a target in said video;
detecting if said target is a stationary target; and
classifying said stationary target as an insertion in said background model or a removal from said background model; and
determining if said target was previously detected as a stationary target.
1. A method for processing video, comprising the steps of:
maintaining a background model for said video;
detecting a target in said video;
detecting if said target is a stationary target, wherein detecting if said target is a stationary target comprises the steps of:
determining general motion and size change properties of said target;
determining independent motion properties of said target; and
determining if said target is said stationary target based on said general motion and size change properties and said independent motion properties; and
classifying said stationary target as an insertion in said background model or a removal from said background model.
18. An apparatus to process video adapted to perform operations comprising a method of:
maintaining a background model for said video;
detecting a target in said video;
detecting if said target is a stationary target, wherein detecting if said target is a stationary target comprises the steps of:
determining general motion and size change properties of said target;
determining independent motion Properties of said target; and
determining if said target is said stationary target based on said general motion and size change properties and said independent motion properties; and
classifying said stationary target as an insertion in said background model or a removal from said background model.
17. An apparatus for processing video, comprising:
means for maintaining a background model for said video;
means for detecting a target in said video;
means for detecting if said target is a stationary target, wherein the means for detecting if said target is a stationary target comprises:
means for determining general motion and size change properties of said target;
means for determining independent motion properties of said target; and
means for determining if said target is said stationary target based on said general motion and size change properties and said independent motion properties; and
means for classifying said stationary target as an insertion in said background model or a removal from said background model.
5. Method for processing video, comprising the steps of:
maintaining a background model for said video;
detecting a target in said video;
detecting if said target is a stationary target; and
classifying said stationary target as an insertion in said background model or a removal from said background model, wherein classifying said stationary target comprises the steps of:
determining an edge strength in said background model along a boundary of said stationary target;
determining an edge strength in a current frame of video sequence along said boundary of said stationary target; and
determining if said stationary target is said insertion or said removal based on said edge strength in said background model and said edge strength in said current frame.
21. An apparatus to process video adapted to perform operations comprising a method of:
maintaining a background model for said video;
detecting a target in said video;
detecting if said target is a stationary target; and
classifying said stationary target as an insertion in said background model or a removal from said background model, wherein classifying said stationary target comprises the steps of:
determining an edge strength in said background model along a boundary of said stationary target;
determining an edge strength in a current frame of video sequence along said boundary of said stationary target; and
determining if said stationary target is said insertion or said removal based on said edge strength in said background model and said edge strength in said current frame.
20. An apparatus for processing video, comprising:
means for maintaining a background model for said video;
means for detecting a target in said video;
means for detecting if said target is a stationary target; and
means for classifying said stationary target as an insertion in said background model or a removal from said background model, wherein said means for classifying said stationary target comprises:
means for determining an edge strength in said background model along a boundary of said stationary target;
means for determining an edge strength in a current frame of video sequence along said boundary of said stationary target; and
means for determining if said stationary target is said insertion or said removal based on said edge strength in said background model and said edge strength in said current frame.
14. A computer system for processing video, comprising:
a background model of said video;
a background model-based pixel classification to produce a change mask and imagery based on said video and said background model;
a background model update to update said background model based on said change mask and said imagery;
a motion-based pixel classification to produce a motion mask based on said video;
a blob generation to produce at least one blob based on said change mask and said motion mask;
a blob tracking to produce at least one target based on said blobs;
a stationary target detection and classification to produce a stationary target description based on each target, said stationary target description to identify each said target as an insertion in said background model or a removal from said background model; and
a background model local update to update said background model based on each said stationary target description.
2. A method as in
3. A method as in
4. A method as in
6. A method as in
7. A method as in
8. A computer system comprising a computer-readable medium having software to operate a computer in accordance with the method of
9. A computer-readable medium having software to operate a computer in accordance with the method of
12. A computer system comprising a computer-readable medium having software to operate a computer in accordance with the method of
13. A computer-readable medium having software to operate a computer in accordance with the method of
15. A computer system as in
16. A computer system as in
a stationary target monitor to produce a target reactivation for said blob tracking based each said stationary target description.
19. The apparatus of
22. The apparatus of
|
1. Field of the Invention
The present invention is directed to the general field of video processing and to the more specific field of processing of segmented video. In particular, the invention is concerned with the maintenance of background models in segmented video and classifying changes to the background model.
2. Related Art
Many video processing applications require segmentation of video objects (i.e., the differentiation of legitimately moving objects from the static background scene depicted in a video sequence). Such applications include, for example, video mosaic building, object-based video compression, object-based video editing, and automated video surveillance. Many video object segmentation algorithms use video scene background models (which can simply be referred to as “background models”) as an aid. The general idea is that each frame of a video sequence can be registered to the background model and compared, pixel-by-pixel, to the background model. Pixels that display sufficient difference are considered foreground, or moving, pixels. However, there are a Wide range of phenomena that can cause pixel-level changes, such as: unstable backgrounds (e.g., rippling water, blowing leaves, etc.); lighting phenomena (e.g., clouds moving across the sun, shadows, etc.); and camera phenomena (e.g., automatic gain control (AGC), auto iris, auto focus, etc.).
Using video object segmentation (or a variation thereof), objects, or parts of objects, that exhibit independent motion can usually be detected. There are two basic problems that arise when objects in a scene are stationary for a long period of time, and either of these two phenomena can degrade the performance of video object segmentation for any application.
First, if an object remains stationary for a long period of time, the object could be “permanently” detected as a foreground object. However, for all practical purposes, the object has become part of the background. In
Second, if an object, initially stationary, is part of the background model (e.g., gets “burned in”) and then moves, the object exposes a region of the background model (e.g., static background) that has not been modeled. The exposed region of the background model is erroneously detected as a foreground object. In
As discussed, for example, in U.S. patent application Ser. No. 09/472,162, titled “Method, Apparatus, and System for Compressing/Decompressing Digital Video Data,” filed Dec. 27, 1999, and U.S. patent application Ser. No. 09/609,919, titled “Scene Model Generation from Video for Use in Video Processing,” filed Jul. 3, 2000 (both commonly assigned, and incorporated herein by reference), when building photo mosaics, video mosaics, or video scene models, it is often desirable to extract those portions of the source images that represent “true” background. For example, a parked car in a video sequence (or any other collection of images) that remains parked for the duration of the video sequence may be considered true background. However, a car in a video sequence that is initially parked and later drives away at some point in the video sequence should properly be considered “not background.”
If care is not taken to identify true background regions, artifacts will result. If the goal is to produce a mosaic or background image, foreground objects can be “burned in” the background model resulting in unnatural-looking imagery. If the goal is to build a scene model as a basis for video segmentation, the results can be poor segmentations, where parts of foreground objects are not detected, and where some exposed background regions are detected as foreground objects.
The invention employs change detection and classification for maintaining a background model of a video sequence. Further, the invention maintains a background model of a video sequence and classifies changes to the background model
The invention includes a method for processing video, comprising the steps of: maintaining a background model for the video; detecting a target in the video; detecting if the target is a stationary target; and classifying the stationary target as an insertion in the background model or a removal from the background model.
The invention includes a computer system for processing video, comprising: a background model of the video; a background model-based pixel classification to produce a change mask and imagery based on the video and the background model; a background model update to update the background model based on the change mask and the imagery; a motion-based pixel classification to produce a motion mask based on the video; a blob generation to produce at least one blob based on the change mask and the motion mask; a blob tracking to produce at least one target based on the blobs; a stationary target detection and classification to produce a stationary target description based on each target, the stationary target description to identify each the target as an insertion in the background model or a removal from the background model; and a background model local update to update the background model based on each the stationary target description.
A system for the invention includes a computer system including a computer-readable medium having software to operate a computer in accordance with the invention.
An apparatus for the invention includes a computer including a computer-readable medium having software to operate the computer in accordance with the invention.
An article of manufacture for the invention includes a computer-readable medium having software to operate a computer in accordance with the invention.
Further features and advantages of the invention, as well as the structure and operation of various embodiments of the invention, are described in detail below with reference to the accompanying drawings.
Definitions
A “computer” refers to any apparatus that is capable of accepting a structured input, processing the structured input according to prescribed rules, and producing results of the processing as output. Examples of a computer include: a computer; a general purpose computer; a supercomputer; a mainframe; a super mini-computer; a mini-computer; a workstation; a microcomputer; a server; an interactive television; a web appliance; a telecommunications device with internet access; a hybrid combination of a computer and an interactive television; and application-specific hardware to emulate a computer and/or software. A computer can be stationary or portable. A computer can have a single processor or multiple processors, which can operate in parallel and/or not in parallel. A computer also refers to two or more computers connected together via a network for transmitting or receiving information between the computers. An example of such a computer includes a distributed computer system for processing information via computers linked by a network.
A “computer-readable medium” refers to any storage device used for storing data accessible by a computer. Examples of a computer-readable medium include: a magnetic hard disk; a floppy disk; an optical disk, such as a CD-ROM and a DVD; a magnetic tape; a memory chip; and a carrier wave used to carry computer-readable electronic data, such as those used in transmitting and receiving e-mail or in accessing a network.
“Software” refers to prescribed rules to operate a computer. Examples of software include: software; code segments; instructions; computer programs; and programmed logic.
A “computer system” refers to a system having a computer, where the computer comprises a computer-readable medium embodying software to operate the computer.
A “network” refers to a number of computers and associated devices that are connected by communication facilities. A network involves permanent connections such as cables or temporary connections such as those made through telephone, wireless, or other communication links. Examples of a network include: an internet, such as the Internet; an intranet; a local area network (LAN); a wide area network (WAN); and a combination of networks, such as an internet and an intranet.
“Video” refers to motion pictures represented in analog and/or digital form. Examples of video include television, movies, image sequences from a camera or other observer, and computer-generated image sequences. These can be obtained from, for example, a live feed, a storage device, an IEEE 1394-based interface, a video digitizer, a computer graphics engine, or a network connection.
“Video processing” refers to any manipulation of video, including, for example, compression and editing.
A “frame” refers to a particular image or other discrete unit within a video.
The foregoing and other features and advantages of the invention will be apparent from the following, more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings. The left most digits in the corresponding reference number indicate the drawing in which an element first appears.
An exemplary embodiment of the invention is discussed in detail below. While specific exemplary embodiments are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations can be used without parting from the spirit and scope of the invention. The embodiments and examples discussed herein are non-limiting examples.
The invention employs change detection and classification for maintaining a background model of a video sequence. The invention can be used for real-time video processing applications (e.g., real-time object-based compression, or video surveillance), in which the video sequence may not be available in its entirety at any time, and incremental changes to the background model might be required to maintain its utility. The invention can also be used for non-real-time video processing applications. A video sequence refers to some or all of a video.
With the invention, first, local changes in the background model are detected and can be used to maintain the background model, and, second, such detected changes are classified and can be further processed. The detected changes are classified into two major categories: first, an object that is placed in the scene and remains static for a period of time (i.e., an insertion); and second, an object that moves out of the scene and exposes a section of the background model (e.g., the static background) (i.e., a removal). The common aspect of these two categories is that there is a permanent local change in the background model.
Classifying changes into these two categories can be very important in a wide range of applications, such as, for example, video surveillance applications. Examples of the first category (i.e., an insertion) for video surveillance applications include: monitoring no parking areas (and, for example, initiating an alarm if a car spends more than a certain amount of time in the no parking areas); detecting unattended bags at airports; and detecting unattended objects near sensitive areas, such as military installations and power plants. Examples of the second category (i.e., a removal) for video surveillance applications include: detecting the removal of a high value asset, such as an artifact from a museum, an expensive piece of hardware, or a car from a parking lot.
Generating and maintaining a background model includes the background model-based pixel classification 31, the background model update 32, and the background model 33. One option for the background model-based approach 31, 32, and 33 employs dynamic statistical pixel modeling. Dynamic statistical pixel modeling maintains an accurate representation of the image background and differentiates background pixels from foreground pixels. In an exemplary embodiment, dynamic statistical pixel modeling is implemented with the techniques disclosed in commonly-assigned U.S. patent application Ser. No. 09/815,385, titled “Video Segmentation Using Statistical Pixel Modeling,” filed Mar. 23, 2001, which is incorporated herein by reference. The general idea of the exemplary technique is that a history of all pixels is maintained over several frames, including pixel chromatic (or intensity) values and their statistics. A stable, unchanging pixel is treated as background. If the statistics of a pixel change significantly, the pixel can be considered to be foreground. If the pixel reverts to its original state, the pixel can revert to being considered a background pixel. This technique serves to alleviate sensor noise and to automatically address slow changes in the background due to lighting conditions and camera automatic gain control (AGC). Instead of dynamic statistical pixel modeling, the background model-based pixel classification 31 can be implemented using static background models, a mixture of gaussian background models or dynamically adaptive mixture of gaussian models.
The background model 33 is the internal representation of the static scene depicted in the video at any given time. Each time a new frame is analyzed, the background model 33 can be incrementally updated by the background model update 32. In addition to the incremental updates, the background model 33 needs to be updated when a background change is detected. For example, the chromatic information representing the new local static background region should be “burned-in” to the background model 33, which can be accomplished with the background model local update 38.
In
The motion-based pixel classification 34 determines whether a pixel is actually undergoing independent motion from frame to frame. One potential embodiment for the motion-based pixel classification 34 is three-frame differencing, as described in commonly-assigned U.S. patent application Ser. No. 09/694,712, filed Oct. 24, 2000, which is incorporated herein by reference. Other potential embodiments for the moving pixel classification 34 include two frame differencing and optical flow.
The outputs from the background model-based pixel classification 31 and the motion-based pixel classification 34 may not concurrently detect a new foreground object. For example, a recently parked car might appear as a foreground object according to the background model-based pixel classification 31. However, because the parked car does not exhibit any actual independent motion, the motion-based pixel classification 34 might not detect any foreground object.
Another example of this difference between changed pixels and moving pixels is illustrated in
The blob generation 35 and the blob tracking 36 integrate the per frame pixel motion mask and change mask into targets (spatio-temporal descriptions of video objects). For the blob generation 35, there are many conventional techniques for agglomerating pixels into blobs, for example: connected components, as discussed in D. Ballard and C. Brown, “Computer Vision,” Prentice-Hall, May 1982, which is incorporated herein by reference; and quasi-connected components, as discussed in T. E. Boult, R. J. Micheals, X. Gao, P. Lewis, C. Power, W. Yin, and A. Erkan, “Frame-Rate Omnidirectional Surveillance and Tracking of Camouflaged and Occluded Targets,” Proc. of the IEEE Workshop on Visual Surveillance, June 1999, which is incorporated herein by reference. For the blob tracking 36, there are many conventional techniques for tracking blobs over time to form targets. Exemplary tracking techniques are discussed in the following, which are all incorporated herein by reference: commonly-assigned U.S. patent application Ser. No. 09/694,712, titled “Interactive Video Manipulation,” filed Oct. 24, 2000; Wren, C. R. et al., “Pfinder: Real-Time Tracking of the Human Body,” IEEE Trans. on Pattern Matching and Machine Intelligence, Vol. 19, pp. 780–784, 1997; Grimson, W. E. L. et al., “Using Adaptive Tracking to Classify and Monitor Activities in a Site,” CVPR, pp. 22–29, Jun. 1998; and Olson, T. J. and Brill, F. Z., “Moving Object Detection and Event Recognition Algorithm for Smart Cameras, IUW, pp. 159–175, May 1997.
The stationary target detection and classification 37 analyzes targets generated by the blob tracking 36 to determine if each target is stationary. A target can be determined to be stationary if the target represents a local change in the background model 33. A target can represent a change in the background model 33 if, for example, a video object has ceased moving (i.e., an insertion) or a previously stationary video object has exposed a section of static background that appears as a target (i.e., a removal).
Once a stationary target has been detected, this information can be fed back to the background model local update 38 to update the background model 33. With this feedback, the background model 33 can be kept up to date concerning what constitutes static background and legitimate foreground activity.
The stationary target detection and classification 37 determines if a target is stationary, and if so, whether it should be labeled as an insertion, a removal, or unknown, if it is not possible to determine the difference. In distinguishing between an insertion and a removal, the relationship between the time scales for an insertion and a removal is important. An insertion may involve a different time scale than that of a removal, and these time scales may be application dependent. For example, an application may require that an object be left in place for a large amount of time before being considered an insertion but only a short amount of time before being considered a removal. As a specific example, a car parked at a curb at an airport for five minutes may not be a concern and may not be considered an insertion, but a car parked at the curb for fifteen minutes may be a concern and considered an insertion. Further, the same car, as soon as it moves away from the curb may be considered a removal. In this example, the time scale for an insertion is longer than the time scale for a removal. For another application, the relative time scales for an insertion and a removal may be reversed from the example above such that the time scale for a removal is longer than the time scale for an insertion. Further, the time scales for an insertion and a removal can be configurable by a user.
if (target is POTENTIALLY_STATIONARY)
if (insertion_time_threshold < removal_time_threshold)
1st_time_threshold ← insertion_time_threshold
1st_test ← insertion_test
1st_label ← INSERTION
2nd_time_threshold ← removal_time_threshold
2nd_test ← removal_test
2nd_label ← REMOVAL
else
2nd_time_threshold ← insertion_time_threshold
2nd_test ← insertion_test
2nd_label ← INSERTION
1st_time_threshold ← removal_time_threshold
1st_test ← removal_test
1st_label ← REMOVAL
end
if (target_age > 1st_time_threshold)
if (1st_test is true for target)
target_label ← 1st_label
elseif (target_age > 2nd_time_threshold)
if (2nd_test is true for target)
target_label ← 2nd_label
else
target_label ← UNKNOWN
end
end
end
end
In block 81, each target provided by the blob generation 35 is examined to determine if the target is potentially stationary. This block corresponds to the first “if” condition in the above pseudo-code (i.e., if (target is POTENTIALLY_STATIONARY)). If the target is not potentially stationary, flow proceeds to block 82 and ends.
An exemplary technique to determine if a target is potentially stationary uses various spatio-temporal properties and features of the target. If a target has not radically changed its shape and size for a period of time, the target may a stationary target. Furthermore, if a target exhibits a large amount of change from the background (as determined by change detection 31, 32, 33), but very little independent motion (as determined by motion detection 34), the target is almost certainly a stationary target.
Two examples of a potentially stationary target are illustrated in
In one embodiment of the invention to determine a stationary target, exemplary quantifiable target properties are determined. For example, μΔC and σΔC can represent statistical properties of a centroid trajectory of the target. Specifically, μΔC can represent the mean (over time) of the difference in centroid position (in pixels) between consecutive frames, and σΔC can represent the standard deviation (over time) of the difference in centroid position (in pixels) between consecutive frames. In general, μΔC and σΔC represent statistical properties of a centroid trajectory of the stationary target.
Further, μR and σR represent statistical properties of the pixel area of the target. Specifically, μR can represent the mean (over some recent period of time) of the ratio of the area of the target (in pixels) between consecutive frames, and σR can represent the standard deviation (over some recent period of time) of the ratio of the area of the target (in pixels) between consecutive frames. These four exemplary target properties (i.e., μΔC, σΔC, μR, and σR) capture the general motion and size change of a target over time.
In addition, μM and σM represent statistical properties of moving pixels of the stationary target. Specifically, μM can represent the mean (over some recent period of time) of the ratio of the number of “moving” pixels to the area of the target (in pixels), and σM can represent the standard deviation (over some recent period of time) of the ratio of the number of “moving” pixels to the area of the target (in pixels). These two exemplary target properties (i.e., μM and σM) capture the extent to which a target is exhibiting independent motion, as per the discussion above.
Using these six exemplary target properties, one possible technique for determining whether a target is potentially stationary is based on the following pseudo-code:
If (μΔC < THRESHOLD1 && σΔC < THRESHOLD2 &&
μR < THRESHOLD3 &&
σR < THRESHOLD4 && μM < THRESHOLD5 &&
σM < THRESHOLD6)
target ← potentially_stationary
end
In the pseudo-code, six thresholds (i.e., THRESHOLD1, THRESHOLD2, THRESHOLD3, THRESHOLD4, THRESHOLD5, and THRESHOLD6) are used to perform threshold comparisons with the exemplary target properties. The six thresholds can be preset and/or arbitrarily set as user parameters.
Although four exemplary target properties (i.e., μΔC, σΔC, μR, and σR) are discussed as representing the general motion and size change of a target over time, other properties can be used as will become apparent to those of ordinary skill in the art.
Although two exemplary target properties (i.e., μM and σM) are discussed as representing exhibiting independent motion, other properties can be used as will become apparent to those of ordinary skill in the art.
Although above six statistical properties (i.e., μΔC, σΔC, μR, σR, μM, and σM) are discussed, other combinations of these statistical properties, other statistical properties, and/or other properties can be used as will become apparent to those of ordinary skill in the art.
In block 83, relationships between an insertion threshold and a removal threshold are determined. This block corresponds to the second “if” condition block in the above pseudo-code (i.e., if (insertion_time_threshold<removal_time_threshold)). The pseudo-code for classifying the detected targets depends on the relationship between the insertion time threshold and the removal time threshold. This relationship determines which of the two tests, namely an insertion test or a removal test, is performed first. The insertion time threshold and the removal time threshold are points in time based on the time scales set for an insertion and a removal, as discussed above. In the pseudo-code, the insertion time threshold and the removal time threshold are compared to the target age.
In block 84, the insertion test and/or the removal test is applied. If the application of these tests determines the target is an insertion, flow proceeds to block 85, and the target is classified as an insertion. If the application of these tests determines the target is a removal, flow proceeds to block 86, and the target is classified as a removal. If the application of these tests is inconclusive as to whether the target is an insertion or a removal, flow proceeds to block 87, and the target is classified as an unknown. Blocks 84–86 correspond to the third “if” condition block in the above pseudo-code (i.e., if (target_age>1st_time_threshold)). Once a potentially stationary target is considered to be stationary by passing the insertion test and/or the removal test, its description is sent to the background model local update 38, which modifies the background model 33 at the location of the potentially stationary target. This process involves replacing the background model statistics (mean and variance) of the pixels representing the potentially stationary target. The values of the mean and variance of the pixels representing the stationary target will be modified to represent the mean and variance of the pixels from more recent frames representing the potentially stationary target.
The insertion test and the removal test are illustrated with
In
In block 1202, the edge strength EF of the current frame is determined along the boundary of the stationary target.
In block 1203, the difference between the edge strength EB of the background and the edge strength EF of the current frame is determined (i.e., ΔE=EB−EF).
In block 1204, the target age is compared to the insertion time threshold. If the target age is greater than the insertion time threshold, flow proceeds to block 1205. Otherwise, flow proceeds to block 1211 and ends.
In block 1205, the difference ΔE is compared to an insertion threshold TH1. For the formulation here, if ΔE<TH1 (where TH1<0), the stationary target is an insertion, and flow proceeds to block 1206. Otherwise, flow proceeds to block 1207.
In block 1206, the stationary target is classified as an insertion.
In block 1207, the target age is compared to the removal time threshold. If the target age is greater than the removal time threshold, flow proceeds to block 1208. Otherwise, flow proceeds to block 1211 and ends.
In block 1208, the difference ΔE is compared to a removal threshold THR. For the formulation here, if ΔE>THR, the stationary target is a removal, and flow proceeds to block 1209. Otherwise, flow proceeds to block 1210.
In block 1209, the stationary target is classified as a removal.
In block 1210, the stationary target cannot be classified as either an insertion or a removal and is, instead, classified as an unknown.
After blocks 1206, 1208, and 1210, the description of the stationary target is sent to the background model local update 38, which modifies the background model 33 to reflect the change caused by the detected stationary target. Even though the stationary target can not be classified as insertion or removal (block 1210), the background model is still updated.
To increase robustness, the edge strengths EB and EF can be determined in blocks 1201 and 1202 over a series of frames and averaged over time.
In block 141, a band of the image is selected. For example, the Y band is selected in a YCrCb image. Other bands, besides the Y band, can be selected. Also, as an option, multiple bands can be selected. In addition, other types of images can also be accommodated with the invention, such as an RGB or a CMYK image.
In block 142, a line is selected across a perimeter pixel Pp and the centroid Pc of the target. In
In block 143, two pixels P1 and P2 on the line are selected at an equivalent+/−distance from the perimeter pixel Pp. In
In block 144, if both distance pixels are inside or outside the target, flow proceeds to block 145. Otherwise, if one distance pixel is inside the target and the other distance pixel is outside the target, flow proceeds to block 146. In
In block 145, if both distance pixels are inside or outside the target, the perimeter pixel is ignored, and flow proceeds to block 147. In
In block 146, a contrast Cp of the perimeter pixel having one distance pixel inside the target and the other distance pixel outside the target is determined based on the intensity of the two distance pixels Ip1 and Ip2 as follows: Cp=|Ip1−Ip2|.
In block 147, if all perimeter pixels were checked, flow proceeds to block 148. Otherwise, flow proceeds to block 142 to continue checking the perimeter pixels.
In block 148, the average contrast is determined over all perimeter pixels for which a contrast Cp was determined in block 146. This average contrast can be used as the edge strengths EB and EF in blocks 1201 and 1202, respectively.
The above discussion for
Further, with the exemplar technique of
In another embodiment of the invention, the detected targets are further monitored to determine if a newly detected target was previously detected by the stationary target detection and classification 37 as a change in the background model. For example, in a surveillance application, it may be of interest to detect when a target entered a scene and then stopped moving (e.g., a car parking) and thereafter to monitor the target (or the area of the scene where the target stopped moving) to determine if and when the target moves again (e.g., a parked car leaving).
The embodiments of the invention can be implemented with a computer system.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should instead be defined only in accordance with the following claims and their equivalents.
Lipton, Alan J., Haering, Niels, Venetianer, Peter L., Zhang, Zhong, Chosak, Andrew J.
Patent | Priority | Assignee | Title |
10043078, | Apr 21 2015 | Placemeter LLC | Virtual turnstile system and method |
10043307, | Apr 17 2015 | Ubicquia IQ LLC | Monitoring parking rule violations |
10096117, | Dec 24 2014 | Canon Kabushiki Kaisha | Video segmentation method |
10110856, | Dec 05 2014 | MOTOROLA SOLUTIONS, INC | Systems and methods for video analysis rules based on map data |
10121079, | May 09 2008 | INTUVISION INC | Video tracking systems and methods employing cognitive vision |
10275658, | Jul 03 2007 | Pivotal Vision, LLC | Motion-validating remote monitoring system |
10380430, | Apr 17 2015 | Ubicquia IQ LLC | User interfaces for parking zone creation |
10380431, | Jun 01 2015 | Placemeter LLC | Systems and methods for processing video streams |
10468065, | Oct 28 2015 | uStudio, Inc | Video frame difference engine |
10564731, | Sep 14 2007 | Meta Platforms, Inc | Processing of gesture-based user interactions using volumetric zones |
10687022, | Dec 05 2014 | MOTOROLA SOLUTIONS, INC | Systems and methods for automated visual surveillance |
10708548, | Dec 05 2014 | MOTOROLA SOLUTIONS, INC | Systems and methods for video analysis rules based on map data |
10726271, | Apr 21 2015 | Placemeter, Inc. | Virtual turnstile system and method |
10735694, | May 30 2014 | Placemeter Inc. | System and method for activity monitoring using video data |
10831278, | Mar 07 2008 | Meta Platforms, Inc | Display with built in 3D sensing capability and gesture control of tv |
10872241, | Apr 17 2015 | Ubicquia IQ LLC | Determining overlap of a parking space by a vehicle |
10880524, | May 30 2014 | Placemeter Inc. | System and method for activity monitoring using video data |
10902282, | Sep 19 2012 | Placemeter Inc. | System and method for processing image data |
10990189, | Sep 14 2007 | Meta Platforms, Inc | Processing of gesture-based user interaction using volumetric zones |
10997428, | Jun 01 2015 | Placemeter Inc. | Automated detection of building entrances |
11100335, | Mar 23 2016 | Placemeter, Inc. | Method for queue time estimation |
11126861, | Dec 14 2018 | Digimarc Corporation | Ambient inventorying arrangements |
11138442, | Jun 01 2015 | Placemeter, Inc. | Robust, adaptive and efficient object detection, classification and tracking |
11312594, | Nov 09 2018 | Otis Elevator Company | Conveyance system video analytics |
11328515, | Apr 17 2015 | Ubicquia IQ LLC | Determining overlap of a parking space by a vehicle |
11334751, | Apr 21 2015 | Placemeter Inc. | Systems and methods for processing video data for activity monitoring |
11600072, | Dec 12 2018 | MOTOROLA SOLUTIONS, INC | Object left behind detection |
7369682, | Jul 09 2004 | HONDA MOTOR CO , LTD | Adaptive discriminative generative model and application to visual tracking |
7412089, | May 23 2005 | Nextcode Corporation | Efficient finder patterns and methods for application to 2D machine vision problems |
7463754, | Nov 13 2003 | HONDA MOTOR CO | Adaptive probabilistic visual tracking with incremental subspace update |
7536032, | Oct 24 2003 | Microsoft Technology Licensing, LLC | Method and system for processing captured image information in an interactive video display system |
7623674, | Nov 05 2003 | Cognex Technology and Investment LLC | Method and system for enhanced portal security through stereoscopy |
7639841, | Dec 21 2004 | Siemens Corporation | System and method for on-road detection of a vehicle using knowledge fusion |
7650011, | Jul 09 2004 | HONDA MOTOR CO , LTD | Visual tracking using incremental fisher discriminant analysis |
7664292, | Mar 31 2004 | ENVYSION, INC | Monitoring an output from a camera |
7668371, | Jan 13 2005 | International Business Machines Corporation | System and method for adaptively separating foreground from arbitrary background in presentations |
7680323, | Apr 29 2000 | Cognex Corporation | Method and apparatus for three-dimensional object segmentation |
7688997, | Nov 21 2001 | iOmniscient Pty Ltd | Non-motion detection |
7710391, | May 28 2002 | Microsoft Technology Licensing, LLC | Processing an image utilizing a spatially varying pattern |
7801330, | Jun 24 2005 | MOTOROLA SOLUTIONS, INC | Target detection and tracking from video streams |
7809167, | Oct 24 2003 | Microsoft Technology Licensing, LLC | Method and system for processing captured image information in an interactive video display system |
7822275, | Jun 04 2007 | MOTOROLA SOLUTIONS, INC | Method for detecting water regions in video |
7825954, | May 31 2005 | MOTOROLA SOLUTIONS, INC | Multi-state target tracking |
7834846, | Jun 05 2001 | Microsoft Technology Licensing, LLC | Interactive video display system |
7920718, | Sep 05 2002 | Cognex Corporation | Multi-zone passageway monitoring system and method |
7949150, | Apr 02 2007 | MOTOROLA SOLUTIONS, INC | Automatic camera calibration and geo-registration using objects that provide positional information |
8035612, | May 28 2002 | Microsoft Technology Licensing, LLC | Self-contained interactive video display system |
8035614, | May 28 2002 | Microsoft Technology Licensing, LLC | Interactive video window |
8035624, | May 28 2002 | Microsoft Technology Licensing, LLC | Computer vision based touch screen |
8081822, | May 31 2005 | INTELLECTUAL VENTURES ASSETS 7, LLC | System and method for sensing a feature of an object in an interactive video display |
8098277, | Dec 02 2005 | Intellectual Ventures Holding 81 LLC | Systems and methods for communication between a reactive video system and a mobile communication device |
8111904, | Oct 07 2005 | Cognex Technology and Investment LLC | Methods and apparatus for practical 3D vision system |
8126260, | May 29 2007 | Cognex Corporation | System and method for locating a three-dimensional object using machine vision |
8150103, | Sep 04 2007 | MOTOROLA SOLUTIONS, INC | Background modeling with feature blocks |
8150155, | Feb 07 2006 | Qualcomm Incorporated | Multi-mode region-of-interest video object segmentation |
8159682, | Nov 12 2007 | AI-CORE TECHNOLOGIES, LLC | Lens system |
8199108, | Dec 13 2002 | Microsoft Technology Licensing, LLC | Interactive directed light/sound system |
8218864, | Feb 25 2009 | MSI COMPUTER SHENZHEN CO , LTD | Method and device for maintaining image background by multiple Gaussian models |
8230367, | Sep 14 2007 | Meta Platforms, Inc | Gesture-based user interactions with status indicators for acceptable inputs in volumetric zones |
8243991, | Jun 17 2008 | SRI International | Method and apparatus for detecting targets through temporal scene changes |
8259163, | Mar 07 2008 | Meta Platforms, Inc | Display with built in 3D sensing |
8265349, | Feb 07 2006 | Qualcomm Incorporated | Intra-mode region-of-interest video object segmentation |
8265392, | Feb 07 2006 | Qualcomm Incorporated | Inter-mode region-of-interest video object segmentation |
8270668, | Jun 01 2006 | MICROTRAC RETSCH GMBH | Method and apparatus for analyzing objects contained in a flow or product sample where both individual and common data for the objects are calculated and monitored |
8300042, | Jun 05 2001 | Microsoft Technology Licensing, LLC | Interactive video display system using strobed light |
8305440, | Feb 28 2008 | Canon Kabushiki Kaisha | Stationary object detection using multi-mode background modelling |
8326084, | Nov 05 2003 | Cognex Technology and Investment LLC | System and method of auto-exposure control for image acquisition hardware using three dimensional information |
8334906, | May 24 2006 | MOTOROLA SOLUTIONS, INC | Video imagery-based sensor |
8422791, | Nov 24 2008 | Canon Kabushiki Kaisha | Detection of abandoned and vanished objects |
8456528, | Mar 20 2007 | KYNDRYL, INC | System and method for managing the interaction of object detection and tracking systems in video surveillance |
8487866, | Oct 24 2003 | Intellectual Ventures Holding 81 LLC | Method and system for managing an interactive video display system |
8542872, | Jul 03 2007 | Pivotal Vision, LLC | Motion-validating remote monitoring system |
8558892, | Jan 20 2004 | Honeywell International Inc | Object blocking zones to reduce false alarms in video surveillance systems |
8595218, | Jun 12 2008 | Intellectual Ventures Holding 81 LLC | Interactive display management systems and methods |
8605945, | Feb 07 2006 | Qualcomm, Incorporated | Multi-mode region-of-interest video object segmentation |
8737745, | Mar 27 2012 | CITIBANK, N A | Scene-based people metering for audience measurement |
8810803, | Nov 12 2007 | AI-CORE TECHNOLOGIES, LLC | Lens system |
9019381, | May 09 2008 | INTUVISION INC | Video tracking systems and methods employing cognitive vision |
9058058, | Sep 14 2007 | Meta Platforms, Inc | Processing of gesture-based user interactions activation levels |
9128519, | Apr 15 2005 | Intellectual Ventures Holding 81 LLC | Method and system for state-based control of objects |
9185456, | Mar 27 2012 | CITIBANK, N A | Hybrid active and passive people metering for audience measurement |
9213781, | Sep 19 2012 | Placemeter LLC | System and method for processing image data |
9224048, | Mar 27 2012 | CITIBANK, N A | Scene-based people metering for audience measurement |
9229107, | Nov 12 2007 | AI-CORE TECHNOLOGIES, LLC | Lens system |
9245187, | Jul 07 2014 | ROADMAP GEO LP III, AS ADMINISTRATIVE AGENT | System and method for robust motion detection |
9245207, | Sep 21 2012 | Canon Kabushiki Kaisha | Differentiating abandoned and removed object using temporal edge information |
9247155, | Dec 21 2011 | Canon Kabushiki Kaisha | Method and system for robust scene modelling in an image sequence |
9247236, | Mar 07 2008 | Meta Platforms, Inc | Display with built in 3D sensing capability and gesture control of TV |
9286518, | Jul 03 2007 | Pivotal Vision, LLC | Motion-validating remote monitoring system |
9390333, | Jul 07 2014 | ROADMAP GEO LP III, AS ADMINISTRATIVE AGENT | System and method for robust motion detection |
9424655, | May 10 2010 | Canon Kabushiki Kaisha | Image processing apparatus, method, and storage medium for analyzing changes in video |
9591267, | May 24 2006 | MOTOROLA SOLUTIONS, INC | Video imagery-based sensor |
9667920, | Mar 27 2012 | CITIBANK, N A | Hybrid active and passive people metering for audience measurement |
9760792, | Mar 20 2015 | NETRA, INC. | Object detection and classification |
9811166, | Sep 14 2007 | Meta Platforms, Inc | Processing of gesture-based user interactions using volumetric zones |
9911065, | Sep 19 2012 | Placemeter LLC | System and method for processing image data |
9922271, | Mar 20 2015 | NETRA, INC | Object detection and classification |
9934447, | Mar 20 2015 | NETRA, INC. | Object detection and classification |
9940524, | Apr 17 2015 | Ubicquia IQ LLC | Identifying and tracking vehicles in motion |
Patent | Priority | Assignee | Title |
5812787, | Jun 30 1995 | Intel Corporation | Video coding scheme with foreground/background separation |
6078619, | Sep 12 1996 | HANGER SOLUTIONS, LLC | Object-oriented video system |
6211913, | Mar 22 1999 | SRI International | Apparatus and method for removing blank areas from real-time stabilized images by inserting background information |
6292575, | Jul 20 1998 | L-1 IDENTITY SOLUTIONS OPERATING COMPANY, INC | Real-time facial recognition and verification system |
6424370, | Oct 08 1999 | Texas Instruments Incorporated | Motion based event detection system and method |
6542621, | Aug 31 1998 | Texas Instruments Incorporated | Method of dealing with occlusion when tracking multiple objects and people in video sequences |
6570608, | Sep 30 1998 | Texas Instruments Incorporated | System and method for detecting interactions of people and vehicles |
6583403, | Oct 26 1999 | Honda Giken Kogyo Kabushiki Kaisha | Object detecting device, and travel safety system for vehicle |
6661918, | Dec 04 1998 | Intel Corporation | Background estimation and segmentation based on range and color |
6674877, | Feb 03 2000 | Microsoft Technology Licensing, LLC | System and method for visually tracking occluded objects in real time |
6731799, | Jun 01 2000 | University of Washington | Object segmentation with background extraction and moving boundary techniques |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 27 2003 | CHOSAK, ANDREW J | DIAMONDBACK VISION, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013717 | /0245 | |
Jan 27 2003 | ZHANG, ZHONG | DIAMONDBACK VISION, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013717 | /0245 | |
Jan 27 2003 | HAERING, NIELS | DIAMONDBACK VISION, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013717 | /0245 | |
Jan 27 2003 | LIPTON, ALAN J | DIAMONDBACK VISION, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013717 | /0245 | |
Jan 27 2003 | VENETIANER, PETER L | DIAMONDBACK VISION, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013717 | /0245 | |
Jan 30 2003 | Objectvideo, Inc. | (assignment on the face of the patent) | / | |||
Nov 19 2003 | DIAMONDBACK VISION, INC | ObjectVideo, Inc | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 014743 | /0573 | |
Feb 08 2008 | ObjectVideo, Inc | RJF OV, LLC | SECURITY AGREEMENT | 020478 | /0711 | |
Oct 16 2008 | ObjectVideo, Inc | RJF OV, LLC | GRANT OF SECURITY INTEREST IN PATENT RIGHTS | 021744 | /0464 | |
Dec 30 2010 | RJF OV, LLC | ObjectVideo, Inc | RELEASE OF SECURITY AGREEMENT INTEREST | 027810 | /0117 | |
Dec 17 2014 | ObjectVideo, Inc | AVIGILON FORTRESS CORPORATION | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034552 | /0112 | |
Apr 07 2015 | AVIGILON FORTRESS CORPORATION | HSBC BANK CANADA | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 035387 | /0569 | |
Aug 13 2018 | HSBC BANK CANADA | AVIGILON FORTRESS CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 047032 | /0063 | |
Apr 11 2022 | AVIGILON FORTRESS CORPORATION | MOTOROLA SOLUTIONS, INC | NUNC PRO TUNC ASSIGNMENT SEE DOCUMENT FOR DETAILS | 061746 | /0897 |
Date | Maintenance Fee Events |
Jul 22 2009 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
May 17 2010 | ASPN: Payor Number Assigned. |
Jul 07 2011 | STOL: Pat Hldr no Longer Claims Small Ent Stat |
Jul 17 2013 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Aug 14 2017 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 14 2009 | 4 years fee payment window open |
Aug 14 2009 | 6 months grace period start (w surcharge) |
Feb 14 2010 | patent expiry (for year 4) |
Feb 14 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 14 2013 | 8 years fee payment window open |
Aug 14 2013 | 6 months grace period start (w surcharge) |
Feb 14 2014 | patent expiry (for year 8) |
Feb 14 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 14 2017 | 12 years fee payment window open |
Aug 14 2017 | 6 months grace period start (w surcharge) |
Feb 14 2018 | patent expiry (for year 12) |
Feb 14 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |