주요 컨셉
🙋♀️ User
사용자는 수면을 기록하고자 하는 대상을 의미하며, SDK
혹은 API
를 사용하여 수면을 측정하고자 하는 사용자 user id를 생성할 수 있습니다. 이를통해 사용자별로 수면 세션을 관리할 수 있습니다.
🛌 Sleep Session
수면 세션은 한 번의 잠(밤에 측정 시작 버튼을 누르고 아침에 일어나서 측정 종료를 누를때까지)에 해당하는 개념입니다. 특정 사용자의 수면 세션을 생성하고, 분석하고자 하는 데이터를 업로드하고, 세션을 종료할 수 있습니다.
세션은 OPEN
, CLOSED
, COMPLETE
의 총 3가지의 상태(state)를 가지고 있습니다.
- OPEN: 세션이 생성되었고 오디오 데이터를 분석을 위해 업로드할 수 있는 상태
- CLOSED: 세션 종료 상태로 오디오를 더 업로드할 수는 없으며, 분석이 완료되길 기다리는 상태
- COMPLETE: 모든 분석이 완료된 상태
📇 Mel Spectrogram
스마트폰이나 스마트 디바이스에서 측정된 오디오 데이터는 SDK
의 전처리 알고리즘을 통해 멜 스펙트로그램의 형식으로 변환되어 서버에 전송됩니다.
![Mel Spectrogram](https://files.readme.io/55f640b-Asleep_Docs_Image_-_home_4.jpg)
Mel Spectrogram
📊 Data Metrics
수면이 종료되고 모든 분석이 완료되면 분석 결과로 확인할 수 있는 데이터는 다음과 같습니다. 플랜에 따라 실시간 분석 기능 이용 시 Open
상태의 세션에서 현재까지 분석된 수면 단계, 호흡 안정도 단계 데이터를 실시간으로 확인할 수 있습니다.
1. 기본 수면 정보
수면 측정의 시작과 종료, 그리고 입면과 기상에 관련된 데이터 모음입니다.
- 수면 잠복기(
sleep_latency
)와 기상 잠복기(wakeup_latency
)는 유저의 습관(예: 잠에 들기 어려워함, 기상 후 오래 침대에 누워있음)을 유추하기 위한 데이터로 사용될 수 있습니다. - 총 측정 시간(
time_in_bed
)과 총 수면 시간(time_in_sleep_period
)은 서로 다른 데이터 메트릭의 기준이 되기 때문에, 두 데이터를 구분하여 사용함에 주의해 주세요.
![](https://files.readme.io/95e4037-Data_Metrics_1.jpg)
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | start_time | 측정 시작 시각 | 시각 | 측정을 시작한 시각 | 2023-11-22T00:00:10+09:00 [YYYY-MM-DDThh:mm:ss±hh:mm] (=2023-11-22 00:00:10) |
2 | end_time | 측정 종료 시각 | 시각 | 측정을 종료한 시각 | 2023-11-22T06:30:38+09:00 [YYYY-MM-DDThh:mm:ss±hh:mm] (=2023-11-22 06:30:38) |
3 | time_in_bed | 총 측정 시간 | 길이 | 측정 시작 시각부터 측정 종료 시각까지 걸린 시간 | 23428 [s] (=6h 30m 28s) |
4 | sleep_time | 입면 시각 | 시각 | 측정 시작 후 처음 수면이 감지된 시각 | 2023-11-22T00:53:10+09:00 [YYYY-MM-DDThh:mm:ss±hh:mm] (=2023-11-22 00:53:10) |
5 | wake_time | 기상 시각 | 시각 | ’각성’ 감지 이후 다시 수면이 감지되지 않는 구간의 시작 시각. 즉, 마지막 ‘각성’ 구간의 시작 시각. | 2023-11-22T06:30:08+09:00 [YYYY-MM-DDThh:mm:ss±hh:mm] (= 2023-11-22 06:30:08) |
6 | time_in_sleep_period | 총 수면 시간 | 길이 | 입면 시각부터 기상 시각까지 걸린 시간 | 20190 [s] (= 5h 36m 30s) |
7 | sleep_latency | 수면 잠복기 | 길이 | 측정 시작부터 처음 ‘수면’이 감지되기까지 걸린 시간 | 3180 [s] (=53m 0s) |
8 | wakeup_latency | 기상 잠복기 | 길이 | 마지막 ‘각성’ 시작부터 측정 종료까지 걸린 시간 | 30 [s] (= 0m 30s) |
9 | sleep_index | 수면 점수 | 점수 | 수면 데이터 분포를 학습하여 정의된 수면의 질을 종합적으로 대표하는 지표 | 97 (범위: 50 ~ 100) |
2. 수면 효율
수면의 질을 나타내는 대표적인 지표 중 하나인 수면 효율(sleep_efficiency
)에 관련된 데이터입니다.
- 총 측정 시간(
time_in_bed
)동안 실제 수면 시간(time_in_sleep
)을 파악함으로써 수면 효율(sleep_efficiency
)를 계산할 수 있습니다. - 수면에 정답은 없지만 수면 효율이 높다는 것은 누워있는 시간대비 최적의 수면 시간을 확보하고 있다는 뜻으로 해석할 수 있습니다.
- 수면 단계 비율(
sleep_ratio
) 데이터가 총 수면 시간(time_in_sleep_period
)을 기준으로 하는 데이터임과는 달리, 수면 효율(sleep_efficieny
) 데이터는 총 측정 시간(time_in_bed
)를 기준으로 하는 데이터임에 주의해주세요.
![](https://files.readme.io/391e594-Data_Metrics_4.jpg)
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | time_in_sleep | 실제 수면 시간 | 길이 | 총 측정 시간 중 모든’ 각성’을 제외한 시간 | 19380 [s] (= 5h 23m 0s) |
2 | sleep_efficiency | 수면 효율 | 비율 | 총 측정 시간에 대한 실제 수면 시간의 비율 | 0.83 [x.xx] (=83%) |
3. 수면 단계
네 가지 수면 단계(각성, 얕은 수면, 깊은 수면, 렘 수면)에 관련된 데이터 모음입니다.
- 총 측정 시간(
time_in_bed
) 동안 사용자의 수면은 네 가지 단계 중 하나로 30초에 한 번씩 기록됩니다. 이러한 수면 단계의 모음은 수면 단계 리스트(sleep_stages
) 데이터로 확인할 수 있습니다. - 수면 중 각성의 빈도와 지속된 길이는 주관적 수면의 만족도에 영향을 미칠 수 있어 측정 결과 분석 시 중요한 지표 중 하나로 쓰입니다. 이와 관련 데이터로 자다깸 구간 횟수(
waso_count
), 각성 단계 시간(time_in_wake
), 가장 긴 자다깸 시간(longest_waso
)을 활용해 볼 수 있습니다.
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | sleep_stages | 수면 단계 리스트 | 숫자 리스트 | 총 측정 시간에서 수면 단계를 숫자로 표기한 리스트 (0: 각성 / 1: 얕은 수면 / 2: 깊은 수면 / 3: REM 수면) | [0,0,1,……,2,2,3,3,1,1,0,0,0] [list] (= wake, wake, light, .....) |
2 | waso_count | 자다깸 구간 횟수 | 횟수 | 총 수면 시간 중 ‘각성’이 감지된 횟수 | 19 [#] (= 19 times) |
3 | longest_waso | 가장 긴 자다깸 시간 | 길이 | 총 수면 시간 중 가장 길었던 ‘각성’ 시간 | 90 [s] (=1m 30s) |
4 | time_in_wake | 각성 단계 시간 | 길이 | 총 수면 시간 중 ‘각성’으로 감지된 시간의 합 | 810 [s] (=13m 30s) |
5 | time_in_light | 얕은 수면 시간 | 길이 | 총 수면 시간 중 ‘얕은 수면’으로 감지된 시간의 합 | 8610 [s] (=2h 23m 30s) |
6 | time_in_deep | 깊은 수면 시간 | 길이 | 총 수면 시간 중 ‘깊은 수면’으로 감지된 시간의 합 | 5700 [s] (=1h 35m 0s) |
7 | time_in_rem | 렘 수면 시간 | 길이 | 총 수면 시간 중 ‘렘 수면’으로 감지된 시간의 합 | 5070 [s] (=1h 24m 30s) |
4. 수면 단계의 비율
총 수면 시간(time_in_sleep_period
) 동안의 각성 및 각 수면 단계의 비율에 대한 데이터 모음입니다.
- 수면 단계 비율(
sleep_ratio
) 데이터는 총 수면 시간(time_in_sleep_period
) 동안 각성을 제외한 얕은 수면, 깊은 수면, 렘 수면 단계로 기록된 시간이 차지하는 비율입니다. 유저의 총 수면 시간에서 각성과 수면이 서로 차지하는 비율을 비교하기 위해 수면 단계 비율(sleep_ratio
)과 각성 비율(wake_ratio
)을 활용할 수 있습니다. - 유저의 전체 수면 구조를 개괄적으로 파악하기 위해 각성 비율(
wake_ratio
), 얕은 수면 비율(light_ratio
), 깊은 수면 비율(deep_ratio
), 렘 수면 비율(rem_ratio
) 네 가지의 데이터를 비교하여 활용할 수 있습니다.
![](https://files.readme.io/0e742a4-Data_Metrics_3.jpg)
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | sleep_ratio | 수면 단계 비율 | 비율 | 총 수면 시간에 대한 실제 수면 시간의 비율 | 0.96 [x.xx] (=96%) |
2 | wake_ratio | 각성 비율 | 비율 | 총 수면 시간에 대한 각성 단계 시간의 비율 | 0.04 [x.xx] (=4%) |
3 | light_ratio | 얕은 수면 비율 | 비율 | 총 수면 시간에 대한 얕은 수면 시간의 비율 | 0.43 [x.xx] (=43%) |
4 | deep_ratio | 깊은 수면 비율 | 비율 | 총 수면 시간에 대한 깊은 수면 시간의 비율 | 0.28 [x.xx] (=28%) |
5 | rem_ratio | 렘 수면 비율 | 비율 | 총 수면 시간에 대한 렘 수면 시간의 비율 | 0.25 [x.xx] (=25%) |
5. 수면 단계별 잠복기
각 수면 단계의 잠복기, 즉 입면 시각으로부터 각 수면 단계(얕은 수면, 깊은 수면, 렘 수면)가 첫 등장하는 데까지 걸리는 시간을 의미하는 데이터 모음입니다.
- 일반적으로 수면 잠복기(
sleep_latency
)가 길수록 렘 수면 잠복기(rem_latency
) 길이도 함께 길어집니다. - 유저가 수면 측정을 시작하고 나서 처음 감지되는 수면은 무조건 얕은 수면이기 때문에, 오류가 없는 이상 얕은 수면 잠복기(
light_latency
) 데이터의 값은 항상 0임에 주의해 주세요.
![](https://files.readme.io/13107ea-Data_Metrics_5.jpg)
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | light_latency | 얕은 수면 잠복기 | 길이 | 입면 시각부터 처음 ‘얕은 수면’이 나타나기까지 걸린 시간. (처음 감지되는 수면은 무조건 ‘얕은 수면’이므로 0이 정상) | 0 [s] (=0m 0s) |
2 | deep_latency | 깊은 수면 잠복기 | 길이 | 입면 시각부터 처음 ‘깊은 수면’이 감지되기까지 걸린 시간 | 540 [s] (=9m 0s) |
3 | rem_latency | 렘 수면 잠복기 | 길이 | 입면 시각부터 처음 ‘렘 수면’이 감지되기까지 걸린 시간 | 4710 [s] (=1h 18m 30s) |
6. 수면 주기
총 수면 시간(time_in_sleep_period
) 내에서 주기적으로 반복되어 나타나는 수면 주기에 대한 데이터 모음입니다.
- 일반적인 수면은 비렘 수면과 렘 수면이 번갈아가며 나타나는 양상을 보입니다. 반복되는 비렘 수면과 렘 수면의 한 묶음을 수면 주기라고 하며, 각 수면 주기의 시작과 끝 시각은 수면 주기 전환 시각 리스트(
sleep_cycle_time
)데이터를 통해 확인할 수 있습니다. - 건강한 성인이 8시간 정도의 수면을 취하면 하룻밤에 4-6번, 한 번에 70-110분 동안 지속되는 수면 주기를 지나게 됩니다. 이와 같이 유저의 수면 주기 구조를 파악하기 위해서는 수면 주기 횟수(
sleep_cycle_count
), 수면 주기 평균 시간(sleep_cycle
) 데이터를 활용해 볼 수 있습니다.
![](https://files.readme.io/2828c83-Data_Metrics_6.jpg)
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | sleep_cycle | 수면 주기 평균 시간 | 길이 | 수면 주기(‘렘 수면’과 ‘비렘 수면’이 번갈아가며 반복되는 구간)의 평균 시간 | 6520 [s] (=1h 38m 40s) |
2 | sleep_cycle_count | 수면 주기 횟수 | 횟수 | 총 수면 시간 중 수면 주기가 감지된 횟수 | 3 [#] (=3 times) |
3 | sleep_cycle_time | 수면 주기 전환 시각 리스트 | 시각 리스트 | 각 수면 주기의 시작과 끝 시각을 열거한 리스트 | [2023-11-22T00:53:10+09:00,2023-11-22T02:26:10+09:00,2023-11-22T04:54:10+09:00,2023-11-22T06:19:10+09:00] [list] (= 2023-11-22 00:53:10, 2023-11-22 02:26:10, 2023-11-22 04:54:10, 2023-11-22 06:19:10) |
7. 호흡 불안정
유저의 수면 중 안정 및 불안정 호흡 상태를 파악할 수 있는 데이터 모음입니다.
- 수면 단계 리스트(
sleep_stages
)데이터와 같이 총 측정 시간(time_in_bed
) 동안 호흡 단계는 0(안정), 1(불안정)으로 기록되며, 이러한 호흡 단계 모음은 측정이 종료된 후 호흡 단계 리스트(breath_stages
) 데이터로 확인할 수 있습니다. - 유저의 불안정 호흡은 불안정 호흡 지표(
breathing_index
) 데이터로 환산되며, 그 값에 따라 불안정 호흡 단계(breathing_pattern
)의 심각도가 결정됩니다.
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | breath_stages | 호흡 단계 리스트 | 숫자 리스트 | 총 측정 시간에서 호흡 단계를 숫자로 표기한 리스트 (0: 안정 / 1: 불안정) | [0,0,0,1,1,……,1,0,0,0,0] [list] (= stable, stable, stable, unstable,.unstable.......) |
2 | unstable_breath_count | 불안정 호흡 구간 횟수 | 횟수 | 총 수면 시간 중 ‘불안정 호흡’이 감지된 횟수 | 11 [#] (=11 times) |
3 | time_in_unstable_breath | 불안정 호흡 시간 | 길이 | 총 수면 시간 중 ‘불안정 호흡’으로 감지된 시간 합 | 2400 [s] (=40m 0s) |
4 | time_in_stable_breath | 안정 호흡 시간 | 길이 | 총 수면 시간 중 ‘안정 호흡’으로 감지된 시간의 합 | 17790 [s] (=4h 56m 30s) |
5 | unstable_breath_ratio | 불안정 호흡 비율 | 비율 | 총 수면 시간에 대한 불안정 호흡 시간의 비율 | 0.12 [x.xx] (=12%) |
6 | stable_breath_ratio | 안정 호흡 비율 | 비율 | 총 수면 시간에 대한 안정 호흡 시간의 비율 | 0.88 [x.xx] (=88%) |
7 | breathing_index | 불안정 호흡 지표 | 숫자 인덱스 | ‘불안정 호흡’ 정도를 나타내기 위한 지표 | 9.33 |
8 | breathing_pattern | 불안정 호흡 단계 | 이름 인덱스 | 불안정 호흡 지표의 단계. ‘안정,’ ‘조금 불안정,’ ‘불안정,’ ‘심한 불안정’으로 나뉨. | MILDLY_UNSTABLE_BREATH (= Mildly Unstable) |
8. 코골이
번호 | 데이터 이름 | 한국어 이름 | 유형 | 설명 | 예시 [단위] (= 실제 값) |
---|---|---|---|---|---|
1 | snoring_stages | 코골이 단계 | 숫자 리스트 | 총 측정 시간에서 호흡 단계를 숫자로 표기한 리스트 (0: 안정 / 1: 불안정) | [0,0,0,1,1,……,1,0,0,0,0] [list] (= no snoring, no snoring, no snoring, snoring, snoring .......) |
2 | time_in_snoring | 코골이 시간 | 길이 | 총 수면 시간 중 ‘코골이’가 감지된 시간 합 | 23400 [s] (=6h 30m 00s) |
3 | time_in_no_snoring | 코골이가 발생하지 않은 시간 | 길이 | 총 수면 시간 중 ‘코골이’가 감지되지 않은 시간 합 | 5400 [s] (=90m 0s) |
4 | snoring_ratio | 코골이 비율 | 비율 | 총 수면 시간에 대한 코골이 시간의 비율 | 0.72 [x.xx] (=72%) |
5 | no_snoring_ratio | 코골이가 아닌 비율 | 비율 | 총 수면 시간에 대한 코골이가 아닌 시간의 비율 | 0.28 [x.xx] (=28%) |
6 | snoring_count | 코골이구간 횟수 | 횟수 | 총 수면 시간 중코골이’가 감지된 횟수 | 20 [#] (=20 times) |
Updated about 1 month ago