action detection
By using a multi-sensor system and signal processing methods, the false alarm problem in the motion detection system was solved, enabling accurate detection and real-time monitoring of motion, and improving the reliability of the safety system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SIMPLISAFE INC
- Filing Date
- 2023-01-13
- Publication Date
- 2026-06-23
AI Technical Summary
Existing motion detection systems are prone to false alarms, especially for unrelated moving or non-moving events, such as pets walking, robot operations, and flashing lights, leading to unnecessary warnings.
A multi-sensor system, including infrared sensors, light sensors, and temperature sensors, is used in conjunction with processing methods to distinguish between actions of interest and events of non-interest. Actions are determined by counting signal peaks and thresholds, thereby reducing false alarms.
It effectively reduces the number of false alarms, improves the accuracy of motion detection, provides real-time monitoring and detailed understanding of motion, and enhances the reliability of the safety system.
Smart Images

Figure CN118318259B_ABST
Abstract
Description
Background Technology
[0001] Motion detection is used in the security industry to alert users when motion is detected in homes, businesses, or private spaces. Summary of the Invention
[0002] In one aspect, a method includes: receiving a message by an action detector among a plurality of action detectors, the message being configured such that the action detector remains in an alert state after receiving a command to change the state of the action detector to a de-alert state; receiving the command to change the state from the alert state to the de-alert state by the action detector; determining, based on a first value stored in the memory of the action detector, that the action detector will remain in the alert state; and ignoring the command to change the state from the alert state to the de-alert state by the action detector, such that the action detector remains in the alert state while the other action detectors among the plurality are in the de-alert state.
[0003] In some embodiments, the method includes receiving a message from the motion detector, the message being configured to change the first value stored in the memory of the motion detector and to change the motion detector from the alert state to the de-alert state.
[0004] In some embodiments, a second value in the memory of the action detector indicates whether the current state of the action detector is the alert state or the de-alert state.
[0005] In some embodiments, changing the motion detector from the alert state to the de-alert state includes changing the second value and deactivating the sensor that activated the motion detector.
[0006] In some embodiments, the method includes receiving a command from the motion detector to change the state of the motion detector to an alert state.
[0007] In some embodiments, changing the state of the motion detector to an alert state includes changing the second value and activating the sensor of the motion detector.
[0008] In some embodiments, the message configured to cause the motion detector to remain in an alert state after receiving a command to change the state of the motion detector to the de-alert state further causes the motion detector to change the first value stored in the memory of the motion detector.
[0009] In one aspect, a motion detector includes: an infrared sensor for generating a signal; a memory configured to store one or more values; and a processor operable to: receive a message configured to cause the motion detector to remain in an alert state upon receiving a command to change the state of the motion detector to a de-alert state; receive the command to change the state from the alert state to the de-alert state; determine that the motion detector will remain in the alert state based on a first value stored in the memory of the motion detector; and ignore the command to change the state from the alert state to the de-alert state, such that the motion detector remains in the alert state.
[0010] In some embodiments, the processor is operable to receive a message from the motion detector, the message being configured to change the first value stored in the memory of the motion detector and cause the motion detector to change from the alert state to the de-alert state.
[0011] In some embodiments, a second value in the memory of the action detector indicates whether the current state of the action detector is the alert state or the de-alert state.
[0012] In some embodiments, changing the motion detector from the alert state to the de-alert state includes changing the second value and deactivating the sensor that activated the motion detector.
[0013] In some embodiments, the processor is operable to receive a command from the motion detector to change the state of the motion detector to an alert state.
[0014] In some embodiments, changing the state of the motion detector to an alert state includes changing the second value and activating the sensor of the motion detector.
[0015] In some embodiments, the message configured to cause the motion detector to remain in an alert state after receiving a command to change the state of the motion detector to the de-alert state further causes the motion detector to change the first value stored in the memory of the motion detector.
[0016] In one aspect, a method includes: sampling a signal from an infrared detector by an action detector over a time interval; determining that the average power of the samples from the infrared detector exceeds a threshold during the time interval; and sending an alert that an action has been detected in response to the average power of the samples exceeding the power threshold.
[0017] In some embodiments, the root mean square (RMS) calculation is used to determine the average power of the sample over the time interval.
[0018] In some embodiments, the duration of the time interval is remotely adjustable.
[0019] In some embodiments, the duration of the time interval is approximately 6.5 seconds.
[0020] In some embodiments, the method includes: sampling data from a light sensor during the time interval; determining the average power of the samples from the light sensor during the time interval; and adjusting the threshold based on the average power of the samples from the light sensor during the time interval.
[0021] In some embodiments, the infrared sensor is one of a first pair of infrared sensors that receive infrared radiation.
[0022] In some embodiments, the method includes: receiving infrared radiation from a second portion of a separate region at a second pair of infrared sensors; detecting movement of an object within a first portion of one of a plurality of regions based on changes in infrared radiation measured by a first pair of infrared sensors; detecting movement of the object within a second portion of one of the regions based on changes in infrared radiation measured by the second pair of infrared sensors; and indicating that movement has been detected in response to the detection of movement of the object within the first and second portions of the regions.
[0023] In some embodiments, measuring infrared radiation using a first pair of infrared sensors that receive infrared radiation from the first portion of the individual region and a second pair of infrared sensors that receive infrared radiation from the second portion of the individual region includes measuring infrared radiation received from multiple regions in space through a Fresnel lens using the first pair of infrared sensors that receive infrared radiation from the first portion of the individual region and the second pair of infrared sensors that receive infrared radiation from the second portion of the individual region.
[0024] In one aspect, an action detector includes: an infrared sensor for generating a signal; and a processor operable to: sample the signal from the infrared detector; determine that the average power of the sample exceeds a threshold within a time interval; and indicate an action in response to the average power of the sample exceeding the threshold.
[0025] In some embodiments, the motion detector includes a light sensor.
[0026] In some embodiments, the processor is operable to sample data from the light sensor and adjust the threshold in response to samples from the light sensor.
[0027] In some embodiments, the motion detector includes a transceiver, wherein the processor is further operable to indicate motion by sending signals via the transceiver.
[0028] In some embodiments, the motion detector includes a temperature sensor, wherein the processor is further operable to sample data from the temperature sensor and adjust the threshold in response to the sample from the temperature sensor. Attached Figure Description
[0029] Figures 1A to 1D This is a description of the motion detection system.
[0030] Figure 2 This is a description of the signals received by the motion detection sensor.
[0031] Figure 3 This is a flowchart of a method for considering light events when motion is detected.
[0032] Figure 4 This is a schematic diagram of a logic circuit that considers light events when motion is detected.
[0033] Figure 5 This is a flowchart of a method for detecting actions using infrared signals.
[0034] Figure 6 This is a schematic diagram of the logic circuit that detects actions based on infrared signals.
[0035] Figure 7 This is a schematic diagram of the logic circuit that detects actions based on infrared signals.
[0036] Figure 8 This is an explanation of simulated waves.
[0037] Figures 9A to 9C Explain the differences in signals generated by small objects and people.
[0038] Figure 10 This is a schematic diagram of a logic circuit that considers light events when motion is detected.
[0039] Figure 11 This is a schematic diagram of the logic circuit that detects actions based on infrared signals.
[0040] Figure 12 This is a schematic illustration of an example computer for a motion detection system. Detailed Implementation
[0041] This specification describes methods and systems for detecting actions. These methods and systems efficiently detect actions, alert the user to the actions, and reduce the number of false alarms in action detection. For example, the methods and systems may consider or otherwise address several variables that trigger false alarms.
[0042] While a particular action may be of interest (i.e., the action that indicates a problem, such as a person moving through a house with an alarm set), another action may not be of interest (i.e., the action that does not indicate a problem, such as a fan vibrating, a pet walking through a house, or an operating robotic vacuum cleaner). False alarms can be associated with uninterested movements (e.g., a pet crossing the sensor's field of view) or non-movement events that trigger the alarm (e.g., a flashing light, exposure to direct or indirect sunlight, airflow from a heating or cooling system, or radiators in the motion detector's field of view). These systems and methods incorporate additional sensors and improved processing methods that take into account or otherwise address such variables, effectively reducing the number of false alarms.
[0043] Figure 1A This describes a system 100 that includes a motion detector 102, a base station 104, a keypad 106, and a mobile computing device (e.g., a telephone 108). The motion detector 102 includes a processor that analyzes and processes signals received from sensors to determine if motion has been detected. Alternatively or additionally, some base stations 104 include processors that analyze and process signals received from sensors to determine if motion has been detected.
[0044] If system 100 determines that a motion has been detected, it may alert the user. For example, base station 104 includes a speaker that indicates an alarm condition in response to the detection of a motion. In another example, base station 104 transmits a signal to phone 108 that alerts the user to the alarm condition. In some embodiments, base station 104 and / or motion detector 102 initiate a text message or call to phone 108. In some embodiments, base station 104 may notify phone 108 via push notification or on an application.
[0045] The keypad 106 allows a user to access or control the system 100 by receiving input and transmitting it to the base station 104. For example, a user can enter a password into the keypad 106 to alert or de-alert the system 100. Once alerted, the system 100 can warn the user of an alarm status based on the detected action. The telephone 108 also allows a user to access or control the system 100, for example, via an application.
[0046] Motion detector 102 has a housing 110 and a first cavity 112 partially defined by the housing. An aperture 114 extends through the housing to allow light and infrared energy to enter the housing 110. A Fresnel lens 116 extends across and covers the aperture 114 to refract incident light and infrared signals. The Fresnel elements of lens 116 allow for a larger field of view than conventional lenses. For example, individual Fresnel elements of lens 116 are associated with corresponding areas of the field of view and refract signals from said corresponding areas into a passive infrared sensor 118. The passive infrared sensor 118 is a thermoelectric receiver. Sensor 118 is a four-element dual-channel receiver having four individual receiver elements divided into two channels (e.g., two receiver elements per channel). Two infrared elements receive infrared radiation from a first portion of the individual area, and two infrared elements receive infrared radiation from a second portion of the individual area. Some motion detectors have more channels. Increasing the number of channels increases the detector's resolution but increases power usage.
[0047] Individual channels have positive and negative sides, which generate signals in response to received infrared radiation. These signals are added together with a summation signal indicating changes in the amount of infrared radiation received by the receiving element. These changes in infrared radiation from one side of the receiving element to the other side indicate action.
[0048] Sensor 118 is mounted to circuit board 120, which is housed within housing 110 and positioned within first cavity 112. Motion detector 102 also includes a component or wall 122 protecting sensor 118. Wall 122 extends between lens 116 and circuit board 120 such that wall 122, lens 116, and circuit board 120 define a second cavity 123, which is at least partially within first cavity 112. Second cavity 123 houses infrared sensor 118 and light sensor 126.
[0049] The wall 122 acts as a shield or protective cover, preventing insects from entering the space between the lens 116 and the sensor 118. The wall 122 has a rough, textured surface (e.g., formed of black plastic with a matte texture) that scatters and absorbs unfocused energy. By absorbing radiation entering through areas of the lens not covered by the Fresnel element, the wall reduces the likelihood that, for example, flickering light in the sensor's field of view will trigger a false alarm. This is important because the passive infrared sensor 118 is sensitive to both infrared radiation and, at lower levels, visible light. Some passive infrared sensors are sensitive enough that, without the mitigation provided by the wall 122, a flickering pure visible light source in the sensor's field of view could trigger a false alarm.
[0050] The polysiloxane sleeve 124 seals the wall 122 and thermally insulates the second cavity 123. Temperature variations can affect the sensor 118, therefore thermal insulation of the sensor 118 reduces the likelihood that airflow from a vent pointing towards the sensor could introduce warm or cold air into the second cavity 123 and affect the sensor output. The wall 122 and sleeve 124 also separate the sensor 118 from other heat-generating components of the detector.
[0051] An ambient light sensor 126 (e.g., a photodetector more sensitive to visible and ultraviolet radiation than to infrared radiation) is mounted on a circuit board 120 near sensor 118. The light sensor 126 detects light from a broadband source that also emits infrared radiation (e.g., sunlight, light emitted from a lit light bulb, or light projected from a strong flash). This additional infrared radiation is received by sensor 118 but does not indicate action. The light sensor 126 helps account for light that might otherwise cause false alarms. The action detector 102 also includes a temperature sensor 128, which can be used to compensate for temperature effects on the measured infrared radiation.
[0052] Radio frequency (RF) transceiver 127 is operable to transmit data from motion detector 102 to other components of system 100 (e.g., base station 104) and receive signals from other components of the system (e.g., base station 104). For example, motion detector 102 may transmit data received by different sensors to base station 104. Some systems have an RF transmitter and a separate RF receiver, rather than a transceiver.
[0053] Battery 130 powers the electronics of motion detector 102. The RF receiver and microcontroller unit are on a different circuit than other electronics in motion detector 102 (e.g., PIR sensor 118 and ambient light sensor 126), allowing the RF receiver to be powered on while the other electronics are powered off. This "sleep" mode of motion detector 102 consumes minimal power while allowing motion detector 102 to receive signals (e.g., from base station 104).
[0054] Figure 1BThis describes exemplary communication between motion detector 102 and base station 104. Motion detector 102 is initially in a "sleep" mode, in which some or all of its electronics, except for the RF receiver and microcontroller unit, are powered off. The system is alerted by a user entering command 160 using keypad 106 or telephone 108. Base station 104 receives command 160 and, in response, sends a broadcast signal 162 to motion detector 102. Motion detector 102 receives broadcast signal 162 and, in response, powers on additional electronics (e.g., infrared sensors, light sensors, etc.). After the electronics are powered on, motion detector 102 begins processing signals generated by the sensors to determine if motion has been detected, as further discussed below. If motion detector 102 determines that motion has been detected, it sends a signal 164 with a detection flag to base station 104 and sends a warning to the user. In some systems, motion detector 102 sends sensor data (e.g., from infrared sensors, light sensors, and temperature sensors) to base station 104 for processing.
[0055] When a user wishes to de-alarm the system, they can use the keypad 106 or telephone 108 to input command 166 to de-alarm the system 100. Base station 104 receives command 166 and, in response, sends a broadcast signal 168 to motion detector 102. Motion detector 102 receives broadcast signal 168 and enters a "sleep" mode, powering off at least some electronic components except for the RF receiver and microcontroller unit. Because the sensors and RF transmitters of motion detector 102 are powered off, motion detector 102 stops sending data 164 to base station 104.
[0056] In some implementations, after motion detector 102 determines that motion has been detected, motion detector 102 enters a "blind" mode, in which motion detector 102 does not send a signal to the base station for a period of time (e.g., 110 seconds). In some implementations, entering "blind" mode for a longer period of time saves power because motion detector 102 sends fewer signals. Motion detector 102 may enter "blind" mode after alerting, and the length of "blind" mode may allow the user to exit the field of view of motion detector 102 without sending a signal to the base station. "Blind" mode can prevent detected motion from generating multiple warnings. For example, in some cases, a user may not want to receive multiple warnings from a short duration of detected motion (e.g., receiving three warnings in thirty seconds). "Blind" mode prevents motion detector from sending multiple signals within the time period (e.g., 110 seconds), so when an extended "blind" mode is implemented, the user receives only one signal from motion detector 102 until the time period has elapsed.
[0057] In some implementations, the duration of the "blind" mode can be reduced, for example, to 10 seconds. In some systems, the duration of the "blind" mode can be changed remotely. These remote updates can be entered into system 100 using keypad 106 or telephone 108. Reducing the duration of the "blind" mode allows for increased monitoring of the protected area. For example, if an action is detected on the same action detector 102 every 10 seconds, the user will know the reason for the warning as the action detector 102 remains within its field of view. In some implementations, the duration of the "blind" mode can be further reduced, for example, to six seconds. A duration of six seconds provides a sufficiently large time window to account for random action events while allowing for increased monitoring of the protected area. A duration of 10 seconds can be advantageous, for example, providing a brief "blind" mode where other action detectors can send warnings.
[0058] Figure 1C This illustrates an exemplary scenario where multiple motion detectors 102a, 102b, 102c, and 102d are installed in different rooms of house 170, and an intruder enters the house while the system is alerted. In response to the first motion detector 102a detecting an intruder's (172) action, motion detector 102a sends a signal indicating the action to the base station and sends a warning to the user. When the intruder leaves the first room and enters the bedroom, the second motion detector 102b sends a signal indicating the action to the base station. This sequence is repeated for motion detectors 102c, 102d, and 102a, respectively installed in the living room, kitchen, and first room, before the intruder returns to the first room.
[0059] If motion detectors 102a, 102b, 102c, and 102d have a "blind" mode lasting for several minutes rather than seconds, then detailed information about an intruder's actions throughout the house after their initial alarm trigger is limited. For example, when an intruder returns to the first room and triggers an alarm on motion detector 102a, any further movement within the field of view of motion detector 102a during the duration of the "blind" mode will not trigger a signal from motion detector 102a. An intruder 172 may remain within the field of view of motion detector 102a without it sending a signal, or he may leave and re-enter the field of view of motion detector 102a without it sending a signal.
[0060] If motion detectors 102a, 102b, 102c, and 102d have a significantly reduced "blind" mode duration (e.g., reduced to 10 seconds or less), then they can increase surveillance of the protected area. For example, when an intruder triggers an alert on motion detector 102a, due to the reduced duration of the "blind" mode, further movement in the field of view of motion detector 102a triggers a signal from motion detector 102a. If the intruder remains in the field of view of motion detector 102a and continues to move, then motion detector 102a continues to alert the user of the intruder's presence. This increased motion detection can provide several benefits. The motion detector can, for example, provide the first responder with real-time information about the intruder's current location. The reduced duration of the "blind" mode can also provide the user with additional information about detected movements. For example, the signal can provide information about whether a detected movement has started and stopped, rather than simply whether a movement has been detected.
[0061] In some implementations, motion detectors 102a, 102b, 102c, and 102d can be configured with different settings. For example, in some systems, a user can remotely control which motion detectors have a reduced duration of "blind" mode. These remote updates can be entered into system 100 using keypad 106 or telephone 108. For example, some motion detectors 102a, 102b, 102c, and 102d may have a reduced duration of "blind" mode, while some other motion detectors do not. This allows a user to increase monitoring in some areas (e.g., by reducing the duration of "blind" mode in those areas) while saving power in other areas (e.g., by increasing the duration of "blind" mode in those areas).
[0062] Some systems include one or more motion detectors with an optional "secret" mode. When a motion detector 102 with this functionality is placed in "secret" mode, it remains alert even when the system is de-alerted. The "secret" mode can be useful, for example, when a user wants to monitor a location even when the system (e.g., other motion detectors in the system) is de-alerted. For example, a user might want to continuously monitor a safe, including when he or she is at home and his or her alarm system is de-alerted. For example, the motion detector can change a value (e.g., a binary value) indicating whether the "secret" mode is active. When said value indicates that the "secret" mode is active, the motion detector 102 will remain alert regardless of whether the system is alerted.
[0063] Figure 1DThis describes exemplary communication between motion detector 102 and base station 104 in a system where one or more motion detectors have an optional "secret" mode. In the illustrated communication, motion detector 102 is initially in "sleep" mode, in which some or all of the electronics except the RF receiver and microcontroller unit are powered off. The motion detector 102 in "secret" mode is activated by a user entering a "secret" alert command 174 into system 100 using keypad 106 or telephone 108. The entered "secret" alert command 174 is different from... Figure 1B Command 160, as described herein, is given for example, because the user wishes to activate motion detector 102 to remain alert, regardless of whether the system is alerted. Base station 104 receives “secret” alert command 174 and, in response, sends a “secret” alert broadcast signal 176 to the selected motion detector 102. Motion detector 102 receives the “secret” alert broadcast signal 176 and, in response, powers on additional electronics of detector 102 (e.g., infrared sensors, light sensors, etc.). The motion detector also activates a “secret” mode setting. For example, the motion detector may change a value indicating whether a “secret” mode is activated, such that motion detector 102 will remain alert regardless of whether the system is alerted. After the electronics are powered on, motion detector 102 begins processing signals generated by the sensors to determine whether motion has been detected. If motion detector 102 determines that motion has been detected, it sends a signal 164 with a detection flag to base station 104 and sends a warning to the user. In some systems, motion detector 102 sends sensor data (e.g., from infrared sensors, light sensors, and temperature sensors) to base station 104 for processing.
[0064] When a user de-alerts the system, the user uses keypad 106 or telephone 108 to input command 166 to de-alert system 100. Base station 104 receives command 166 and, in response, sends broadcast signal 168 to motion detector 102. However, since motion detector 102 is in "secret" mode (e.g., "secret" mode setting is activated), motion detector 102 does not enter "sleep" mode. Instead, motion detector 102 remains in "secret" alert mode and processes signals generated by sensors to determine whether motion has been detected. When a user de-alerts motion detector 102 from "secret" mode, the user uses keypad 106 or telephone 108 to input command 178 to deactivate the "secret" mode setting. For example, the user can press a button to deactivate the "secret" mode setting. Base station 104 receives command 166 and, in response, sends broadcast signal 180 to motion detector 102. Motion detector 102 receives broadcast signal 180 and deactivates "secret" mode. For example, the motion detector can change the value indicating whether the "secret" mode is activated, for instance, by storing different values in the motion detector's memory. If the system is de-alarmed when the motion detector deactivates the "secret" mode, the motion detector enters a "sleep" mode, powering down at least some of the electronics except for the RF receiver and microcontroller unit. Since the sensors and RF transmitters of motion detector 102 are powered down, motion detector 102 stops transmitting data 164 to base station 104. If system 100 is alerted when the motion detector deactivates the "secret" mode, the motion detector continues to process signals generated by the sensors to determine whether motion has been detected. The motion detector remains alerted until the user inputs command 166 using keypad 106 or telephone 108 to de-alarm system 100.
[0065] The motion detector 102 can store values related to whether it is alerted, de-alerted, in covert mode, or in continuous mode. In some implementations, binary values can be stored for each mode of the motion detector 102.
[0066] Figure 2 An exemplary signal 190 from one of the infrared sensors of motion detector 102 is described. Signal 190 is in the form of a sine wave. Individual periods of the sine wave correspond to regions of the field of view. For example, two periods of the sine wave indicate motion across two regions of the field of view. Each peak 192 in the sine wave (e.g., a local minimum or maximum) indicates motion across a region. Signal 190 can be processed to count the number of peaks 192, as further discussed below. Because individual peaks 192 indicate motion, a larger number of peaks 192 indicates a larger number of detected motions.
[0067] The signal received from the light sensor is similar to that from the infrared receiver. The number of peaks in the signal from the light sensor indicates a light event, with a larger number of peaks indicating a larger light event. The magnitude of the light event can be used to determine whether the light event might interfere with the infrared receiver (e.g., due to additional infrared radiation from the light event). If a light event might interfere with the infrared receiver, then the light event is considered harmful.
[0068] Figure 3 This describes a method 430 for considering or otherwise resolving optical events when motion is detected. For example, base station 104 may consider optical events when motion is detected. The signal from optical sensor 126 is sampled (432). (See also...) Figure 7 The signal is processed as described to determine local maxima or minima (i.e., peak values) (434). For each determined local maximum or minimum value, a first counter is incremented (436). The first counter is compared with a value (e.g., a first trigger value) (438), and if the first counter meets or exceeds the value, a second value (e.g., a second trigger value) for motion detection is incremented (440). Value 438 is an input that sets the level at which changes in visible light may trigger false alarms.
[0069] While the signal from the optical sensor 126 is being sampled, the signal from the infrared sensor is also sampled (442) and processed to determine local maxima or minima (i.e., peak values) (444). This sampling can be performed simultaneously or sequentially, depending on the situation. For each determined local maximum or minimum value, a second counter is incremented (446). The second counter is compared to the value (448), and if the second counter meets or exceeds the value (448), then the base station 104 indicates that an action has been detected (450).
[0070] Figure 4This describes example logic 200 that can be used to implement method 430, which uses signals from a light sensor and an infrared receiver to determine whether motion is detected. In this example, a processor in base station 104 determines whether motion is detected by motion sensor 102. The processor receives an optical signal 202 in the form of an analog wave from motion detector 102. The optical signal 202 is processed to determine the average voltage of the optical signal 202 (204). The average voltage is used to center the signal at approximately zero volts (206), which simplifies future calculations (e.g., determining peak values). The centered signal is analyzed to count the number of peaks in the signal (208). As discussed above, the number of peaks indicates a light event. If the number of peaks in the optical signal meets or exceeds a threshold (e.g., three peaks) within a time window (e.g., 6.5 seconds), then the threshold or trigger value for motion detection is subsequently increased (210). For example, the threshold or trigger value for motion detection may be increased by 2. An ambient light sensor is used to increase the threshold for motion detection to account for light events that would otherwise trigger false alarms for motion detection.
[0071] The processor also receives infrared signals. Individual infrared signals are analyzed individually to count the number of peaks in the signal. For simplicity, the illustrated method shows the processor receiving peak counts 212, 214 of individual infrared signals as input. In response to peak counts 212, 214 meeting or exceeding a threshold indicating an action (e.g., a threshold adjusted in response to processing of ambient light sensor signals), the processor determines that an action has been detected on the corresponding channel. If both peak counts 212, 214 meet or exceed the threshold for determining an action (i.e., the trigger value), then the processor determines that an action has been detected on both channels and warns the user.
[0072] If only one peak count (2^12 or 2^14) meets or exceeds the threshold indicating action, then the detected object is too small or too far to be detected in both infrared receiver channels. The processor may warn the user based on the system's mode. For example, the system has a normal operating mode and a pet mode.
[0073] In normal operating mode, the processor determines that a motion has been detected if at least one peak count meets or exceeds a threshold indicating a motion. However, in pet mode, two peak counts must meet or exceed the threshold indicating a motion for the processor to determine that a motion has been detected. For example, pets and other small animals are a common source of false alarms in motion detection. These small animals do not pose a threat to home or business security and should not cause alarms or warnings, but they can generate actions that trigger alarms or warnings in the system. By requiring two channels of the infrared receiver to detect actions that trigger warnings in pet mode, system 100 can reduce false alarms caused by pets or other small animals or objects crossing the field of view of motion detector 102.
[0074] Figure 5 Method 370 for converting an infrared signal into a peak count is described. For example, base station 104 may use method 370 to convert an infrared signal into a peak count. An infrared sensor is used to generate an infrared signal (372). Base station 104 samples the infrared signal at set time intervals (374). The signal is processed to determine local maxima or minima (i.e., peak values) (376). For each determined local maxima or minima, a counter is incremented (378). For example, the counter can be incremented by storing the timestamps of the local maxima or minima in a queue. The counter is decremented when an individual event exceeds a specified age. The counter is compared to a value (380), and if the counter meets or exceeds the value, then base station 104 indicates that an action has been detected (382).
[0075] Figure 6 The following describes logic 220 that can be used to convert the infrared signal received from motion detector 102 into peak counts 212, 214. In this example, the method of converting the infrared signal is the same for both channels of the infrared receiver, but it is not necessary to be the case in every example. The processor receives an infrared signal 222 in volts from the infrared receiver. The infrared signal 222 is processed to determine an average value (226) of the infrared signal 222, and the average value is used to center the signal at approximately zero volts (228). The processor also receives a temperature signal 230 from motion detector 102. The infrared signal 222 is processed to compensate for the temperature provided by the temperature signal 230 (232). After processing the infrared signal 222 to compensate for the temperature, the infrared signal 222 is analyzed to count the number of peaks in the signal (234). As discussed above, the number of peaks in the infrared signal 222 indicates motion and can be analyzed to determine whether the motion of interest has been detected.
[0076] The sensitivity of the system can be updated remotely by changing thresholds and parameters. For example, in cases where false alarms are triggered by light events, the action threshold or trigger value used for motion detection can be increased by a larger number when the number of peaks in the light signal meets or exceeds a threshold. In cases where motion is not detected correctly, the action threshold can be lowered to allow a smaller amount of motion to trigger an alarm. In cases where temperature interferes with the infrared signal, temperature compensation can be changed remotely in some systems. These remote updates can be entered into system 100 using keypad 106 or telephone 108. In most systems, the user selects between preset sensitivity options rather than directly adjusting parameters. For example, the prototype system has three preset modes (i.e., low (pet), medium, and high sensitivity presets). If a user experiences a false alarm event, they can respond by selecting a lower sensitivity mode on their keypad. Remote updates can also be implemented through software updates to system 100.
[0077] Figure 7 A method 250 is described for counting the number of peaks in a signal (e.g., an infrared signal) 222. The method for counting the number of peaks in an optical signal is the same as the method for counting the number of peaks in an infrared signal. The number of peaks is then used to determine whether a motion sensor has detected motion, as described above. The method may be implemented by a processor in base station 104, a remote server communicating with base station 104, or in motion detector 102. Input parameters include a time window 252 (e.g., the length of time a peak is valid), a timer 254, and a queue 256. Timer 254 is the number of times the method has been repeated when the peak is uncertain. Time window 252 is a limit on how many times the method can be repeated before timer 254 is reset. For example, if timer 254 increases to a value greater than time window 252, then timer 254 is reset. Queue 256 stores timestamps of when individual peaks occurred.
[0078] The processor samples the infrared signal 222 from the motion detector 102 at set time intervals. The processor analyzes the infrared signal 222 based on the pattern of the detector 102: negative slope, positive slope, or no slope. The slope of the signal determines when a peak occurs. For example, a change in slope from negative to positive (or vice versa) specifies a local minimum or maximum (i.e., a peak). Both maximum and minimum inflection points are considered peaks.
[0079] When sampling infrared signal 222, the processor analyzes the sample according to the mode of detector 102. Initially, the mode is set to no slope. When the mode is set to no slope, the processor examines the sample (258) to see if the sample is greater than or less than offset 260. Offset 260 determines the amount by which a sample can be greater than or less than a previous value (e.g., zero) without changing the mode (i.e., the slope). For example, when there is no slope, if the sample is less than 0.2 volts from zero, the mode remains set to no slope. If the sample is less than -0.2 volts, the mode is set to a negative slope. If the sample is greater than 0.2 volts, the mode is set to a positive slope. Offset 260 filters out noise, small movements (e.g., curtain swaying), and other small variations that are negligible in infrared energy detection. If any timestamp earlier than a specified time window exists in queue 256, the peak (262) is removed from queue 256. For example, timestamps earlier than 6.5 seconds are removed from queue 256. Next, the method outputs a peak count (i.e., the number of timestamps stored in queue 256). The processor samples the infrared signal 222 again. If no slope is found, the processor repeats the same steps.
[0080] When the mode is set to a positive slope, the peak is specified by changing to a negative slope (e.g., a local maximum) in response to a sample falling below an extreme value (e.g., a previous sample) (264) by an amount greater than the offset 260.
[0081] If a sample falls below the extreme value by an amount greater than offset 260, the mode is set to a negative slope (266). The new extreme value is set to the value of the sample (268) because the sample is below the previous extreme value. Timer 254 is set to zero (270), and the timestamp of the peak is stored (272) in queue 256. If any timestamp of a peak exists in queue 256 and has a timestamp earlier than the specified time window, then the peak is removed from queue 256 (262). The method then outputs a peak counter and samples the infrared signal 222 again.
[0082] If the sample is not lower than the extreme value by an amount greater than offset 260, then the extreme value is set to the larger sample value between the previous extreme value and the current sample (274). Timer 254 is incremented by 1 (276). If timer 254 exceeds time window 252, then the timer is reset to zero and the mode is set to no slope (278). If timer 254 does not exceed time window 252, then the timer is not reset and the mode remains set to positive slope. If any timestamp exists in queue 256 with a peak timestamp earlier than the specified time window, then the peak is removed from queue 256 (262). The method then outputs a counter and samples the infrared signal 222 again.
[0083] When the mode is set to a negative slope, the peak is specified by changing to a positive slope (e.g., a local minimum) in response to a sample being higher than the extreme value (280) by an amount greater than the offset of 260.
[0084] If the sample exceeds the extreme value by an amount greater than offset 260, the mode is set to a positive slope (282). The new extreme value is set to the value of the sample (284) because the sample is greater than the previous extreme value. Timer 254 is set to zero (286), and the timestamp of the peak is stored (288) in queue 256. If any timestamp earlier than the specified time window exists in queue 256, the peak is removed from queue 256 (262). The method then outputs a peak counter and samples the infrared signal 222 again.
[0085] If the sample does not exceed the extreme value by an amount greater than offset 260, then the extreme value is set to the lower sample value between the previous extreme value and the current sample (290). Timer 254 is incremented by 1 (292). If timer 254 exceeds time window 252, then the timer is reset to zero and the mode is set to no slope (294). If timer 254 does not exceed time window 252, then the timer is not reset and the mode remains set to negative slope. If any timestamp earlier than the specified time window exists in queue 256, then the peak value is removed from queue 256 (262). The method then outputs a counter and samples the infrared signal 222 again.
[0086] Figure 8 This illustrates an exemplary simulated sample 300 with local minima 302 and local maxima 304 (i.e., peak values). An offset of 260 indicates how much the sample must be larger than the local minimum 302 or how much smaller than the local maximum 304 to determine the peak value. Individual values of the peak value are not important. In fact, the slope of the simulated sample is sufficient to determine either the local minimum 302 or the local maximum 304.
[0087] Figures 9A to 9C Instructions for using pet mode. Figure 9A This describes a pet 330 and a person 332 in a room with multiple zones 334a to b equipped with motion detectors 102. Figure 9B This illustrates exemplary infrared signals generated by a pet or small object (e.g., a robotic vacuum cleaner) moving across a room, and Figure 9B This illustrates the exemplary infrared signal generated by a person crossing the room.
[0088] exist Figure 9A In this context, a portion 334a of region 334 is associated with the first channel of the infrared sensor, and a second portion 334b of region 334 is associated with the second channel of the infrared sensor. The pet 330 is much shorter than the human 332 and does not appear in either channel. In contrast, the human 332 traverses both channels within different portions 334a and 334b of region 334. The pet 330 or other small animals tend to trigger only a single channel of the motion detector 102, producing a similar effect to... Figure 8 Signal A does not trigger an alarm. Meanwhile, because person 332 traverses the two sections 334a and 334b of region 334, person 332 is detected by multiple channels of the passive detector 102, generating a signal similar to... Figure 7 This signal triggers an alarm.
[0089] Figure 9BThis illustrates exemplary infrared signals 310 and 312 from two channels of motion detector 102 generated by a robotic toy crossing a room. As illustrated, infrared signal 310 has multiple peaks, but infrared signal 312 has very few peaks exceeding an offset of 260. This reflects that the robotic toy is small enough that it tends to be present in one part of the area rather than both parts. Peak counter 210 increases with the number of peaks in infrared signal 310. Peak counter 212 increases very little (if present) because infrared signal 312 has very few peaks that would trigger an increase in counter 212. Because peak counter 212 increases very little, it does not meet or exceed the threshold indicating motion, and the processor is unsure if motion has been detected. This example illustrates how these false alarms from a pet crossing the sensor's field of view can be effectively reduced or otherwise eliminated. In medium or high sensitivity modes, this signal will guide the processor to determine that motion has been detected.
[0090] Figure 9C Exemplary infrared signals 310 and 312 from two corresponding channels of motion detector 102 are illustrated as a person crosses a room. As illustrated, both signals 310 and 312 have multiple peaks. Peak counters 210 and 212 increment as more peak timestamps are stored in the queue. Additionally, peak counters 210 and 212 decrement as peak timestamps expire in the queue. As described above, when peak counters 210 and 212 meet or exceed a motion threshold, the processor or remote server determines that motion has been detected on the corresponding channel. An exemplary optical signal 202 from the optical sensor of motion detector 102 is also illustrated. Optical signal 202 has no peaks and only indicates noise, and the peak counter for optical signal 202 does not increment.
[0091] Figure 10 This describes example logic 320, which can be used to implement a method that uses signals from a light sensor and an infrared receiver to determine whether an action has been detected. The method implemented by example logic 320 is similar to that described above. Figure 3 The method described is 430, but it is implemented using average power instead of peak count to determine whether an action has been detected. In some implementations, it is advantageous to calculate average power to determine the action, for example, for reasons discussed below.
[0092] In this example, the processor in base station 104 determines whether motion is detected by motion sensor 102 by performing the following operations: The processor receives an optical signal 322 in the form of an analog wave from motion detector 102. The optical signal 202 is processed to determine the average voltage (324) of the optical signal 202. The average voltage is used to center the signal at approximately zero volts (326), which simplifies future calculations (e.g., determining the average power). The centered signal is analyzed to determine the average power in the signal (328), and the average power is used to generate a value representing the average power in the received signal over a given time window. For example, the root mean square (RMS) calculation can be used to determine the average power within a given time window. For example, the RMS voltage (V rms It can be calculated as follows:
[0093]
[0094] Where v t These are the input samples within the time window, and the number of samples equals the sample rate multiplied by the time window duration.
[0095] The increase in average power in the signal over a given duration can indicate a light event. The duration can be adjusted. It is desirable that the duration be long enough to capture the desired action event (e.g., an intruder) while excluding events occurring over a long period (e.g., sunrise or air conditioner operation). If the average power meets or exceeds a threshold within the duration (e.g., 6.5 seconds), then the threshold or trigger value for motion detection (330) is increased. For example, the threshold or trigger value for motion detection can be increased. Using an ambient light sensor to increase the threshold for motion detection takes into account light events that would otherwise trigger false alarms for motion detection.
[0096] The processor also receives multiple infrared signals. For example, as described above, multiple infrared signals can be used in both normal operating mode and pet mode. If only one peak count meets or exceeds the threshold indicating action, then the detected object is too small or too far to be detected in both infrared receiver channels. The processor may warn the user depending on the system's mode. For example, the system has both a normal operating mode and a pet mode.
[0097] Individual infrared signals are analyzed to calculate the average power in the signal. For example, RMS calculation can be used to determine the average power of an individual infrared signal. For simplicity, the illustrated method shows the average power 332, 334 of the individual infrared signals as input to the processor. In response to the average power 332, 334 meeting or exceeding a threshold indicating an action (e.g., a threshold adjusted in response to processing of the ambient light sensor signal), the processor determines that the corresponding channel has detected an action. If both the average power 332 and the average power 334 meet or exceed the threshold used to determine the action (i.e., the trigger value), then the processor determines that both channels have detected an action and warns the user.
[0098] As described above, if only one average power (332 or 334) of an individual infrared signal meets or exceeds the threshold for indicating action, then the detected object is too small or too far to be detected in both infrared receiver channels. The processor may warn the user based on the system's mode. For example, the system has a normal operating mode and a pet mode.
[0099] Figure 11 The description relates to logic 336, which can be used to convert infrared signals received from motion detector 102 into average power values 332, 334. In this example, the method of converting infrared signals is the same for both channels of the infrared receiver, but it is not necessary to be the case in every example. The processor receives infrared signal 338 in volts from the infrared receiver. Infrared signal 338 is processed to determine an average value (340) of infrared signal 338, and the average value is used to center the signal at approximately zero volts (342). The processor also receives a temperature signal 348 from motion detector 102. Infrared signal 338 is processed to compensate for the temperature provided by temperature signal 348 (350) (e.g., using compensation calculations, point slope approximations obtained from linear fitting, etc.). After processing infrared signal 338 to compensate for temperature, infrared signal 338 is analyzed to determine the average power in the signal (352), for example, by using RMS calculations described above. The average power of infrared signal 338 over a given duration indicates motion and can be analyzed to determine whether a motion of interest has been detected. The operation used to convert infrared signals into average power values can be similar to the operation used to convert light signals into average power values, as discussed in... Figure 10 As described.
[0100] In some implementations, calculating the average power to determine the action is advantageous. For example, the power threshold used for average power calculation can be set independently of the duration. The sensitivity of the system can be updated remotely by changing the threshold and parameters. These remote updates can be input into the system 100 using a keypad 106 or a telephone 108. Furthermore, the input can be adapted to measure the power of a sinusoidal signal (e.g., by being sign-independent). Since the incoming signal can be sinusoidal, using a sign-independent input is more accurate. In some implementations, the root function can be eliminated (e.g., by squaring the function), and the calculation can be simply performed using fixed-point addition, multiplication, and division. For example, if the root function is squared, then the RMS voltage (V... rms It can be calculated as follows:
[0101]
[0102] The amount of code and memory required can be less than that of a comparable peak detector, and the system can be tuned by adjusting the time window and power threshold. For example, using addition, multiplication, and division as described above can be more efficient than... Figure 7 The described method requires less code and memory. The system can also be tuned by adjusting the duration and power threshold.
[0103] The sensitivity of the system can be updated remotely by changing thresholds and parameters. These remote updates can be input into the system 100 using keypad 106 or telephone 108. For example, in the case of a false alarm triggered by a light event, the action threshold or trigger value used for motion detection can be increased by a larger number when the average power of the light signal meets or exceeds a threshold. In the case of incorrect motion detection, the action threshold can be lowered to allow a smaller amount of motion to trigger an alarm. In the case of temperature interference with the infrared signal, temperature compensation can be changed remotely in some systems. For example, the calculation for temperature compensation can be changed remotely, for example, by using keypad 106 or telephone 108. In most systems, the user selects between preset sensitivity options rather than directly adjusting parameters. For example, the prototype system has three preset modes (i.e., low (pet), medium, and high sensitivity presets). If the user experiences a false alarm event, they can react by selecting a lower sensitivity mode on their keypad. In some systems, the user directly adjusts the duration and power thresholds. Remote updates can also be implemented through software updates to the system 100. For example, the manufacturer can remotely update the system 100 by sending a signal to the system 100.
[0104] Although the processor has been described as part of the motion detector 102, other system components may contain processors. For example, base station 104 may contain a processor that performs the described methods.
[0105] Figure 12 This is a schematic illustration of an instance computer 400 of the system. For example, computer 400 includes a processor and / or base station 104 for controlling system 100.
[0106] Computer 400 is intended to include various forms of digital computers, such as printed circuit boards (PCBs), processors, digital circuitry, or otherwise as part of a system for determining the pressure of subsurface rock collapse. Additionally, the system may include portable storage media, such as a Universal Serial Bus (USB) flash drive. For example, a USB flash drive may store an operating system and other applications. The USB flash drive may include input / output components, such as a wireless transmitter or USB connector that can be plugged into the USB port of another computing device.
[0107] Computer 400 includes processor 402, memory 404, storage device 406, and input / output device 408 (for display, input device, instance, sensor, valve, pump). Each of components 402, 404, 406, and 408 is interconnected via system bus 410. Processor 402 is capable of processing instructions for execution within computer 400. The processor can be designed using any of several architectures. For example, processor 402 can be a CISC (Complex Instruction Set Computer) processor, a RISC (Reduced Instruction Set Computer) processor, or a MISC (Minimum Instruction Set Computer) processor.
[0108] In one embodiment, processor 402 is a single-threaded processor. In another embodiment, processor 402 is a multi-threaded processor. Processor 402 is capable of processing instructions stored in memory 404 or storage device 406 to display graphical information of the user interface on input / output device 408.
[0109] Memory 404 stores information within computer 400. In one embodiment, memory 404 is a computer-readable medium. In one embodiment, memory 404 is a volatile memory cell. In another embodiment, memory 404 is a non-volatile memory cell.
[0110] Storage device 406 provides large-capacity storage for computer 400. In one embodiment, storage device 406 is a computer-readable medium. In various other embodiments, storage device 406 may be a floppy disk device, a hard disk device, an optical disk device, or a magnetic tape device.
[0111] Input / output device 408 provides input / output operations for computer 400. In one embodiment, input / output device 408 includes a keyboard and / or pointing device. In another embodiment, input / output device 408 includes a display unit for displaying a graphical user interface.
[0112] The described features can be implemented in digital electronic circuits, or in computer hardware, firmware, software, or a combination thereof. The device can be implemented in a computer program product tangibly embodied in an information carrier, for example, in a machine-readable storage device executable by a programmable processor; and the method steps can be executed by a programmable processor of a program that executes instructions to perform the functions of the described embodiment by manipulating input data and producing output. The described features can be advantageously implemented in one or more computer programs that can be executed on a programmable system comprising at least one programmable processor coupled to receive and transmit data and instructions from a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used directly or indirectly in a computer to perform an activity or produce a result. Computer programs can be written in any form of programming language (including compiled or interpreted languages) and can be deployed in any form, including as a standalone program or as a module, component, sub-formula, or other unit suitable for a computing environment.
[0113] A suitable processor for executing instructions of a program includes, for example, both general-purpose and special-purpose microprocessors, and one or more processors of any kind of computer. Generally, the processor receives instructions and data from read-only memory or random access memory, or both. The key components of a computer are the processor for executing instructions and one or more memories for storing instructions and data. Typically, a computer will also include one or more mass storage devices for storing data files, or operatively coupled to communicate with the computer; such devices include disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Suitable storage devices for tangibly representing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices); disks (e.g., internal hard disks or removable disks); magneto-optical disks; and CD-ROMs and DVD-ROMs. The processor and memory can be supplemented by or incorporated into an ASIC (Application-Specific Integrated Circuit).
[0114] To provide user interaction, the features can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and pointing device (e.g., a mouse or trackball through which the user provides input to the computer). Alternatively, such activities can be implemented via a touchscreen flat panel display and other suitable mechanisms.
[0115] The features can be implemented in a control system that includes back-end components (e.g., a data server), middleware components (e.g., an application server or an internet server), front-end components (e.g., a client computer with a graphical user interface or an internet browser), or any combination thereof. The components of the system can be connected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), peer-to-peer networks (with dedicated or static members), grid computing infrastructure, and the internet.
[0116] This specification describes apparatus, methods, and systems for detecting motion. It should be understood that various modifications can be made by those skilled in the art without departing from the spirit and scope of the invention.
Claims
1. A method for detecting motion, comprising: The processor acquires a first plurality of samples of the first signal generated by the infrared sensor; The processor determines that the first sample among the plurality of samples is the first local minimum or maximum value of the first signal; In response to the first sample being the first local minimum or maximum, the processor increments the first value of the first counter. In response to the first value of the first counter exceeding a first threshold within a first time window, the processor outputs an instruction for action; The processor acquires a second plurality of samples of the second signal generated by the optical sensor. The processor determines that the second sample among the second plurality of samples is the second local minimum or maximum of the second signal; In response to the second sample being the second local minimum or maximum, the processor increments the second value of the second counter; and In response to the second value of the second counter exceeding the second threshold within the second time window, the first threshold is increased by the processor.
2. The method according to claim 1, wherein: Incrementing the first value of the first counter includes storing the first timestamp of the first sample in a queue; and The first value of the first counter is based on the number of timestamps stored in the first time window within the queue.
3. The method according to claim 2, further comprising: The processor determines that the third sample among the first plurality of samples is the second local minimum or maximum of the first signal; In response to the third sample being the second local minimum or maximum, the processor stores the second timestamp of the third sample in the queue; The processor determines that the second timestamp is earlier than the first time window; and The processor removes the second timestamp from the queue at least in part based on the fact that the second timestamp is earlier than the first time window.
4. The method of claim 1, further comprising: The processor receives input indicating a changed sensitivity setting. as well as The processor adjusts the first threshold at least in part based on the changed sensitivity setting.
5. The method according to claim 4, wherein: Receiving the input includes receiving an RF signal via a radio frequency (RF) receiver; and The method further includes decoding the RF signal by the processor to determine a modified value for the first threshold.
6. The method of claim 1, further comprising: The processor operates in a no-slope mode, in which the processor determines whether the amount of the first signal increases beyond an offset value; as well as In response to the processor determining that the amount of the first signal has increased beyond the offset value, the processor operates in a positive slope mode, in which the processor determines whether the first signal has changed from a positive slope to a negative slope.
7. The method according to claim 6, wherein: Determining that the amount of the first signal has increased beyond the offset value includes determining that a third sample among the first plurality of samples is greater than a previous sample among the first plurality of samples by a factor greater than the offset value; and Operating the processor in the positive slope mode includes setting the third sample as an extreme value in the positive slope mode.
8. The method of claim 7, further comprising: The fourth sample in the plurality of samples is determined to be lower than the first sample in the plurality of samples by a threshold, and the first sample in the plurality of samples is currently designated as the extreme value in the positive slope mode; as well as In response to the fourth sample being lower than the first among the first plurality of samples by a factor greater than the threshold, the first among the first plurality of samples is currently designated as the extreme value in the positive slope pattern: Increment the first value of the first counter, and The processor operates in a negative slope mode, in which the processor determines whether the first signal changes from the negative slope to the positive slope.
9. The method of claim 8, wherein operating the processor in the negative slope mode includes setting the fourth sample as an extreme value in the negative slope mode, and the method further includes: The fifth sample in the first plurality of samples is determined to be greater than the threshold above the second sample in the first plurality of samples, and the second sample in the first plurality of samples is currently designated as the extreme value in the negative slope mode; as well as In response to the fifth sample exceeding the threshold above the second among the first plurality of samples, the second among the first plurality of samples is currently designated as the extreme value in the negative slope pattern: Increment the first value of the first counter, and The processor operates in the positive slope mode.
10. The method of claim 8, wherein the offset value is a percentage of the threshold.
11. The method of claim 1, further comprising: The first signal is generated by the infrared sensor; as well as The second signal is generated by the optical sensor.
12. The method of claim 1, wherein the indication of the output action comprises: An RF transmitter is used to send RF signals to a base station, the RF signals including flags indicating the action.
13. A system for detecting motion, comprising: An infrared sensor, configured to generate a first signal; An optical sensor configured to generate a second signal; At least one processor; as well as At least one non-transitory computer-readable medium encoded with instructions that, when executed by the at least one processor, cause the system to: Acquire the first plurality of samples of the first signal; Determine that the first sample among the first plurality of samples is the first local minimum or maximum value of the first signal; In response to the first sample being the first local minimum or maximum, increment the first value of the first counter; In response to the first value of the first counter exceeding a first threshold within a first time window, an action indication is output; Acquire a second plurality of samples of the second signal; Determine that the second sample among the second plurality of samples is the second local minimum or maximum of the second signal; In response to the second sample being the second local minimum or maximum, increment the second value of the second counter; and In response to the second value of the second counter exceeding the second threshold within the second time window, the first threshold is increased.
14. The system of claim 13, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: The first value of the first counter is incremented at least in part by storing the first timestamp of the first sample in a queue; The first value of the first counter is based on the number of timestamps stored in the first time window in the queue.
15. The system of claim 14, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: Determine that the third sample among the first plurality of samples is the second local minimum or maximum of the first signal; In response to the third sample being the second local minimum or maximum, the second timestamp of the third sample is stored in the queue; It is determined that the second timestamp is earlier than the first time window; and The second timestamp is removed from the queue at least in part because it is earlier than the first time window.
16. The system of claim 13, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: Receives input indicating a changed sensitivity setting; and The first threshold is adjusted at least in part based on the changed sensitivity setting.
17. The system of claim 16, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: The input is received at least in part by using an RF receiver to receive an RF signal; and Decode the RF signal to determine the modified value of the first threshold.
18. The system of claim 13, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: Operating in a no-slope mode, in which the system determines whether the amount of the first signal increases beyond an offset value; and In response to determining that the amount of the first signal has increased beyond the offset value, the system operates in a positive slope mode, in which it determines whether the first signal has changed from a positive slope to a negative slope.
19. The system of claim 18, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: The amount of the first signal has increased beyond the offset value is determined at least in part by determining that a third sample among the first plurality of samples is greater than a previous sample among the first plurality of samples by exceeding the offset value; and The positive slope mode is operated at least in part by setting the third sample as an extreme value in the positive slope mode.
20. The system of claim 19, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: Determining that the fourth sample among the first plurality of samples is lower than the first among the first plurality of samples by a threshold, the first among the first plurality of samples is currently designated as the extreme value under the positive slope pattern; and In response to the fourth sample being lower than the first among the first plurality of samples by a factor greater than the threshold, the first among the first plurality of samples is currently designated as the extreme value in the positive slope pattern: Increment the first value of the first counter, and Operating in a negative slope mode, the system determines whether the first signal changes from the negative slope to the positive slope.
21. The system of claim 20, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions that, when executed by the at least one processor, further cause the system to: The system is operated in the negative slope mode, at least in part, by setting the fourth sample as an extreme value in the negative slope mode; Determining that the fifth sample among the first plurality of samples exceeds the threshold above the second sample among the first plurality of samples, the second sample among the first plurality of samples is currently designated as the extreme value under the negative slope pattern; and In response to the fifth sample exceeding the threshold above the second among the first plurality of samples, the second among the first plurality of samples is currently designated as the extreme value in the negative slope pattern: Increment the first value of the first counter, and The system is operated in the positive slope mode.
22. The system of claim 20, wherein the offset value is a percentage of the threshold.
23. The system of claim 13, wherein the at least one non-transitory computer-readable medium is further encoded with additional instructions, which, when executed by the at least one processor, further cause the system to: The indication of action is output at least in part by transmitting an RF signal to a base station using a radio frequency (RF) transmitter, the RF signal including a flag indicating the action.