A sleep time extraction method for home health monitoring radar

By using millimeter wave radar to obtain the cloud data of human activity in the scene, logical reasoning determines the time of getting up and sleeping, solving the problems of inconvenience of user wear and privacy security in the existing technology, and realizing contactless and accurate sleep time extraction.

CN117243587BActive Publication Date: 2025-02-28BEIJING RACOBIT ELECTRONIC INFORMATION TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311186748.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-14
Publication Date
2025-02-28
Estimated Expiration
2043-09-14

AI Technical Summary

Technical Problem

The existing sleep time extraction technology has problems such as inconvenience of users wearing sensors, discomfort in long-term wear, and the impact of lighting and occlusion, and infringes on user privacy.

Method used

Millimeter wave radar is used to obtain human activity point cloud data in the scene, count the number of active point clouds every 0.5 hours, judge the personnel's wake-up time and sleep time through logical reasoning, form an activity degree array and perform normalization processing.

Benefits of technology

It realizes contactless, long-term, continuous and comfortable sleep time extraction, avoids user inconvenience in wearing and privacy security issues, and the extraction results are reasonable and accurate, and are suitable for long-term work and rest habit analysis and health management suggestions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117243587B_ABST
    Figure CN117243587B_ABST
Patent Text Reader

Abstract

The present invention proposes a sleep time extraction method for home health monitoring radar, which uses the number of radar point clouds every 0.5 hours as an indicator of the activity of people in the space, and judges the time for people to get up and go to bed through logical reasoning. It includes the following steps: Step 1, the radar obtains the activity point cloud data of the human body in the scene, and the number of human activity point clouds is defined as the human activity at intervals of 0.5 hours to form an array of human activity for the day, and normalizes it by dividing it by the maximum human activity of the day to obtain 48 activity values ​​for one day; Step 2, compare the activity value of the current time period with the activity of the previous N time periods, and extract the time to get up; Step 3, compare the activity of the current time period with the activity of the following M time periods, and extract the time to go to bed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of millimeter wave radar signal processing, and in particular relates to a sleep time extraction method for a home health monitoring radar. Background Art

[0002] As the pressure of life continues to increase, people's sleep condition is becoming more and more important.

[0003] Sleep duration and sleep quality are important factors affecting human health. The extraction of sleep time can better reflect the work and rest habits of the monitored person, and then make inferences about the health status, and adjust the work and rest time based on information such as sleep duration. Therefore, a large number of convenient and effective sleep monitoring devices have been launched on the market in recent years. Among them, health monitors based on millimeter-wave radar have attracted widespread attention for their advantages such as large detection range, strong privacy, no influence from light, and no need to wear.

[0004] Sleep time extraction is to extract the waking time and bedtime of the monitored person. This function can realize the analysis of the sleep duration of the monitored person, and can also provide basic information for work and rest analysis and improvement of living habits. It is an important function for home health monitoring, but there are currently no related results in the field of millimeter wave radar information processing.

[0005] The existing sleep time extraction technologies are mainly the following two types: one is based on various contact sensors, which obtain various physiological parameters of the human body through sensors, or use accelerometers and gyroscopes to analyze human behavior during sleep to obtain sleep time and evaluate sleep quality; the second is based on optical equipment such as cameras to monitor and analyze the target's head movement, eye closure, etc., to extract the human body's sleep time and estimate the human body's sleep state.

[0006] However, the existing sleep time extraction technology based on various contact sensors is prone to users forgetting to wear them, and wearing the corresponding sensor equipment for a long time will make users feel uncomfortable, affecting the user experience; and the sleep time extraction technology based on optical devices such as cameras is easily affected by external conditions such as lighting and occlusion, and will infringe on user privacy, easily causing privacy and security issues. Summary of the invention

[0007] The present invention proposes a sleep time extraction method for home health monitoring radar, which uses the number of radar point clouds every 0.5 hours as an indicator of human activity in the space, and judges the time for people to get up and go to bed through logical reasoning.

[0008] The present invention is achieved through the following technical solutions.

[0009] A sleep time extraction method for home health monitoring radar includes the following steps:

[0010] Step 1: The radar obtains the activity point cloud data of the human body in the scene, and the number of human activity point clouds is counted at intervals of 0.5 hours, which is defined as the human activity amount, to form an array of human activity amounts for that day, and normalized by dividing it by the maximum human activity amount of the day to obtain 48 activity values ​​per day;

[0011] Step 2: Compare the activity value of the current time period with the activity values ​​of the previous N time periods to extract the wake-up time;

[0012] Step 3: Compare the activity level of the current time period with the activity levels of the following M time periods to extract the sleeping time.

[0013] Beneficial effects of the present invention:

[0014] 1. The present invention determines whether there is a sudden change in activity during a certain period of time by calculating the mean, standard deviation and other statistical characteristics of activity during several periods of time, and can reasonably and accurately infer the time to get up and the time to go to bed;

[0015] 2. The present invention collects human activity point cloud data in the scene for statistical analysis to form a point cloud activity, which can reflect the activity intensity of people in each time period in the scene and the change of activity intensity within a day;

[0016] 3. The present invention updates the historical waking / sleeping activity average according to the human activity corresponding to the extracted waking and sleeping time, so as to assist judgment in long-term monitoring;

[0017] 4. The present invention uses millimeter wave radar to obtain human activity point cloud data in the scene and performs corresponding data processing. Therefore, it is a non-contact system. Users do not need to wear corresponding equipment to achieve long-term, continuous and comfortable sleep time extraction;

[0018] 5. The extraction results of the present invention are reasonable and accurate, and can be used for subsequent analysis of the long-term work and rest habits of the cared person to give corresponding health management suggestions. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 The overall flow chart of sleep time extraction of the present invention is provided;

[0020] Figure 2 The present invention is a flowchart of waking up time extraction;

[0021] Figure 3 to Figure 6 Extract condition 1 to condition 4 flow chart for waking up time;

[0022] Figure 7 It is a sleep time extraction flow chart of the present invention;

[0023] Figure 8 to Figure 10Extract condition 1 to condition 3 flow chart for sleeping time;

[0024] Fig.11 This is a sleep time extraction result diagram of the present invention. DETAILED DESCRIPTION

[0025] The exemplary embodiments of the present invention are described in detail below with reference to the accompanying drawings. It should be understood that the embodiments shown and described in the accompanying drawings are only exemplary and are intended to illustrate the principles and spirit of the present invention, rather than to limit the scope of the present invention.

[0026] like Figure 1 As shown, a sleep time extraction method for home health monitoring radar of the present invention specifically includes the following steps:

[0027] Step 1: The radar obtains the activity point cloud data of the human body in the scene, and the number of human activity point clouds is counted at intervals of 0.5 hours to define the human activity amount, forming the human activity amount array Num = [Point1, Point2, ..., Point 48 ] and divided it by the maximum human activity max(Num) of the day for normalization to get 48 activity values ​​per day; the specific formula is as follows:

[0028]

[0029] NumToday=[PointNum1,PointNum2,…,PointNum 48 ] is the human activity array for every 0.5 hours of the day, where PointNum i ,i=1,2…48 is the activity of the space within the 0.5 hour, i is the time period index, and for one day's data, 48 activity values ​​can be obtained.

[0030] During specific implementation, the radar is installed on the bedroom wall at a height of 1.8 meters to 2 meters so that it can cover the entire room, and the radar is set to work in normal monitoring mode.

[0031] In this embodiment, the radar continuously uploads the activity point cloud data of the human body in the scene with a frame period of 55 ms. Assuming that the number of human activity point clouds in the point cloud data received in one frame is n, if n≥5, the data is considered valid.

[0032] Step 2: Compare the activity value of the current time period with the activity values ​​of the previous N time periods to extract the wake-up time; in specific implementation, N is selected based on experience, and in this embodiment, 3 is selected.

[0033] like Figure 2 As shown, the specific steps are as follows:

[0034] 2.1 Define the flag day, which is used to indicate whether the previous day's sleep time spans across days;

[0035] If day is 0, the person went to bed before 24:00 yesterday, and the sleeping time did not cross the day; at this time, the extraction of the wake-up time starts from the Tth (T is the start index period of the wake-up time selected based on the experience value, T = 1, 2...48) period;

[0036] If day is 1, the person goes to bed in the early morning of today, and the sleeping time spans across days. At this time, it is necessary to compare the sleeptime of the previous day and T, and the wake-up time of the current day is extracted from the larger one of the two starting indexes;

[0037] 2.2 Define the GetUpPoint array to store the human activity corresponding to the daily wake-up time, and define GetUpAverage as the historical wake-up activity average:

[0038]

[0039] Where sum(GetUpPoint) is the sum of the amount of activity each time you get up in the GetUpPoint array, length(GetUpPoint) is the number of elements in the GetUpPoint array, and t is a constant selected based on experience;

[0040] 2.3 Read the current period activity PointNum i , calculate the average activity of the first N periods and standard deviation sigma, calculate PointNum i The difference from the historical mean difA:

[0041]

[0042] 2.4 Define ip as the time period serial number, ip0 as the time period for getting up, with a value range of 1 to 48, and define TodayGetUp as the amount of human activity during the time period for getting up on that day. The time corresponding to serial number ip0 that meets any of the preset conditions is considered to be the time for getting up on that day:

[0043] In this embodiment, the preset conditions include the following:

[0044] like Figure 3 As shown, condition 1: if the activity of the current time period is suddenly high, the activity of the previous p time periods is relatively low, and there is at least one time period with high activity among the subsequent q time periods, p and q are constants selected based on experience. In this embodiment, 2 is taken, and the current ip is the sequence number of the wake-up time period ip0; the specific formula is as follows:

[0045]

[0046] Where: a, m are constants selected based on experience, a is 3, m is 4, Thr is the threshold for waking up, which is 0.1, and L[·] represents the number of time periods that meet the conditions;

[0047] like Figure 4 As shown, condition 2: if the activity of the current time period is suddenly high, the activity of the previous p time periods is relatively low, and there is no one in the subsequent K (K is a constant selected based on experience, and 3 is taken in this embodiment) time periods, then the current IP is the wake-up time period number IP0; the specific formula is as follows:

[0048]

[0049] like Figure 5 As shown, condition 3: If the activity of the current time period is suddenly high, and the activity of the current time period is higher than the average activity of the historical wake-up, and there is a period with lower activity in the previous p time periods, then the current IP is the wake-up time period number IP0; the specific formula is as follows:

[0050]

[0051] Among them, c and n are constants selected based on empirical values; c is 0.5 and n is 3;

[0052] like Figure 6 As shown, condition 4: If the previous judgments are not established, then when the following conditions are met, ip+1 is the waking time ip0;

[0053]

[0054] Wherein, b is a constant selected based on empirical values, and in this embodiment, it is set to 4;

[0055] Furthermore, after extracting the day's wake-up period ip0, define the wake-up time as getuptime:

[0056] getuptime=t(ip0)

[0057] Among them, t is a time array with an interval of 0.5 and a range of 0 to 24;

[0058] The amount of human activity during the day's wake-up period TodayGetUp = Num(ip0), if:

[0059] |TodayGetUp-GetUpAverage|<h*GetUpAverage

[0060] Among them, h is a constant selected based on experience, indicating that the amount of human activity during the day's wake-up period is within the normal deviation range. In this case, the amount of human activity during the day's wake-up period is added to the GetUpPoint array and the historical mean of the amount of human activity during the day's wake-up period is updated:

[0061]

[0062] This step can be used to assist judgment in long-term monitoring.

[0063] Step 3: Compare the activity level of the current time period with the activity levels of the following M time periods to extract the sleeping time; in the specific implementation, M is taken as 8 based on the empirical value;

[0064] like Figure 7 As shown, the specific steps are as follows:

[0065] 3.1 Define the flag isSleep to indicate whether the bedtime is retrieved after getting up the previous day;

[0066] If isSleep is 1, it means that the sleep time was extracted after the caregiver got up the previous day. In this case, the wake-up time of that day should be extracted first and then the sleep time;

[0067] If isSleep is 0, it means that the sleeping time was not extracted after the caregiver got up the previous day. In this case, the sleeping time in the early morning of that day should be extracted first, and then the getting-up time and the sleeping time at night should be extracted;

[0068] 3.2 Read the activity array NumToday for the day; read the getup time getuptime for the day, then the corresponding period of the getup time is 2*getuptime, and index from this period backwards; define the SleepPoint array to store the human activity corresponding to the extracted daily sleep time, and define SleepAverage as the average of historical sleep activity:

[0069]

[0070] sum(SleepPoint) is the sum of the number of point clouds in the SleepPoint array for each sleep, length(SleepPoint) is the number of elements in the SleepPoint array. k is a constant selected based on experience.

[0071] 3.3 Define ip1 as the sleeping period, with a value range of 1 to 48, define TodaySleep as the amount of human activity during the sleeping period of the day; define the identifier day to indicate whether the sleeping time of the day spans across days; then the time corresponding to the sequence number ip1 that meets any preset condition is considered to be the sleeping time of the day:

[0072] Read the current period activity PointNum i , calculate the average activity of the subsequent M time periods (if less than M, take the last one) and standard deviation sigma, calculate PointNum i The difference from the mean difA:

[0073]

[0074] like Figure 8 As shown, condition 1: if isSleep=1, and the current activity is high or the current activity is higher than the historical sleeping activity, and the subsequent activity is low, then the current IP is the sleeping period number ip1, and day=0, isSleep=1;

[0075]

[0076] Among them, a is a constant selected based on experience, and Thr is the sleep activity threshold;

[0077] like Fig. 9 As shown, condition 2: if isSleep=1, the current activity is high or the current activity is higher than the historical sleeping activity, the subsequent activity is low and the subsequent period is less than M periods, then the current IP is the sleeping period number ip1, and day=0, isSleep=1;

[0078]

[0079] like Fig.10 As shown, condition 3: if the flag isSleep = 0, and low activity continues for M periods of time, then day = 1, isSleep = 1;

[0080]

[0081] And the sleeping period sequence number is:

[0082] After extracting the sleeping period ip1 of the day, define the sleeping time as sleeptime:

[0083] sleeptime=t(ip1+1)

[0084] The number of human activity point clouds during the sleeping period of the day is TodaySleep = Num(ip1+1), if:

[0085] |TodaySleep-SleepAverage|<g*SleepAverage

[0086] g is a constant selected based on experience. In this embodiment, it is 3, which means that the human activity during the sleeping period of the day is within the normal deviation range. In this case, the sleeping activity of the day is added to the SleepPoint array and the historical sleeping activity average is updated:

[0087]

[0088] Among them, k is selected as 3 based on empirical values.

[0089] Those skilled in the art will appreciate that the embodiments described herein are intended to help readers understand the principles of the present invention, and should be understood that the protection scope of the present invention is not limited to such specific statements and embodiments. Those skilled in the art can make various other specific variations and combinations that do not deviate from the essence of the present invention based on the technical revelations disclosed by the present invention, and these variations and combinations are still within the protection scope of the present invention.

Claims

1. A sleep time extraction method for home health monitoring radar, characterized in that: The following steps are involved: Step 1: The radar obtains the activity point cloud data of the human body in the scene, and the number of human activity point clouds is counted at intervals of 0.5 hours, which is defined as the human activity amount, to form an array of human activity amounts for that day, and normalized by dividing it by the maximum human activity amount of the day to obtain 48 activity values ​​per day; Step 2: Compare the activity value of the current time period with the activity values ​​of the previous N time periods to extract the wake-up time; including the following steps: 2.1 Define the flag day, which is used to indicate whether the previous day's sleep time spans across days; If day is 0, the person went to bed before 24:00 yesterday, and the sleeping time did not cross the day; in this case, the extraction of the wake-up time starts from the Tth period; If day is 1, the person goes to bed in the early morning of today, and the sleeping time spans across days. At this time, it is necessary to compare the sleeptime of the previous day and T, and the wake-up time of the current day is extracted from the larger one of the two starting indexes; 2.2 Define the GetUpPoint array to store the human activity corresponding to the daily wake-up time, and define GetUpAverage as the historical wake-up activity average: 2.3 Read the current period activity PointNum i , calculate the average activity of the first N periods and standard deviation sigma, calculate PointNum i The difference from the historical mean difA: 2.4 Define ip as the time period serial number, ip0 as the time period for getting up, and define TodayGetUp as the amount of human activity during the time period for getting up on that day. The time corresponding to serial number ip0 that meets any of the preset conditions is considered to be the time for getting up on that day; the preset conditions include the following: Condition 1: If the activity of the current time period is suddenly high, the activity of the previous p time periods is low, and there is at least one time period with high activity among the subsequent q time periods, p and q are constants selected based on experience, then the current IP is the wake-up time period number IP0; Condition 2: If the activity of the current time period is suddenly high, the activity of the previous p time periods is low, and there is no one in the subsequent K time periods, then the current IP is the wake-up time period number ip0; Condition 3: If the activity level in the current time period is suddenly high, and the activity level in the current time period is higher than the average activity level in the history, and there is a period with lower activity level in the previous p time periods, then the current IP is the sequence number of the time period ip0 when waking up; Condition 4: If the previous judgments are not true, then when the following conditions are met, ip+1 is the wake-up time ip0; Among them, b and m are constants selected based on empirical values, PointNum i is the activity level of the current period, is the mean of activity in the first N time periods, sigma is the standard deviation, Thr is the threshold of activity when getting up, and L[·] represents the number of time periods that meet the conditions; Step 3: Compare the activity level of the current time period with the activity levels of the following M time periods to extract the sleeping time.

2. A sleep time extraction method for home health monitoring radar as claimed in claim 1, characterized in that: Further including: After extracting the day's wake-up time ip0, define the wake-up time as getuptime: getuptime=t(ip0) Among them, t is a time array with an interval of 0.5 and a range of 0 to 24; The amount of human activity during the day's wake-up period TodayGetUp = Num(ip0), if: |TodayGetUp-GetUpAverage|<h*GetUpAverage Among them, h is a constant selected based on experience, indicating that the amount of human activity during the day's wake-up period is within the normal deviation range. In this case, the amount of human activity during the day's wake-up period is added to the GetUpPoint array and the historical mean of the amount of human activity during the day's wake-up period is updated:

3. The sleep time extraction method for home health monitoring radar according to claim 1, characterized in that: Step three includes the following steps: 3.1 Define the flag isSleep to indicate whether the bedtime is retrieved after getting up the previous day; If isSleep is 1, it means that the sleep time was extracted after the caregiver got up the previous day. In this case, the wake-up time of that day should be extracted first and then the sleep time; If isSleep is 0, it means that the sleeping time was not extracted after the caregiver got up the previous day. In this case, the sleeping time in the early morning of that day should be extracted first, and then the getting-up time and the sleeping time at night should be extracted; 3.2 Read the activity array NumToday for the day; read the getup time getuptime for the day, then the corresponding period of the getup time is 2*getuptime, and index from this period backwards; define the SleepPoint array to store the human activity corresponding to the extracted daily sleep time, and define SleepAverage as the average of historical sleep activity: sum(SleepPoint) is the sum of the number of point clouds in the SleepPoint array for each sleep. length(SleepPoint) is the number of elements in the SleepPoint array; k is a constant selected based on experience; 3.3 Define ip1 as the sleeping period, with a value range of 1 to 48; define TodaySleep as the amount of human activity during the sleeping period of that day; define the identifier day to indicate whether the sleeping time of that day spans across days; then the time corresponding to the serial number ip1 that meets any preset condition is considered to be the sleeping time of that day.

4. The sleep time extraction method for home health monitoring radar according to claim 3, characterized in that: The preset conditions include the following: Read the current period activity PointNum i , calculate the mean activity of the subsequent M periods and standard deviation sigma, calculate PointNum i The difference from the mean difA: Condition 1: If isSleep = 1, and the current activity is high or the current activity is higher than the historical sleeping activity, and the subsequent activity is low, then the current IP is the sleeping period number ip1, and day = 0, isSleep = 1; Condition 2: If isSleep = 1, the current activity is high or the current activity is higher than the historical sleep activity, the subsequent activity is low and the subsequent period is less than M periods, then the current IP is the sleep period number ip1, and day = 0, isSleep = 1; Condition 3: If the flag isSleep=0, and low activity continues for M periods of time, then day=1, isSleep=1.

5. The sleep time extraction method for home health monitoring radar according to claim 1, characterized in that: Further including: After extracting the sleeping period ip1 of the day, define the sleeping time as sleeptime: sleeptime=t(ip1+1) The number of human activity point clouds during the sleeping period of the day is TodaySleep = Num(ip1+1), if: |TodaySleep-SleepAverage| <g*SleepAverage g is a constant selected based on experience, which means that the amount of human activity during the sleeping period of that day is within the normal deviation range. Then the amount of sleep activity on that day is added to the SleepPoint array and the average of the historical sleep activity is updated: Among them, k is selected based on experience.

6. The sleep time extraction method for home health monitoring radar according to claim 1, characterized in that: Install the radar on the bedroom wall at a height of 1.8 to 2 meters so that it can cover the entire room.

7. The sleep time extraction method for home health monitoring radar according to claim 1, characterized in that: The radar continuously uploads the activity point cloud data of the human body in the scene with a frame period of 55 ms. Assuming that the number of human activity point clouds in the point cloud data received in one frame is n, if n≥5, the data is considered valid.

Citation Information

Patent Citations

  • Non-contact dynamic balance capability assessment method and device based on double radars

    CN118749907A

  • Sleep state evaluation device, sleep state evaluation system and program

    JP2017164580A

  • Sleep analysis system using artificial Intelligence and method thereof

    KR102236420B1