이달의 주목할 데이터셋

세계 최초의 이미지 기반 수면질 데이터셋

신현우 교수(서울대학교병원 이비인후과) / 윤원혁 소장(주식회사 아워랩 기업부설연구소)

1. 수면질 AI 데이터란

우리 삶의 약 3분의 1을 차지하고 있는 수면은 단순히 휴식을 취하는 시간이 아니며 발달, 에너지 축적, 뇌의 노폐물 제거, 면역 반응 조절, 정확한 인지 및 수행 등에 있어 매우 중요한 역할을 한다. 이처럼 수면의 중요성이 부각되고, 전체적인 삶의 질 향상에 따라 ‘좋은 수면’에 대한 관심도 빠르게 증가하고 있다. 세계 최대 규모의 ICT 융합 전시회인 CES에서는 2017년부터 ‘슬립 테크(Sleep Tech)관’을 따로 만들어 수면과 관련된 여러 가지 기술과 제품을 소개하고 있을 정도다. 수면에 대한 깊은 관심에 힘입어 수면 산업은 2026년까지 약 134조 원 규모로 성장할 것으로 전망된다. 한국에서도 수면 산업이 빠르게 성장하고 있는데, 특히 2018년부터 수면다원검사(PSG, Polysomnograph,)가 급여화됨에 따라 수면 장애를 진단받는 인구가 크게 증가하고 있다. PSG란 ‘그림 1’과 같이 뇌파, 안전도, 근전도, 호흡량 등을 측정하기 위한 여러 가지 센서를 부착하고 수면을 취하며 진행하는 검사로, 수면무호흡증, 기면병, 주기적 사지운동 증후군, 렘수면 행동 장애 등 수면과 관련된 여러 가지 질환을 진단하기 위해 필수적이다.

PSG는 수행 후 반드시 판독(scoring) 과정을 거쳐야 하는데, 수면 기사 또는 수면 전문의들이 수면 중 기록된 여러 가지 생체 신호들을 종합적으로 분석해 ‘그림 2’와 같이 수면 단계, 호흡 관련 이벤트, 각성 이벤트, 움직임 이벤트 등을 기록(라벨링)한다. 하지만 매우 숙련된 판독자가 1건의 PSG를 판독하는 데 2시간 이상 소요되며, 같은 PSG 검사에 대한 판독자 간 판독 일치율(Inter-scorer Reliability)이 80% 정도밖에 되지 않음이 보고되어 왔다.1) 이에 따라 점차 증가하고 있는 PSG 결과를 빠르고 정확하게 판독하기 위해 인공지능(AI)을 이용한 자동 판독(Automated Sleep Scoring) 연구가 활발하게 진행되고 있으며, AI 모델 학습을 위한 ‘수면질 AI 데이터셋’의 구축도 늘어나는 추세다. 기구축된 데이터셋 중에는 미국의 NSRR2)(National Sleep Research Resource), 캐나다의 MASS3)(The Montreal Archive of Sleep Studies) 등이 대표적이다.

그림 2. Nox Medical의 프로그램을 이용한 PSG 판독 예시. 수면 단계(N2, REM), 무호흡 이벤트(A. Obstructive, A. Mixed, Desat) 등이 라벨링되어 있다. 그림 2. Nox Medical의 프로그램을 이용한 PSG 판독 예시. 수면 단계(N2, REM), 무호흡 이벤트(A. Obstructive, A. Mixed, Desat) 등이 라벨링되어 있다.

2. 기존의 수면 관련 AI 데이터의 예시 및 한계점

앞서 설명한 바와 같이 PSG 결과 판독에는 많은 인력과 시간이 투입되어 왔고, 이러한 문제를 해결하기 위해 AI 모델 개발을 통한 자동 판독과 AI 학습용 데이터를 구축하기 위한 노력이 이어져 왔다. NSRR, MASS 등의 데이터셋을 이용해 학습시킨 수면 단계 분류 모델은 80~90% 정도의 정확도(accuracy)를 보여주는 것으로 보고되고 있다(Fiorillo et al., 2019). 기존의 모델은 평균적으로는 좋은 성능을 보였음에도 N1 단계와 같이 분류가 어려운 단계에 대한 정확도나 민감도(sensitivity)는 낮은 값을 보였고, 수면 단계 이외에 호흡 이상, 각성 등 수면 중 관찰되는 다양한 사건에 대한 모델링으로 활용하기에 규모가 크지 않았다. 이러한 한계를 극복하고자 구축된 수면질 AI 데이터셋은 기존 데이터셋과는 다르게 이미지 기반으로 구축되었으며, 역대 최대 규모인 1만 건 이상의 수면다원검사 결과를 데이터셋으로 만들었다는 특징을 가진다.

3. 이미지 기반의 수면질 AI 데이터셋 구축

앞에서 살펴본 것과 같이 여러 가지 PSG 데이터셋이 구축되어 왔으나 기구축된 데이터셋은 모두 서구권 인종의 검사 결과를 대상으로 하고 있다. 이에 국내에서도 PSG 데이터셋 구축의 필요성이 대두되었고, 2020년 2차 인공지능 학습용 데이터 구축 사업을 통해 수면질 AI 데이터셋을 구축했다. 이 데이터셋은 기존의 PSG 데이터셋과 다르게 이미지 기반으로 구축되었다는 특징이 있는데, 이러한 형태로 데이터셋을 구축한 배경에 대해 알아보자.
PSG 판독은 보통 미국 수면 학회(AASM)에서 발간하는 『The AASM Manual for the Scoring of Sleep and Associated Events』에 따라 수행된다. 판독자는 30초 단위(epoch, 에폭)로 그려진 뇌파, 안전도, 근전도, 호흡량 등을 보고 AASM 매뉴얼에 정의된 규칙을 적용해 수면 단계, 무호흡/저호흡 이벤트, 각성 이벤트, 사지 운동 이벤트 등을 라벨링하는데, 이러한 과정은 여러 가지 신호의 그래프를 마치 그림처럼 인식하고 특징적인 파형이나 그래프의 경향성 등을 파악해 이뤄진다. 예를 들어 사람의 수면은 깨어있는 단계와 3단계의 비렘수면(Non-REM), 렘수면(REM) 등 총 다섯 단계로 구분할 수 있는데, ‘그림 3’과 같이 K-complex4)와 sleep spindle5) 같은 파형이 뇌파에서 관찰되는 에폭은 비렘수면의 두 번째 단계인 N2 단계로 판독한다.

그림 3. N2 단계 수면의 뇌파에서 관찰되는 K-complex와 sleep spindle 그림 3. N2 단계 수면의 뇌파에서 관찰되는 K-complex와 sleep spindle
[출처: https://en.wikipedia.org/wiki/K-complex]

그런데 기존 데이터셋은 모두 생체 신호의 raw 데이터(또는 numeric 데이터)를 기반으로 구축되었으며, 이를 통해 개발된 모델들 역시 raw 데이터를 기반으로 하는, 즉 각 신호의 구체적인 값 또는 변화량 등에 관심을 가지는 모델이었다. 하지만 실제 수면 기사나 수면 전문의들이 PSG 결과를 판독할 때에는 특정 신호가 어떤 값을 가지는지, 그 값이 얼마나 변화했는지 등 수치적인 데이터가 아닌 신호의 전체적인 파형과 경향성을 보고 수면 단계와 여러 가지 이벤트를 판독하게 된다. 앞서 제시했듯이 K-complex와 sleep spindle이라는 특징적인 파형을 이용해 N2 단계를 판독하는 예시가 대표적이라 할 수 있다. 따라서 사람의 판독 행위를 더 잘 모사하기 위해서는 AI도 ‘그림 2’와 같은 생체 신호의 그래프 이미지로 학습시키는 것이 유리할 것이라는 아이디어를 떠올릴 수 있었고, 이에 착안해 구축된 데이터셋이 바로 본 수면질 AI 데이터셋이다.

4. 이미지 기반 수면질 AI 데이터

이러한 배경에서 구축된 본 데이터셋은 ‘이미지 기반’의 수면질 AI 데이터로 이뤄져 있다. 각각의 이미지는 사람이 PSG를 판독할 때 보는 화면과 동일하게 구성된 30초 단위의 생체 신호 그래프로, 구체적인 예시는 ‘그림 4’와 같다. 이렇게 생성된 이미지를 ‘표준화 이미지’라고 한다. 예를 들어 6시간 동안 수행된 PSG는 30초 단위의 표준화 이미지 720장으로 잘려 저장된다. 1장의 표준화 이미지에는 가속도, 뇌파, 안전도, 근전도, 심전도, 호흡량 등 최대 21개의 그래프가 동기화되어 병렬적으로 포함되어 있다.

그림 4. 구축된 수면질 AI 데이터의 표준화 이미지 예시. 실제 데이터에는 워터마크가 포함되지 않는다. 그림 4. 구축된 수면질 AI 데이터의 표준화 이미지 예시. 실제 데이터에는 워터마크가 포함되지 않는다.

표준화 이미지가 포함하는 생체 신호에 대한 구체적인 정보는 아래 ‘표 1’, ‘그림 5’와 같다. ‘그림 5’는 위에서 제시한 표준화 이미지 예시의 앞부분을 확대한 것으로, 각 행에 그려진 그래프가 어떤 신호를 보여주는지 나타내고 있다. 또한 ‘표 1’은 각 신호의 종류와 이미지에서 차지하는 픽셀 수를 보여준다. 이렇게 구성된 표준화 이미지는 1920×1080의 해상도를 가지는 PNG 파일로 저장되어 있다.

표 1. 이미지를 포함한 신호의 종류
종류 픽셀
X Axis 가속도 43
Y Axis 43
Z Axis 43
C3-M2 뇌파 43
C4-M1 43
O1-M2 43
O2-M1 43
E1-M2 안전도 43
E2-M1 43
Chin EMG 턱 근전도 43
ECG 심전도 43
Flow 비강 압력 129
Thermistor 비강 열전도 43
Thorax 흉곽 움직임 43
Abdomen 복부 움직임 43
Snore 코골이 신호 43
Audio Volume 마이크 신호 43
Left Leg 다리 근전도 43
Right Leg 43
SpO2 (85~100%) 산소포화도 86
SpO2 (40~100%) 86
그림 5. 표준화 이미지 예시 및 신호 이름 그림 5. 표준화 이미지 예시 및 신호 이름

각 PSG 데이터에 대한 어노테이션에는 수면 기사 또는 수면 전문의에 의해 판독된 결과가 포함된다. 1건의 데이터에 대한 어노테이션의 예시는 ‘그림 6’과 같으며, 어노테이션은 크게 검사 정보, 검사 결과 요약, 이벤트로 이뤄져 있다. ‘검사 정보’에는 각 PSG에 대한 간략한 정보가 포함되며, ‘검사 결과 요약’에는 수면의 질을 알아볼 수 있는 여러 가지 파라미터가 PSG 판독 결과를 바탕으로 계산되어 저장된다. PSG 판독은 검사 중 기록된 신호를 30초 단위로 살펴보면서 관찰되는 수면 이벤트들을 라벨링하는 과정으로, 해당 라벨링 결과를 정리한 것이 ‘이벤트’ 배열이다. 각 항목에 대한 상세 정보는 ‘표 2’에서 확인할 수 있다.

그림 6. 어노테이션 예시 그림 6. 어노테이션 예시

표 2. 어노테이션을 포함한 항목에 대한 상세 정보
항목명 데이터 타입 포함 항목 데이터 타입
검사 정보 Patient_Number String - -
Year Number - -
Start_time String - -
Num_of_Image(epoch) Number - -
Analysis_Start Object Start_Time String
Start_Epoch Number
검사결과 요약 Report Object Patient Serial Number String
Sex String
Age Number
BMI Number
Date of exam String
Time in Bed (TIB) Number
Total Sleep Time (TST) Number
Sleep Efficiency Number
Sleep Latency Number
REM Latency Number
Wake after Sleep Onset (WASO) Number
Total Wake Time (TWT) Number
Ratio of TWT to TIB Number
NREM Time Number
Ratio of NREM Time to TIB Number
Stage 1 Time Number
Ratio of Stage 1 Time to TIB Number
Stage 2 Time Number
Ratio of Stage 2 Time to TIB Number
Stage 3 Time Number
Ratio of Stage 3 Time to TIB Number
REM Time Number
Ratio of REM Time to TIB Number
Ratio of Snoring Time to TST Number
Obstructive Apnea Index during REM Number
Obstructive Apnea Index during NREM Number
Obstructive Apnea Index Number
Central Apnea Index during REM Number
Central Apnea Index during NREM Number
검사결과 요약 Report Object Central Apnea Index Number
Mixed Apnea Index during REM Number
Mixed Apnea Index during NREM Number
Mixed Apnea Index Number
Hypopnea Index during REM Number
Hypopnea Index during NREM Number
Total Hypopnea Index Number
RERA during REM Number
RERA during NREM Number
RERA Number
AHI during REM Number
AHI during NREM Number
AHI Number
RDI during REM Number
RDI during NREM Number
RDI Number
Sleep Time in the Supine Position Number
Ratio of Sleep Time in the Supine Position to TST Number
Sleep Time in the Lateral Position Number
Ratio of Sleep Time in the Lateral Position to TST Number
Apnea Index in the Supine Position Number
Apnea Index in the Lateral Position Number
Hypopnea Index in the Supine Position Number
Hypopnea Index in the Lateral Position Number
RERA in the Supine Position Number
RERA in the Lateral Position Number
RDI in the Supine Position during REM Number
RDI in the Lateral Position during REM Number
RDI in the Supine Position during NREM Number
RDI in the Lateral Position during NREM Number
RDI in the Supine Position Number
RDI in the Lateral Position Number
Mean Obstructive Apnea Event Time Number
Longest Obstructive Apnea Event Time Number
Mean Central Apnea Event Time Number
Longest Central Apnea Event Time Number
Mean Mixed Apnea Event Time Number
Longest Mixed Apnea Event Time Number
Mean Hypopnea Event Time Number
Longest Hypopnea Event Time Number
검사결과 요약 Report Object Mean Oxygen Saturation Number
Ratio of Saturation below 90% Number
3% Oxygen Desaturation Index Number
Lowest Oxygen Desaturation Number
Mean Heart Rate Number
Lowest Heart Rate Number
Highest Heart Rate Number
PLM Index Number
PLM Arousal Index Number
Total LM Index Number
AH Arousal Index Number
RERA Index Number
Total LM Arousal Index Number
Spontaneous Arousal Index Number
Total Arousal Index Number
이벤트 Event Array Event_Number Number
Event_Label String
Start_Time String
End_Time String
Start_Epoch Number
End_Epoch Number
Duration(second) Number

‘이벤트’ 배열의 각 원소들은 본 데이터셋의 이미지에 붙는 라벨 역할을 하므로 해당 배열에 대해 이해하는 것이 중요하다. 각 원소는 이벤트 번호(Event_Number), 이벤트 이름(Event_Label), 이벤트 시작 시간(Start_Time), 이벤트 종료 시간(End_Time), 이벤트 시작 에폭(Start_Epoch), 이벤트 종료 에폭(End_Epoch), 이벤트 지속 시간(Duration(second))에 대한 정보를 포함한다. 이벤트 이름은 ‘Wake’, ‘N1', ‘N2’, ‘Apnea Obstructive’, ‘Spontaneous Arousal’과 같은 값을 가지게 되는데, 이 값이 각 이벤트의 클래스 정보를 보여준다. 이벤트에 포함될 수 있는 클래스는 총 29가지로, 각각의 클래스와 클래스의 의미는 ‘표 3’과 같다.

표 3. 어노테이션을 포함한 이벤트의 클래스 정보
클래스 종류 의미
Wake 수면 단계 깨어있는 상태
N1 N1 단계 수면
N2 N2 단계 수면
N3 N3 단계 수면
REM REM 수면
Apnea Central 호흡 이벤트 중추성 무호흡
Apnea Mixed 폐쇄성 무호흡
Apnea Obstructive 혼합성 무호흡
Hypopnea 저호흡
Snore Train 코골이
Desat 산소포화도 저하
Spontaneous Arousal 각성 이벤트 자연적 각성
Respiratory Arousal 호흡 각성
RERA 호흡 노력 각성
LM Arousal 사지 운동 각성
PLM Arousal 주기적 사지 운동 각성
LM 움직임 이벤트 사지 운동
PLM 주기적 사지 운동
Supine 수면 자세 바로 누운 자세
Prone 엎드린 자세
Left 왼쪽으로 돌아 누운 자세
Right 오른쪽으로 돌아 누운 자세
Upright 앉아있는 자세
Analysis Start 판독 이벤트 PSG 판독 시작점
Analysis Stop PSG 판독 종료점
Artifact 에러 및 메모 Artifact
Error 기기 에러
Note 메모
Warning 기기 경고

아래의 ‘그림 7’은 구축 데이터의 저장 구조 예시를 보여준다. 각 검사에는 ‘A2020-NX-01-0001’과 같은 꼴의 시리얼 번호가 부여되어 있으며 해당 시리얼 넘버를 이름으로 하는 디렉토리에 데이터가 저장되어 있다. 각각의 디렉토리에는 검사 중 기록된 생체 신호의 raw 데이터가 EDF(European data format) 파일로 저장되어 있고(‘그림 6’의 A2020-NX-01-0001_edf.edf), 하위 디렉토리(‘그림 6’의 A2020-NX-01-0001_standard)에는 표준화 이미지가 저장되어 있다. 또한 검사의 판독 결과를 저장하고 있는 어노테이션 파일(JSON 포맷)을 함께 제공한다.

그림 7. 구축된 데이터의 저장 구조 예시 그림 7. 구축된 데이터의 저장 구조 예시

이렇게 구성된 데이터셋에는 총 1만253건의 PSG 검사 결과와 판독 결과가 포함되어 있고, 이 중 7,745건이 일반 PSG, 2,149건이 양압기의 압력 적정을 위한 양압적정검사6)(CPAP), 359건이 기면병 진단을 위한 MSLT(multiple sleep latency test) 결과이며 성별, 연령, 검사 장비 분포는 ‘표 4’와 같다. 어노테이션은 검사 종류에 따라 각 1개의 JSON 파일로 제공되는데, 7,745건의 일반 PSG 결과는 ‘1_일반 PSG_Annotation.json’ 파일에, 2,149건의 양압적정검사 결과는 ‘2_양압적정검사_Annotation.json’ 파일에, 359건의 MSLT 결과는 ‘3_MSLT_Annotation.json’ 파일에 저장되어 있다.

표 4. 구축 데이터의 검사 종류, 성별, 연령, 검사 장비 분포
분류 기준 유형 개수 Total
검사 종류 일반 PSG 7,745 10,253
양압적정검사 2,149
MSLT 359
8,415 이상 10,253
1,828 이상
연령 20대 이하 1,467 이상 10,253
30대 2,474 이상
40대 2,493 이상
50대 2,069 이상
60대 이상 1,723 이상
검사 장비 Embla 5,588 10,253
Nox 4,665

6. 수면질 AI 데이터의 활용

1만 건 이상의 수면다원검사 데이터셋은 전 세계적으로 유례가 없을 정도로 방대한 데이터 규모이며, 다양한 생체 신호가 포함되어 있다. 의료기관별로, 진단장비마다 조금씩 다를 수 있는 다양한 자료를 표준화해 제공함에 따라 수요자가 원하는 목적에 맞춰 데이터를 활용할 수 있다. 우리나라도 국민소득이 3만 달러를 넘게 되면서 수면에 대한 관심도 증가하고, 이른바 수면 산업의 경제적 활성화가 기대되고 있다. 서울대학교병원과 주식회사 아워랩을 포함한 많은 참여 기관이 각고의 노력을 통해 얻은 결과인 만큼 수면에 대한 사회적 관심에 부응하는 유의미한 데이터셋으로 널리 활용될 수 있기를 고대한다.

Reference
  • 1) Fiorillo et al., 2019, Automated Sleep Scoring: A Review of the Latest Approaches
  • 2) NSRR의 홈페이지 주소는 https://sleepdata.org/ 이다.
  • 3) MASS의 홈페이지 주소는 http://www.ceams-carsm.ca/en/MASS 이다.
  • 4) K-complex란 뇌파에서 볼 수 있는 파형으로 NREM 절전의 2단계에서 발생한다.
  • 5) Sleep spindle란 2단계 NREM 수면 동안 시상 망상 핵 및 다른 시상 핵의 상호 작용에 의해 생성되는 신경 진동 활동의 파열이다.
  • 6) 양압적정검사(CPAP)란 양압기를 착용한 상태에서 수면 중 정상적으로 숨 쉴 수 있도록 자신에게 맞는 기도 압력을 측정하는 검사이다.

지난 웹진 보기

이전호 더보기