Wakeup sensor threshold autocalibration
Systems and methods are described for wakeup sensor threshold autocalibration. An example method includes generating sensor data by a wakeup sensor. The example method also includes determining that the sensor data represents a potential motion event based on a comparison of the sensor data with a sensor threshold value. The example method also includes controlling a camera device to capture video data and generating, by an onboard motion verification model and based on the video data, motion verification data labeling the potential motion event as a true positive motion event. The example method also includes determining an updated sensor threshold value by modifying the sensor threshold value by a first amount, where the first amount is determined based on the first motion verification data.
1 . A computer-implemented method comprising:
generating, during a sliding time window by a first wakeup sensor, first sensor data;
determining that the first sensor data represents a first potential motion event based on a comparison of the first sensor data with a first sensor threshold value;
in response to determining that the first sensor data satisfies the first sensor threshold value, controlling a first camera device to capture first video data comprising one or more video frames;
classifying, by an onboard motion verification model and based on the one or more video frames, the first potential motion event as one of a true positive motion event or a false positive motion event, wherein classifying the first potential motion event as a true positive motion event comprises determining that an object-of-interest is present within an area-of-interest of an environment indicated in the one or more video frames;
generating, by the onboard motion verification model, first motion verification data labeling the first potential motion event as a first true positive motion event;
determining a motion verification decision boundary, wherein the motion verification decision boundary is determined based on a first quantile of a first empirical distribution associated with a first set of false positive motion events that occurred during the sliding time window and a second quantile of a second empirical distribution associated with a first set of true positive motion events that occurred during the sliding time window, wherein the first set of true positive motion events comprises the first true positive motion event;
determining a first updated sensor threshold value by modifying the first sensor threshold value by a first amount, wherein the first amount is determined based on the motion verification decision boundary, and wherein the motion verification decision boundary is within an interval associated with the first quantile and the second quantile; and
storing the first updated sensor threshold value in memory.
2 . The computer-implemented method of claim 1 , the computer-implemented method comprising:
determining that a value associated with the first quantile is below a predetermined threshold for a first predetermined amount of time, wherein determining the first updated sensor threshold value comprises decreasing the first sensor threshold value.
3 . The computer-implemented method of claim 1 , the computer-implemented method comprising:
determining that a value associated with the second quantile is below a predetermined threshold for a first predetermined amount of time, wherein determining the first updated sensor threshold value comprises increasing the first sensor threshold value.
4 . A computer-implemented method comprising:
generating, by a first wakeup sensor of a device, first sensor data;
determining that the first sensor data represents a first potential motion event based on a comparison of the first sensor data with a first sensor threshold value;
in response to determining that the first sensor data represents the first potential motion event, controlling a first camera of the device to capture first video data;
generating, by a motion verification model on the device and based on the first video data, first motion verification data indicating that the first potential motion event is a first true positive motion event; and
updating the first sensor threshold value based on the first motion verification data to generate a first updated sensor threshold value.
5 . The computer-implemented method of claim 4 , the computer-implemented method comprising:
determining a motion verification decision boundary, wherein the motion verification decision boundary is determined based on a first quantile of a first empirical distribution associated with a first set of false positive motion events that occurred during a sliding time window and a second quantile of a second empirical distribution associated with a first set of true positive motion events that occurred during the sliding time window, and wherein the first set of true positive motion events comprises the first true positive motion event.
6 . The computer-implemented method of claim 5 , the computer-implemented method comprising:
determining that a value associated with the first quantile is below a predetermined threshold for a first predetermined amount of time, wherein determining the first updated sensor threshold value comprises decreasing the first sensor threshold value.
7 . The computer-implemented method of claim 5 , the computer-implemented method comprising:
determining that a value associated with the second quantile is below a predetermined threshold for a first predetermined amount of time, wherein determining the first updated sensor threshold value comprises increasing the first sensor threshold value.
8 . The computer-implemented method of claim 4 , the computer-implemented method comprising:
determining that no false positive motion events and no true positive motion events have occurred for at least a first predetermined amount of time;
initiating a countdown timer associated with a second predetermined amount of time;
determining, based on an expiration of the countdown timer, that no false positive motion events and no true positive motion events have occurred within the second predetermined amount of time;
determining, based on a determination that no false positive motion events and no true positive motion events have occurred within the second predetermined amount of time, a second updated sensor threshold value by decreasing the first updated sensor threshold value by a second amount; and
storing the second updated sensor threshold value in memory.
9 . The computer-implemented method of claim 4 , the computer-implemented method comprising:
generating, by the first wakeup sensor, second sensor data;
determining that the second sensor data represents a second potential motion event based on a comparison of the second sensor data with the first updated sensor threshold value;
in response to determining that the second sensor data satisfies the first updated sensor threshold value, controlling the first camera to capture second video data;
generating, by the motion verification model and based on the second video data, second motion verification data labeling the second potential motion event as a first false positive motion event, wherein labeling the second potential motion event as a first false positive motion event comprises determining that a nuisance object is present within an area-of-interest;
determining a second updated sensor threshold value by increasing the first updated sensor threshold value by a second amount, wherein the second updated sensor threshold value is used for a first predetermined amount of time associated with a higher-threshold period; and
storing the second updated sensor threshold value in memory.
10 . The computer-implemented method of claim 9 , the computer-implemented method comprising:
determining the first predetermined amount of time has passed;
determining a third updated sensor threshold value by decreasing the second updated sensor threshold value by third amount; and
storing the third updated sensor threshold value in memory.
11 . The computer-implemented method of claim 4 , wherein the first sensor threshold value corresponds to a first predetermined sensitivity level of the first wakeup sensor.
12 . The computer-implemented method of claim 4 , wherein the first wakeup sensor is a passive infrared (PIR) sensor, and wherein the first sensor data is a PIR signal magnitude data.
13 . The computer-implemented method of claim 4 , where the first wakeup sensor is an accelerometer, and wherein the first sensor data is a value indicating a change in velocity of an electronic device comprising the first wakeup sensor.
14 . A system comprising:
a first wakeup sensor configured to generate first sensor data, wherein the first wakeup sensor is one of a passive infrared (PIR) sensor or an accelerometer;
at least one processor; and
non-transitory computer readable memory storing instructions that, when executed by the at least one processor, are effective to:
determine that the first sensor data represents a first potential motion event based on a comparison of the first sensor data with a first sensor threshold value;
control, in response to determining that the first sensor data represents the first potential motion event, a first camera to capture first video data;
generate, by an onboard motion verification model and based on the first video data, first motion verification data labeling the first potential motion event as a first true positive motion event; and
update the first sensor threshold value based on the first motion verification data to generate a first updated sensor threshold value.
15 . The system of claim 14 , wherein the instructions, when executed by the at least one processor, are effective to:
determine a motion verification decision boundary, wherein the motion verification decision boundary is determined based on a first quantile of a first empirical distribution associated with a first set of false positive motion events that occurred during a sliding time window and a second quantile of a second empirical distribution associated with a first set of true positive motion events that occurred during the sliding time window, and wherein the first set of true positive motion events comprises the first true positive motion event.
16 . The system of claim 15 , wherein the instructions, when executed by the at least one processor, are effective to:
determine that a value associated with the first quantile is below a predetermined threshold for a first predetermined amount of time, wherein the instructions effective to determine the first updated sensor threshold value comprise decreasing the first sensor threshold value.
17 . The system of claim 15 , wherein the instructions, when executed by the at least one processor, are effective to:
determining that a value associated with the second quantile is below a predetermined threshold for a first predetermined amount of time, wherein the instructions effective to determine the first updated sensor threshold value comprise increasing the first sensor threshold value.
18 . The system of claim 14 , wherein the instructions, when executed by the at least one processor, are effective to:
determine that no false positive motion events and no true positive motion events have occurred for at least a first predetermined amount of time;
initiate a countdown timer associated with a second predetermined amount of time;
determine, based on an expiration of the countdown timer, that no false positive motion events and no true positive motion events have occurred within the second predetermined amount of time;
determine, based on a determination that no false positive motion events and no true positive motion events have occurred within the second predetermined amount of time, determining a second updated sensor threshold value by decreasing the first updated sensor threshold value by a second amount; and
store the second updated sensor threshold value in memory.
19 . The system of claim 14 , wherein the first wakeup sensor is configured to generate second sensor data, wherein the instructions, when executed by the at least one processor, are effective to:
determine that the second sensor data represents a second potential motion event based on a comparison of the second sensor data with the first updated sensor threshold value;
control, in response to determining that the second sensor data satisfies the first updated sensor threshold value, the first camera to capture second video data;
generate, by the onboard motion verification model and based on the second video data, second motion verification data labeling the second potential motion event as a first false positive motion event, wherein labeling the second potential motion event as a first false positive motion event comprises determining that a nuisance object is present within an area-of-interest;
determine a second updated sensor threshold value by increasing the first updated sensor threshold value by a second amount, wherein the second updated sensor threshold value is used for a first predetermined amount of time associated with a higher-threshold period; and
store the second updated sensor threshold value in memory.
20 . The system of claim 19 , wherein the instructions, when executed by the at least one processor, are effective to:
determine the first predetermined amount of time has passed;
determine a third updated sensor threshold value by decreasing the second updated sensor threshold value by third amount; and
store the third updated sensor threshold value in memory.