Conventional methods for detecting sleep activity are traditionally based on physiological data acquired directly from subjects, such as using polysomnography (typically including EEG, EOG, EMG, ECG and actigraphy signals, as well as others or a subset of those), and using thresholds or classifiers to distinguish between the wakefulness and sleep states on fixed intervals (for example minute-by-minute). In ambulatory settings these methods are affected by data missingness and confounding factors, such as user compliance to wearing sensors.
The present invention relates to the detection of sleep state using both physiological and environmental sensors in “free-living” conditions on both fixed and variable-length intervals. In more detail, it relates to the analysis of sensor signals to determine which sections of the signals contain episodes of sleep. Being able to detect episodes of sleep through the analysis of signals, not necessarily acquired directly from the subject, is advantageous as it solves the user compliance problem and can allow further sleep analysis to be performed and long-term patterns of sleep identified.
Accordingly, the present invention provides a method of detecting and displaying episodes of sleep, comprising the steps of: acquiring one or more input signals from a physiology sensor, a physical activity sensor or an environment sensor which may be related to activities of wakefulness or sleep (sleep evidence), normalizing the signals received from at least one of the sensors using a personalised dynamic range based on circadian signals variation, identifying continuous segments in the input signal(s) received from the sensors, inferring a personalised physiological model of circadian rhythm, inferring a personalised model of sleep/wakefulness pressure, combining the normalised input signal(s), the segments, the circadian rhythm model and the sleep/wakefulness pressure model to infer sleep state.
Physiological signals may include heart rate and derivatives, such as heart rate variability (HRV) measures, skin conductance and derivatives, such as electrodermal response measures, and body temperature, as well as other signals representing bodily processes.
The physical activity sensor(s) output signals may include acceleration, rotation, orientation, geolocation and speed data, as well as other signals related to measurement of physical motion of a user.
The environmental sensor(s) output signals may include sound, light, ambient air temperature and humidity, atmospheric pressure data, as well as other signals related to user's environment.
The input signal may be a pre-recorded signal, or the digital signal produced by a sensor in real time. Examples of the latter are the signals obtained from sensors present on phones, headsets, computers, smart-watches, and household appliances. Thus, the sleep activity detection may be used in real-time if a person is wearing, holding or in the range of a sensor while the sensor is recording.
Thus, the input signal can be a time series of sensor(s) data, and it can comprise of several channels from different sensors operating on one or several recording devices. If multiple sensors are present each sensor can be treated individually or in combination with other sensors.
The normalisation of signals may for example include elimination of bias and outliers and scaling the signal to a specific range (for example [0 . . . 1]) from the original range of signal empirically identified from N observations (where N may for example cover 3 days of observations), and performing such scaling on each M signal observations and using the directly preceding N observations to calculate the range.
The identification of continuous segments (i.e. sequences of observations within which the signal of interest is stationary) in the signal may be performed using a change point detection method, such as Bayesian Online Change Point Detection or any other suitable method, where signals can be considered individually or as a combined multidimensional vector. If considered individually or as a set of multidimensional vectors, the segments derived from different vectors can be combined into a single segmentation where each individual change point of each individual signal or a set of signals is considered as a change point in the combined segmentation.
The circadian rhythm model defines the individual probability of sleep if driven solely by the circadian pacemaker, i.e. with approximately 24-hour period where deviations from this period, as well as the shape of the function over time, are user-specific parameters and can be identified from a physiological model or user behaviour. The example circadian rhythm model can be represented for example by the Gaussian Mixture Model where peaks of the mixture components are positioned at 3 AM and the standard deviation of components is 2 hours. The sleep-wake pressure model can also be described as Gaussian Process or a periodic function with fixed or variable period and amplitude.
The sleep-wake pressure model defines the individual probability of sleep if driven solely by sleep and wakefulness times, i.e. with the sleep probability increasing after a prolonged period of wakefulness and wakefulness probability increasing after a prolonged period of sleep. The rate of change of such pressure, as well as other parameters of the function are user-specific parameters and identified from a physiological model or user behaviour. An example sleep-wake pressure model can be represented for example by a piecewise linear function, comprised of minimal-pressure (at least 8 hours of sleep within the last 16 hours), increasing-pressure (8 to 12 hours of activity in the last 16 hours), maximum-pressure (12 to 16 hours of activity in the last 16 hours) and decreasing-pressure (4 to 8 hours of sleep in the last 8 hours) segments. The sleep-wake pressure model can also be expressed as Lotka-Volterra equations or a function of melatonin sleep hormone secretion and a function of other sleep-related processes in a body.
The invention may be embodied in a computer program comprising program code means for executing on a computer system the method steps. Alternatively, it can be embodied in firmware or hardware, or as program code for computing devices such as smartphones, smart-watches or household appliances.
Another aspect of the invention provides an apparatus for analysing an input signal to detect the presence of human sleep activity in the signal, the apparatus comprising an input for receiving the input signal, a processor for processing the input signal, wherein the processor is configured to execute the method above. The apparatus further includes an output to output the ratio or the signal detected, for example by means of a display. The apparatus further comprises memory (e.g. non-tangible memory) configured to store the computer program described herein. In one example, the method described herein is a computer-implemented method.
The invention will be further described by way of example with reference to the accompanying drawings in which:
In step 20 digital signals from a sensor or sensors collect information of physical activity of a user and environmental information, for example light and sound, at a sampling rate fs of 1/60 Hz.
In step 22, the signal is normalised to a [0 . . . 1] range. The signal may be normalised, for example, by subtracting a minimum and dividing by a maximum of a predefined period of the signal, such as the last 3 days of observations. Different normalisation strategies can be used.
In step 24, a circadian rhythm value is calculated for example using the following cardiac rhythm model:
r=N(t,μ,σ2)/cN
In this formula, N is the Gaussian distribution, t is the current time in milliseconds (expressed as offset from the nearest midnight time, thus in the range of −12 to +12 hours), μ is the rhythm peak time closest to the time t (for instance, the periodic rhythm peak may occur at 3 AM every 24 hours), σ2 is the standard deviation of N (e.g. the rhythm “peakiness”, selected so that the function returns approximately 0.5 at +/−4 hours from the rhythm peak) and CN is the normalization coefficient to ensure that the value of r equals 1 at t=μ. Other rhythm functions and inputs signals can (in addition to time) be used to produce the circadian rhythm model output.
In step 24, a sleep-wake pressure value is calculated, for example using the following press-awake pressure model:
if 4<s8<8:
p=(8−s8)/4
else if s16>=8:
p=0
else if 8<w16<=12:
p=(w16−8)/4
else if 12<w16<=16:
p=1
s8 and s16 are estimated or measured sleep times in the last 8 and 16 hours respectively (in hours), which represent the estimated or measured times during which the user has been asleep. w16 is the wakefulness time in the last 16 hours (in hours), which represents the estimated or measured time during which the user has been awake in the last 16 hours. Other sleep-wake pressure functions and input signals can be used to produce the sleep-wake pressure model output. Each of the values for s8, s16 and w16 may be a pre-set estimate or a value measured by observation for the first iteration of the algorithm. Subsequent iterations of the algorithm may rely on the outputs of the algorithm to determine the values for s8, s16 and w16.
At this point, the method may proceed with steps 26 to 32 in which calculations are carried out to perform segmentation of signals and infer characteristics of each segment. Alternatively, the method may proceed with step 34 in which fixed segments are calculated, and characteristics of the fixed segments are determined, such as the mean and standard deviation values of the signals for each segment.
In step 26, a change point or segmentation method such as for example the Bayesian Online Change Point Detection (implemented according to “Bayesian online changepoint detection” by Adams and MacKay, which is accessible at https://arxiv.org/abs/0710.3742) is applied to signal, for example with parameters μ=0.0, κ=0.1, α=0.1, β=0.1 and the expected run length 60 (minutes), and the lengths of resulting segments calculated in step 28.
In step 30, the lengths of segments are dynamically normalised by dividing by the maximum length of segment detected in a period, such as the last N (for example N equals 3) days.
In step 32, segment-specific feature vectors are created, including but not limited to mean and standard deviation values of signal for each segment and including these values and (1/normalized segment length)'s calculated on step 30 into the resulting feature vectors.
In step 36, a sleep probability value is calculated. The sleep probability value may be calculated using the equation:
s=S(a1v1+a2v2+ . . . +aNvN,x0)
In this equation, S is a logistic function S(x)=1/(1+e−5(x−x
In step 38, sleep is detected by comparing the sleep probability to a pre-defined threshold. As an example, the pre-defined threshold is chosen to be 0.5. The threshold may change depending on the level of sensitivity and specificity desired for the application and the context of the user. Multiple thresholds can be set to distinguish between sleep stages.
An embodiment of this invention may be a computer program for running on a computer system which receives the input sensors data time series and estimates the result of the sleep detection. The sleep activity may also be displayed. Alternatively the invention may be incorporated into a dedicated apparatus, such as a monitor, which is shown as a schematic in
| Number | Date | Country | Kind |
|---|---|---|---|
| 1803102.1 | Feb 2018 | GB | national |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/GB2019/050532 | 2/26/2019 | WO | 00 |