IP Library Granted Patent US 11,810,361
Granted Patent B2
US 11,810,361 · App. 17/358,739 · Granted Nov 7, 2023

Site-based calibration of object detection parameters

Inventors: Shaomin Xiong (Fremont, CA); Toshiki Hirano (San Jose, CA); Damien Kah (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
G06V20/52G06F18/22G06V10/98G06V20/41H04N7/183H04N23/51
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,810,361
App. No.
17/358,739
Filed
Jun 25, 2021
Granted
Nov 7, 2023
Kind
B2
Art Unit
2482
USPC
348/143
Abstract

Systems and methods for site-based calibration of object detection values, such as for surveillance video cameras, are described. Video data from a video image sensor may be processed using an object detector to determine object data and a confidence score for a detected object. The object data and confidence score may be post-processed to apply calibration values based on the camera location to one or more parameters used for determining detection events. Event notifications may be sent for detection events. The calibration values may be determined from a calibration period where a verification object detector is used to verify the object detections and failure analysis is applied to determine calibration values for the camera location.

Claims (170)

1. A system, comprising:

a video image sensor; and

a surveillance controller configured to:

receive video data from the video image sensor, wherein the video data includes a video stream of video frames captured by the video image sensor at a camera location;

determine, during a calibration period, at least one calibration value for the camera location by:

determining, using a field object detector based on a first object detection model, field object data for a plurality of calibration objects;

determining, based on an object verification detector using a second object detection model, verification object data for the plurality of calibration objects, wherein:

the first object detection model has a first accuracy value for objects of interest;

the second object detection model has a second accuracy value for objects of interest; and

the second accuracy value is higher than the first accuracy value;

comparing the field object data from the field object detector to the verification object data for the plurality of calibration objects;

determining, based on the comparison of the field object data to the verification object data, whether the verification object data matches the field object data;

determining, responsive to the verification object data including objects of interest not in the field object data, missed object detection conditions;

determining, responsive to the field object data including objects of interest not in the verification object data, false object detection conditions; and

determining, based on the comparison of the field object data and the verification object data, the at least one calibration value to compensate for a failure condition of the first object detection model, wherein the failure condition is selected from the missed object detection conditions and the false object detection conditions;

determine, using the field object detector during an operating period:

object data for a detected object in the video data; and

a confidence score for the detected object;

post-process, during the operating period, the object data and the confidence score to determine a calibrated detection event, wherein post-processing includes applying the at least one calibration value for the camera location to determine the calibrated detection event; and

send, responsive to the calibrated detection event, an event notification to a video surveillance application.

2. The system of claim 1 , further comprising:

a calibration controller comprising the object verification detector and configured to:

receive, during the calibration period, calibration video data from the video image sensor at the camera location;

receive, during the calibration period, the field object data for the plurality of calibration objects;

determine, using the object verification detector, the verification object data for the plurality of calibration objects in the calibration video data;

determine, based on the comparison of the field object data and the verification object data:

the false object detection conditions determined by the field object detector; and

the missed object detection conditions determined by the field object detector; and

determine, based on the false object detection conditions and the missed object detection conditions, the at least one calibration value for post-processing the object data and the confidence score for the detected object during the operating period.

3. The system of claim 2 , further comprising:

a video camera housing, wherein the video camera housing encloses:

the video image sensor;

the surveillance controller; and

a network interface configured to communicate with a network, wherein the surveillance controller is further configured to:

send, to the calibration controller and over the network:

the field object data; and

the calibration video data from the video image sensor; and

receive, from the calibration controller and over the network, the at least one calibration value determined based on the calibration period.

4. The system of claim 2 , wherein:

the second object detection model of the object verification detector includes:

a motion model configured to determine a bounding box of moving objects in the calibration video data; and

an image classifier configured to detect an object of interest in the calibration video data; and

the calibration controller is further configured to:

compare bounding boxes of moving objects to detected objects from the field object data;

determine whether the object of interest is present in unmatched bounding boxes; and

determine, responsive to the image classifier detecting the object of interest in unmatched bounding boxes, the missed object detection conditions.

5. The system of claim 2 , wherein:

the second object detection model of the object verification detector includes an image classifier configured to detect an object of interest in the calibration video data; and

the calibration controller is further configured to:

determine whether the object of interest is absent in the field object data; and

determine, responsive to the image classifier not detecting the object of interest in the field object data, the false object detection conditions.

6. The system of claim 2 , wherein:

the second object detection model of the object verification detector includes:

a tracking model configured to determine a bounding box of an object of interest in successive frames in the calibration video data; and

an image classifier configured to detect the object of interest in the calibration video data; and

the calibration controller is further configured to:

compare bounding boxes in successive frames to detected objects from the field object data;

determine whether the object of interest is present in unmatched bounding boxes; and

determine, responsive to the image classifier detecting the object of interest in unmatched bounding boxes, the missed object detection conditions.

7. The system of claim 2 , wherein:

the second object detection model is configured to determine

verification confidence scores for the detected objects; and

the calibration controller is further configured to execute, for the surveillance controller:

comparing the field object data to the verification object data for the detected objects;

determining, based on the comparison of the field object data to the verification object data, whether the verification object data matches the field object data;

determining, responsive to the verification object data including objects of interest not in the field object data, the missed object detection conditions; and

determining, responsive to the field object data including objects of interest not in the verification object data, the false object detection conditions.

8. The system of claim 2 , wherein:

the calibration controller is further configured to selectively receive, during the operating period:

the video data from the video image sensor; and

the field object data;

the surveillance controller is further configured to evaluate verification conditions for sending data to the calibration controller; and

the verification conditions are selected from:

object verification scores from the field object detector meeting a verification threshold; and

periodic sampling of the video stream.

9. The system of claim 2 , wherein:

the calibration controller is further configured to:

aggregate the missed object detection conditions;

aggregate the false object detection conditions;

determine a set of adjustment conditions associated with the camera location; and

determine, based on failure analysis, a plurality of calibration values corresponding to a plurality of adjustment conditions in the set of adjustment conditions; and

the surveillance controller is further configured to:

determine a current adjustment condition at the camera location; and

determine, using the current adjustment condition at the camera location, the at least one calibration value from the plurality of calibration values.

10. The system of claim 1 , wherein the surveillance controller is further configured to:

apply the at least one calibration value to a confidence score threshold; and

compare the confidence score for the detected object to the confidence score threshold to determine the calibrated detection event.

11. The system of claim 1 , wherein the surveillance controller is further configured to:

apply the at least one calibration value to a bounding box size threshold; and

compare a bounding box size for the detected object to the bounding box size threshold to determine the calibrated detection event.

12. The system of claim 1 , wherein the surveillance controller is further configured to:

apply the at least one calibration value to an intersection-over-union threshold; and

compare an intersection-over-union value for the detected object to the intersection-over-union threshold to determine the calibrated detection event.

13. The system of claim 1 , wherein the surveillance controller is further configured to:

apply the at least one calibration value to a motion model sensitivity threshold; and

compare a motion value for the detected object to the motion model sensitivity threshold to determine the calibrated detection event.

14. The system of claim 1 , wherein:

the surveillance controller is further configured to:

determine a set of adjustment conditions for the camera location;

determine a plurality of calibration values for determining the calibrated detection event;

map the set of adjustment conditions to the plurality of calibration values;

determine a current adjustment condition at the camera location; and

determine, using the current adjustment condition to index the set of adjustment conditions, the at least one calibration value from the plurality of calibration values; and

the set of adjustment conditions are selected from condition types including:

relative object size;

location in video frame;

time;

light condition; and

weather condition.

15. A computer-implemented method, comprising:

receiving video data from a video image sensor, wherein the video data includes a video stream of video frames captured by the video image sensor at a camera location;

determining, during a calibration period, at least one calibration value for the camera location by:

determining, using a field object detector based on a first object detection model, field object data for a plurality of calibration objects in calibration video data from the video image sensor;

determining, based on an object verification detector using a second object detection model, verification object data for the plurality of calibration objects in the calibration video data, wherein:

the first object detection model has a first accuracy value for objects of interest;

the second object detection model has a second accuracy value for objects of interest; and

the second accuracy value is higher than the first accuracy value;

comparing the field object data from the field object detector to the verification object data for the plurality of calibration objects;

determining, based on the comparison of the field object data to the verification object data, whether the verification object data matches the field object data;

determining, responsive to the verification object data including objects of interest not in the field object data, missed object detection conditions;

determining, responsive to the field object data including objects of interest not in the verification object data, false object detection conditions; and

determining, based on the comparison of the field object data and the verification object data, the at least one calibration value to compensate for a failure condition of the first object detection model, wherein the failure condition is selected from the missed object detection conditions and the false object detection conditions;

determining, using the field object detector during an operating period:

object data for a detected object in the video data; and

a confidence score for the detected object;

post-processing, during the operating period, the object data and the confidence score to determine a calibrated detection event, wherein post-processing includes applying the at least one calibration value for the camera location to determining the calibrated detection event; and

sending, responsive to the calibrated detection event, an event notification to a video surveillance application.

16. The computer-implemented method of claim 15 , further comprising:

determining, using the second object detection model, a bounding box of moving objects in the calibration video data;

detecting, using an object classifier, an object of interest in the calibration video data; and

comparing bounding boxes of moving objects to detected objects from the field object data;

determining whether the object of interest is present in unmatched bounding boxes; and

determining, responsive to detecting the object of interest in unmatched bounding boxes, the missed object detection conditions.

17. The computer-implemented method of claim 15 , further comprising:

detecting, by the second object detection model, an object of interest in the calibration video data;

determining whether the object of interest is absent in the field object data; and

determining, responsive to not detecting the object of interest in the field object data, the false object detection conditions.

18. The computer-implemented method of claim 15 , further comprising:

aggregating, during the calibration period, the missed object detection conditions;

aggregating, during the calibration period, the false object detection conditions;

determining a set of adjustment conditions associated with the camera location;

determining, based on failure analysis of aggregate missed object detection conditions and aggregate false object detection conditions, a plurality of calibration values corresponding to a plurality of adjustment conditions in the set of adjustment conditions;

determining, during the operation period, a current adjustment condition at the camera location; and

determining, using the current adjustment condition at the camera location, the at least one calibration value from the plurality of calibration values.

19. The computer-implemented method of claim 15 , further comprising:

applying the at least one calibration value to a post-processing threshold; and

comparing a corresponding value for the detected object to the post-processing threshold to determine the calibrated detection event, wherein the post-processing threshold is selected from:

a confidence score threshold;

a bounding box size threshold;

an intersection-over-union threshold; and

a motion model sensitivity threshold.

20. A video camera, comprising:

a video image sensor;

means for receiving video data from the video image sensor, wherein the video data includes a video stream of video frames captured by the video image sensor at a camera location;

means for determining, during a calibration period, at least one calibration value for the camera location by:

determining, using a field object detector based on a first object detection model, field object data for a plurality of calibration objects;

determining, based on an object verification detector using a second object detection model, verification object data for the plurality of calibration objects, wherein:

the first object detection model has a first accuracy value for objects of interest;

the second object detection model has a second accuracy value for objects of interest; and

the second accuracy value is higher than the first accuracy value;

comparing the field object data from the field object detector to the verification object data for the plurality of calibration objects;

determining, based on the comparison of the field object data to the verification object data, whether the verification object data matches the field object data;

determining, responsive to the verification object data including objects of interest not in the field object data, missed object detection conditions;

determining, responsive to the field object data including objects of interest not in the verification object data, false object detection conditions; and

determining, based on the comparison of the field object data and the verification object data, the at least one calibration value to compensate for a failure condition of the first object detection model, wherein the failure condition is selected from the missed object detection conditions and the false object detection conditions;

means for determining, using the field object detector during an operating period:

object data for a detected object in the video data; and

a confidence score for the detected object;

means for post-processing, during the operating period, the object data and the confidence score to determine a calibrated detection event, wherein post-processing includes applying the at least one calibration value for the camera location to determining the calibrated detection event; and

means for sending, responsive to the calibrated detection event, an event notification to a video surveillance application.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 057651 FRAME 0296 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058981/0958 →
SECURITY INTEREST Recorded Sep 17, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 057651/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2021
From: XIONG, SHAOMIN; HIRANO, TOSHIKI; KAH, DAMIEN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 057136/0645 →