IP Library Granted Patent US 10,438,072
Granted Patent B2
US 10,438,072 · App. 15/442,880 · Granted Oct 8, 2019

Video data background tracking and subtraction with multiple layers of stationary foreground and background regions

Inventor: Shalender Singh (Milpitas, CA)
Assignee: Echelon Corporation
G06K9/00785G06K9/6202G06T7/11G06T7/143G06T7/174G06T7/194G08G1/04G06T2207/10016G06T2207/10024G06T2207/20076G06T2207/30232G06T2207/30236G06T2207/30241
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,438,072
App. No.
15/442,880
Granted
Oct 8, 2019
Kind
B2
Abstract

Transient connected regions are tracked in a video sequence, marking them as foreground layer or background layer when the transient regions become stable. A stack of background/foreground Gaussian mixer models is maintained for each pixel. The decision to mark a stable region as background layer or a new or existing foreground layer is done by matching the region with each model in the model stack. If the new region matches an existing model, then the layers above the matched layers are purged, or else the new region is pushed as a new foreground layer with a new model.

Claims (49)

1. A method of tracking a foreground region in a video frame, comprising:

maintaining, in a video processor, a memory stack of layers of accumulated background and foreground statistical models of video signals for each pixel in a sequence of video frames, wherein the accumulated background and foreground statistical models include a model of light and weather conditions;

assigning, in the video processor, a score to each of a plurality of background light levels;

determining, by the video processor, a current score for a current background light level corresponding to a current time of day and level of solar illumination;

comparing, in the video processor, sampled video signals of pixels in a video frame on a per-pixel basis, with the statistical models of video signals on the same per-pixel basis, using the current score for the current background light level;

determining, in the video processor, whether the sampled video signals of a pixel match an existing statistical model in a layer in the memory stack;

purging, in the video processor, layers in the memory stack of the pixel above the matched layer, if the sampled video signals of the pixel match an existing statistical model of the matched layer;

pushing, in the video processor, the sampled video signals of the pixel as a new foreground layer statistical model, if the sampled video signals of the pixel do not match an existing statistical model layer;

identifying, in the video processor, a transient connected region of pixels in the video frame, whose sampled video signals fit the new foreground layer statistical model; and

marking and tracking, in the video processor, the transient connected region in the video sequence, as the new foreground layer when the transient connected region becomes stable over consecutive frames.

2. The method of claim 1 , wherein gradual changes in natural lighting do not affect matching a pixel to an existing statistical model in a layer in the memory stack, whereas relatively faster changes in pixel lighting levels for a moving object cause the pixel to be categorized as a foreground region.

3. The method of claim 1 , wherein sensitivity of detection is improved by increasing the number of memory stack layers of background and foreground statistical models for a pixel, or tracking a foreground region is sped up by decreasing the number of memory stack layers of background and foreground statistical models for a pixel.

4. The method of claim 3 , wherein the number of memory stack layers is increased by reducing a range of values of video signals within the layers to improve sensitivity of detection.

5. The method of claim 3 , wherein the number of memory stack layers is decreased by enlarging a range of values of video signals within the layers to speed up tracking a foreground region.

6. The method of claim 1 , wherein the number of video frames in the sequence is adjusted and either increased to improve sensitivity of detection or decreased to speed up tracking a foreground region.

7. The method of claim 1 , wherein the video processor learns to more accurately mark and track the connected regions of pixels in the memory stack over many frames in the video sequence.

8. A computer program product comprising computer executable program code recorded on a computer readable, non-transitory storage medium, for tracking a foreground region in a video frame, the computer executable program code comprising:

code for maintaining, in a video processor, a memory stack of layers of accumulated background and foreground statistical models of video signals for each pixel in a sequence of video frames, wherein the accumulated background and foreground statistical models include a model of light and weather conditions;

code for assigning, in the video processor, a score to each of a plurality of background light levels:

code for determining, by the video processor, a current score for a current background light level corresponding to a current time of day and level of solar illumination;

code for comparing, in the video processor, sampled video signals of pixels in a video frame on a per-pixel basis, with the statistical models of video signals on the same per-pixel basis, using the current score for the current background light level;

code for determining, in the video processor, whether the sampled video signals of a pixel match an existing statistical model in a layer in the memory stack;

code for purging, in the video processor, layers in the memory stack of the pixel above the matched layer, if the sampled video signals of the pixel match an existing statistical model of the matched layer;

code for pushing, in the video processor, the sampled video signals of the pixel as a new foreground layer statistical model, if the sampled video signals of the pixel do not match an existing statistical model layer;

code for identifying, in the video processor, a transient connected region of pixels in the video frame, whose sampled video signals fit the new foreground layer statistical model; and

code for marking and tracking, in the video processor, the transient connected region in the video sequence, as the new foreground layer when the transient connected region becomes stable over consecutive frames.

9. The computer program product of claim 8 , wherein gradual changes in natural lighting do not affect matching a pixel to an existing statistical model in a layer in the memory stack, whereas relatively faster changes in pixel lighting levels for a moving object cause the pixel to be categorized as a foreground region.

10. The computer program product of claim 8 , wherein sensitivity of detection is improved by increasing the number of memory stack layers of background and foreground statistical models for a pixel, or tracking a foreground region is sped up by decreasing the number of memory stack layers of background and foreground statistical models for a pixel.

11. The computer program product of claim 10 , wherein the number of memory stack layers is increased by reducing a range of values of video signals within the layers to improve sensitivity of detection.

12. The computer program product of claim 10 , wherein the number of memory stack layers is decreased by enlarging a range of values of video signals within the layers to speed up tracking a foreground region.

13. The computer program product of claim 8 , wherein the number of video frames in the sequence is adjusted and either increased to improve sensitivity of detection or decreased to speed up tracking a foreground region.

14. The computer program product of claim 8 , wherein the video processor learns to more accurately mark and track the connected regions of pixels in the memory stack over many frames in the video sequence.

15. An apparatus for tracking a foreground region in a video frame, comprising:

a video unit located within viewing distance of at least one thoroughfare or parking facility to be monitored, including a video camera, video processor, a processor and memory including computer program code configured to cause the video processor to process a video stream from the video camera;

a memory stack of layers of accumulated background and foreground statistical models of video signals for each pixel in a sequence of video frames, wherein the accumulated background and foreground statistical models include a model of light and weather conditions;

the video processor assigning a score to each of a plurality of background light levels;

the video processor determining a current score for a current background light level corresponding to a current time of day and level of solar illumination;

the video processor comparing sampled video signals of pixels in a video frame on a per-pixel basis, with the statistical models of video signals on the same per-pixel basis, using the current score for the current background light level;

the video processor determining whether the sampled video signals of a pixel match an existing statistical model in a layer in the memory stack;

the video processor purging layers in the memory stack of the pixel above the matched layer, if the sampled video signals of the pixel match an existing statistical model of the matched layer;

the video processor pushing the sampled video signals of the pixel as a new foreground layer statistical model, if the sampled video signals of the pixel do not match an existing statistical model layer;

the video processor identifying a transient connected region of pixels in the video frame, whose sampled video signals fit the new foreground layer statistical model; and

the video processor marking and tracking the transient connected region in the video sequence, as the new foreground layer when the transient connected region becomes stable over consecutive frames.

16. The apparatus of claim 15 , wherein gradual changes in natural lighting do not affect matching a pixel to an existing statistical model in a layer in the memory stack, whereas relatively faster changes in pixel lighting levels for a moving object cause the pixel to be categorized as a foreground region.

17. The apparatus of claim 15 , wherein sensitivity of detection is improved by increasing the number of memory stack layers of background and foreground statistical models for a pixel, or tracking a foreground region is sped up by decreasing the number of memory stack layers of background and foreground statistical models for a pixel.

18. The apparatus of claim 17 , wherein the number of memory stack layers is increased by reducing a range of values of video signals within the layers to improve sensitivity of detection.

19. The apparatus of claim 17 , wherein the number of memory stack layers is decreased by enlarging a range of values of video signals within the layers to speed up tracking a foreground region.

20. The apparatus of claim 15 , wherein the number of video frames in the sequence is adjusted and either increased to improve sensitivity of detection or decreased to speed up tracking a foreground region.

21. The apparatus of claim 15 , wherein the video processor learns to more accurately mark and track the connected regions of pixels in the memory stack over many frames in the video sequence.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Sep 24, 2019
From: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
To: ECHELON CORPORATION
Reel/Frame 050480/0865 →
SECURITY INTEREST Recorded Oct 8, 2018
From: ECHELON CORPORATION
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 047205/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2017
From: SINGH, SHALENDER
To: ECHELON CORPORATION
Reel/Frame 041380/0857 →
Continuity (1)
Related Publication 20180247136A1 · Aug 30, 2018