IP Library Granted Patent US 10,152,630
Granted Patent B2
US 10,152,630 · App. 15/264,270 · Granted Dec 11, 2018

Methods and systems of performing blob filtering in video analytics

Inventors: Ying Chen (San Diego, CA); Jianfeng Ren (San Diego, CA); Jian Wei (San Diego, CA); Ning Bi (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06K9/00577G06K9/00771G06K9/342G06T5/20G06T7/0081G06T2207/10016G06T2207/20024G06T2207/20144G06T2207/20221G06T2207/30232
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,152,630
App. No.
15/264,270
Granted
Dec 11, 2018
Kind
B2
Abstract

Techniques and systems are provided for processing video data. For example, techniques and systems are provided for performing content-adaptive blob filtering. A number of blobs generated for a video frame is determined. A size of a first blob from the blobs is determined, the first blob including pixels of at least a portion of a first foreground object in the video frame. The first blob is filtered from the plurality of blobs when the size of the first blob is less than a size threshold. The size threshold is determined based on the number of the plurality of blobs generated for the video frame.

Claims (75)

1. A computer-implemented method for tracking objects determined to be in one or more video frames, the method comprising:

generating, by a video analytics system, a plurality of blobs for a video frame from the one or more video frames, the plurality of blobs including pixels representing a plurality of objects in the video frame, wherein the plurality of objects include a foreground object and a background object, wherein the video analytics system generates a first blob for the background object due to detecting a change in pixels associated with the background object;

determining a number of the plurality of blobs generated for the video frame;

determining a size of a smallest blob generated for the video frame;

determining a size threshold based on the number of the plurality of blobs and the size of the smallest blob;

determining that the first blob is less than the size threshold;

filtering, based on the first blob being less than the size threshold, the first blob from the plurality of blobs, wherein filtering the first blob removes the first blob from the plurality of blobs; and

tracking the plurality of blobs that remain after filtering.

2. The computer-implemented method of claim 1 , further comprising:

determining a height of a second blob, wherein the second blob includes pixels of at least a portion of a second object in the video frame; and

filtering the second blob from the plurality of blobs when the height of the second blob is less than a height threshold.

3. The computer-implemented method of claim 2 , wherein the height threshold includes a product of a minimum height threshold value and a height multiplier.

4. The computer-implemented method of claim 3 , wherein the minimum height threshold value is determined based on an aspect ratio of a minimum blob size corresponding to a minimum size threshold value.

5. The computer-implemented method of claim 1 , further comprising:

determining a height and a width of a second blob, wherein the second blob includes pixels of at least a portion of a second object in the video frame;

determining the height of the second blob is greater than a height threshold; and

filtering the second blob from the plurality of blobs when the width of the second blob is greater than a width threshold.

6. The computer-implemented method of claim 5 , wherein the height threshold includes a product of a minimum height threshold value and a height multiplier, and wherein the width threshold includes a product of a maximum width threshold value and a width multiplier.

7. The computer-implemented method of claim 6 , wherein the minimum height threshold value and the maximum width threshold value are determined based on an aspect ratio of a minimum blob size corresponding to a minimum size threshold value.

8. The computer-implemented method of claim 1 , further comprising:

generating a merged blob, wherein the merged blob is generated by merging a second blob with a third blob;

determining a height of the merged blob; and

filtering the merged blob from the plurality of blobs when the height of the merged blob is less than a height threshold.

9. The computer-implemented method of claim 8 , wherein the height threshold includes a product of a minimum height threshold and a height multiplier.

10. The computer-implemented method of claim 1 , further comprising:

generating a merged blob, wherein the merged blob is generated by merging a second blob with a third blob;

determining a height and a width of the merged blob;

determining the height of the merged blob is greater than a height threshold; and

filtering the merged blob from the plurality of blobs when the width of the merged blob is greater than a width threshold.

11. The computer-implemented method of claim 10 , wherein the height threshold includes a product of a minimum height threshold value and a height multiplier, and wherein the width threshold includes a product of a product of a maximum width threshold value and a width multiplier.

12. The computer-implemented method of claim 1 , wherein the size threshold is determined based on a product of a minimum size threshold value and a blob multiplier, and wherein the blob multiplier is based on the number of the plurality of blobs generated for the video frame.

13. The computer-implemented method of claim 12 , wherein the minimum size threshold value defines a minimum blob size for the video frame.

14. The computer-implemented method of claim 12 , wherein the blob multiplier is assigned a value according to the number of the plurality of blobs, the value including a minimum multiplier value, a maximum multiplier value, or a value between the minimum multiplier value and the maximum multiplier value.

15. The computer-implemented method of claim 14 , wherein the blob multiplier is assigned the minimum multiplier value when the number of the plurality of blobs is below a minimum threshold number of blobs.

16. The computer-implemented method of claim 14 , wherein the blob multiplier is assigned the maximum multiplier value when the number of the plurality of blobs is above a maximum threshold number of blobs.

17. The computer-implemented method of claim 14 , wherein the blob multiplier is assigned the value between the minimum multiplier value and the maximum multiplier value when the number of the plurality of blobs is between a minimum threshold number of blobs and a maximum threshold number of blobs.

18. An apparatus comprising:

a memory configured to store video data; and

a processor configured to:

generate a plurality of blobs for a video frame from one or more video frames, the plurality of blobs including pixels representing a plurality of objects in the video frame, wherein the plurality of objects include a foreground object and a background object, wherein the processor generates a first blob for the background object due to detecting a change in pixels associated with the background object;

determine a number of the plurality of blobs-generated for the video frame;

determine a size of a smallest blob generated for the video frame;

determine a size threshold based on the number of the plurality of blobs and the size of the smallest blob;

determine that a size of the first blob is less than the size threshold;

filter, based on the first blob being less than the size threshold, the first blob from the plurality of blobs; and

track the plurality of blobs that remain after filtering.

19. The apparatus of claim 18 , wherein the processor is further configured to:

determine a height of a second blob, wherein the second blob includes pixels of at least a portion of a second object in the video frame; and

filter the second blob from the plurality of blobs when the height of the second blob is less than a height threshold.

20. The apparatus of claim 19 , wherein the height threshold includes a product of a minimum height threshold value and a height multiplier.

21. The apparatus of claim 20 , wherein the minimum height threshold value is determined based on an aspect ratio of a minimum blob size corresponding to a minimum size threshold value.

22. The apparatus of claim 18 , wherein the processor is further configured to:

determine a height and a width of a second blob, wherein the second blob includes pixels of at least a portion of a second object in the video frame;

determine the height of the second blob is greater than a height threshold; and

filter the second blob from the plurality of blobs when the width of the second blob is greater than a width threshold.

23. The apparatus of claim 22 , wherein the height threshold includes a product of a minimum height threshold value and a height multiplier, and wherein the width threshold includes a product of a maximum width threshold value and a width multiplier.

24. The apparatus of claim 23 , wherein the minimum height threshold value and the maximum width threshold value are determined based on an aspect ratio of a minimum blob size corresponding to a minimum size threshold value.

25. The apparatus of claim 18 , wherein the size threshold is determined based on a product of a minimum size threshold value and a blob multiplier, and wherein the blob multiplier is based on the number of the plurality of blobs generated for the video frame.

26. The apparatus of claim 25 , wherein the blob multiplier is assigned a value according to the number of the plurality of blobs, the value including a minimum multiplier value, a maximum multiplier value, or a value between the minimum multiplier value and the maximum multiplier value.

27. A non-transitory computer readable medium having stored thereon instructions that when executed by a processor perform a method, including:

generating a plurality of blobs for a video frame from one or more video frames, the plurality of blobs including pixels representing a plurality of objects in the video frame, wherein the plurality of objects include a foreground object and a background object, wherein the instructions cause the processor to generate a first blob for the background object due to detecting a change in pixels associated with the background object;

determining a number of the plurality of blobs generated for the video frame;

determining a size of a smallest blob generated for the video frame;

determining a size threshold based on the number of the plurality of blobs and the size of the smallest blob;

determining that the first blob is less than the size threshold;

filtering, based on the first blob being less than the size threshold, the first blob from the plurality of blobs, wherein filtering the first blob removes the first blob from the plurality of blobs; and

tracking the plurality of blobs that remain after filtering.

28. The non-transitory computer readable medium of claim 27 , further comprising:

determining a height of a second blob, wherein the second blob includes pixels of at least a portion of a second object in the video frame; and

filtering the second blob from the plurality of blobs when the height of the second blob is less than a height threshold.

29. The non-transitory computer readable medium of claim 27 , further comprising:

determining a height and a width of a second blob, wherein the second blob includes pixels of at least a portion of a second object in the video frame;

determining the height of the second blob is greater than a height threshold; and

filtering the second blob from the plurality of blobs when the width of the second blob is greater than a width threshold.

30. The non-transitory computer readable medium of claim 27 , wherein the size threshold is determined based on a product of a minimum size threshold value and a blob multiplier, and wherein the blob multiplier is based on the number of the plurality of blobs generated for the video frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2016
From: CHEN, YING; REN, JIANFENG; WEI, JIAN; BI, NING
To: QUALCOMM INCORPORATED
Reel/Frame 040124/0102 →
Continuity (2)
Provisional Application 62372657 · Aug 9, 2016
Related Publication 20180046858A1 · Feb 15, 2018