Method, apparatus, and system for wireless human and non-human motion detection
Methods, apparatus and systems for wireless human-nonhuman motion detection are described. For example, a described method comprises: transmitting a wireless signal through a wireless multipath channel of a venue; receiving the wireless signal through the wireless multipath channel, wherein the received wireless signal differs from the transmitted wireless signal due to the wireless multipath channel that is impacted by a motion of an object in the venue; obtaining a time series of channel information (TSCI) of the wireless multipath channel based on the received wireless signal; computing an autocorrelation function (ACF) based on the TSCI; computing at least one ACF feature of the ACF or a function of the ACF; computing an ACF statistics, a motion statistics, a speed statistics, and a gait statistics based on the at least one ACF feature of the ACF or the function of the ACF; and in response to a determination that the motion is detected, classifying the object associated with the detected motion as a human or a non-human, based on: the ACF statistics, the motion statistics, the speed statistics, and the gait statistics.
1 . A system for wireless human-nonhuman motion detection, comprising:
a transmitter configured to transmit a wireless signal through a wireless multipath channel of a venue;
a receiver configured to receive the wireless signal through the wireless multipath channel of the venue, wherein the received wireless signal differs from the transmitted wireless signal due to the wireless multipath channel that is impacted by a motion of an object in the venue; and
a processor configured to:
obtain a time series of channel information (TSCI) of the wireless multipath channel based on the received wireless signal,
compute an autocorrelation function (ACF) of the channel information (CI) of the TSCI,
compute multiple same-ACF features of the ACF or of a function of the ACF,
compute an ACF statistics comprising an aggregate of a set of same-ACF features, the set of same-ACF features being at least one of:
a first set of same-ACF features comprising a local maximum (Local-Max) value of the ACF and at least one additional Local-Max value of the ACF,
a second set of same-ACF features comprising a local minimum (Local-Min) value of the ACF and at least one additional Local-Min value of the ACF,
a third set of same-ACF features comprising an inter-Local-Max distance of the ACF and at least one additional inter-Local-Max distance of the ACF, each inter-Local-Max distance being a temporal interval between a pair of adjacent Local-Max values of the ACF, or
a fourth set of same-ACF features comprising an inter-Local-Min distance of the ACF and at least one additional inter-Local-Min distance of the ACF, each inter-Local-Min distance being a temporal interval between a pair of adjacent Local-Min values of the ACF,
wherein each aggregate comprises at least one of: weighted mean, weighted sum, weighted product, percentile, median, mode, maximum, minimum, variance, or standard deviation,
compute a motion statistics based on the ACF evaluated at a particular time lag or a value of the function of the ACF evaluated at the particular time lag,
compute a speed statistics associated with a speed of the motion of the object based on a speed quantity computed based on one of the following same-ACF features: a Local-Max value of the ACF, a Local-Max value of the function of the ACF, a Local-Min value of the ACF, or a Local-Min value of the function of the ACF,
compute a gait statistics associated with a gait motion of the object based on a metric of a periodic behavior of the speed quantity,
detect the motion of the object based on the motion statistics, and
in response to a determination that the motion is detected:
determine multiple candidate object classes for the object, wherein the multiple candidate object classes include: a human, an adult, a child, a baby, a non-human, a pet, a robot, a machine, a fan, more than one human, and more than one non-human,
determine a plurality of pairings of candidate object classes from the multiple candidate object classes,
perform each of a plurality of pairwise detections for a respective pairing of the candidate object classes,
compute a plurality of pairwise detection scores based on the ACF statistics, the motion statistics, the speed statistics, and the gait statistics, each pairwise detection score being computed for a respective pairwise detection between a respective first candidate object class and a respective second candidate object class, and
classify the object associated with the detected motion to be one of the multiple candidate object classes based on the plurality of pairwise detection scores.
2 . The system of claim 1 , wherein the processor is further configured to:
compute a time series of ACF (TSACF), each ACF being computed based on CI in a respective first sliding time window of the TSCI; and
compute the multiple same-ACF features of each ACF or of the function of each ACF.
3 . The system of claim 2 , wherein the processor is further configured to:
compute the ACF statistics as the aggregate of the set of same-ACF features of each ACF or of the function of each ACF in a second sliding time window of the TSACF.
4 . The system of claim 3 , wherein the processor is further configured to:
compute a time series of speed (TSS) of the motion of the object, each respective speed being the speed quantity computed based on the respective ACF or the function of the respective ACF in a respective third sliding time window of the TSACF; and
compute the speed statistics based on each speed in a fourth sliding time window of the TSS.
5 . The system of claim 4 , wherein the processor is further configured to:
detect a presence of the gait motion of the object based on the TSS.
6 . The system of claim 5 , wherein the processor is further configured to:
compute the gait statistics based on each speed in a fifth sliding time window of the TSS.
7 . The system of claim 1 , wherein the processor is further configured to:
compute multiple per-object detection scores, wherein:
each per-object detection score is computed for a respective particular candidate object class,
each per-object detection score is computed as a respective weighted aggregate of all of the plurality of pairwise detection scores,
each respective pairwise detection score of the plurality of pairwise detection scores is weighted by: (a) a positive weight if the respective particular candidate object class is the respective first candidate object class in the respective pairwise detection associated with the respective pairwise detection score, (b) a negative weight if the respective particular candidate object class is the respective second candidate object class in the respective pairwise detection, or (c) a zero weight if the respective particular candidate object class is neither the respective first candidate object class nor the respective second candidate object class in the respective pairwise detection; and
in response to the determination that the motion is detected, classify the object to be one of the multiple candidate object classes based on the multiple per-object detection scores.
8 . The system of claim 7 , wherein the processor is further configured to:
in response to the determination that the motion is detected, classify the object to be a candidate object class having the largest per-object detection score.
9 . The system of claim 8 , wherein the processor is further configured to:
perform a task based on the detected motion and the classification of the object associated with detected motion.
10 . The system of claim 9 , wherein the processor is further configured to:
detect an intruder when the motion is detected and the object is classified to be human.
11 . The system of claim 10 , wherein the processor is further configured to:
resample the TSCI to obtain a time series of re-sampled CI (TSRCI); and
compute the motion statistics based on the TSRCI.
12 . The system of claim 11 , wherein:
a sampling rate of the TSCI is greater than a sampling rate of the TSRCI.
13 . The system of claim 12 , wherein:
the sampling rate of the TSCI is greater than the sampling rate of the TSRCI by a factor of at least 5.
14 . The system of claim 13 , wherein any channel information (CI) of the TSCI comprises at least one of:
channel state information (CSI), channel impulse response (CIR), channel frequency response (CFR), a signal power, a magnitude, a phase, a function of the magnitude, a function of the phase, a magnitude square, an average magnitude, a weighted magnitude, an average phase, a weighted phase, a phase difference, or a feature of any of the above.
15 . The system of claim 14 , wherein the processor is further configured to:
compute the ACF based on a CI feature of each CI of the TSCI, wherein the CI feature comprises: a magnitude of the CI, a phase of the CI, a magnitude of a component of the CI, a phase of the component of the CI, a function of the magnitude of the CI, a square of the magnitude of the CI, a function of the phase of the CI, a function of the magnitude of the component of the CI, a square of the magnitude of the component of the CI, or a function of the phase of the component of the CI,
wherein the component comprises one of: a tap of a CIR, a subcarrier of a CFR, or a component of a CSI.
16 . The system of claim 15 , wherein the motion statistics comprises at least one of the following pairwise quantities between two channel information (CI):
a difference, a distance, a weighted distance, a Euclidean distance, an absolute distance, an angular distance, a graph distance, a statistical distance, a distance metric, L_1 norm, L_2 norm, L_k norm, a distance score, a similarity, a similarity score, an inner product, a dot product, a correlation, a correlation coefficient, a correlation indicator, auto-correlation, auto-covariance, cross-correlation, cross-covariance, or an aggregate of the above.
17 . The system of claim 16 , wherein the ACF statistics comprises at least one of:
ACF peak mean, ACF valley mean, ACF zero-crossing mean, ACF mean-crossing mean, ACF inflection point mean, ACF (t) mean, ACF peak variance, ACF valley variance, ACF zero-crossing variance, ACF mean-crossing variance, ACF inflection point variance, ACF (t) variance, ACF inter-peak interval, ACF inter-valley interval, ACF peak-valley interval, ACF inter-zero-crossing interval, ACF inter-mean-crossing interval, ACF inter-inflection-point interval, ACF peak interval distance, ACF valley interval distance, ACF peak-valley interval distance, ACF inter-zero-crossing interval distance, ACF inter-mean-crossing interval distance, or ACF inter-inflection-point interval distance, wherein ACF (t) is the ACF or the function of the ACF evaluated at a particular argument value of t.
18 . The system of claim 17 , wherein the speed statistics comprises at least one of the following of speed:
histogram, mean, percentile, 50-percentile, median, 0-percentile, minimum, 100-percentile, maximum, 25-percentile, 75-percentile, trimmed mean, conditional mean, weighted mean, weighted median, mode, sum, weighted sum, product, weighted product, arithmetic mean, geometric mean, harmonic mean, variance, standard deviation, variability, variation, deviation, derivative, slope, spread, dispersion, range, skewness, kurtosis, L-moment, entropy, variance-to-mean ratio, max-to-min ratio, regularity, similarity, likelihood, correlation, covariance, auto-correlation, auto-covariance, a function of any of the above, or sliding quantity of any of the above.
19 . The system of claim 18 , wherein the gait statistics comprises at least one of:
gait existence, interval, stride cycle time, step cycle time, N-cycle time, interval distance, stride cycle distance, stride length, step cycle distance, step length, N-cycle distance, asymmetry of even cycles and odd cycles, asymmetry of modulo-1 cycles and modulo-2 cycles, asymmetry of modulo-1 cycles and modulo-3 cycles, asymmetry of modulo-1 cycles and modulo-4 cycles, asymmetry of modulo-2 cycles and modulo-3 cycles, asymmetry of modulo-2 cycles and modulo-4 cycles, or asymmetry of modulo-3 cycles and modulo-4 cycles.
20 . The system of claim 1 , wherein the processor is further configured to: detect the motion of the object when a magnitude of the motion statistics exceeds a first threshold, or when an accumulation of the magnitude of the motion statistics exceeds a second threshold.
21 . The system of claim 20 , wherein the accumulation of the motion statistics comprises at least one of:
a sum, an integration, a weighted sum, a product, a weighted product, an average, a weighted average, a mean, an arithmetic mean, a geometric mean, a harmonic mean, a conditional mean, a trimmed mean, a statistics, a median, a weighted median, a percentile, a mode, a maximum, a minimum, a variance, a deviation, a variability, a sliding average, a sliding mean, a sliding weighted mean, a sliding median, a sliding variance, a sliding deviation, a sliding statistics, or an aggregate of any of the above.
22 . A method for wireless human-nonhuman motion detection, comprising:
transmitting a wireless signal through a wireless multipath channel of a venue;
receiving the wireless signal through the wireless multipath channel of the venue, wherein the received wireless signal differs from the transmitted wireless signal due to the wireless multipath channel that is impacted by a motion of an object in the venue;
obtaining a time series of channel information (TSCI) of the wireless multipath channel based on the received wireless signal;
computing an autocorrelation function (ACF) of the channel information (CI) of the TSCI;
computing multiple same-ACF features of the ACF or of a function of the ACF;
computing an ACF statistics comprising an aggregate of a set of same-ACF features, the set of same-ACF features being at least one of:
a first set of same-ACF features comprising a local maximum (Local-Max) value of the ACF and at least one additional Local-Max value of the ACF,
a second set of same-ACF features comprising a local minimum (Local-Min) value of the ACF and at least one additional Local-Min value of the ACF,
a third set of same-ACF features comprising an inter-Local-Max distance of the ACF and at least one additional inter-Local-Max distance of the ACF, each inter-Local-Max distance being a temporal interval between a pair of adjacent Local-Max values of the ACF, or
a fourth set of same-ACF features comprising an inter-Local-Min distance of the ACF and at least one additional inter-Local-Min distance of the ACF, each inter-Local-Min distance being a temporal interval between a pair of adjacent Local-Min values of the ACF,
wherein each aggregate comprises at least one of: weighted mean, weighted sum, weighted product, percentile, median, mode, maximum, minimum, variance, or standard deviation;
computing a motion statistics based on the ACF evaluated at a particular time lag or a value of the function of the ACF evaluated at the particular time lag;
computing a speed statistics associated with a speed of the motion of the object based on a speed quantity computed based on one of the following same-ACF features: a Local-Max value of the ACF, a Local-Max value of the function of the ACF, a Local-Min value of the ACF, or a Local-Min value of the function of the ACF;
computing a gait statistics associated with a gait motion of the object based on a metric of a periodic behavior of the speed quantity;
detecting the motion of the object based on the motion statistics; and
in response to a determination that the motion is detected:
determining multiple candidate object classes for the object, wherein the multiple candidate object classes include: a human, an adult, a child, a baby, a non-human, a pet, a robot, a machine, a fan, more than one human, and more than one non-human,
determining a plurality of pairings of candidate object classes from the multiple candidate object classes,
performing each of a plurality of pairwise detections for a respective pairing of the candidate object classes,
computing a plurality of pairwise detection scores based on the ACF statistics, the motion statistics, the speed statistics, and the gait statistics, each pairwise detection score being computed for a respective pairwise detection between a respective first candidate object class and a respective second candidate object class, and
classifying the object associated with the detected motion to be one of the multiple candidate object classes based on the plurality of pairwise detection scores.
23 . The method of claim 22 , further comprising:
computing a time series of ACF (TSACF), each ACF being computed based on CI in a respective first sliding time window of the TSCI;
computing the multiple same-ACF features of each ACF or of the function of each ACF; and
computing the ACF statistics as the aggregate of the set of same-ACF features of each ACF or of the function of each ACF in a second sliding time window of the TSACF.
24 . The method of claim 23 , further comprising:
computing a time series of speed (TSS) of the motion of the object, each respective speed being the speed quantity computed based on the respective ACF or the function of the respective ACF in a respective third sliding time window of the TSACF;
computing the speed statistics based on each speed in a fourth sliding time window of the TSS;
detecting a presence of the gait motion of the object based on the TSS; and
computing the gait statistics based on each speed in a fifth sliding time window of the TSS.
25 . An apparatus for wireless human-nonhuman motion detection, comprising:
a receiver configured to receive a wireless signal transmitted by a transmitter through a wireless multipath channel in a venue, wherein the received wireless signal differs from the transmitted wireless signal due to the wireless multipath channel that is impacted by a motion of an object in the venue;
a memory having a set of instructions stored therein; and
a processor communicatively coupled to the memory and the receiver, and configured to:
obtain a time series of channel information (TSCI) of the wireless multipath channel based on the received wireless signal,
compute an autocorrelation function (ACF) of the channel information (CI) of the TSCI,
compute multiple same-ACF features of the ACF or of a function of the ACF,
compute an ACF statistics comprising an aggregate of a set of same-ACF features, the set of same-ACF features being at least one of:
a first set of same-ACF features comprising a local maximum (Local-Max) value of the ACF and at least one additional Local-Max value of the ACF,
a second set of same-ACF features comprising a local minimum (Local-Min) value of the ACF and at least one additional Local-Min value of the ACF,
a third set of same-ACF features comprising an inter-Local-Max distance of the ACF and at least one additional inter-Local-Max distance of the ACF, each inter-Local-Max distance being a temporal interval between a pair of adjacent Local-Max values of the ACF, or
a fourth set of same-ACF features comprising an inter-Local-Min distance of the ACF and at least one additional inter-Local-Min distance of the ACF, each inter-Local-Min distance being a temporal interval between a pair of adjacent Local-Min values of the ACF,
wherein each aggregate comprises at least one of: weighted mean, weighted sum, weighted product, percentile, median, mode, maximum, minimum, variance, or standard deviation,
compute a motion statistics based on the ACF evaluated at a particular time lag or a value of the function of the ACF evaluated at the particular time lag,
compute a speed statistics associated with a speed of the motion of the object based on a speed quantity computed based on one of the following same-ACF features: a Local-Max value of the ACF, a Local-Max value of the function of the ACF, a Local-Min value of the ACF, or a Local-Min value of the function of the ACF,
compute a gait statistics associated with a gait motion of the object based on a metric of a periodic behavior of the speed quantity,
detect the motion of the object based on the motion statistics, and
in response to a determination that the motion is detected:
determine multiple candidate object classes for the object, wherein the multiple candidate object classes include: a human, an adult, a child, a baby, a non-human, a pet, a robot, a machine, a fan, more than one human, and more than one non-human,
determine a plurality of pairings of candidate object classes from the multiple candidate object classes,
perform each of a plurality of pairwise detections for a respective pairing of the candidate object classes,
compute a plurality of pairwise detection scores based on the ACF statistics, the motion statistics, the speed statistics, and the gait statistics, each pairwise detection score being computed for a respective pairwise detection between a respective first candidate object class and a respective second candidate object class, and
classify the object associated with the detected motion to be one of the multiple candidate object classes based on the plurality of pairwise detection scores.