Disclosed embodiments relate to video monitoring and interpretation by software-aided methodology, and more particularly, to a system and method for improving the utility of video images in systems handling video, such as, for example, for system-interpreted analysis of video images for security purposes.
Video analytics is an industry term for the automated extraction of information from video. Video analytic systems can include a combination of imaging, computer vision and/or machine intelligence applied to real-world problems. Its utility spans several industry segments including video surveillance, retail, and automation. Video analytics is distinct from machine vision, machine inspection, and automotive vision. Known applications of video analytics can include, for example, detecting suspicious objects and activities for improved security, license plate recognition, traffic analysis for intelligent transportation systems, and customer counting and queue management for retail applications. Advantages of automated video surveillance systems include increased effectiveness and lower cost compared to human-operated systems.
Some known surveillance systems can accurately detect changes in a scene. Changes in a scene lead to changes of pixel values in a camera image. Scene changes can be induced by global or local illumination changes (e.g. sun light, car headlights, street lights), by environmental motion (e.g. blowing debris, shaking trees, running water), or by moving objects (e.g. moving people, cars, and pets). One of the challenging tasks of a surveillance system is to discriminate changes caused by moving objects from illumination changes.
Changes in pixel values for a given image can be computed relative to pixel values in a reference image of the same scene. A reference image, which can be referred to as a background image, generally depicts motionless objects (e.g. buildings, trees, light posts, roads, and parked cars) in a scene. To discriminate changes caused by illumination and environmental conditions (also called clutter motion) from changes caused by moving foreground objects of interest (e.g., moving objects), one known technique assumes that a small pixel and/or illumination change in an image corresponds to static objects, and a large pixel and/or illumination change in an image corresponds to moving objects. A pixel and/or illumination difference threshold can be used to differentiate static objects from moving objects. In a given scene, pixel differences below a threshold can be classified as static objects and pixel differences above the threshold can be classified as moving objects. Defining a threshold that accurately separates moving objects from clutter and background motion can be difficult. The more accurate the threshold, the greater the number of pixels corresponding to moving objects can be detected. Such an assumption is often violated by drastic and/or non-uniform illumination changes, such as regions of brightness and regions having shadows resulting from, for example, headlights or clouds, respectively. Pixel differences associated with such regions can be large, and thus, the regions are classified as moving objects rather than background. In addition to illumination change, large pixel differences can be associated with clutter motion (e.g. moving leaves, moving water, fountains). Pixels corresponding to clutter motion often do not correspond to objects of surveillance interest. As such, it is desirable to exclude such regions from the moving object detection.
Known systems can group pixels corresponding to moving objects into blobs for analysis. During blob analysis, some blobs can be rejected from consideration as moving objects while other blobs can be passed to high level post processing (e.g. recognition, classification). By employing moving object detection, a surveillance system reacts immediately with a lesser chance for a false alarm (i.e. the surveillance system almost instantly detects a moving object and quickly analyzes its behavior).
The performance of the background subtraction algorithm can bound the performance and capabilities of a surveillance system because downstream processing such as recognition and classification depend on the quality and accuracy of blobs. Therefore, there is a constant demand for improving the performance of the background subtraction algorithm. Background subtraction is a key step for moving object detection in the presence of either static or dynamic backgrounds. To understand what occurs in a scene, the background subtraction algorithm can be used jointly with object tracking, recognition, classification, behavior analysis, and statistical data collection. Background subtraction is suitable for any application in which background removal is a guide for both reducing the search space and detecting regions of interest for further processing.
Many known approaches to background subtraction include modeling the color value of each background pixel by a Gaussian I(x,y)≈N(μ(x,y),Σ(x,y)). The parameters of the Gaussian distribution are determined from a sequence of consecutive frames. Once the background model is built, a likelihood function is used to decide whether a pixel value of a current frame corresponds to the Gaussian model, N(μ(x,y),Σ(x,y)).
Another approach uses a mixture of Gaussians to model color pixel values in outdoor scenes. Another approach uses not only color information but spatial information as well. That is, each pixel of a current frame is matched to both the corresponding pixel in the background image and pixels neighboring the corresponding pixel. Another approach uses a three-component system: the first component predicts pixel value in a current frame, the second component fills in homogeneous regions of foreground objects, and the third component detects sudden global changes. Yet another approach aggregates the color and texture information for small image blocks.
Existing techniques use a mathematical model for the background or foreground blobs using scene statistics. However, they fail to address some challenges that occur in real-world usage. In many scenes, the assumption that a pixel value can be modeled by a Gaussian distribution is only true part of the time, which makes it difficult to build a robust algorithm. Additionally, the temporal updating of the background image or model is an unsolved issue that can instantly and drastically decrease the performance of the whole system. Accordingly, improvement is still required to complement existing algorithms. Some drawbacks of various known approaches are identified below in connection with real-world situations.
Pixel Difference Thresholding
The illumination of outdoor scenes cannot easily be controlled. Accordingly, the pixel difference between an image and its corresponding background image cannot be modeled robustly (i.e. the values of the background image can fluctuate drastically, chaotically and non-uniformly). Shadows, glares, reflections and the nature of object surfaces are examples of factors that can cause unpredictable behavior of pixel values and, as such, the pixel difference. Observing that pixel differences corresponding to groups of pixels behave more predictably and/or less chaotically, models were developed to calculate pixel differences by considering groups of pixels around a particular pixel. Such models assume that a pixel difference calculated using spatially close pixels behave more predictably than differences calculated using individual pixels. Although spatial modeling of a pixel difference provides some improvement, clutter motion (e.g., moving leaves on trees) remains a problem when values of the grouped pixels change both simultaneously and unpredictably. As a consequence, clutter motion regions can be identified as moving objects and can cause a surveillance system to generate false alarms.
Clutter Motion
One known solution for eliminating illumination changes caused by clutter motion regions is based on complex modeling of a background image. Multiple models, rather than a single model, can be used. Complex modeling assumes that the pixel value may fluctuate around several average values. Theoretically, the assumption is quite valid and indeed imitates real life scenarios. One or more thresholds can be applied to the difference between current and average pixel values. However, complex modeling can be sensitive to weather conditions (e.g. snow, rain, wind gusts), and the required processing power makes its implementation impractical due to the need for continuous moving object detection at a high frame rate. Complex modeling relies on continuous moving object detection and the accurate updating of individual models, which depends on the natural environment and specifics of the surveillance scene. Accordingly, statistics of a pixel model of the background image are updated after each input frame has been processed. An error in updating the background image or model directly affects the pixel difference threshold, and problems related to illumination change can accordingly reappear. One solution is to manually mask out the clutter motion regions, which results in the system failing to detect objects in the masked-out regions. However, artifacts of video compression (e.g., blockiness and ringing) can raise problems similar to those caused by clutter motion regions. Hence, manual masking is frequently not an acceptable solution.
Choosing a Threshold
Applying thresholds to pixel differences between an image and a corresponding background discards pixels assumed to be in the background. Once the pixels are discarded from the process (i.e., pixels are classified as background pixels), it can be difficult to re-classify them as object pixels. Moreover, estimating and updating the threshold value can be difficult. In some systems, for example, thresholds depend on the specifics of the surveillance scene, and hence, require tuning during the installation phase. Additionally, different thresholds can be used for different parts of the scene. Such tuning increases the cost of installation without guaranteeing high performance in an uncontrolled outdoor environment. Tuning may require a human to manually re-tune the system under unpredictable weather conditions. The process of choosing thresholds is unpredictable and depends strongly on aspects of background modeling. In systems based on Gaussian modeling, the threshold is uniform and constant for the entire scene. However, in some outdoor scenes each pixel cannot be modeled and updated using the same parametric model.
There is therefore a need to improve the performance of background subtraction so that it is robust to global and local illumination change, clutter motion, and is able to reliably update the background image/model.
A foreground object's motion can occlude edges corresponding to background objects and can induce motion of the edges corresponding to foreground objects. These edges provide strong cues for the detection of foreground objects. Human object perception analyzes object edges to determine the object's contour, location, size and three-dimensional (3D) orientation. Once the object contours are analyzed, inner object edges can be analyzed to assist in understanding the object's structure. Similar to human perception, a surveillance system can prioritize the analysis of an object's edges. As such, the surveillance system can analyze edge information first and then analyze the finer grained appearance inside the object boundaries.
The proposed approach utilizes techniques for non-linear weighting, edge detection and automatic threshold updating. Non-linear weighting facilitates the discrimination of pixel differences owing to illumination from changes induced by object motion. Edge detection is performed by a modified Laplacian of Gaussian filter, which preserves the strength of edges. Any edge detection algorithm that does not convert a grayscale (or color) image into a binary image but instead preserves the edge strength maybe used in the proposed approach. Such an edge detection algorithm can be used to localize motion in the image. Automatic threshold updating can keep the background current and can react quickly to localized illumination changes in both space and time.
Disclosed embodiments for moving object detection can include separating true and false moving object detections, edge detection, and the automatic updating of thresholds. In addition to Gaussian smoothing, disclosed embodiments can include automatic non-linear weighting of pixel differences. Non-linear weighting does not depend on the specifics of a surveillance scene. Additionally, non-linear weighting significantly separates pixel differences corresponding to static objects and pixel differences induced by moving objects. Benefits of non-linear weighting include suppressing noise with a large standard of deviation, simplifying the choice of threshold values, and allowing longer periods of time between the updating of pixel values of the background image. A standard technique, based on a Laplacian of Gaussian (LoG) filter to detect edges can be modified such that the strength of edges is preserved in a non-binary image. Non-linear weighting together with the modified edge detection technique can accurately discriminate edges of moving objects from edges induced by illumination change, clutter motion, and video compression artifacts. Further, two thresholds can be used for each edge image of pixel differences to increase the accuracy in moving object detection. These threshold values can be updated automatically. The threshold updating mechanism does not depend on specifics of a surveillance scene, time of day, or weather conditions and is directly controlled by a pixel difference. The edge detection of moving objects allows preservation of pixels corresponding to low illumination change and eliminates pixels corresponding to high illumination change.
Disclosed embodiments may be used in systems and schemes for video handling, motion segmentation, moving object detection, moving object classification, moving object recognition, analysis of changes in video or still images, understanding a surveillance scene or regions of interest in a video or sequence of still images, video synchronization based on detection of similar motion or changes in different videos or sequences of images. Disclosed embodiments may be used for improving the utility of video images in various kinds of systems that use video, such as, for example, systems-interpreted analysis of video images for security purposes, object detection, classification and recognition, analysis of changes in the video or still images, understanding surveillance scenes or regions of interest in video or sequences of images, video synchronization based on motion or detecting similar changes in video captured by different cameras. For example, in the PERCEPTRAK system, a video security system, video scenes can be captured and then segmented according to the presence of objects or subjects of interest, such as persons or vehicles.
As used herein, foreground objects can be any structure or any portion of a structure of a target of interest in a scene. In some embodiments, for example, a foreground object can be a human, an animal, a human-made good, a structure, a vehicle and/or the like.
As shown in
In step 205 a current frame or image is obtained and smoothed. The current frame can be smoothed with the Gaussian kernel with an appropriate value of sigma, s2. In some embodiments, the value of sigma s2 can be the same as the value of sigma s1. In other embodiments, sigma s2 can have a value different from the value of sigma s1. The smoothed image can be denoted as CurImSmoothed. An example of a smoothed current image is shown in
Next, in step 210 of
In step 215 of
In step 220 of
AAID(i,j)=AID_smoothed—1(i,j)*AID_smoothed2(i,j),
In general, the AAID can be obtained using any non-linear function:
AAID(i,j)=ƒ(AID(i,j)), where ƒ is a non-linear function.
Computing the AAID transforms the AID into a different domain, in which the high background differences corresponding to false motion detections are better separated from high background differences corresponding to real objects. Although computing AID_smoothed1 and AID_smoothed2 improves the AAID, in other embodiments, the AAID image can be defined directly using values of the AID.
Next, in step 225 of
The DeltaDif buffer can also be used in updating a threshold in step 245, as described in further detail herein. In some embodiments, the background can be updated during a period of little activity when the system has a high confidence that the pixels are background pixels. Such background updating can be a higher priority task than an immediate reaction to a background change.
In other embodiments, any other edge detection method, which does not produce a resulting binary image, applied to non-linearly weighted image can be used instead of a Laplacian of Gaussian-based edge detector.
An example of the convolution of step 225 is illustrated in
An example of the effect of the convolution is shown in
In general, real moving objects define long, solid, bold and/or strong edges, while false detections define short, dashed, and/or weak edges (see e.g.,
The low threshold, LowThreshold, preserves the true changes in the background but does not eliminate all false deviations. The high threshold, HighThreshold, also preserves the true changes while completely or significantly eliminating false changes. Pixels that pass the high threshold test indicate true foreground blobs that also passed the low threshold test. The pixels passed through LowThreshold are stored in LoG_Im_LThresh, and pixels passed through HighThreshold are stored in LoG_Im_HThresh. Similarly stated, pixels having a value greater than or equal to HighThreshold are stored in LoG_Im_HThresh while pixels having a value less than HighThreshold are not stored in LoG_Im_HThresh (e.g., their pixel locations are set to zero). Pixels having a value less than HighThreshold can be said to be removed from LoG_Im_HThresh. Similarly, pixels having a value greater than or equal to LowThreshold are stored in LoG_Im_LThresh while pixels having a value less than LowThreshold are not stored in LoG_Im_LThresh (e.g., their pixel locations are set to zero). Pixels having a value less than LowThreshold can be said to be removed from LoG_Im_LThresh. This two-component step removes noise in moving object detections. An example of the effect of the thresholding is illustrated in
Next, in step 235 of
Additionally, the value of any pixel connected and/or contiguous to the pixels in both LoG_Im_HThresh and LoG_Im_LThresh (i.e., those pixels initially classified as foreground pixels) are preserved. Similarly stated, if a pixel location is initially classified as a foreground pixel, any pixel within LoG_Im_LThresh and contiguous to the pixel location via at least one other pixel in LoG_Im_LThresh is classified as a foreground object. For example, if a pixel at a first pixel location having coordinates (row 1, column 1) is in both LoG_Im_HThresh and LoG_Im_LThresh (i.e., is initially classified as a foreground pixel), a pixel at a second pixel location having coordinates (row 1, column 4) and not in LoG_Im_HThresh but in LoG_Im_LThresh can be classified as a foreground object if a pixel at (row 1, column 2) and a pixel at (row 1, column 3) are both in LoG_Im_LThresh. The pixel at the second pixel location can be said to be contiguous and/or connected to the pixel at the first pixel location. In other embodiments, pixels in LoG_Im_LThresh but not in LoG_Im_HThresh within a given distance (e.g., a certain number of pixels) of a pixel in both LoG_Im_HThresh and LoG_Im_LThresh can be classified as foreground pixels even if they are not contiguous with the pixel in both LoG_Im_HThresh and LoG_Im_LThresh.
Connected and/or contiguous pixels in LoG_Im_LThresh and LoG_Im_HThresh can be grouped into blobs. Similarly stated, pixels from LoG_Im_HThresh vote for foreground blobs in LoG_Im_LThresh. Any blob in LoG_Im_LThresh, which has at least one vote (e.g., at least one pixel in LoG_Im_HThresh), will be preserved as a foreground blob. These foreground pixels create a new image, LoG_Im_Thresh. In other words, a single pixel in LoG_Im_HThresh is enough to classify an entire blob in LoG_Im_LThresh as a foreground blob. This is illustrated in
Next, in step 240 of
In step 245 of
TmpVal[i][j]=max(InitialHighThresholdValue,adaptation_rate*AID_smoothed2[i][j]) Equation 2
HighThreshold=min(HighThreshold+HT_Delta,TmpVal[i][j],MaxHighThresholdValue) Equation 3
For each pixel at index [i][j], a temporary value TmpVal[i][j] is computed based on Equation 2. InitialHighThresholdValue is a fixed number for all pixels, for all scenes and adaptation_rate is also a fixed value that controls the speed of change of the HighThreshold. A new HighThreshold is computed next by Equation 3, which is the minimum of three numbers. These are a) the current HighThreshold plus HT_Delta, where HT_Delta is the maximum allowed change to the HighThreshold per frame, b) TmpVal [i][j] computed earlier by Equation 2 and c) a fixed number MaxHighThresholdValue.
The value for MaxHighThreshold can be set sufficiently high such that no non-moving object will be detected. The above two rules gradually increase the value of HighThreshold, and immediately reset the value to InitialHighThresholdValue, if the pixel difference between the background image and the current image is below InitialHighThresholdValue. In other embodiments the HighThreshold value can be reset to InitialHighThresholdValue gradually over multiple frames. This step is automatic and expands the application of the disclosed method to different environmental conditions.
In other embodiments, both the LowThreshold and the HighThreshold can be updated. By updating both the LowThreshold and the HighThreshold at each input frame, less frequent background image updates can be used. In some embodiments, for example, the background image can be updated approximately every 2500 frames under non-global illumination change (rain, snow, moving tree branches, moving shadows, etc.) and every 10000 frames under smooth global illumination change under 30 frames per second (fps) video capturing speed. In such embodiments, no feedback from a high level post background difference processing module is used (e.g., tracking, scene learning and understanding, analyzing structure of the background scene, moving object classification, etc.). Accordingly, the method acts as a standalone background subtraction method.
Once SegImBin (
For each foreground pixel of SegImBin, the pixel counter of HistoryThreshUpdate is reset. Additionally, for each background pixel, the pixel counter of HistoryThreshUpdate is incremented by one or any other suitable amount. Pixels whose counter is greater than or equal to NumDifFrames are classified as BckgrAdjPixels. HistoryThreshUpdate directly controls a minimum waiting period (e.g., a number of frames, an amount of time, etc.) for maintaining confidence that a pixel should be classified as a background pixel.
For BckgrAdjPixels pixels, LoThreshBase and HiThreshBase are updated using the following equations:
LoThreshBase(BckgrAdjPixels)=median(DeltaDif(BckgrAdjPixels))+lo_delta Equation 4
HiThreshBase(BckgrAdjPixels)=median(DeltaDif(BckgrAdjPixels))+hi_delta Equation 5
LoThreshBase and HiThreshBase define the lowest possible values of LowThreshold and HighThreshold, respectively, at which noise can be separated from real moving objects. The LoThreshBase and HiThreshBase are the default values used for optimum detection of real moving objects. Further reducing these values can cause more noise and false detections.
For pixels whose values are in ForegroundMask, the current low and high threshold (LoThreshCur and HiThresholdCur), are set to the corresponding values in LoThreshBase and HiThreshBase, respectively. Thus, for a portion of the image in which a moving object was detected, the threshold values (LoThreshCur and HiThresholdCur) are reset to the base values (LoThreshBase and HiThreshBase) to provide optimum moving object segmentation.
For BckgrAdjPixels pixels, LoThreshCur and HiThreshCur can be updated using the following equations:
LoThreshCur(BckgrAdjPixels)=min(max(LoThreshCur(BckgrAdjPixels)−lo_delta_decr,DeltaDif(BckgrAdjPixels)+lo_delta_incr),MaxLoThresh(BckgrAdjPixels)) Equation 6
HiThreshCur(BckgrAdjPixels)=min(max(HiThreshCur(BckgrAdjPixels)−hi_delta_decr,max(DeltaDif(BckgrAdjPixels))+hi_delta_incr),MaxHiThresh(BckgrAdjPixels)) Equation 7
Accordingly, for pixels, detected as background pixels, the current threshold values are either increased or decreased, according to the current background image difference. Thus, rules gradually increase or decrease the current threshold values. Gradual increases and/or decreases of the low threshold are controlled by lo_delta_incr and lo_delta_decr, respectively. Similarly, gradual increases and/or decreases of the high threshold are controlled by hi_delta_incr and hi_delta_decr, respectively. MaxLoThresh and MaxHiThresh are maximum values for the LoThreshCur and HiThreshCur, respectively. Similarly stated, as depicted in Equations 6 and 7, LoThreshCur and HiThreshCur will not have values greater than MaxLoThresh and MaxHiThresh, respectively.
In some embodiments, updating the high threshold and low threshold is fully automatic and expands the application of the background subtraction method to various environmental conditions. The values of the low and high threshold depend on image brightness and background difference of each pixel.
The following examples illustrate the improved performance of the disclosed method as compared to the improved GMM (Gaussian Mixture Models) technique described in Z. Zivkovic, Improved adaptive Gaussian mixture model for background subtraction. International Conference Pattern Recognition, UK, August, 2004 and Z. Zivkovic and F. van der Heijden, Efficient Adaptive Density Estimation per Image Pixel for the Task of Background Subtraction. Pattern Recognition Letters, vol. 27, no. 7, pages 773-780, 2006, the disclosure of which is incorporated herein by reference.
The challenge presented by the examples below is to detect moving objects with a minimum number of false foreground detections under different illumination and weather conditions without any manual system tuning. In other words, for all tests, all parameters of both algorithms were fixed. Frequent updating of the background model in GMM reduces false foreground detection. However, the frequent updating causes holes inside of moving objects and makes it difficult to detect objects that remained in the scene. In the GMM method, a sharp and sudden change in the background is quickly dissolved into a new background but causes an increase in false foreground detections.
Four examples are illustrated, by
In the first example, illustrated in
In the second example, illustrated in
In the third example, illustrated in
In the fourth example, illustrated in
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Where methods described above indicate certain events occurring in certain order, the ordering of certain events may be modified. Additionally, certain of the events may be performed concurrently in a parallel process when possible, as well as performed sequentially as described above.
Some embodiments described herein relate to a computer storage product with a computer-readable medium (also can be referred to as a processor-readable medium) having instructions or computer code thereon for performing various computer-implemented operations. The media and computer code (also can be referred to as code) may be those designed and constructed for the specific purpose or purposes. Examples of computer-readable media include, but are not limited to: magnetic storage media such as hard disks, floppy disks, and magnetic tape; optical storage media such as Compact Disc/Digital Video Discs (CD/DVDs), Compact Disc-Read Only Memories (CD-ROMs), and holographic devices; magneto-optical storage media such as optical disks; carrier wave signal processing modules; and hardware devices that are specially configured to store and execute program code, such as Application-Specific Integrated Circuits (ASICs), Programmable Logic Devices (PLDs), and Read-Only Memory (ROM) and Random-Access Memory (RAM) devices.
Examples of computer code include, but are not limited to, micro-code or micro-instructions, machine instructions, such as produced by a compiler, code used to produce a web service, and files containing higher-level instructions that are executed by a computer using an interpreter. For example, embodiments may be implemented using Java, C++, or other programming languages (e.g., object-oriented programming languages) and development tools. Additional examples of computer code include, but are not limited to, control signals, encrypted code, and compressed code.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, not limitation, and various changes in form and details may be made. Any portion of the apparatus and/or methods described herein may be combined in any combination, except mutually exclusive combinations. The embodiments described herein can include various combinations and/or sub-combinations of the functions, components and/or features of the different embodiments described.
This application claims priority to and the benefit of U.S. Provisional Patent Application Ser. No. 61/171,710, filed Apr. 22, 2009, and entitled “System and Method for Motion Detection in a Surveillance Video,” which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4081830 | Mick et al. | Mar 1978 | A |
4623837 | Efron et al. | Nov 1986 | A |
4679077 | Yuasa et al. | Jul 1987 | A |
4737847 | Araki et al. | Apr 1988 | A |
4774570 | Araki | Sep 1988 | A |
4777526 | Saitoh et al. | Oct 1988 | A |
4814869 | Oliver et al. | Mar 1989 | A |
4857912 | Everett, Jr. et al. | Aug 1989 | A |
4905296 | Nishihara | Feb 1990 | A |
4943854 | Shiota et al. | Jul 1990 | A |
5033015 | Zwirn | Jul 1991 | A |
5142367 | Hong | Aug 1992 | A |
5142592 | Moler | Aug 1992 | A |
5161107 | Mayeaux et al. | Nov 1992 | A |
5272527 | Watanabe | Dec 1993 | A |
5289275 | Ishii et al. | Feb 1994 | A |
5455561 | Brown | Oct 1995 | A |
5486819 | Horie | Jan 1996 | A |
5537483 | Stapleton et al. | Jul 1996 | A |
5596364 | Wolf et al. | Jan 1997 | A |
5600574 | Reitan | Feb 1997 | A |
5602585 | Dickinson et al. | Feb 1997 | A |
5666157 | Aviv | Sep 1997 | A |
5671009 | Chun | Sep 1997 | A |
5689443 | Ramanathan | Nov 1997 | A |
5706367 | Kondo | Jan 1998 | A |
5708423 | Ghaffari et al. | Jan 1998 | A |
5712830 | Ross et al. | Jan 1998 | A |
5731832 | Ng | Mar 1998 | A |
5734740 | Benn et al. | Mar 1998 | A |
5751844 | Bolin et al. | May 1998 | A |
5754225 | Naganuma | May 1998 | A |
5761326 | Brady et al. | Jun 1998 | A |
5764803 | Jacquin | Jun 1998 | A |
5801618 | Jenkins | Sep 1998 | A |
5809161 | Auty et al. | Sep 1998 | A |
5827942 | Madsen et al. | Oct 1998 | A |
5875305 | Winter et al. | Feb 1999 | A |
5880775 | Ross | Mar 1999 | A |
5915044 | Gardos | Jun 1999 | A |
5930379 | Rehg et al. | Jul 1999 | A |
5956424 | Wootton et al. | Sep 1999 | A |
5956716 | Kenner et al. | Sep 1999 | A |
5969755 | Courtney | Oct 1999 | A |
6018303 | Sadeh | Jan 2000 | A |
6031573 | MacCormack et al. | Feb 2000 | A |
6067373 | Ishida et al. | May 2000 | A |
6078619 | Monro | Jun 2000 | A |
6088137 | Tomizawa | Jul 2000 | A |
6097429 | Seeley et al. | Aug 2000 | A |
6104831 | Ruland | Aug 2000 | A |
6137531 | Kanzaki et al. | Oct 2000 | A |
6154133 | Ross et al. | Nov 2000 | A |
6278793 | Gur et al. | Aug 2001 | B1 |
6366701 | Chalom et al. | Apr 2002 | B1 |
6370480 | Gupta et al. | Apr 2002 | B1 |
6377299 | Hamada | Apr 2002 | B1 |
6396961 | Wixson et al. | May 2002 | B1 |
6424370 | Courtney | Jul 2002 | B1 |
6424741 | Shin et al. | Jul 2002 | B1 |
6476858 | Diaz et al. | Nov 2002 | B1 |
6493022 | Ho et al. | Dec 2002 | B1 |
6493023 | Watson | Dec 2002 | B1 |
6493024 | Hartley et al. | Dec 2002 | B1 |
6493041 | Hanko et al. | Dec 2002 | B1 |
6502045 | Biaglotti | Dec 2002 | B1 |
6546120 | Etoh et al. | Apr 2003 | B1 |
6549651 | Xiong et al. | Apr 2003 | B2 |
6577764 | Myler et al. | Jun 2003 | B2 |
6577826 | Misaizu et al. | Jun 2003 | B1 |
6591006 | Niemann | Jul 2003 | B1 |
6597800 | Murray et al. | Jul 2003 | B1 |
6606538 | Ponsot et al. | Aug 2003 | B2 |
6625383 | Wakimoto et al. | Sep 2003 | B1 |
6628323 | Wegmann | Sep 2003 | B1 |
6650774 | Szeliski | Nov 2003 | B1 |
6654483 | Bradski | Nov 2003 | B1 |
6661918 | Gordon et al. | Dec 2003 | B1 |
6687386 | Ito et al. | Feb 2004 | B1 |
6690839 | Ferguson | Feb 2004 | B1 |
6696945 | Venetianer | Feb 2004 | B1 |
6700487 | Lyons | Mar 2004 | B2 |
6707486 | Millet et al. | Mar 2004 | B1 |
6735337 | Lee et al. | May 2004 | B2 |
6751350 | Crinon | Jun 2004 | B2 |
6754372 | Collobert | Jun 2004 | B1 |
6760744 | Halaas et al. | Jul 2004 | B1 |
6816187 | Iwai et al. | Nov 2004 | B1 |
6940998 | Garoutte | Sep 2005 | B2 |
6956599 | Lim et al. | Oct 2005 | B2 |
6975220 | Foodman et al. | Dec 2005 | B1 |
7015806 | Naidoo et al. | Mar 2006 | B2 |
7023453 | Wilkinson | Apr 2006 | B2 |
7038710 | Caviedes | May 2006 | B2 |
7136605 | Tsunoda et al. | Nov 2006 | B2 |
7203620 | Li | Apr 2007 | B2 |
7209035 | Tabankin et al. | Apr 2007 | B2 |
7218756 | Garoutte | May 2007 | B2 |
7239311 | Dunn et al. | Jul 2007 | B2 |
7262690 | Heaton et al. | Aug 2007 | B2 |
7342489 | Milinusic et al. | Mar 2008 | B1 |
7403116 | Bittner | Jul 2008 | B2 |
7423667 | Hayasaka | Sep 2008 | B2 |
7440589 | Garoutte | Oct 2008 | B2 |
7474759 | Sternberg et al. | Jan 2009 | B2 |
7486183 | Luebke et al. | Feb 2009 | B2 |
7612666 | Badawy | Nov 2009 | B2 |
7643653 | Garoutte | Jan 2010 | B2 |
7822224 | Garoutte | Oct 2010 | B2 |
20010010731 | Miyatake et al. | Aug 2001 | A1 |
20010046309 | Kamei | Nov 2001 | A1 |
20030023910 | Myler et al. | Jan 2003 | A1 |
20030068100 | Covell et al. | Apr 2003 | A1 |
20030081836 | Averbuch et al. | May 2003 | A1 |
20030112333 | Chen et al. | Jun 2003 | A1 |
20030165193 | Chen et al. | Sep 2003 | A1 |
20030174212 | Ferguson | Sep 2003 | A1 |
20030219157 | Koide et al. | Nov 2003 | A1 |
20030228056 | Prakash et al. | Dec 2003 | A1 |
20040080623 | Cleveland et al. | Apr 2004 | A1 |
20040119848 | Beuhler | Jun 2004 | A1 |
20040184667 | Raskar et al. | Sep 2004 | A1 |
20040184677 | Raskar et al. | Sep 2004 | A1 |
20040190633 | Ali et al. | Sep 2004 | A1 |
20050089194 | Bell | Apr 2005 | A1 |
20050132414 | Bentley et al. | Jun 2005 | A1 |
20050134450 | Kovach | Jun 2005 | A1 |
20050146605 | Lipton et al. | Jul 2005 | A1 |
20050213815 | Garoutte | Sep 2005 | A1 |
20050219362 | Garoutte | Oct 2005 | A1 |
20060083440 | Chen et al. | Apr 2006 | A1 |
20060126933 | Porikli | Jun 2006 | A1 |
20060167595 | Breed et al. | Jul 2006 | A1 |
20060195569 | Barker | Aug 2006 | A1 |
20060221181 | Garoutte | Oct 2006 | A1 |
20060222206 | Garoutte | Oct 2006 | A1 |
20070094716 | Farino | Apr 2007 | A1 |
20070147699 | Loce et al. | Jun 2007 | A1 |
20070177800 | Connell | Aug 2007 | A1 |
20070262857 | Jackson | Nov 2007 | A1 |
20070263905 | Chang et al. | Nov 2007 | A1 |
20090022362 | Gagvani et al. | Jan 2009 | A1 |
20090141939 | Chambers et al. | Jun 2009 | A1 |
Number | Date | Country |
---|---|---|
0482427 | Apr 1992 | EP |
0917103 | May 1999 | EP |
06-102335 | Apr 1994 | JP |
01-212118 | Aug 2001 | JP |
2003-346160 | Dec 2003 | JP |
WO 9819450 | May 1998 | WO |
WO 9828706 | Jul 1998 | WO |
WO 9847118 | Oct 1998 | WO |
WO 9856182 | Dec 1998 | WO |
WO 9905867 | Feb 1999 | WO |
WO 0001140 | Jan 2000 | WO |
WO 0157787 | Aug 2001 | WO |
WO 2005096215 | Oct 2005 | WO |
WO 2007002382 | Jan 2007 | WO |
Entry |
---|
U.S. Office Action mailed Aug. 4, 2010, for U.S. Appl. No. 11/803,851, filed May 15, 2007. |
International Search Report and Written Opinion for International PCT Application No. PCT/US10/32013, mailed Jun. 28, 2010. |
International Search Report and Written Opinion for International Application No. PCT/US2008/070134, mailed Oct. 7, 2008, 8 pg. |
International Search Report and Written Opinion for International PCT Application No. PCT/US2008/084835, mailed Feb. 4, 2009, 7 pgs. |
Website information, MTeye Wireless Video Verification and Remote Viewing Solutions, May 4, 2007, http://mteye.co.il/home/index.aspx. |
Website information, Q-See 16 Ch MPEG4 DVR 250 GB HDD with Built-in DVD Burner, May 14, 2007, http://www.costco.com/Browse//Product.aspx?Prodid=1120047&whse=BC&topnav=&browse=. |
Website information, Swann Alert DVR Camera Kit, May 14, 2007, http://www.costco.com/Browse//Product.aspx?Prodid=11206961&whse=BC&topnav=&browse=. |
Website information, The iControl Solution, iControl Networks, May 14, 2007, http://www.icontrol.com/howWorksMain.jsp. |
Website information, Videofied, May 14, 2007, http://www.videofied.com/en/What—is—Videofied/. |
Forsyth, D. A. et al., “Computer Vision: A Modern Approach.”, 2002. |
Bourgeat, P. et al., “Content-based segmentation of patterned wafer for automatic threshold determination,” Proceedings of the SPIE—The International Society for Optical Engineering, 5011:183-189 (2003). |
Cheung, S-C. S. et al., “Robust Techniques for Background Substraction in Urban Traffic Video,” Research paper, 12 pages, Center for Applied scientific Computing, Lawrence Livermore National Laboratory, Livermore, California USA (2004). |
Cucchiara, R. et al., “Detecting Moving Objects, Ghosts and Shadows in Video Streams,” IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(10):1337-1342 (2003). |
Garoutte, M. V., Terrain Map, An Image Space for Machine Vision. Spiral bound “white paper.” Aug. 24, 2004, Revision 1.0. |
Gavrila, D. M., “The Visual Analysis of Human Movements: A Survey,” Computer Vision and Image Understanding, 73(1):82-98 (1999). |
Gibson, L. et al., “Vectorization of raster images using hierarchical methods,” Computer Graphics and Image Processing, 20(1):82-89 (1982). |
Haritaoglu et al., “W4: Real-Time Surveillance of People and Their Activities,” IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(8):809-830 (2000). |
Schmid, C., “Weakly Supervised Learning of Visual Models and Its Application to Content-Based Retrieval,” International Journal of Computer Vision, 56(1/2):7-16 (2004). |
Stefano et al., “A Change-Detection algorithm Based on Structure and Colour,” Proceedings of the IEEE Conference on Adanced Video and Signal Based Surveillance, 8 pages (2003). |
Zhao, T. et al., “Bayesian human segmentation in crowded situations,” Proceedings of the 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'03), Jun. 18-20, 2003, Madison, Wisconsin; [Proceedings of the IEEE Computer Conference on Computer Vision and Pattern Recognition], Los Alamitos, CA, vol. 2, pp. 459-466 (2003). |
Zivkovic, Z., “Improved Adaptive Gaussian Mixture Model for Background Subtraction,” International Conference Pattern Recognition, UK, (2004). |
Zivkovic, Z. et al., “Efficient Adaptive Density Estimation per Image Pixel for the Task of Background Subtraction,” Pattern Recognition Letters, 27(7):773-780 (2005). |
Number | Date | Country | |
---|---|---|---|
20100290710 A1 | Nov 2010 | US |
Number | Date | Country | |
---|---|---|---|
61171710 | Apr 2009 | US |