System and method for determining sleeping position of user during sleeping session
By using multiple sensors and machine learning models during sleep sessions, flip events in sleep, thereby inferring the user's sleep posture, solving the privacy, cost and accuracy of sleep posture monitoring in the prior art, achieving efficient and accurate sleep posture monitoring.
Patent Information
- Application Number
- CN202380051919.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-14
- Filing Date
- 2023-07-04
- Publication Date
- 2025-03-14
AI Technical Summary
The prior art faces privacy, cost and accuracy issues when monitoring sleeping positions, especially when using simple, low-cost sensors such as single-pixel thermopile (SPT) sensors, the resolution and accuracy are insufficient to effectively monitor sleeping positions.
By using multiple sensors, including a single pixel thermopile (SPT) sensor during a sleep session, a signal indicating a user's movement is measured and a controller determines a flip event from a predetermined reference flip event is used to infer the user's sleep position. The system can also utilize machine learning models and a subset of field-of-view sensors for multiple sensors to improve the accuracy of sleeping posture monitoring.
It realizes sleeping posture monitoring based on simple and low-cost sensors, improves the accuracy and accuracy of sleeping posture monitoring, reduces deployment costs, and solves privacy and legal issues.
Smart Images

Figure CN119630336A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a system for determining a user's sleeping posture during a sleep session. The present invention also relates to a method, a controller, and a computer program product for determining a user's sleeping posture during a sleep session. Background Art
[0002] Monitoring of sleeping position is important for many health-related applications, for example, for tracking the progression of Parkinson's disease, for detecting dementia, for warning users who experience potentially fatal (e.g., sleeping on the stomach may increase the risk of sudden infant death syndrome) and / or undesirable sleeping positions, for determining sleep quality, for preventing bedsores in bedridden users, etc. Summary of the invention
[0003] Existing technology solutions for monitoring sleeping posture include: camera-based systems, which may raise privacy and legal concerns; wearable sensors based on accelerometers, which may be intrusive to the user; pressure sensors embedded in the user's bed sheets, which may have high deployment costs; etc. Simpler sensors like single pixel thermopile (SPT) sensors, acoustic sensors, PIR sensors, etc. can be used to monitor sleeping posture. Although the application of such simple sensors may be very attractive due to cost, the limited capabilities, limited resolution and accuracy of such sensors have made them challenging for sleeping posture monitoring applications. Therefore, one object is to provide an improved method for determining a user's sleeping posture based on simple, low-resolution and low-cost sensors (such as single pixel thermopile, PIR, etc.).
[0004] According to a first aspect, the object is achieved by a system for determining a user's sleeping position during a sleep session, the system comprising: one or more sensors of a plurality of sensors configured to measure signals indicating user movement; and a controller configured to receive signals indicating user movement from the one or more sensors; determine a flip event from a predetermined plurality of reference flip events based on the received signals; and determine the user's sleeping position from a predetermined plurality of reference sleeping positions based on the flip event.
[0005] The inventors have recognized that sleeping positions do not evolve independently over time, but depend on transition (flip) events between sleeping positions. For example, a user typically adopts / stabilizes a sleeping position for a period of time, in which the body orientation is approximately constant, followed by a transition motion (flip event), after which the user stabilizes to a different sleeping position. That is, a flip (transition) event can be associated with a rotational body transition motion between reference sleeping positions. Therefore, detecting such a transition (flip) event between different sleeping positions can be used to determine (infer) the sleeping position that the user has adopted / stabilized. Since there may be a limited number of predetermined reference sleeps, there may be a limited number of predetermined reference flip events associated with transitions between reference sleeping positions. For example, a reference sleeping position may include facing up, facing down, facing right, facing left, etc., and a reference flip event may include a flip event from facing up to facing right, a flip event from facing up to facing left, etc. Each reference flip event may be associated with a transition motion between two reference sleeping positions. The reference sleeping posture may be preset (predetermined), for example, may be predetermined based on sensing capability of a sensor, user input (ie, or the user may be able to select a reference sleeping posture via a user interface, a history of the user's sleeping postures, etc.).
[0006] Low-cost sensors such as single-pixel thermopile (SPT) sensors, PIRs, and microphone sensors can be used to determine the (rotating body) motion associated with such a transition (flip) event, and based on this determine the user's sleep state. For example, a time series signal from an acoustic sensor can be used to determine a characteristic pattern of body motion associated with turning from one reference sleeping position to another reference sleeping position. This allows for an improved method for determining a user's sleeping position based on a simple, low-cost sensor.
[0007] One or more sensors include a single pixel thermopile (SPT), wherein each single pixel thermopile sensor from the one or more sensors is configured to measure a temperature signal in its corresponding field of view indicating a user's motion. The time series signal from the SPT sensor can be used to detect a (rotating body) motion associated with such a transition (flip) event, which is associated with a transition between different reference sleeping positions, for example, a transition motion from a reference sleeping position of lying face up to a reference sleeping position of lying face to the right. Therefore, one or more sensors from the plurality of sensors may include a single pixel thermopile sensor, wherein each single pixel thermopile sensor may be configured to measure a temperature signal indicating a user's motion in its corresponding field of view. The measured temperature of the SPT sensor depends on the angle of incidence of the user within the detection area of the SPT. Therefore, when an object (e.g., a user) moves toward or away from the SPT sensor, the measured temperature of the SPT sensor may change. For example, a user facing the SPT may present a higher temperature value in the temperature signal than a user facing at an angle to the SPT. Therefore, when the user transitions from one sleeping position to another, the measured temperature signal of the SPT sensor follows a similar transition. For example, when a user moves from facing (0° angle) SPT to facing at 90° angle to SPT, the measured temperature time series signal will (after an initial rise due to the movement) stabilize to a lower average temperature value compared to the average temperature value when the user is facing the sensor. Therefore, the time series signal from the SPT sensor can be used to determine distinguishable motion (flip) events associated with transitions between reference sleeping positions. The sleeping position can then be determined based on the flip events. The time series signal can refer to a single instance in time (e.g., a temperature value at a single instance) or a short window\segment or time period, for example, a time period of 0.5 seconds, 1 minute, etc.
[0008] The controller may be configured to receive first and second signals from first and second sensors in a plurality of sensors, respectively, and the determination of a flipping event is based at least in part on a comparison of the first signal with the second signal. When a single sensor is used to determine such a flipping event, the accuracy of the system may be limited. For example, a single SPT sensor positioned so that the center of its field of view faces the user (the user's bed) may be subject to thermal interference, and therefore may not be able to distinguish between flipping events of 90° or -90° (clockwise or counterclockwise rotation). The controller may be configured to receive first and second signals from first and second sensors, respectively, at the same time, each sensor including a corresponding field of view; and determine a flipping event based at least in part on a comparison of the first signal with the second signal. The moment may refer to a real-time moment or a time instance / window, or a period of time in the past. Comparing the first and second (differential) signals from two different sensors allows the determination of a unique signal pattern associated with each flipping event, and thereby mitigates any possible thermal interference, with the center of the field of view of each sensor facing the user from different angles.
[0009] The controller can be configured to determine a flip event (classify a flip event) from a plurality of predetermined reference flip events by applying a machine learning model (such as a support vector machine, a logistic regression model, a neural network model, or a probabilistic model) to the received signal. The machine learning model can be trained using a training data set that includes instances of signals received within a time segment (time series data) as input and labeled instances of reference flip events as output. This enables the flip event to be determined directly while using fewer computing resources.
[0010] The machine learning model can be configured to output a probability value for each of a plurality of reference flipping events, the probability value being the probability of the received signal belonging to each of a plurality of predetermined reference flipping events, and wherein the controller can be configured to compare the probability value of each predetermined reference flipping event, and determine the flipping event based on the comparison. In some cases, it may be desirable to determine the probability (value) that the received signal belongs to each of a plurality of reference flipping events, and determine the flipping event based on the estimated probability. This provides more information than directly determining the flipping event (classifying the flipping event) without generating a probability estimate. The machine learning model can be a probability model, and may have been trained to output a probability value for each of a plurality of reference flipping events, the probability value being the probability of the received signal belonging to each of a plurality of predetermined reference flipping events. The controller can be configured to determine the flipping event from a plurality of reference flipping events by comparing the probability that the received signal belongs to each of a plurality of predetermined reference flipping events.
[0011] The controller may be configured to determine a current likelihood value of each of a plurality of reference sleeping positions predetermined at a current time based on
[0012] - a probability value for each of a predetermined plurality of rollover events determined at the current time, and
[0013] - a past likelihood value for each of a predetermined plurality of reference sleeping positions determined at a previous time; and
[0014] The controller is also configured as
[0015] - comparing the current likelihood value for each predetermined reference sleeping position, and
[0016] - Based on the comparison, the sleeping position at the current moment is determined.
[0017] A sleep session can be viewed as a temporal sequence of sleeping positions and transitions (flip events) between sleeping positions. For example, a user may initially be facing up, then make a 90° turn and transition from facing up to facing right, stabilize to the correct position for a period of time, and make another 90° turn and transition from facing right to facing down, and so on. Since a sleeping position may have only two possible transition motions associated with it (i.e., clockwise (90° turn) and counterclockwise (-90° turn)), the sleeping position that a user may have stabilized to at one moment may depend on the previous (previous) sleeping position at the previous (previous) moment and the transition motion that associates the previous sleeping position with the current sleeping position at the current moment. A moment may be a single instance or a short window\segment or time period in time, such as a 0.5 second, 1 minute time period, etc. The controller may be configured to determine a second likelihood value for each of a plurality of reference sleeping positions predetermined at a second moment based on a probability value determined for each of a plurality of reference flip events predetermined at a second moment and a past likelihood value for each of a plurality of reference sleeping positions predetermined at a previous moment. A previous moment may refer to a moment associated with a previously received signal. The controller can determine the sleeping posture at the second time by comparing the second likelihood value of each predetermined reference sleeping posture. This allows the sleeping posture at the time to be determined in a probabilistic way based on the history of the determined flipping events and the previous (previous) sleeping posture estimations at the time.
[0018] The controller can be configured to select a subset of multiple sensors based on the field of view of the multiple sensors for monitoring the sleeping position of the user. In a typical home or elderly care environment, multiple sensors are available at different relative positions, each sensor having a different field of view relative to the user (the user's bed). It may be advantageous to select a subset of multiple available sensors at different locations based on the field of view of the sensors to monitor the sleeping position of the user. For example, a combination of an SPT sensor in the ceiling and an SPT sensor on the side of the user (e.g., a bedside table) can provide a (less overlapping) field of view and have good coverage (no information loss) for a sleeping person. This subset selection allows for optimal separability between sleeping position categories. Therefore, selecting a subset of multiple sensors at different relative positions allows for more accurate sleeping position estimation.
[0019] The controller may be configured to determine a position from a set of predefined positions of one or more sensors based on a field of view of the one or more sensors relative to the user's position, and wherein the controller is further configured to output the determined position of the one or more sensors to the user. In some cases, a limited number of sensors configured to measure signals indicating user motion may be available. It would be advantageous to inform the user of the best (preferred) position to install (position) one or more (limited) sensors. For example, each sensor may be part of a luminaire. The user may be informed of which position in a set of predefined positions to install the luminaire (and thus the sensor). In one embodiment, a set of predefined positions of one or more sensors may be available, for example, the user may define the set of predefined possible positions (e.g., luminaire positions) in a plan view through a user interface. The controller may be configured to determine the position of one or more sensors from the set of predefined reference positions based on a field of view of the one or more sensors relative to the user's position. The controller may also be configured to output, for example, the preferred determined position of one or more sensors to a target device. This allows the user to be informed of the best position of the sensor so that the user can optimally configure the sleeping posture system.
[0020] Certain health conditions and diseases may be associated with spending time in a specific reference sleeping position. For example, sleeping face down (prone) may cause chronic pain and neurological problems and may be associated with a high risk of sudden infant death syndrome, sleeping face up may be associated with sleep apnea and snoring, sleeping on the right side has a higher risk of temporary lower esophageal sphincter relaxation than sleeping on the left side (this is the main factor of nocturnal gastroesophageal reflux), etc. The controller can be configured to determine whether the determined user's sleeping position is an undesirable sleeping position. That is, if the user maintains an extended predetermined time period in an undesirable sleeping position, the sleeping position may be associated with certain health conditions (e.g., apnea), and / or may cause pain (such as neck pain, back pain, headache). The controller can also be configured to determine the time period after detecting an undesirable sleeping position. This provides a method for preventing or minimizing the time that a user may spend on an undesirable sleeping position. The processor can also be configured to output an alarm signal after a predetermined time period has passed after detecting an undesirable sleeping position. The alarm signal may be a signal that causes the user's sleeping position to change, for example, the alarm signal may inform the user to change the sleeping position from face-down prone to side-facing (right or left). The alarm signal may be in the form of an optical signal, for example, a lighting device may be turned on. Alternatively or additionally, the alarm signal may be an audible signal, such as an alarm from an alarm clock, a vibration signal, etc. By outputting such an alarm signal to the user, the user may be informed that he (she) may have spent a long (predetermined) period of time in an undesirable sleeping position and cause a change in his or her sleeping position.
[0021] Sleep quality may be related to sleeping position and frequent changes in sleeping position. For example, frequent changes in sleeping position may be associated with a lower sleep quality index, snoring and frequent body movements may lead to shorter sleep durations, and sleeping in a face-down position may strain the neck and lower back, etc. In addition, sleeping on the left may be associated with an increased chance of nightmares, and sleeping face-up may be associated with sleep apnea, headaches, etc. Patients with Parkinson's disease often suffer from the pain of loss of axial movement; and less frequent nighttime flipping and longer periods of lying flat or supine (i.e., face-up posture) are associated with worsening of the condition of Parkinson's patients. The controller may also be configured to determine the frequency of flipping events during a sleep session, i.e., the number of flipping events determined during a sleep session. The controller may also be configured to determine a sleep quality index based on at least one of the following sleep-related parameters: the time period during which the user is in an undesirable sleeping position and / or the frequency of flipping events. For example, a sleep quality index may be determined by assigning a score value to the user's sleep-related parameters. For example, each parameter (period of time the user is in (one or more) undesirable sleeping positions, frequency (number) of tossing events during sleep, duration of sleep, etc.) can be given a score based on their value compared to the user's optimal value. Initially, the optimal value for which the user's parameter is scored can be determined by the normal population results.
[0022] The controller may be configured to receive sleep-related data from one or more additional sensors among the plurality of sensors, determine whether the user's sleep state is a sleeping sleep state based on the received sleep-related data, and determine the user's sleeping posture based on the condition that the user's sleep state is a sleeping state. The inventors recognize that if the sleeping posture determination method includes an instance in which the user is not asleep, the accuracy of the method for determining the progression of various mental and / or health diseases (e.g., Parkinson's disease, dementia, etc.) based on the sleeping posture data may be hindered. Therefore, it is advantageous to adjust (start) the sleeping posture detection system when it is detected that the user is asleep. The controller may be configured to receive sleep-related data from one or more additional sensors among the plurality of sensors, and determine whether the user's sleep state is a sleeping sleep state based on the received sleep-related data. The controller may determine the user's sleeping posture based only on the condition for determining the user's sleeping state.
[0023] The controller may also be configured to receive self-annotated instances of sleeping positions and / or flipping events by the user, and to train the machine learning model based at least in part on the self-annotated sleeping positions. The user interface may provide instructions or allow the user to specify (self-annotate) his / her sleeping position during one or more past sleeps. For example, the user interface may provide the user with a presentation of a video recording of one or more past sleep sessions, and may provide the user with a means of self-annotating instances of video recordings, i.e., self-annotating instances of reference flipping events, self-annotating instances of sleeping positions, etc. The processor may be configured to receive self-annotated instances of sleeping positions and / or flipping events by the user, and to train the machine learning model based at least in part on the self-annotated sleeping positions. For example, the machine learning model is trained using an input instance (time series data) of a temperature signal within a time segment of one or more past sleep sessions, and as an output of a self-annotated instance of a reference flipping event. Additionally or alternatively, the processor may determine a flipping event based on a self-annotated instance of a sleeping position.
[0024] According to a second aspect, the object is achieved by a method for determining a sleeping position of a user during a sleep session, the method comprising the steps of receiving signals indicating user movements from a plurality of sensors, determining a flipping event from a predetermined plurality of reference flipping events based on the received signals, and determining the sleeping position of the user from a predetermined plurality of reference sleeping positions based on the flipping event.
[0025] According to a third aspect, the object is achieved by a controller for determining a sleeping position of a user during a sleep session.
[0026] According to a fourth aspect, the object is achieved by a computer program product for a computing device, the computer program product comprising a computer program code to perform a method for determining a sleeping position of a user during a sleep session.
[0027] It should be understood that the controller, method and computer program product may have similar and / or the same embodiments and advantages as the lighting device described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] The above and additional objects, features and advantages of the disclosed systems, devices and methods will be better understood through the following illustrative and non-limiting detailed description of embodiments of the devices and methods with reference to the accompanying drawings, in which:
[0029] Figure 1 An example of a system for determining a sleeping position of a user is schematically shown;
[0030] Figure 2 An example of a system for determining a sleeping posture of a user is schematically shown;
[0031] Figure 3 schematically illustrates a flow chart of reference sleeping positions and reference transition events associated with transitions between the reference sleeping positions;
[0032] Figure 4 An example of a system for determining a sleeping position of a user is schematically shown;
[0033] Figure 5 A flow chart of a method for determining a sleeping posture of a user is schematically shown.
[0034] All the figures are schematic, not necessarily to scale, and generally show only parts which are necessary in order to elucidate the invention, wherein other parts may be omitted or merely suggested. DETAILED DESCRIPTION
[0035] Figure 1 An example of a system 100 for determining a sleeping position of a user (not shown) is shown. The system 100 includes one or more sensors from a plurality of sensors 102, 104 configured to measure signals indicative of user motion. One or more sensors 102, 104 may, for example, be single-pixel thermopile sensors configured to measure temperature signals in their respective fields of view. Additionally or alternatively, one or more sensors 102, 104 may be: a (single array) infrared (IR) sensor configured to capture reflections of a projected IR light pattern from an object in the environment; an acoustic sensor configured to capture acoustic signals from the environment; and the like. In one example, one or more sensors 102, 104 may be co-located with lighting devices 142, 144.
[0036] The system 100 also includes at least one data processor or controller 106. The controller 106 can be connected and communicate with each sensor 102, 104 via a wireless connection, via, for example, a radio frequency or optical communication link (e.g., Wi-Fi, ZigBee, BLE, Lo-Ra, UWB, VLC, IR, Li-Fi, etc. connection). The connection may alternatively be wired.
[0037] refer to Figure 1 , each sensor 102, 104 may include a transmitter (not depicted) for transmitting (or: providing) a respective signal 41, 42 to the controller 106 via a wired or wireless connection. The controller 106 may include a receiver (not depicted) for receiving each respective signal 41, 42 from the respective sensor 102, 104. The system 100 may also include at least one data repository or storage or memory 108 for storing computer program code instructions.
[0038] Alternatively, the system 100 may include a server. Each sensor 102, 104 may transmit their respective signals 41, 42 to the server so that the server may obtain each respective signal 41, 42. The controller 106 may then be configured to retrieve (receive) each respective signal 41, 42 from the server. The controller 106 may be communicatively coupled to the cloud 120.
[0039] refer to Figure 2 , the system 200 according to the present invention may be arranged in a space 220. The space may be, for example, a bedroom, a ward, etc. The bedroom, the ward, etc. may include a bed 230 where a user 222 usually sleeps. Figure 3 , the user 222 can adopt a limited number of reference sleeping positions, for example, the reference sleeping positions may include facing up S0, facing down S2, lying on the right side S1, and lying on the left side S3. The rotational movement (flip event) of the user 222 can be associated with the transition between different sleeping positions. Each reference flip event t1-t8 can be associated with a transition from one reference sleeping position to another reference sleeping position (a change in direction of the user 222). For example, the reference flip event t1 is associated with a transition from facing up S0 to facing right S1. The flip event t2 is associated with a reverse transition (i.e., a transition from facing right S1 to facing up S0). The reference flip event t3 is associated with a transition from facing right S1 to facing down S2, and so on.
[0040] Now return to reference Figure 2 , the system 200 is arranged to determine the sleeping posture of a user 222 during a sleep session in a space 220. The first sensor 202 may be an SPT sensor including a first field of view 31 that (partially) covers the user. The second sensor 204 may be an SPT sensor including a second field of view 32 that (partially) covers the user, and the second field of view 32 may differ from the first field of view 31 by at least one threshold. Here, each respective field of view 31, 32 is similar and circular around its projection (or: center) axis. At least a portion of each respective field of view 31, 32 of each sensor 202, 204 covers the bed 230 of the user 222. As previously described, an SPT sensor may measure only a single temperature value within its respective (entire) field of view over time. Therefore, each of the two SPT sensors 202, 204 measures a temperature signal 41, 42 in its respective field of view 31, 32. In the example, the temperature signal may be differently expressed as a thermal signal.
[0041] One insight of the present invention is that the value of the measured temperature signal of an SPT sensor (even if it may measure a single temperature of its entire field of view) may be indicative of the distance of the detected person from the center of the field of view of the SPT sensor. For example, a person positioned in a sleeping position facing closer to the center of the field of view of a particular SPT sensor may exhibit a higher temperature value in the temperature signal of that particular SPT sensor (at the same instant in time) than said person positioned in a sleeping position further away from the center of the field of view of that particular SPT sensor. Furthermore, said instant in time may not be a single instance in time, but rather a relatively short window, segment or time period. Thus, said instant in time may be a time period having a duration of at most 0.5 seconds or at most 0.1 seconds.
[0042] Therefore, when the user 222 moves toward or away from the sensors 202, 204, the time-series temperature signals 41, 42 may change. For example, when the user 222 sleeps face up S0, the temperature signals 41, 42 measured by the first sensor 102 and the second sensor 104, respectively, show an average value I0. When the user 222 performs a 90° rotational motion (i.e., a flip event t1 from a reference sleeping position face up S0 to a right side lying sleeping position S1 facing right), the temperature signal 41 from the first sensor 202 initially rises due to the rotational motion, and then stabilizes to an average temperature I1 below I0 because the user 222 adopts a sleeping position S0 away from the center of the field of view of the sensor 202. In contrast, the temperature signal 42 from the first sensor 204 initially rises due to the rotational motion, and then stabilizes to an average temperature I2 above I0 because the user 222 adopts a sleeping position S0 facing the center of the field of view of the sensor 204. Therefore, the controller may determine the flip event t1 from predetermined reference flip events t1 - t8 based on the received signals 41 , 42 .
[0043] In another example, when the user 222 sleeps face down S2, the temperature signals 41, 42 measured by the first sensor 202 and the second sensor 204, respectively, show an average value I0. When the user 222 performs a 90° rotational movement (i.e., a flip event t5 from the reference sleeping position face down S2 to the left side sleeping position S3), the temperature signals 41, 42 from both the first and second sensors will initially increase (with different step sizes, overshoot, etc.) due to the rotational movement of the user 222. After the initial increase, when the user has settled into the left side sleeping position S3, the temperature signals 41, 42 from both the first and second sensors will settle to temperature values I1, I2 that are higher than I0, however, the temperature value I1 of the first sensor 202 will have a higher value compared to the temperature value I2 of the second sensor 204 because the user 222 adopts the sleeping position S3 facing the center of the field of view of the sensor 202. Therefore, the controller can determine the flip event t5 from the predetermined reference flip events t1-t8 based on the received signals 41, 42.
[0044] The size of the temperature step, the overshoot and average temperature before and after the flip event, and other statistical features of the signals 41, 42 (such as the rise time) are associated with the transition from one reference sleeping position to another reference sleeping position. Therefore, the controller 106 can determine the flip event (classify the flip event) from a plurality of predetermined reference flip events at the current moment based on the signals 41, 42 received from the sensors 202, 204 and the correlation between the signals 41, 42 and the flip event. For example, the controller 106 can compare the temperature signal 41 with the temperature signal 42 and determine the flip event based on the comparison.
[0045] Additionally or alternatively, the controller 106 may be configured to determine a flip event for the user 222 by directly applying a machine learning model (such as an SVM, a neural network model, a logistic regression model, etc.) to the received signals 41, 42. For example, the signals 41, 42 received from the sensors 202, 204 may be used as input to the machine learning model to determine a flip event from a plurality of reference flip events t1-t8 for the user 222. The trained machine learning model may make such a determination because the machine learning model may have been trained with inputs that may include instances or segments (time series data) of the signals 41, 42 received from the sensors 202, 204 within the space 220, and output corresponding labeled instances of the reference flip events t1-t8.
[0046] Additionally or alternatively, the controller 106 may be configured to determine the probability of a flip event, i.e., the probability that the received signal belongs to each of a predetermined plurality of reference flip events t1-t8, by applying a probabilistic machine learning model (such as a Gaussian mixture model, a Bayesian neural network model, etc.) to the received signals 41, 42. The trained probabilistic machine learning model may make such a determination because the machine learning model may have been trained to input the signals 41, 42 and output the probability of the received signals 41, 42 belonging to each of the reference flip events t1-t8.
[0047] The controller 106 may be configured to determine the sleeping posture of the user 222 from a plurality of predetermined reference sleeping postures S0-S3 based on the flipping event. Figure 2 , the controller 106 may determine the current sleeping position S1 based on determination of a flipping event t1 associated with a transition motion from the sleeping position S0 at a previous moment to the sleeping position S1 at a current moment.
[0048] Additionally or alternatively, the controller 106 may be configured to determine the likelihood of each of the predetermined reference sleeping positions S0-S3 at a moment in time, and determine the sleeping position by comparing the likelihood of each of the reference sleeping positions, for example by applying a maximum a posteriori probability (MAP) rule. For example, the controller 106 may determine the current (second) likelihood of each of the predetermined reference sleeping positions S0-S3 based on the determined probability that the received signals 41, 42 belong to each of the predetermined multiple flipping events at this moment and the likelihood of each of the predetermined multiple reference sleeping positions determined at the previous (previous) moment. For example, the second likelihood determination (at the current moment) may be based on a posterior probability calculation, i.e., the likelihood of the reference sleeping position at the (second) moment is proportional to the sum of the likelihood of being in the sleeping position at the previous moment (previous likelihood) multiplied by the probability of you switching from the previous sleeping position to the new sleeping position (i.e., the probability of a flipping event).
[0049] refer to Figure 4 , the space 420 may include multiple sensors 402, 404, 406 at different relative positions, each sensor having a different field of view relative to the user's bed 430. The controller 106 may be configured to select a subset of the multiple sensors 402, 404, 406 based on their respective fields of view towards the user. For example, the controller 106 may select a subset 402, 406 of the multiple sensors 402, 404, 406 because they provide a (less overlapping) field of view and have good coverage of the sleeping user 422 (no information loss).
[0050] The controller 106 may be configured to determine whether the sleeping posture of the user 222 is an undesirable sleeping posture, and to determine a time period that has passed after an undesirable sleeping posture is detected. The controller 106 may be configured to output an alarm signal after a predetermined time period has passed after an undesirable sleeping posture is detected. The alarm signal may be in the form of an optical signal, for example, an illuminator may be turned on. Alternatively or additionally, the alarm signal may be a sound signal, such as an alarm from an alarm clock, a vibration signal, etc. In another example, the alarm signal may be a message signal, such as a text message to a mobile device, a notification in a user interface, etc. Alternatively, if the sleeping posture of the user 222 is an undesirable sleeping posture, the alarm signal as described above may be output to a third party (e.g., a parent, a caregiver, etc.).
[0051] The controller 106 may also be configured to receive sleep-related data from one or more additional sensors in the plurality of sensors, and determine whether the user's sleep state is asleep based on the received sleep-related data. For example, one or more additional sensors may be acoustic sensors configured to generate digitized breathing sounds from the user 222 recorded over time, and the controller 106 may determine the sleep state of the user 222 based on the digitized breathing sounds from the user 222 recorded over time (the sleep state may be one of the following: awake or asleep). In another example, one or more additional sensors may be radio frequency (RF) nodes configured to transmit and receive RF signals, and the controller 106 may be configured to determine the breathing rate of the user 222 based on the received RF signals. The controller 106 may also be configured to determine whether the user's sleep state is asleep based on the breathing rate of the user 222. Methods and techniques for determining the start of a sleep session are known in the art, and therefore will not be discussed in further detail. The controller 106 may also be configured to determine the sleeping posture of the user 222 only when determining the sleeping state of the user 222. That is, the method step of determining the sleeping posture is implemented only based on the condition that the sleeping state of the user is the sleeping state.
[0052] The controller 106 may be configured to receive, for example, self-annotated instances of sleeping postures and / or tossing events by the user 222 through a user interface, and train a machine learning model based at least in part on the self-annotated sleeping postures. For example, the machine learning model may be trained using input instances (time series data) of temperature signals 41, 42 within a time segment of one or more past sleep sessions of the user 222, and as an output of self-annotated instances of reference to tossing events. Additionally or alternatively, the processor 106 may annotate tossing events by associating self-annotated instances of sleeping postures.
[0053] Figure 5 A method 500 for determining a user's sleeping posture is shown, the method comprising the following steps:
[0054] - receiving 502 sleep-related data;
[0055] - determining 504 whether the user's sleep state is asleep based on the received sleep-related data;
[0056] - receiving 506 from a plurality of sensors signals 41 , 42 from one or more sensors 202 , 204 indicating user movement;
[0057] - determining 508 a flip event from a predetermined plurality of reference flip events t1 - t8 based on the received signal;
[0058] - Determining 510 the sleeping posture of the user 222 from a predetermined plurality of reference sleeping postures S0 - S3 based on the turning over event. Steps 502 , 504 may be optional.
[0059] The method 500 may be performed by computer program code of a computer program product when the computer program product is executed on a processing unit of a computing device, such as the processor / controller 106 .
[0060] It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims.
[0061] In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The use of the verb "comprise" and its conjugations does not exclude the presence of elements or steps other than those stated in a claim. The article "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements and by means of a suitably programmed computer or processing unit. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
[0062] Aspects of the present invention can be implemented in a computer program product, which can be a set of computer program instructions stored on a computer-readable storage device that can be executed by a computer. The instructions of the present invention can be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs) or Java classes. Instructions can be provided as complete executable programs, partial executable programs, as modifications (e.g., updates) of existing programs or extensions (e.g., plug-ins) of existing programs. In addition, partial processing of the present invention can be distributed on multiple computers or processors or even "clouds".
[0063] Storage media suitable for storing computer program instructions include all forms of non-volatile memory, including but not limited to EPROM, EEPROM and flash memory devices, magnetic disks such as internal and external hard drives, removable disks and CD-ROM disks. The computer program product may be distributed on such storage media or may be provided for download via HTTP, FTP, email or through a server connected to a network such as the Internet.
Claims
1. A system for determining a user's sleeping posture during a sleep session, wherein the system comprises: - two or more sensors of a plurality of sensors configured to measure signals indicative of user motion, the sensors comprising single pixel thermopile sensors and / or infrared sensors; and - a controller configured to receiving signals indicative of user motion from the two or more sensors; determining a flip event from a predetermined plurality of reference flip events based on the received signal, the predetermined plurality of reference flip events comprising one or more of facing up to facing right (t1), facing up to facing left (t8), facing down to facing right (t4), facing down to facing left (t5), facing left to facing up (t7), facing left to facing down (t7), facing right to facing down (t3), and facing right to facing up (t2); The sleeping position of the user is determined from a plurality of predetermined reference sleeping positions based on the turning event, wherein the plurality of predetermined reference sleeping positions include one or more of facing up (S0), facing down (S2), lying on the right side (S1) and lying on the left side (S3).
2. The system of claim 1 , wherein the controller is configured to receive a first signal and a second signal from a first sensor and a second sensor of the plurality of sensors, respectively, and wherein determination of a rollover event is based at least in part on a comparison of the first signal to the second signal.
3. A system according to claim 1 or 2, wherein the controller is configured to determine the flip event by applying a machine learning model to the received signal, wherein the machine learning model has been trained on the received signal indicating user movement.
4. The system of claim 3, wherein the machine learning model is a probability model configured to output a probability value for each of a plurality of reference flip events, the probability value being a probability of the received signal belonging to each of the predetermined plurality of reference flip events, and wherein the controller may be configured to: - comparing the probability value of each predetermined reference flipping event; and - Based on the comparison, a rollover event is determined.
5. The system according to claim 4, wherein the controller is configured to determine a second likelihood value for each of the plurality of reference sleeping positions at a second time based on: - a determined probability value for each of a plurality of rollover events predetermined at a second time, and - a past likelihood value for each of a predetermined plurality of reference sleeping positions determined at a first time instant, wherein the first time instant is before the second time instant; and The controller is further configured to: - comparing the second likelihood value for each predetermined reference sleeping position, and - Based on the comparison, determining the sleeping position at a second time. 6 . The system of claim 1 , wherein the controller is configured to select a subset of the plurality of sensors for monitoring a sleeping posture of a user based on a field of view of the plurality of sensors.
7. A system according to any of the preceding claims, wherein the controller is configured to determine a position from a set of predefined positions of the one or more sensors based on a field of view of the one or more sensors relative to a user's position, and wherein the controller is also configured to output the determined position of the one or more sensors to the user.
8. The system of claim 1, wherein the controller is further configured to determine: - whether the determined sleeping position of the user is an undesirable sleeping position; - determining a period of time that has elapsed after an undesirable sleeping position was detected; and - Outputting an alarm signal after a predetermined period of time has elapsed after the undesired sleeping position is detected.
9. The system of claim 8, wherein the controller is further configured to: -Determine the frequency of tossing events during a sleep session; - Determining a sleep quality index based on the time period spent in an undesirable sleeping position and / or the frequency of tossing events.
10. The system according to any one of the preceding claims, wherein the controller is configured to: - receiving sleep-related data from one or more further sensors of the plurality of sensors, and - determining whether the user's sleep state is a sleeping state based on the received sleep-related data; and -Determining the sleeping posture of the user based on the condition that the sleeping state of the user is a sleeping state.
11. The system of claim 3, wherein the controller is further configured to receive self-annotated instances of sleeping postures and / or tossing events by a user, and wherein the machine learning model is trained at least in part based on the self-annotated sleeping postures.
12. A controller for determining a sleeping posture of a user during a sleep session, the controller being configured to: - receiving signals indicative of user motion from two or more sensors; - determining a flip event from a predetermined plurality of reference flip events based on the received signal, the predetermined plurality of reference flip events comprising one or more of facing up to facing right (t1), facing up to facing left (t8), facing down to facing right (t4), facing down to facing left (t5), facing left to facing up (t7), facing left to facing down (t7), facing right to facing down (t3), and facing right to facing up (t2); - Determining the user's sleeping position from a plurality of predetermined reference sleeping positions based on the turning event, the plurality of predetermined reference sleeping positions comprising one or more of facing up (S0), facing down (S2), lying on the right side (S1) and lying on the left side (S3).
13. A method for determining a user's sleeping posture during a sleep session, the method comprising the steps of: - receiving signals indicative of user motion from two or more sensors of the plurality of sensors; - determining a flip event from a predetermined plurality of reference flip events based on the received signal, the predetermined plurality of reference flip events comprising one or more of facing up to facing right (t1), facing up to facing left (t8), facing down to facing right (t4), facing down to facing left (t5), facing left to facing up (t7), facing left to facing down (t7), facing right to facing down (t3), and facing right to facing up (t2); - Determining the user's sleeping position from a plurality of predetermined reference sleeping positions based on the turning event, the plurality of predetermined reference sleeping positions comprising one or more of facing up (S0), facing down (S2), lying on the right side (S1) and lying on the left side (S3).
14. A computer program product comprising instructions which, when a computer executes the program, cause the computer to perform the steps of the method according to claim 13.