Method for detecting moving objects in a video having non-stationary background
AssigneeUurmi Systems Pvt Ltd
InventorsAdithya Apuroop Karavadi, Ajinkya Santoshrao Deshmukh, Shanti Swarup Medasani
Life of this patent
Estimating the term…
Abstract
Method and system for tracking moving objects in a video with non-stationary background is provided. The method comprises estimation of non-stationary background and determining an approximate foreground for each image that learns the background model over time by incorporating various constraints on image pixels. Then, weights based upon spatio-temporal statistical properties of the extracted foreground blobs and blob edge overlap are used to identify and track with bounding boxes displayed for one or more true objects.
Claims15
A method for detecting one or more moving objects in a video comprising a plurality of images, each image having a foreground and a background, the method comprising the steps of:
- determining an approximate foreground for each image by
- determining background segment of each image and determining image segment of each image and computing an element by element product, the background segment is determined based on
- S
- B
-
- (
- i
- ,
- j
- )
- =
- {
- 1
- ,
- if
-
- |
- H
- B
- ij
-
- (
- b
-
- (
- x
- )
- )
- |
- <
- a
- 1
- +
- ϵ
-
-
- h
- B
- ij
- 0
- ,
- else
- where HBij(b(x)) denotes the bins corresponding to the background intensity at location (i,j), hB=maxk HB(k) denotes the values of maximum number of occurrences of a bin, a1 is a predefined constant and ϵhBij is a parameter added to account for noise and compression artefacts, and the image segment is determined based on
- S
- I
-
- (
- i
- ,
- j
- )
- =
- {
- 1
- ,
- if
-
- |
- H
- I
- ij
-
- (
- b
-
- (
- x
- )
- )
- |
- <
- c
-
- (
- i
- ,
- j
- )
-
- h
- I
- ij
- 0
- ,
- else
- where HIij(b(x)) denotes the bins corresponding to the original pixel intensity at location (i,j), hl=maxk Hl(k) and denotes the values of maximum number of occurrences of a bin and c=0.5(1−2σ) is the pixel level threshold with σ being the standard deviation in the background;
- refining the segments of each of the plurality of images by setting pixels in the segment of each of the plurality of images to zero if the corresponding image segment differs from mean background by less than μ+σ where μ is the minimum intensity difference for two pixels to be considered dissimilar;
- and
- relabeling the foreground samples as background that intersect with more than a1 samples in the background model;
- updating the most recent background frame B as B=B⊙S+I⊙(1−S) using the segmentation decision where S is foreground and I is image;
- extracting all the foreground blobs having size greater than a predefined threshold;
- assigning statistical weights for size/area of the extracted foreground blobs, intensity, distance, displacement vectors, and dilated edges measures across frames for the extracted one or more blobs and searching for correspondences for the one or more blobs in the current frame by calculating a final weight as a combination of an initial weight and a similarity weight with a pre-determined learning rate, wherein the assigning of the statistical weights for size by calculating the similarity weight with respect to size comprises:
- imposing a penalty on randomly varying blob sizes from frame to frame;
- and
- calculating the similarity size weight Wsim as an exponential function of several parameters including a, a2, anextj, and βj, wherein a denotes area of a frame pk(i), a2 denotes a predefined constant for allowing foreground area size fluctuations in blob analysis to account for small sized objects, anextj denotes area of a next frame Nj(pk(i)), and βj denotes a predefined parameter;
- identifying potential targets by assigning a weight to the map from one or more blobs in the current frame to the one or more potential correspondences in the next frame, wherein identifying includes selecting the blob with the highest total positive weight as the blob corresponding to the one or more blobs in the current frame;
- and
- tracking potential targets and displaying the bounding box for one or more true objects, by selecting one or more potential blobs whose weights of the mapping exceeds a predetermined threshold for more than predefined minimum frames continuously.
A system for detecting one or more moving objects in a video comprising a plurality of images, each image having a foreground and a background, comprising:
- a processor configured for executing one or more programming modules stored in a non-transient memory, wherein the memory comprises of:
- a background estimation module that upon being executed by the processor determines
- an approximate foreground for each image by determining background segment of each image and determining image segment of each image and computing an element by element product, the background segment is determined based on
- S
- B
-
- (
- i
- ,
- j
- )
- =
- {
- 1
- ,
- if
-
- |
- H
- B
- ij
-
- (
- b
-
- (
- x
- )
- )
- |
- <
- a
- 1
- +
- ϵ
-
-
- h
- B
- ij
- 0
- ,
- else
- where HBij(b(x)) denotes the bins corresponding to the background intensity at location (i,j), hB=maxk HB(k) denotes the values of maximum number of occurrences of a bin, a1 is a predefined constant, and ϵhBij is a parameter added to account for noise and compression artefacts, and the image segment is determined based on
- S
- I
-
- (
- i
- ,
- j
- )
- =
- {
- 1
- ,
- if
-
- |
- H
- I
- ij
-
- (
- b
-
- (
- x
- )
- )
- |
- <
- c
-
- (
- i
- ,
- j
- )
-
- h
- I
- ij
- 0
- ,
- else
- where HIij(b(x)) denotes the bins corresponding to the original pixel intensity at location (i,j), hl=maxk Hl(k) and denotes the values of maximum number of occurrences of a bin and c=0.5(1−2σ) is the pixel level threshold with σ being the standard deviation in the background;
- refining the segments of each of the plurality of images by setting pixels in the segment of each of the plurality of images to zero if the corresponding image segment differs from mean background by less than μ+σ where μ is the minimum intensity difference for two pixels to be considered dissimilar;
- relabeling the foreground samples as background that intersect with more than a1 samples in the background model;
- and
- updating the most recent background frame B as B=B⊙S+I⊙(1−S) using the segmentation decision where S is foreground and I is image;
- a foreground preprocessing module that upon being executed by the processor extracts all the foreground blobs having size greater than a predefined threshold;
- a statistical weight assignment module that upon being executed by the processor identifies potential targets by assigning a weight to the map from one or more blobs in the current frame to the one or more potential correspondences in the next frame and by assigning statistical weights for size/area of the extracted foreground blobs, wherein identifying includes selecting the blob with the highest total positive weight as the blob corresponding to the one or more blobs in the current frame, and wherein the assigning of the statistical weights for size by calculating a similarity weight with respect to size comprises:
- imposing a penalty on randomly varying blob sizes from frame to frame;
- and
- calculating the similarity size weight Wsim as an exponential function of several parameters including a, a2, anextj, and βj, wherein a denotes area of a frame pk(i), a2 denotes a predefined constant for allowing foreground area size fluctuations in blob analysis to account for small sized objects, anextj denotes area of a next frame Nj(pk(i)), and βj denotes a predefined parameter;
- a potential targets identification module that upon being executed by the processor identifying potential targets by assigning a weight to the map from one or more blobs in the current frame to the one or more potential correspondences in the next frame, wherein identifying includes selecting the blob with the highest total positive weight as the blob corresponding to the one or more blobs in the current frame;
- and
- a tracking objects detection module that upon being executed by the processor tracks potential targets and displaying the bounding box for one or more true objects, wherein detection of one or more true objects is performed by selecting one or more potential blobs whose weights of the mapping exceeds a predetermined threshold for more than predefined minimum frames continuously.
A non-transient computer-readable medium, including instructions stored thereon which, when read and executed by one or more computers, causes the one or more computers to perform the method comprising the steps of:
- determining an approximate foreground for each image by
- determining background segment of each image and determining image segment of each image and computing an element by element product, the background segment is determined based on
- S
- B
-
- (
- i
- ,
- j
- )
- =
- {
- 1
- ,
- if
-
- |
- H
- B
- ij
-
- (
- b
-
- (
- x
- )
- )
- |
- <
- a
- 1
- +
- ϵ
-
-
- h
- B
- ij
- 0
- ,
- else
- where HBij(b(x)) denotes the bins corresponding to the background intensity at location (i,j), hB=maxk HB(k) denotes the values of maximum number of occurrences of a bin, a1 is a predefined constant, and ϵhBij is a parameter added to account for noise and compression artefacts, and the image segment is determined based on
- S
- I
-
- (
- i
- ,
- j
- )
- =
- {
- 1
- ,
- if
-
- |
- H
- I
- ij
-
- (
- b
-
- (
- x
- )
- )
- |
- <
- c
-
- (
- i
- ,
- j
- )
-
- h
- I
- ij
- 0
- ,
- else
- where HIij(b(x)) denotes the bins corresponding to the original pixel intensity at location (i,j), hl=maxk Hl(k) and denotes the value of maximum number of occurrences of a bin and c=0.5(1−2σ) is the pixel level threshold with σ being the standard deviation in the background;
- and
- refining the segments of each of the plurality of images by setting pixels in the segment of each of the plurality of images to zero if the corresponding image segment differs from mean background by less than μ+σ where μ is the minimum intensity difference for two pixels to be considered dissimilar;
- relabeling the foreground samples as background that intersect with more than a1 samples in the background model;
- and
- updating the most recent background frame B as B=B⊙S+I⊙(1−S) using the segmentation decision where S is foreground and I is image;
- extracting all the foreground blobs having size greater than a predefined threshold;
- assigning statistical weights for size/area of the extracted foreground blobs, intensity, distance, displacement vectors, and dilated edges measures across frames for the extracted one or more blobs and searching for correspondences for the one or more blobs in the current frame by calculating a final weight as a combination of an initial weight and a similarity weight with a pre-determined learning rate, wherein the assigning of the statistical weights for size by calculating a similarity weight with respect to size comprises:
- imposing a penalty on randomly varying blob sizes from frame to frame;
- and
- calculating the similarity size weight Wsim as an exponential function of several parameters including a, a2, anextj, and βj, wherein α denotes area of a frame pk(i), a2 denotes a predefined constant for allowing foreground area size fluctuations in blob analysis to account for small sized objects, anextj denotes area of a next frame Nj(pk(i)), and βj denotes a predefined parameter;
- identifying potential targets by assigning a weight to the map from one or more blobs in the current frame to the one or more potential correspondences in the next frame, wherein identifying includes selecting the blob with the highest total positive weight as the blob corresponding to the one or more blobs in the current frame;
- and
- tracking potential targets and displaying the bounding box for one or more true objects, by selecting one or more potential blobs whose weights of the mapping exceeds a predetermined threshold for more than predefined minimum frames continuously.
Dependencies are inferred from the claim text.