IP Library › Granted Patent US 11,935,297
Granted Patent B2
US 11,935,297 · App. 17/476,605 · Granted Mar 19, 2024

Item monitoring for doorbell cameras

Inventors: Gang Qian (McLean, VA); Allison Beach (Leesburg, VA); Sima Taheri (McLean, VA); Sravanthi Bondugula (Vienna, VA); Sung Chun Lee (Tysons, VA); Narayanan Ramanathan (Chantilly, VA)
Assignee: ObjectVideo Labs, LLC
G06V20/41G06F18/214G06F18/22G06V10/225G06V10/25G06V20/46G06V20/48G06V20/52H04N7/18G06V20/44
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 11,935,297
App. No.
17/476,605
Granted
Mar 19, 2024
Kind
B2
Abstract

Methods and systems, including computer programs encoded on a storage medium, are described for implementing item monitoring using a doorbell camera. A system generates an input video stream that has image frames corresponding to detection of activity at a property. Timing information is generated for the video stream and includes a timestamp for each image frame of the stream. Using the timing information, the system processes a pre-event image frame that precedes detection of the activity and a post-event image frame that coincides with detection of the activity. An image score is computed with respect to placement of a candidate item at the property in response to processing the pre-event and post-event image frames. The image score is used to determine that a first item was delivered to the property or that a second item was removed after being delivered to the property.

Claims (69)

1. A computer-implemented method comprising:

generating an input video stream comprising at least one image frame that coincides with detection of activity within a threshold distance of a property;

generating timing information for the input video stream, the timing information comprising a respective time stamp for each image frame of the input video stream;

using the input video stream and the timing information, obtaining image frames comprising a pre-event image frame that precedes detection of the activity and a post-event image frame that coincides with detection of the activity;

computing a difference in pixel values by subtracting a first pixel value corresponding to pixels in the pre-event image frame from a second pixel value corresponding to pixels in the post-event image frame;

in response to computing the difference in pixel values, generating a foreground region of the post-event image based on background image modeling applied to the pre-event image;

extracting, using local feature extraction, a set of features from the foreground region;

computing an image score with respect to placement of a candidate item at the property based on the difference in pixel values and the set of features extracted from the foreground region; and

in response to determining that the image score exceeds a threshold score, determining that a first item was delivered to the property or that a second item was removed after being delivered to the property.

2. The method of claim 1 , wherein obtaining image frames comprises:

for a first time stamp, obtaining a pre-event image frame of an area of interest (AOI) having a boundary that overlaps with the property within a threshold distance from an imaging device at the property; and

for a second time stamp, obtaining a post-event image frame of the AOI with respect to the boundary that overlaps with the property.

3. The method of claim 2 , wherein:

the AOI includes a pre-event AOI that overlaps a portion of an area depicted in the pre-event image; and

the AOI coincides with a field of view of an imaging device used to generate the input video stream.

4. The method of claim 2 , wherein obtaining image frames comprises:

obtaining a post-event image frame that includes an image bounding box, wherein the image bounding box:

is configured as an overlay in the post-event image frame; and

outlines the candidate item.

5. The method of claim 4 , wherein processing each of the pre-event image frame and the post-event image frame comprises:

processing each of the pre-event and post-event image frames using a machine-learning (ML) model that implements a deep-learning algorithm used to train the ML model for package detection using a plurality of color images.

6. The method of claim 5 , comprising:

in response to processing the post-event image frame using the ML model, detecting, from the post-event image frame, that the candidate item was placed at the property; and

in response to detecting that the candidate item was placed at the property, generating, using the ML model, the image bounding box as the overlay in the post-event image frame to outline the candidate item.

7. The method of claim 1 , wherein the candidate item is a package.

8. The method of claim 1 , wherein computing the image score comprises:

computing the image score in response to extracting the set of features from the foreground region.

9. The method of claim 8 , wherein computing the image score comprises:

computing, as the image score, a region-based similarity score that characterizes similarity between respective regions of the pre-event image frame and the post-event image frame.

10. The method of claim 1 , wherein:

the input video stream is obtained using a doorbell camera and a local frame buffer that is local to the doorbell camera.

11. A system comprising:

a processing device; and

a non-transitory machine-readable storage device storing instructions that are executable by the processing device to cause performance of operations comprising:

generating an input video stream comprising at least one image frame that coincides with detection of activity within a threshold distance of a property;

generating timing information for the input video stream, the timing information comprising a respective time stamp for each image frame of the input video stream;

in response to the input video stream and the timing information, obtaining image frames comprising a pre-event image frame that precedes detection of the activity and a post-event image frame that coincides with detection of the activity;

computing a difference in pixel values by subtracting a first pixel value corresponding to pixels in the pre-event image frame from a second pixel value corresponding to pixels in the post-event image frame;

in response to computing the difference in pixel values, generating a foreground region of the post-event image based on background image modeling applied to the pre-event image;

extracting, using local feature extraction, a set of features from the foreground region;

computing an image score with respect to placement of a candidate item at the property based on the difference in pixel values and the set of features extracted from the foreground region; and

in response to determining that the image score exceeds a threshold score, determining that a first item was delivered to the property or that a second item was removed after being delivered to the property.

12. The system of claim 11 , wherein obtaining image frames comprises:

for a first time stamp, obtaining a pre-event image frame of an area of interest (AOI) having a boundary that overlaps with the property within a threshold distance from an imaging device at the property; and

for a second time stamp, obtaining a post-event image frame of the AOI with respect to the boundary that overlaps with the property.

13. The system of claim 12 , wherein:

the AOI includes a pre-event AOI that overlaps a portion of an area depicted in the pre-event image; and

the AOI coincides with a field of view of an imaging device used to generate the input video stream.

14. The system of claim 12 , wherein obtaining image frames comprises:

obtaining a post-event image frame that includes an image bounding box, wherein the image bounding box:

is configured as an overlay in the post-event image frame; and

outlines the candidate.

15. The system of claim 14 , wherein processing each of the pre-event image frame and the post-event image frame comprises:

processing each of the pre-event and post-event image frames using a machine-learning (ML) model that implements a deep-learning algorithm used to train the ML model for package detection using a plurality of color images.

16. The system of claim 15 , wherein the operations comprise:

in response to processing the post-event image frame using the ML model, detecting, from the post-event image frame, that the candidate item was placed at the property; and

in response to detecting that the candidate item was placed at the property, generating, using the ML model, the image bounding box as the overlay in the post-event image frame to outline the candidate item.

17. The system of claim 11 , wherein:

computing the image score comprises: computing the image score in response to extracting the set of features from the foreground region; and

the image score is a region-based similarity score that characterizes similarity between respective regions of the pre-event image frame and the post-event image frame.

18. One or more non-transitory machine-readable storage devices storing instructions that are executable by one or more processing devices to cause performance of operations comprising:

generating an input video stream comprising at least one image frame that coincides with detection of activity within a threshold distance of a property;

generating timing information for the input video stream, the timing information comprising a respective time stamp for each image frame of the input video stream;

in response to the input video stream and the timing information, obtaining image frames comprising a pre-event image frame that precedes detection of the activity and a post-event image frame that coincides with detection of the activity;

computing a difference in pixel values by subtracting a first pixel value corresponding to pixels in the pre-event image frame from a second pixel value corresponding to pixels in the post-event image frame;

in response to computing the difference in pixel values, generating a foreground region of the post-event image based on background image modeling applied to the pre-event image;

extracting, using local feature extraction, a set of features from the foreground region;

computing an image score with respect to placement of a candidate item at the property based on the difference in pixel values and the set of features extracted from the foreground region; and

in response to determining that the image score exceeds a threshold score, determining that a first item was delivered to the property or that a second item was removed after being delivered to the property.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2022
From: QIAN, GANG; BEACH, ALLISON; TAHERI, SIMA; BONDUGULA, SRAVANTHI; LEE, SUNG CHUN; RAMANATHAN, NARAYANAN
To: OBJECTVIDEO LABS, LLC
Reel/Frame 058747/0268 →
Continuity (2)
Provisional Application 63079300 · Sep 16, 2020
Related Publication 20220083782A1 · Mar 17, 2022