KR20230168587A - 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치 - Google Patents

흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치 Download PDF

Info

Publication number
KR20230168587A
KR20230168587A KR1020230061865A KR20230061865A KR20230168587A KR 20230168587 A KR20230168587 A KR 20230168587A KR 1020230061865 A KR1020230061865 A KR 1020230061865A KR 20230061865 A KR20230061865 A KR 20230061865A KR 20230168587 A KR20230168587 A KR 20230168587A
Authority
KR
South Korea
Prior art keywords
chest
encoder
data
numerical
vector
Prior art date
Application number
KR1020230061865A
Other languages
English (en)
Inventor
김중희
Original Assignee
서울대학교병원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교병원 filed Critical 서울대학교병원
Priority to PCT/KR2023/007755 priority Critical patent/WO2023239151A1/ko
Publication of KR20230168587A publication Critical patent/KR20230168587A/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B6/00Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
    • A61B6/52Devices using data or image processing specially adapted for radiation diagnosis
    • A61B6/5211Devices using data or image processing specially adapted for radiation diagnosis involving processing of medical diagnostic data
    • A61B6/5217Devices using data or image processing specially adapted for radiation diagnosis involving processing of medical diagnostic data extracting a diagnostic or physiological parameter from medical diagnostic data
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B6/00Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
    • A61B6/50Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment specially adapted for specific body parts; specially adapted for specific clinical applications
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B6/00Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
    • A61B6/50Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment specially adapted for specific body parts; specially adapted for specific clinical applications
    • A61B6/503Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment specially adapted for specific body parts; specially adapted for specific clinical applications for diagnosis of the heart
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B6/00Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
    • A61B6/52Devices using data or image processing specially adapted for radiation diagnosis
    • A61B6/5294Devices using data or image processing specially adapted for radiation diagnosis involving using additional data, e.g. patient information, image labeling, acquisition parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Physics & Mathematics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Pathology (AREA)
  • Radiology & Medical Imaging (AREA)
  • Animal Behavior & Ethology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Optics & Photonics (AREA)
  • Surgery (AREA)
  • Veterinary Medicine (AREA)
  • High Energy & Nuclear Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Primary Health Care (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Epidemiology (AREA)
  • Theoretical Computer Science (AREA)
  • Cardiology (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Physiology (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

실시예들은 흉부 방사선 이미지에 딥러닝 알고리즘을 이용하여 수치적 벡터정보를 추출하는 방법 및 장치, 이를 이용하여 질병을 분석, 예측, 질병에 관한 진단 보조 정보를 제공하는 방법 및 장치에 관련된다.

Description

흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치{METHOD AND DEVICE CONVERTING CHEST X-RAY DATA INTO NUMERICAL VECTORS AND METHOD AND APPARATUS FOR ANALYZING DISEASES USING THE SAME}
본 명세서는 흉부 방사선 영상을 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석, 예측, 질병에 관한 진단 보조 정보를 제공하는 방법 및 장치에 관한 것이다.
흉부 방사선은 임상에서 매우 흔히 사용되는 검사이다. 흉부 방사선 영상에는 폐, 심장, 대동맥, 늑골, 흉골, 척추뼈 등 다양한 장기들을 관찰할 수 있고 매우 다양한 해부학적 변형 및 질병을 진단하는데 활용할 수 있다. 최근 흉부방사선 영상들을 분석하는 여러 인공지능들이 개발되어 왔으나, 이러한 인공지능들은 그 자체로써 개발된 제한된 영역에서만 성능을 발휘할 수 있도록 최적화되어 왔고, 흉부방사선이 이론적으로 커버할 수 있는 다양한 질환들과, 이들의 시간적 변화 등을 높은 정확도로 분석하는 데에는 여러 한계가 있었다.
한국등록특허공보 제10-2163217호(2020.10.8)
일 측면에서, 본 발명의 예시적인 구현예들에서는, 흉부 방사선 데이터의 활용 범위를 극대화하도록 수치 정보를 추출하고, 이를 임상 프레임워크 내에서 활용하거나, 환자의 다른 정보들과 융합하여 질병을 분석, 예측하거나 진단에 관한 보조 정보를 제공할 수 있는 방법 및 장치를 제공하고자 한다.
본 발명의 예시적인 구현예들에서는, 흉부 방사선 데이터를 획득하는 획득부; 상기 흉부 방사선 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 제1 수치 벡터를 산출하는 인코더(encoder); 및 상기 인코더에서 산출된 제1 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단에 관한 정보를 제공하는 분석부; 를 포함하고, 상기 제1 수치 벡터는 흉부 방사선 데이터로부터 추출할 수 있는 해부학적 특징을 맥락적으로 포함하는 흉부 방사선 데이터로부터 추출된 특징들에 연관된 정형 데이터인 것을 특징으로 하는 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치를 제공한다.
또한, 본 발명의 다른 예시적인 구현예들에서는, 상기 제1 수치벡터를 활용하여 다운스트림 태스크를 처리하는 하나 이상의 다운스트림 태스크 처리부를 제공한다.
또한, 본 발명의 다른 예시적인 구현예들에서는 프로세서에 의해 수행되고, 흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 단계; 상기 흉부 방사선 데이터를 인코더에 입력하는 단계; 상기 인코더를 통해 딥러닝을 이용하여 수치 벡터를 산출하는 단계; 상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단을 수행하는 분석 단계; 및 상기 수치 벡터를 활용하여 하나 이상의 다운스트림 태스크(downstream task)를 처리하는 단계; 를 포함하는, 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 방법을 제공한다.
구체적으로, 일 측면에서, 상기 제1 수치 벡터는 흉부 방사선 데이터로부터 추출할 수 있는 해부학적(위치적) 특징을 포함 특히 맥락적으로 포함하는 흉부 방사선 데이터로부터 추출된 특징들에 연관된 정형 데이터이다. 이러한 제1 수치 벡터는 후술하는 바와 같이 다운스트림태스크 또는 기계 학습에 효과적으로 사용된다.
예시적인 일 구현예 장치에서, 상기 하나 이상의 다운스트림 태스크 처리부는 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 되어 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시켜서 제1 수치 벡터에 범용성이 향상될 수 있다.
예시적인 일 구현예 장치에서, 상기 제1 수치 벡터는 그 자체로 또는 다른 정형 데이터 정보와 결합(concatenate)되어 다운스트림 태스크 처리부의 입력 벡터로 사용되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 2개 이상일 수 있고, 각 인코더로부터 출력된 복수개의 제 1 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터를 만들 수 있다.
예시적인 일 구현예 장치에서, N개의 순차적인 흉부 방사선 데이터를 하나의 인코더에 통과시켜 N개의 순차적인 제1 수치 벡터들을 얻는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 장치는, 다운스트림 태스크의 네트워크를 훈련 시 상기 인코더의 네트워크의 가중치(weight)들을 고정시킨 후 다운스트림 태스크의 네트워크 가중치를 훈련을 통해 수정(업데이트)한 후 상기 인코더의 네트워크와 상기 다운스트림 태스크의 네트워크 가중치 전체를 추가적인 훈련을 통해 수정(업데이트)하는 것일 수 있다.
예시적인 일 구현예 장치에서, 하나 이상의 다운스트림 태스크 처리부의 각각은 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 MLP는 상기 인코더의 인코딩 네트워크 훈련과 함께 멀티 태스크 러닝((jointly) multi-task learning)을 통해 훈련되거나, 인코더가 먼저 훈련을 마친 이후 별도로 훈련되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 MLP는 상기 제1 수치 벡터와 다른(different) 추가적인 정형 데이터 입력 정보를 받을 수 있으며, 상기 추가적인 정형 데이터 입력 정보는 나이, 성별, 바이탈 사인 (혈압, 맥박, 호흡수, 체온, SpO2, 혈당 등), 생체 신호 (Biosignals: ECG(심전도), PPG(광혈류측정), EEG(뇌파), 동맥 및 중심정맥의 침습적 압력 계측치 등), 검체 검사 결과 (각종 혈액검사, 조직검사 등), 자연어 정보, 흉부 방사선 이외 영상 데이터로부터 추출되는 수치형 혹은 범주형 데이터 중 적어도 하나 이상에 해당한다. 상기 추가적인 정형 데이터 입력 정보는 상기 제1 수치 벡터와 결합(concatenate)되거나 상기 제1 수치 벡터와 별도로 입력될 수 있다.
예시적인 일 구현예 장치에서, 상기 MLP가 특정 질병의 발생 유무를 예측하는 경우, 상기 MLP의 출력 시 획득된 흉부 방사선 데이터를 고려한 특정 질병 발생 확률 및 획득된 흉부 방사선 데이터를 고려하지 않은 특정 질병 발생 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 상기 획득된 흉부 방사선 데이터를 고려한 특정 질병 발생 확률이 상기 획득된 흉부 방사선 데이터를 고려하지 않은 특정 질병 발생 확률보다 비율 상 몇 배가 증가했는지를 디스플레이하는 디스플레이부를 더 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더의 딥러닝 알고리즘은 컨볼루션 신경망 (Convolution neural network, CNN) 혹은 Transformer (Visual Transformer, ViT) 구조를 기반으로 하는 비전 네트워크에 해당한다. CNN 및 ViT의 구조는 이미지 데이터 분류를 위해 흔히 사용되는 네트워크 구조에 해당하며, 다양한 변형 및 확장을 통해 이들의 분류 성능 및 효율성을 확장할 수 있다. 본 발명의 구현에 있어서 특정 구조의 CNN 혹은 ViT를 선택하는 것은 훈련 데이터의 종류, 양 및 처리하는 태스크에 의해 최적화되는 과정에 속하여, 상기 인코더는 CNN, ViT 계열의 비전 네트워크의 특정 구조에 국한되지 않는다.
예시적인 일 구현예 장치에서, 상기 인코더 서브유닛은 하나 이상의 컨볼루션 레이어; 하나 이상의 완전 연결 레이어 - 상기 완전 연결 레이어는 비선형 활성화 함수를 포함함; 및 채널별 흉부 방사선 데이터에서 추출된 특징 세트를 요약하여 대표 값을 각각 추출하고, 상기 대표 값에 기반한 채널별 특징 세트의 기여도가 반영되도록 상기 채널별 특징 세트를 재조정하는 집중 레이어를 포함하고, 상기 특징 세트는 각 채널에 대한 형태적 특징을 포함하고, 상기 특징 세트에 비하여 재조정된 채널별 특징 세트는 각 채널에 대한 형태적 특징이 보다 집중된 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 하나 이상의 컨벌루션 레이어는, 상기 하나 이상의 채널 각각에 대한 흉부 방사선 데이터를 개별적으로 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 집중 레이어는 상기 특징 세트의 요약을 위해, 상기 특징 세트를 풀링(pooling) 처리하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 집중 레이어는, 채널별 대표 값을 상기 완전 연결 레이어에 통과시켜 각 채널별 기여도를 산출하고, 상기 채널별 기여도를 상기 특징 세트에 각각 곱하여 각 채널별 특징 세트를 재조정하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 집중 레이어는 상기 채널별 대표 값을 완전 연결 레이어에 통과시킨 결과를 특정 범위 사이의 수치로 스케일링하여 상기 채널별 기여도를 산출하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더 서브유닛은 각 채널 별로 평균을 추출하여 하나의 스칼라(scalar) 값을 산출하는 스퀴즈 엑사이테이션 레이어(sqeeze-excitation layer)를 포함하고, 상기 채널 별 스칼라 값은 0 내지 1 사이이며, 채널의 중요도에 따라 스케일(scale)되고, 상기 채널 별 스칼라 값이 모인 벡터를 완전 연결 레이어(fully connected layer)에 통과시킨 후 활성화(sigmoid/RELU) 함수를 적용하여 차원을 축소시키는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 복수의 컨볼루션 블록을 포함하고, 상기 서브유닛은 제1 컨볼루션 레이어를 제외한 나머지 컨볼루션 블록에 포함된 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 컨볼루션 블록은 제1 인코더 서브유닛 및 제2 인코더 서브유닛을 포함하고, 상기 제1 인코더 서브유닛은 상기 제2 인코더 서브유닛에 비해 상기 컨볼루션 블록의 출력단보다 입력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제2 인코더 서브유닛에 비해 상기 특징 세트를 요약하여 대표 값을 추출하는 동작에 보다 집중하고 - 상기 제1 인코더 서브유닛의 대표 값에는 상기 형태적 특징이 상기 제2 인코더 서브유닛의 대표 값에 비해 보다 많이 반영됨, 상기 제2 인코더 서브유닛은 상기 제1 인코더 서브유닛에 비해 상기 컨볼루션 블록의 입력단 보다 출력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제1 인코더 서브유닛에 비해 채널별 기여도에 따른 재조정 동작에 보다 집중하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더의 마지막 컨볼루션 블록은 논 로컬 네트워크(non-local network)를 더 포함하며, 상기 논 로컬 네트워크는 상기 흉부 방사선 데이터의 공간적 지점(spatial point)간의 유사도를 비교하여 공간적 주의(spatial attention)를 구현하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 흉부 방사선 데이터는 단일 채널 또는 다채널의 영상이고, 상기 인코더에 입력되는 흉부 방사선 영상 데이터는 C X W X H (채널 수 X 가로축 픽셀 수 X 세로축 픽셀 수)의 2차원 혹은 3차원 어레이(array) 형태일 수 있다.
예시적인 일 구현예 장치에서, 상기 흉부 방사선 데이터는 흉부 방사선 이미지이고, 상기 흉부 방사선 이미지는 특정 사이즈로 리사이즈(resize) 및 크로핑(cropping)되고 정규화(normalize)되어 인코더에 입력될 수 있다.
예시적인 일 구현예 장치에서, 상기 분석부가 제공하는 질병 진단에 관한 정보는 빈맥, 서맥, 각종 부정맥 및 적어도 하나 이상을 포함하는 심장의 리듬 이상과 심부전, 심낭압전, 판막의 협착/부전, 폐동맥 고혈압, 폐색전증, 심근병증 및 적어도 하나 이상을 포함하는 심장의 구조 및 기능 이상을 포함할 수 있다.
예시적인 일 구현예 장치에서, 상기 분석부가 질병 예측 및 진단하는 질병은 급성호흡부전신드롬 (ARDS), 폐렴 (Pneumonia), 농양 (Abscess), 흡인성 폐렴 (Aspiration Pneumonia), 비정형폐렴 (Atypical Pneumonia), 활동성 결핵 (Active Tuberculosis), 비결핵 항산균 (Non-Tuberculous Mycobacteria), 만성폐쇄성폐질환 (COPD), 간질성 폐질환 (Interstitial Lung Disease), 기관지 확장증 (Bronchiectasis), 사르코이드증 (Sarcoidosis), 폐결절 (Lung Nodule), 폐 종괴 (Lung Mass), 폐암 (Lung Cancer), 폐전이 (Lung Metastasis), 대동맥 박리 (Aortic Dissection), 대동맥류 (Aortic Aneurysm), 흉수 (Pleural Effusion), 농흉 (Empyema), 기흉 (Pneumothorax), 기복증 (Pneumoperitoneum), 심막기종 (Pneumopericardium), 기종격 (Pneumomediastinum), 피하 기종 (Subcutaneous Emphysema), 관상동맥석회화 (Coronary Artery Calcification), 심장 비대 (Cardiomegaly), 폐부종 (Pulmonary Edema), 심낭삼출 (Pericardial Effusion), 폐색전증 (Pulmonary Embolism), 챔버 (Chamber) (LA, LV, RA, RV) 비대증 (Enlargements), 판막 (Valvular):대동맥 (Aortic), 이첨판 (Mitral), 삼첨판 (Tricuspid), 폐동맥 (Pulmonic) 판막석회화 (Valve Calcification)/협착 (Stenosis)/역류 (Regur-gitation), 비대심근증 (Hypertrophic Cardiomyopathy), 늑골, 흉골, 척추의 각종 골절, 종양, 전이 (Fracture, Tumor, Metastasis)을 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 분석 결과는 상기 제1 수치 벡터를 사용하여 질병이 호전 또는 악화되었는지 여부를 결정하는 질병 진단 보조 정보를 포함할 수 있다. 상기 분석부가 상기 질병 진단 보조 정보를 제공하는 경우, 상기 흉부 방사선 데이터는 일정한 간격을 두고 측정한 복수의 흉부 방사선 데이터이고, 상기 복수의 흉부 방사선 데이터 각각은 상기 인코더의 풀링 레이어(pooling layer)를 통과하여, 획득된 제1 수치 벡터로부터 질병이 호전 또는 악화되었는지 여부의 진단 보조 정보를 제공하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 분석 결과는 질병 진단 보조 정보 제공을 포함하고, 상기 흉부 방사선 데이터는 일정하거나 불규칙한 시간 간격을 두고 측정한 복수의 흉부 방사선 데이터이고, 상기 분석부는 상기 복수의 흉부 방사선 데이터의 제1 수치 벡터 각각을 순차적인 벡터(sequential vector)로 배열하고, 상기 순차적인 벡터들을 벡터의 길이 방향으로 결합(concatenate)하여 멀티 레이어 퍼셉트론 네트워크(multilayer perceptron(MLP) network)에 통과시키거나, 상기 순차적인 벡터들을 벡터 길이의 수직 방향으로 결합(concatenate)하여 트랜스포머 네트워크(transformer network)에 통과시키거나, 결합하지 않고 RNN에 순차적으로 통과시키고, 시간에 대한 정보를 함수를 이용해 인코딩(encoding)하여 제2 수치 벡터를 추출하여 환자가 시간 경과에 따라 특정 질병의 발생, 호전 또는 악화 되었는지 진단하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 흉부 방사선 데이터의 특성들 중 임상적으로 정의된 형태적 특성들을 기초로 하여 지도학습(self-supervised learning)을 통해 훈련되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 흉부 방사선 데이터를 특정 방식으로 변형한 데이터를 훈련 데이터로 하여 자가 지도학습(self-supervised learning)을 통해 훈련되는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 원본 흉부 방사선 데이터에 변형 (Data augmentation)을 가한 증강 데이터와 원본 흉부 방사선 데이터를 인코더에 입력했을 때, 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 인코더를 훈련하는 과정을 포함하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 조정하는 과정은, 상기 산출된 각각의 제1 수치 벡터의 거리를 최소화 하는 것일 수 있다.
예시적인 일 구현예 장치에서, 상기 장치는 흉부 방사선 측정 장치가 장착된 의료기구, 스마트폰 앱이 설치된 기기 및 증강 현실 장비 (카메라와 안경의 조합), 또는 전자건강기록 시스템과 결합된 것일 수 있다. 또한 위와 같은 구체적인 장비나 소프트웨어가 아닌 API 시스템으로 구현될 수 있으며, 이 경우 타 장비 혹은 시스템이 흉부방사선 데이터를 보내고 이것에 대한 분석 결과를 다시 해당 장비 혹은 시스템에 전송해주는 서비스 (장치)로 구현될 수 있다.
한편, 다른 일 측면에서는, 프로세서에 의하여 수행되고, 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 또는 프로세서에 의해 수행되고, 딥러닝을 이용하여 흉부 방사선 데이터로부터 질병을 분석하는 방법에 있어서, 흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 단계; 상기 흉부 방사선 데이터를 인코더에 입력하는 단계; 및 상기 인코더를 통해 딥러닝 알고리즘을 이용하여 제1 수치 벡터를 산출하는 단계;를 포함하는 것이며, 상기 제1 수치 벡터는 흉부 방사선 데이터로부터 추출될 수 있는 해부학적(위치적), 생리학적(기능적) 혹은 병리적 특징을 포함하는데, 특히 맥락적으로 포함하는 흉부 방사선 데이터로부터 추출된 특징들에 연관된 정형 테이터일 수 있다. 이러한 제1 수치 벡터는 후술하는 바와 같이 다운스트림 태스크 또는 기계 학습에 효과적으로 사용된다.
예시적인 일 구현예에서, 상기 방법은, 제1 수치 벡터를 이용하여 질병 또는 건강 관련 분석, 예측 또는 진단 보조 정보 제공을 수행하는 단계;를 더 포함할 수 있다.
예시적인 일 구현예에서, 상기 방법은, 상기 제1 수치 벡터를 활용하여 복수의 다운스트림 태스크를 동시에 처리하는 단계;를 포함할 수 있다. 각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 될 때 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시키게 되어 제1 수치 벡터에 범용성이 향상될 수 있다.
예시적인 일 구현예 방법에서, 상기 제1 수치 벡터는 그 자체로 또는 추가적인 정형 데이터 정보와 결합(concatenate)되어 다운스트림 태스크 처리 단계의 입력 벡터로 사용되는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 2개 이상일 수 있고, 각 인코더로부터 출력된 복수개의 제 1 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터를 만들수 있다.
예시적인 일 구현예 방법에서, N개의 순차적인 흉부 방사선 데이터를 하나의 인코더에 통과시켜 N개의 순차적인 제1 수치 벡터들을 얻을 수 있다.
예시적인 일 구현예 방법에서, 상기 방법은 흉부 방사선 데이터를 일정 시간 간격으로 분할한 후 각각의 분할된 데이터 구간의 정보를 상기 인코더; 또는 상기 인코더 및 다운스트림 테스크 처리를 거쳐서 얻어진 시점별 결과치 또는 해당 시점별 결과치의 시점별 가중 평균에 기반하여 특정 질환에 관한 분석, 진단 또는 예측을 제공하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 방법은, 다운스트림 태스크의 네트워크를 훈련 시 상기 인코더의 네트워크의 가중치(weight)들을 고정시킨 후 다운스트림 태스크의 네트워크 가중치를 훈련을 통해 수정(업데이트)한 후 상기 인코더의 네트워크와 상기 다운스트림 태스크의 네트워크의 가중치 전체를 추가적인 훈련을 통해 수정(업데이트)하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 복수의 다운스트림 태스크 처리 각각은 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 MLP는 상기 인코더의 인코딩 네트워크 훈련과 함께 멀티 태스크 러닝((jointly) multi-task learning)을 통해 훈련되거나, 인코더가 먼저 훈련을 마친 이후 별도로 훈련되는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 MLP는 상기 제1 수치 벡터와 다른(different) 추가적인 정형 데이터 입력 정보를 받을 수 있으며, 상기 추가적인 정형 데이터 입력 정보는 나이, 성별, 바이탈 사인 (혈압, 맥박, 호흡수, 체온, SpO2, 혈당 등), 생체 신호 (Biosignals: ECG(심전도), PPG(광혈류측정), EEG(뇌파), 동맥 및 중심정맥의 침습적 압력 계측치 등), 검체 검사 결과 (각종 혈액검사, 조직검사 등), 자연어 정보, 흉부 방사선 이외 영상 데이터로부터 추출되는 수치형 혹은 범주형 데이터 중 적어도 하나 이상에 해당한다. 상기 추가적인 정형 데이터 입력 정보는 상기 제1 수치 벡터와 결합(concatenate)되거나 상기 제1 수치 벡터와 별도로 입력될 수 있다.
예시적인 일 구현예 방법에서, 상기 MLP가 특정 질병의 발생 유무를 예측하는 경우, 상기 MLP의 출력 시 획득된 흉부 방사선 데이터를 고려한 특정 질병 발생 확률 및 획득된 흉부 방사선 데이터를 고려하지 않은 특정 질병 발생 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 상기 획득된 흉부 방사선 데이터를 고려한 특정 질병 발생 확률이 상기 획득된 흉부 방사선 데이터를 고려하지 않은 특정 질병 발생 확률보다 비율 상 몇 배가 증가 했는지를 디스플레이할 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더의 딥러닝 알고리즘은 컨볼루션 신경망 (Convolution neural network, CNN) 혹은 Transformer (Visual Transformer, ViT) 구조를 기반으로 하는 비전 네트워크에 해당한다. CNN 및 ViT의 구조는 이미지 데이터 분류를 위해 흔히 사용되는 네트워크 구조에 해당하며, 다양한 변형 및 확장을 통해 이들의 분류 성능 및 효율성을 확장할 수 있다. 본 발명의 구현에 있어서 특정 구조의 CNN 혹은 ViT를 선택하는 것은 훈련 데이터의 종류, 양 및 처리하는 태스크에 의해 최적화되는 과정에 속하여, 상기 인코더는 CNN, ViT 계열의 비전 네트워크의 특정 구조에 국한되지 않는다.
예시적인 일 구현예 방법에서, 상기 인코더의 딥러닝 알고리즘은 CNN을 기반으로 하고, 인코더 서브유닛(subunit)을 포함할 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더 서브유닛은 하나 이상의 컨볼루션 레이어; 하나 이상의 완전 연결 레이어 - 상기 완전 연결 레이어는 비선형 활성화 함수를 포함함; 및 채널별 흉부 방사선 데이터에서 추출된 특징 세트를 요약하여 대표 값을 각각 추출하고, 상기 대표 값에 기반한 채널별 특징 세트의 기여도가 반영되도록 상기 채널별 특징 세트를 재조정하는 집중 레이어를 포함하고, 상기 특징 세트는 각 채널에 대한 형태적 특징을 포함하고, 상기 특징 세트에 비하여 재조정된 채널별 특징 세트는 각 채널에 대한 형태적 특징이 보다 집중된 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 하나 이상의 컨벌루션 레이어는, 상기 하나 이상의 채널 각각에 대한 흉부 방사선 데이터를 개별적으로 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-separable convolution layer)를 포함하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 집중 레이어는 상기 특징 세트의 요약을 위해, 상기 특징 세트를 풀링(pooling) 처리하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 집중 레이어는, 채널별 대표 값을 상기 완전 연결 레이어에 통과시켜 각 채널별 기여도를 산출하고, 상기 채널별 기여도를 상기 특징 세트에 각각 곱하여 각 채널별 특징 세트를 재조정하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 집중 레이어는 상기 채널별 대표 값을 완전 연결 레이어에 통과시킨 결과를 특정 범위 사이의 수치로 스케일링하여 상기 채널별 기여도를 산출하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더 서브유닛은 각 채널 별로 평균을 추출하여 하나의 스칼라(scalar) 값을 산출하는 스퀴즈 엑사이테이션 레이어(sqeeze-excitation layer)를 포함하고, 상기 채널 별 스칼라 값은 0 내지 1 사이이며, 채널의 중요도에 따라 스케일(scale)되고, 상기 채널 별 스칼라 값이 모인 벡터를 완전 연결 레이어(fully connected layer)에 통과시킨 후 활성화(sigmoid/RELU) 함수를 적용하여 차원을 축소시키는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 복수의 컨볼루션 블록을 포함하고, 상기 서브유닛은 제1 컨볼루션 레이어를 제외한 나머지 컨볼루션 블록에 포함된 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 컨볼루션 블록은 제1 인코더 서브유닛 및 제2 인코더 서브유닛을 포함하고, 상기 제1 인코더 서브유닛은 상기 제2 인코더 서브유닛에 비해 상기 컨볼루션 블록의 출력단보다 입력단에 가깝게 적용된 것으로서, 상기 집중 (attention) 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제2 인코더 서브유닛에 비해 상기 특징 세트를 요약하여 대표 값을 추출하는 동작에 보다 집중하고 - 상기 제1 인코더 서브유닛의 대표 값에는 상기 형태적 특징이 상기 제2 인코더 서브유닛의 대표 값에 비해 보다 많이 반영됨, 상기 제2 인코더 서브유닛은 상기 제1 인코더 서브유닛에 비해 상기 컨볼루션 블록의 입력단 보다 출력단에 가깝게 적용된 것으로서, 상기 집중 레이어는 상기 특징 세트를 요약하여 대표 값을 추출하는 동작과 채널별 기여도에 따른 재조정 동작 중 상기 제1 인코더 서브유닛에 비해 채널별 기여도에 따른 재조정 동작에 보다 집중하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더의 마지막 컨볼루션 블록은 논 로컬 네트워크(non-local network)를 더 포함하며, 상기 논 로컬 네트워크는 상기 흉부 방사선 데이터의 공간적 지점(spatial point)간의 유사도를 비교하여 공간적 주의(spatial attention)를 구현하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 분석 결과는 질병 예측 및 진단을 포함하고, 상기 분석부가 질병을 예측 혹은 진단하는 경우, 상기 질병은 급성호흡부전신드롬 (ARDS), 폐렴 (Pneumonia), 농양 (Abscess), 흡인성 폐렴 (Aspiration Pneumonia), 비정형폐렴 (Atypical Pneumonia), 활동성 결핵 (Active Tuberculosis), 비결핵 항산균 (Non-Tuberculous Mycobacteria), 만성폐쇄성폐질환 (COPD), 간질성 폐질환 (Interstitial Lung Disease), 기관지 확장증 (Bronchiectasis), 사르코이드증 (Sarcoidosis), 폐결절 (Lung Nodule), 폐 종괴 (Lung Mass), 폐암 (Lung Cancer), 폐전이 (Lung Metastasis), 대동맥 박리 (Aortic Dissection), 대동맥류 (Aortic Aneurysm), 흉수 (Pleural Effusion), 농흉 (Empyema), 기흉 (Pneumothorax), 기복증 (Pneumoperitoneum), 심막기종 (Pneumopericardium), 기종격 (Pneumomediastinum), 피하 기종 (Subcutaneous Emphysema), 관상동맥석회화 (Coronary Artery Calcification), 심장 비대 (Cardiomegaly), 폐부종 (Pulmonary Edema), 심낭삼출 (Pericardial Effusion), 폐색전증 (Pulmonary Embolism), 챔버 (Chamber) (LA, LV, RA, RV) 비대증 (Enlargements), 판막 (Valvular):대동맥 (Aortic), 이첨판 (Mitral), 삼첨판 (Tricuspid), 폐동맥 (Pulmonic) 판막석회화 (Valve Calcification)/협착 (Stenosis)/역류 (Regur-gitation), 비대심근증 (Hypertrophic Cardiomyopathy), 늑골, 흉골, 척추의 각종 골절, 종양, 전이 (Fracture, Tumor, Metastasis)을 포함하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 분석 결과는 상기 제1 수치 벡터를 사용하여 질병이 호전 또는 악화되었는지 여부를 결정하는 질병 진단 보조 정보를 포함할 수 있다. 상기 질병 진단 보조 정보를 제공하는 경우, 상기 흉부 방사선 데이터는 일정한 간격을 두고 측정한 복수의 흉부 방사선 데이터이고, 상기 복수의 흉부 방사선 데이터 각각은 상기 인코더의 풀링 레이어(pooling layer)를 통과하여, 획득된 제1 수치 벡터로부터 질병이 호전 또는 악화되었는지 여부의 진단 보조 정보를 제공하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 분석 결과는 질병 진단 보조 정보 제공을 포함하고, 상기 흉부 방사선 데이터는 일정하거나 불규칙한 시간 간격을 두고 측정한 복수의 흉부 방사선 데이터이고, 상기 분석부는 상기 복수의 흉부 방사선 데이터의 제1 수치 벡터 각각을 순차적인 벡터(sequential vector)로 배열하고, 상기 순차적인 벡터들을 벡터의 길이 방향으로 결합(concatenate)하여 멀티 레이어 퍼셉트론 네트워크(multilayer perceptron(MLP) network)에 통과시키거나, 상기 순차적인 벡터들을 벡터 길이의 수직 방향으로 결합(concatenate)하여 트랜스포머 네트워크(transformer network)에 통과시키거나, 결합하지 않고 RNN에 순차적으로 통과시키고, 시간에 대한 정보를 함수를 이용해 인코딩(encoding)하여 제2 수치 벡터를 추출하여 환자가 시간 경과에 따라 특정 질병이 호전 또는 악화 되었는지 진단하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 흉부 방사선 데이터의 특성들 중 임상적으로 정의된 형태적 특성들을 기초로 하여 지도학습(self-supervised learning)을 통해 훈련을 수행할 수 있다.
예시적인 일 구현예 방법에서, 상기 인코더는 흉부 방사선 데이터를 특정 방식으로 변형한 데이터를 훈련 데이터로 하여 자가 지도학습(self-supervised learning)을 통해 훈련을 수행할 수 있다.
예시적인 일 구현예 장치에서, 상기 인코더는 원본 흉부 방사선 데이터에 변형 (Data augmentation)을 가한 증강 데이터와 원본 흉부 방사선 데이터를 인코더에 입력했을 때, 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높도록 인코더를 훈련하는 과정을 포함하는 것일 수 있다.
예시적인 일 구현예 방법에서, 상기 산출된 각각의 제1 수치 벡터가 동일하거나 유사도가 높아지도록 조정하는 과정은, 상기 산출된 각각의 제1 수치 벡터의 거리를 최소화 하는 것일 수 있다.
한편, 다른 일 측면에서, 예시적인 일 구현예에서는, 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 전술한 방법을 수행하게 하는 컴퓨터 판독가능 기록매체를 제공한다.
본 발명의 예시적인 구현예들에 의하면, 비정형적인 흉부 방사선 특히 흉부 방사선 데이터로부터 정형적인 수치 벡터를 추출하고 이를 여러 임상 상황에서 다양하게 활용할 수 있다.
특히 기존의 임상 프레임워크를 그대로 활용하되, 흉부 방사선 정보의 활용 범위를 극대화할 수 있는 범용적인 수치 정보를 추출할 수 있다. 이러한 범용적인 수치 정보(임베딩 벡터)는 그 자체로써 사용될 뿐만 아니라, 환자의 다른 정보들과도 융합되어 활용될 수 있다. 또한, 흉부 방사선 데이터의 수치화를 통해 환자 상태 변화를 쉽게 계량화할 수 있다. 이에 따라 병실, 중환자실, 응급실에서 초기 평가 및 치료 반응 평가에 유용하게 사용할 수 있다. 또한 정형화된 수치 벡터 일부를 타 인공 지능 알고리즘이나 진료 프로토콜의 입력으로 활용하여 흉부 방사선데이터가 연관될 수 있는 각종 진단에 활용한다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 예시적인 실시예들을 보다 명확하게 설명하기 위해, 실시예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시예를 설명하기 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.
도 1은 본 발명의 일 실시예에 따른 흉부 방사선흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치를 도시하는 개략도이다.
도 2는 본 발명의 일 실시예에 따른 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 방법의 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 흉부 방사선 인코더 서브유닛을 도시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 흉부 방사선 인코더를 도시하는 도면이다.
도 5는 본 발명의 또 다른 일 실시예에 따른, 반복적인 계측을 통해 얻어진 복수의 흉부 방사선 데이터로부터 얻은 수치 벡터의 활용을 도시하는 도면이다.
도 6은 본 발명의 또 다른 일 실시예에 따른, N개의 순차적으로 얻어진 수치 벡터의 활용을 도시하는 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명 이 본 기술 사상의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
용어
본 명세서 상에서 언급된 "포함한다", "갖는다", "이루어진다" 등이 사용되는 경우 "~만"이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별한 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함할 수 있다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B,(a),(b) 등의 용어를 사용할 수 있다. 달리 명시하지 않는 한, 이 러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다.
본 명세서에서 '학습' 혹은 '러닝'은 절차에 따른 컴퓨팅(computing)을 통하여 기계 학습(machine learning)을 수행함을 지칭하는 용어이다.
본 명세서에서 네크워트는 기계 학습 알고리즘 또는 모델의 신경망을 지칭한다.
본 명세서에서 "부(unit)", “모듈(module)”“장치”, 또는 "시스템" 등의 용어는 하드웨어뿐만 아니라 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭할 수 있는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.
본 명세서에서 수치 벡터 또는 수치적 벡터 정보는 하나 혹은 이상의 기계 학습 업무 또는 태스크에 적용되기 위해 딥러닝 알고리즘을 통하여 만들어진 일관적인 구조적 및/또는 의미적 형태를 띤 정형화된 좌표기반 수치 데이터로서, 흉부 방사선 데이터로부터 추출된 특징들에 연관된 것(해당 특징들을 반영하는 것)을 말한다.
특정 데이터를 수치 벡터로 변환한다는 것은, 흉부 방사선 영상과 같이 다양한 형식 및 크기를 갖고 있는 부정형 데이터를 원본 보다 짧고 (작고) 일정한 길이 (형식, 어레이일 경우 일정한 차원과 크기)를 갖고 있으며, 그 각각의 원소가 위치별로 일관적 의미를 내포하고 있는 수치 벡터(혹은 어레이)로 바꾼다는 것이다. 이것은 각각의 원소로 정의되는 벡터 공간에 특정 흉부 방사선 데이터가 어느 곳에 위치하는지 일관적으로 표현해주며, 이러한 추상적인 좌표 정보는 다양한 다운 스트림 태스크에서 다양한 방식(알고리즘)을 통해 활용될 수 있다.
입력 데이터인 흉부 방사선 이미지는 특정 사이즈로 리사이즈(resize) 및 크로핑(cropping)되거나 정규화(normalize)되어 입력될 수 있다. 흉부 방사선 이미지는 흑백이미지(monochrome)로서 입력시점의 채널수는 1개가 일반적이지만 3채널 (혹은 alpha 채널이 포함된 4채널) 컬러 이미지도 다채널 2차원 이미지 데이터로 입력 하거나, 단색 이미지로 변환하여 입력 처리가 가능하다.
본 명세서에서 제시될 네트워크 구조(특히 스퀴즈 엑사이테이션, 논로컬 네트워크를 포함하는 네크워크 구조)의 특성들은 이러한 수치 벡터의 생성과정에서, 인코더가 흉부 방사선 데이터로부터 추출되는 다양한 특성 맵 (feature map) 사이에서, 그리고 2차원적 평면 위 서로 다른 해부학적 위치 사이에서, attention (집중) mechanism을 적용할 수 있게 해주어, 생성된 수치 벡터가 흉부방사선의 다양한 특징의 조합을 인코딩하도록 도와줄 수 있다.
흉부 방사선 데이터의 해부학적, 생리학적, 병리학적 특성을 폭넓고 효율적으로 반영하게 해주며, 훈련 방식의 특성 (멀티태스크 러닝에 기반한 보조학습)은 상기와 같은 폭넓은 특징 추출 과정에서 여러 태스크에서 범용성이 높은 특성들을 효율적으로 추출하게 도와준다.
이것은 새로운 다운스트림 태스크 훈련을 매우 용이하게 해주어 few-shot 혹은 one-shot 학습을 용이하게 하게 하는 고품질의 수치 벡터를 추출할 수 있게 해준다.
본 명세서에서 수치 벡터는 제1 수치 벡터, 제2 수치 벡터 등와 같이 구분하여 표시될 수 있다. 예컨대는, 제1수치 벡터는 딥러닝 알고리즘을 이용하는 인코더로부터 산출된 것을 지칭할 수 있고, 제2 수치 벡터는 제1 수치 벡터를 이용하여 다운스트림 태스크와 같이 추가적인 기계 학습 알고리즘을 거친 산출물을 지칭할 수 있다. 일부 도면들에서 예컨대 제1 수치 벡터에 포함되는 순차적인 벡터(sequential vetor)들을 vector 1, vector 2, vector 3 등과 같이 표현할 수 있다.
본 명세서에서 임베딩은 흉부 방사선과비정형 데이터를 위에서 언급한 수치 벡터로 변환하는 작업 혹은 그 산출물(수치 벡터 그 자체)을 언급할 수 있다.
본 명세서에서 수치 벡터가 범용성을 가진다는 것은 특정 목적 외에 다른 목적의 기계 학습, 바람직하게는 복수 개의 기계 학습에도 사용될 수 있는 것을 말한다. 즉, 수치 벡터가 특정 흉부 방사선 영상의 형태적 특성을 내포, 바람직하게는 포괄적이고 및/또는 효율적인 방식으로 내포하고 있어, 이미 적용되고 있거나, 앞으로 적용될 수 있는 미지의 다운 스트림 태스크들 바람직하게는 두 개 이상의 다운스트림 태스크, 더 바람직하게는 대부분의 다운스트림 태스크들에서 효과적으로 활용될 수 있다는 것을 말한다.
예컨대, 이해를 돕기 위해, 범용성이 없는 수치 벡터를 예를 들어 본다. 100개의 원소로 이루어진 수치벡터가 특정 질병 예컨대 심근 경색의 진단에 효과적인 특성들을 3개의 원소로써 갖고 있고 나머지 97개의 원소는 중복되거나 노이즈에 해당하는 정보를 갖고 있다고 가정하면, 이 경우 이 수치 벡터는 심근 경색의 진단 이외의 다운스트림 태스크에서는 활용될 수 없고 범용성이 없다고 할 수 있다. 이러한 벡터의 원소들을 유의미한 정보로 채우기 위해 한가지 진단이 아닌 여러 임상 진단 태스크를 동시에 수행하게 할 수 있다. 그러나 이것만으로는 수치 벡터가 이미 훈련된 진단들과 관련된 특성들만을 인코딩 하게 되어 미지의 다운스트림 태스크에는 적용이 어려워진다.
반면 본 발명의 예시적인 구현예들에서 스퀴즈 익사이테이션 및 논로컬 네트워크 등은 전술한 바와 같이 수치벡터에 포함될 특성 정보의 범위와 질을 향상시켜 범용성을 향상시킬 수 있다. 나아가, 본 발명의 예시적인 구현예들에서는, 추가적으로 1) 기존에 임상적으로 정의된 형태적 특징에 기반한 지도학습, 2) 임상정보와 무관한 흉부 방사선의 형태적 특징을 학습하는 자가지도학습을 추가로 적용하여 수치 벡터의 범용성을 더욱 증가시킬 수 있다. 또한 수치벡터가 정의하는 벡터 공간내에서의 정보의 효율적 배치를 위해서 후술될 3) 비지도 학습을 추가로 시행하여 수치 벡터의 범용성을 더욱 증가시킬 수 있다.
본 명세서에서 비정형 데이터는 계측된 수치 데이터의 집합으로써 1) 차원 수 및/또는 크기가 일정하지 않거나, 2) 위치에 따른 수치의 해석이 일관되지 않거나 혹은 3) 그 크기나 복잡성이 커서 단순하게 변형시켜야 하는 데이터를 지칭할 수 있다.
본 명세서에서 말하는 정형 데이터는 이와 반대로 차원 수 및 크기가 일정한 것을 의미하는 것으로서, 이러한 정형 테이터는 각 수치의 해석이 위치에 따라 일관적이며, 비정형 데이터에 비하여 크기가 크지 않고(원소의 수가 과도하게 많지 않고) 단순하여, 비정형 데이터와 대비하여 적은 수의 데이터만으로도 다운 스트림 태스크를 위한 기계 학습 알고리즘의 훈련이 가능할 수 있다. 예를 들어 임베딩을 거쳐 수치적 벡터로 바뀐 흉부 방사선이 여기에 해당하며, 환자의 나이, 성별, 혈압, 맥박수, 호흡수 및 체온과 같은 표 형식의 데이터(tabular data)도 여기에 포함될 수 있다.
본 명세서에서 다운 스트림 태스크는 임베딩을 통해 얻어진 수치 벡터를 이용하는 하나 이상 특히 복수의 기계 학습 업무를 지칭할 수 있다. 후술하는 바와 같이, 여기에는1) 지도학습(supervised learning), 2) 비지도학습(unsupervised learning), 3) 자가 지도학습(self-supervised learning), 4) 군집화(clustering) 및 5) 이상 탐지(anomaly detection) 등이 포함될 수 있다.
본 명세서에서 질병의 분석 방법 또는 질병의 분석 장치란 질병 또는 건강을 분석하고, 예측하고, 질병에 관한 진단 정보를 제공하는 것을 포함하는 의미이다.
예시적인 구현예들의 설명
본 발명의 예시적인 구현예들에서는 흉부 방사선 이미지 데이터에 딥러닝 기반의 인공지능 알고리즘을 이용하여, 여러 임상 상황에서 다양하게 사용될 수 있는 수치적 벡터 정보 특히 범용적인 수치적 벡터정보를 추출하도록 한다. 얻어진 수치 벡터를 통해 1) 폐실질의 이상, 2) 심장, 대혈관, 종격동 이상, 3) 근골격 이상, 4) 주요 임상 진단, 5) 주요 장치 유무, 5) 주요 임상 사건, 6) 그리고 주요 임상 처치 필요성을 개별적으로 혹은 한꺼번에 추정해 볼 수 있다. 각각의 구체적인 예들은 아래와 같으며, 각 분류는 서로 배타적이지 않다.
1) 폐 이상: 경화 (consolidation), 침윤 (infiltration), 공동 (cavitation), 허탈 (atelectasis), 폐절제(pneumonectomy, lobectomy, segmentectomy) 등
2) 심장, 대혈관, 종격동 이상: 심비대 (cardiomegaly), 종격동 확장 (mediastinal enlargment), 대동맥 석회화 (aortic calcification), 관상동맥 석회화 (aortic calcification) 등
3) 근골격 이상: 골절 (fracture), lytic (용해성), sclerotic (경화성) 등
4) 주요 임상 진단: 급성호흡부전신드롬 (ARDS), 폐렴 (Pneumonia), 농양 (Abscess), 흡인성 폐렴 (Aspiration Pneumonia), 비정형폐렴 (Atypical Pneumonia), 활동성 결핵 (Active Tuberculosis), 비결핵 항산균 (Non-Tuberculous Mycobacteria), 만성폐쇄성폐질환 (COPD), 간질성 폐질환 (Interstitial Lung Disease), 기관지 확장증 (Bronchiectasis), 사르코이드증 (Sarcoidosis), 폐결절 (Lung Nodule), 폐 종괴 (Lung Mass), 폐암 (Lung Cancer), 폐전이 (Lung Metastasis), 대동맥 박리 (Aortic Dissection), 대동맥류 (Aortic Aneurysm), 흉수 (Pleural Effusion), 농흉 (Empyema), 기흉 (Pneumothorax), 기복증 (Pneumoperitoneum), 심막기종 (Pneumopericardium), 기종격 (Pneumomediastinum), 피하 기종 (Subcutaneous Emphysema), 관상동맥석회화 (Coronary Artery Calcification), 심장 비대 (Cardiomegaly), 폐부종 (Pulmonary Edema), 심낭삼출 (Pericardial Effusion), 폐색전증 (Pulmonary Embolism), 챔버 (Chamber) (LA, LV, RA, RV) 비대증 (Enlargements), 판막 (Valvular):대동맥 (Aortic), 이첨판 (Mitral), 삼첨판 (Tricuspid), 폐동맥 (Pulmonic) 판막석회화 (Valve Calcification)/협착 (Stenosis)/역류 (Regur-gitation), 비대심근증 (Hypertrophic Cardiomyopathy), 늑골, 흉골, 척추의 각종 골절, 종양, 전이 (Fracture, Tumor, Metastasis) 등
5) 주요 장치 유무: 중심정맥관(central vein catheter), 말초삽입중심정맥관 (PICC), 심박동기 (Pacemaker), 삽입형 제세동기 (ICD), 흉관 (Chest tube), 배액관 (Percutaneous drainage), 비위관 (Nasogatric tube) 등
6) 주요 임상 사건: 쇽 (Shock), 호흡부전 (Respiratory failure), 심정지 (Cardiac arrest), 기도삽관 (Endotracheal Intubation), 기계호흡 (Mechanical Ventilation) 등
또한 흉부 방사선 데이터와 같은 흉부 방사선 데이터 외에 다른 정형적 정보들(나이, 성별 혈압, 맥박수, 호흡수, 체온, 수치 검사 결과 등) 및 적절한 변형을 통해 정형화된 비정형 정보(주증상, 기저질환, 텍스트, 각종 방사선 및 초음파 영상 정보, 청진음과 같은 음향정보 및 각종 바이오 시그널)도 해당 수치 벡터에 더 결합(concatenate)하여 진단의 정확도를 높이는데 사용할 수 있다.
본 발명의 예시적인 구현예들의 알고리즘은 변형된 CNN (convolutional neural network)과 ViT (Visual Transformer) 같은 딥러닝 알고리즘 부분 및/또는 흉부 방사선흉부 방사선 데이터 이외의 추가적인 정보들을 처리하는 알고리즘 부분을 포함할 수 있다.
아울러, 본 발명의 예시적인 구현예들에서는 흉부 방사선 데이터를 획득하여, 질병을 분석, 예측 및 진단에 관한 보조 정보를 제공할 수 있다.
예시적인 구현예들에서, 흉부 방사선 데이터를 수치 벡터로 변환하는 장치는 흉부 방사선 데이터를 획득하는 획득부; 및 상기 흉부 방사선 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 수치 벡터 (이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 인코더;를 포함할 수 있다.
예시적인 구현예들에서, 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치는, 흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 획득부; 상기 흉부 방사선 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 수치 벡터(이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 인코더; 및 상기 수치 벡터를 이용하여 질병 관련 분석 정보, 예측 정보 또는 진단 보조 정보 제공을 수행하는 분석부;를 포함할 수 있다.
예시적인 구현예들에서, 프로세서에 의하여 수행되고 흉부 방사선 데이터를 수치 벡터로 변환하는 방법은, 흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 단계; 상기 흉부 방사선 데이터를 인코더에 입력하는 단계; 및 상기 인코더를 통해 딥러닝 알고리즘을 이용하여 수치 벡터(이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 단계;를 포함할 수 있다.
예시적인 구현예들에서, 프로세서에 의하여 수행되고 딥러닝을 이용하여 흉부 방사선 데이터로부터 질병을 분석하는 방법에 있어서, 흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 단계; 상기 흉부 방사선 데이터를 인코더에 입력하는 단계; 상기 인코더를 통해 딥러닝 알고리즘을 이용하여 수치 벡터(이는 제1 수치 벡터로 지칭될 수 있다)를 산출하는 단계; 및 상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단 보조 정보 제공을 수행하는 단계;를 포함하는 흉부 방사선 데이터로부터 흉부 방사선 데이터를 수치 벡터로 변환하는 방법을 제공한다.
흉부 방사선 분석의 예시적인 구현예들에서, 상기 수치 벡터는 다운 스트림 태스크(downstream task)에 동시에 이용될 수 있다.
이와 같이 다수의 태스크를 동시에 수행하도록 구성되어 있기 때문에, 각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 될 때 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시키게 된다. 이에 따라 수치 벡터는 범용성이 향상된 수치 벡터가 될 수 있다.
예시적인 일 구현예에서, 상기 제1 수치 벡터는 그 자체로 또는 추가적인 정형 데이터 정보와 결합(concatenate)되어 다운스트림 태스크 네트워크의 입력 벡터로 사용되는 것일 수 있다.
여기서. 상기 추가적인 정형 데이터 정보는 나이, 성별이나 혈압, 맥박수, 체온, 호흡수, 산소포화도와 같은 생체 신호(vital signs), 각종 수치 검사 결과(laboratory test results)와 같은 기존의 정형화된 데이터 정보, 기계학습 방법을 통해 정형화된 데이터 정보로 변환된 비정형 데이터[영상, 소리, 바이오 시그널 등 (해당 바이오 시그널은 제1 수치 벡터를 얻기 위하여 인코더에 입력한 흉부 방사선과 다른 바이오 시그널임)], 자연어 처리를 통해 정형 데이터로 변형된 증상, 진단명, 의무기록 등과 같은 자연어 정보 중 적어도 하나를 포함할 수 있다.
예시적인 일 구현예에서, 상기 인코더는 2개 이상일 수 있고, 각 인코더로부터 출력된 복수개의 제 1 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터를 만들 수 있다. 해당 입력 수치 벡터를 다운스트림 태스크 네트워크의 입력 값으로 하고, 예측하고자 하는 진단을 해당 다운스트림 태스크 네트워크의 출력값으로 설정하여 해당 네트워크를 학습시킬 수 있다.
예시적인 일 구현예에서, N개의 순차적인 흉부 방사선 데이터를 하나의 인코더에 통과시켜 N개의 순차적인 제1 수치 벡터들을 얻는 것일 수 있다. 이러한 N개의 순차적인 제1 수치 벡터들은 시간 경과에 따른 특정 질환의 호전 또는 악화 여부 예측, 또는 특정 질환의 위험도 예측, 또는 임상적 이벤트 발생 등을 예측하는 다운스트림 태스크 네트워크의 학습을 위한 입력 값으로서 이용될 수 있다.
예시적인 일 구현예에서, 상기 장치는 흉부 방사선 데이터를 일정 시간 간격으로 분할한 후 각각의 분할된 데이터 구간의 정보를 상기 인코더; 또는 상기 인코더 및 다운스트림 태스크 처리 과정를 통과시켜서 얻어진 시점 별 결과치 또는 해당 시점 별 결과치의 시점별 가중 평균에 기반하여 특정 질환에 관한 분석, 진단 또는 예측을 제공하는 것일 수 있다.
예시적인 일 구현예에서, 상기 수치 벡터 변환 장치 또는 질병 분석 장치는, 수치 벡터를 활용하여 다운스트림 태스크(downstream task)를 처리하는 다운스트림 태스크 처리부 또는 처리 단계를 포함하고, 다운스트림 태스크는 복수의 태스크를 처리하는 것일 수 있으며, 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행할 수 있다.
예시적인 일 구현예에서, 상기 MLP가 특정 질병의 발생 유무를 예측하는 경우, 상기 MLP의 출력 시 흉부 방사선 데이터를 고려한 상기 질병이 발생할 확률 및 흉부 방사선 데이터를 고려하지 않은 질병 발생 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 상기 흉부 방사선 데이터를 고려한 상기 질병이 발생할 확률이 상기 흉부 방사선 데이터를 고려하지 않은 경우의 확률보다 비율 상 몇 배가 증가 했는지를 디스플레이할 수 있다.
예시적인 일 구현예에서, 각 태스크 별 상기 MLP는 상기 인코더의 인코딩 네트워크 훈련과 함께(jointly) 훈련 되거나, 인코더가 먼저 훈련을 마친 이후 별도로 훈련될 수 있다.
상기 인코더의 딥러닝 알고리즘은 컨볼루션 신경망 (Convolution neural network, CNN) 혹은 Transformer (Visual Transformer, ViT) 구조를 기반으로 하는 비전 네트워크에 해당한다. CNN 및 ViT의 구조는 이미지 데이터 분류를 위해 흔히 사용되는 네트워크 구조에 해당하며, 다양한 변형 및 확장을 통해 이들의 분류 성능 및 효율성을 확장할 수 있다. 본 발명의 구현에 있어서 특정 구조의 CNN 혹은 ViT를 선택하는 것은 훈련 데이터의 종류, 양 및 처리하는 태스크에 의해 최적화되는 과정에 속하여, 상기 인코더는 CNN, ViT 계열의 비전 네트워크의 특정 구조에 국한되지 않는다.
예시적인 일 구현예에서, 상기 인코더는 CNN을 기반으로 하고, 인코더 서브유닛(subunit)을 포함하고, 상기 인코더 서브유닛은 상기 흉부 방사선 데이터를 채널 별로 독립하여 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함할 수 있다.
예시적인 일 구현예에서, 상기 인코더 서브유닛은 스퀴즈 엑사이테이션 메커니즘(squeeze-excitation mechanism)을 적용하여 각 채널 별로 하나의 수치(평균이나 최고값)를 추출한다. 이를 통해 만들어진 수치형 벡터를 RELU와 같은 비선형 활성화 함수(non-linear activation)가 포함된 2개 이상의 완전 연결 레이어(fully connected layer)로 구성된 네트워크에 통과시킨 후 시그모이드(sigmoid) 함수를 적용하여 각 채널 별로 0-1 사이의 수치를 얻어내고, 이것들을 해당하는 채널에 각각 곱하여 각 채널 별 특징들을 재조정(recalibrate) 한다.
예시적인 일 구현예에서, 상기 인코더는 제1 컨볼루션 레이어와 각각 복수의 인코더 서브유닛을 포함하는 복수의 컨볼루션 블록을 포함할 수 있다.
예시적인 일 구현예에서, 상기 인코더의 마지막 컨볼루션 블럭은 논 로컬 네트워크(non-local network)를 더 포함할 수 있다. 상기 논 로컬 네트워크(또는 논 로컬 뉴럴 네트워크)는 특정 위치(흉부방사선 특성맵 [feature map] 위의 공간적 지점 [spatial point])의 정보를 인코딩 할 때 입력 데이터의 모든 위치의 특성을 사용한다. 이 과정에서 각각의 위치는 서로 다른 정도의 기여를 하게 되며, 이러한 기여의 정도는 주의(attention) 메커니즘을 통해 결정된다.
예시적인 일 구현예에서, 상기 각 태스크 별 MLP는 인코더가 출력하는 수치 벡터 외 다른(different) 추가적인 정형 테이터 입력 정보를 받을 수 있다. 여기서, 상기 추가적인 입력 정보는 나이, 성별이나 혈압, 맥박수, 체온, 호흡수, 동반 증상, 산소포화도와 같은 생체 신호(vital signs), 각종 수치 검사 결과(laboratory test results) 및 정형화된 수치 정보로 변환된 비정형 데이터(영상, 소리, 바이오 시그널 등) 중 적어도 하나를 포함할 수 있다.
예시적인 구현예들에서, 전술한 장치는 흉부 방사선 계측 장비, 저장 장비 또는 해석 장비일 수 있다. 예시로서, 각종 흉부방사선 촬영 장비 (고정식, 이동식 모두 포함), 의료 영상 저장 서버 및 뷰어 (예: PACS), 전자의무기록 (electronic health records), 의료정보 분석용 API 서비스 (Application Programming Interface 서비스), 카메라나 스캔 장비를 통해 흉부 방사선 데이터를 받아들여 분석을 할 수 있는 소프트웨어 (스마트폰, 데스크탑, 증강현실 안경 등) 등일 수 있지만, 이에 제한되지 않는다.
또한, 예시적인 구현예들에서는, 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 해당 프로세서가 전술한 흉부 방사선 데이터로부터 흉부 방사선 데이터를 수치 벡터로 변환하는 방법을 수행하게 하는 컴퓨터 판독가능 기록매체를 제공한다.
바람직한 실시예 설명
도 1은, 본 발명의 일 실시예에 따른 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치(1)(“이하 질병 분석 장치”)를 도시하는 개략도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 질병 분석 장치(1)는 흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 획득부(10); 상기 흉부 방사선 데이터를 입력 받아 딥러닝을 이용하여 수치 벡터를 산출하는 인코더(12); 상기 인코더에서 산출된 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단에 관한 정보인 분석 결과를 제공하는 분석부(14); 상기 수치벡터를 활용하여 다운스트림 태스크를 처리하는 하나 이상의 다운 스트림 처리부(16)를 포함한다. 도 1은 비록 다운 스트림 처리부(16)를 분석부(14)와 별개로서 도시하지만 상기 다운 스트림 처리부(16)는 분석부(14) 일부로서 포함되거나 또는 분석부(14)를 대체하는 것일 수도 있다.
획득부(10)는 대상체의 신체 일부에 부착되어 대상체(사용자)의 흉부 방사선 이미지를 측정하는 흉부 방사선 측정 장치로부터 흉부 방사선 이미지를 획득할 수 있다. 인코더(12)는 프로세서를 포함한 컴퓨팅 장치로서, 획득부(10)로부터 흉부 방사선 데이터를 입력으로 수신하고, 흉부 방사선 데이터를 분석하여, 다양한 특징맵 및 해부학적 위치 사이에서 집중(attention) mechanism을 적용하면, 다양한 특징 맵을 생성하고 이를 풀링하여 수치 벡터를 산출한다. 이후 수치 벡터를 활용하여 분석부(14) 또는 다운스트림 처리부(16)를 통해 다양한 질병의 분석, 예측, 진단 보조 정보 제공을 수행할 수 있다.
일 실시예에서, 상기 인코더(12)는 예를 들어 개인용 컴퓨터(PC) 또는 노트북과 같은 컴퓨터, 스마트 폰, 서버 등을 포함한 다양한 컴퓨팅 장치(computing device)일 수 있다.
일 실시예에서, 상기 인코더(12)는 서버로 구현될 수 있으며, 인코더로의 흉부 방사선 데이터 입력은 상기 서버에 연결된 장치(예컨대, 사용자 단말 또는 신호 입력 장비) 등을 통해 수행될 수 있다.
이 경우, 서버는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어로서, 다양한 정보를 웹 사이트로 구성하여 제공할 수 있다. 여기서, 네트워크 서버란, 사설 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어(네트워크 서버 프로그램)를 의미한다. 그러나 이러한 네트워크 서버 프로그램 이외에도, 네트워크 서버 상에서 동작하는 일련의 응용 프로그램과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 예를 들어, 각종 데이터 베이스를 포함하는 경우, 인코더(12)는 클라우드와 같은 외부 데이터베이스 정보를 이용하도록 구성되며, 이 경우, 인코더(12)는 동작에 따라서 외부 데이터베이스 서버(예컨대, 클라우드 서버)에 접속하여 데이터 통신할 수 있다.
일 실시예에서, 수치 벡터 산출을 위한 인코더(12)는 딥 러닝 모델(deep learning model)을 포함할 수 있는데, 딥 러닝 모델(deep learning model)은 다층의 네트워크로 이루어진 심층 신경망(deep neural network)에서 다량의 비정형적 흉부 방사선 데이터를 학습시킴으로써 각각의 흉부 방사선 데이터의 특징(feature)을 자동으로 학습하고, 이를 통해 목적 함수, 즉 예측 정확도의 에러(error)를 최소화 시키는 방법으로 수치 벡터 산출을 위한 네트워크를 학습시켜 나아가는 형태이다.
일 실시예에서, 상기 인코더의 딥러닝 알고리즘은 컨볼루션 신경망 (Convolution neural network, CNN) 혹은 Transformer (Visual Transformer, ViT) 구조를 기반으로 하는 비전 네트워크에 해당한다. CNN 및 ViT의 구조는 이미지 데이터 분류를 위해 흔히 사용되는 네트워크 구조에 해당하며, 다양한 변형 및 확장을 통해 이들의 분류 성능 및 효율성을 확장할 수 있다. 본 발명의 구현에 있어서 특정 구조의 CNN 혹은 ViT를 선택하는 것은 훈련 데이터의 종류, 양 및 처리하는 태스크에 의해 최적화되는 과정에 속하여, 상기 인코더는 CNN, ViT 계열의 비전 네트워크의 특정 구조에 국한되지 않는다.
일 실시예에서, 본 발명에서 인코더(12)에 적용된 변형된 CNN 구조는 흉부 방사선 분석에서 특히 더 적합한데 그 이유는 다음과 같다.
1) 스퀴즈 엑사이테이션 네트워크(Squeeze excitation network)의 사용: 스퀴즈 엑사이테이션 네트워크는 인코더를 통해 추출되는 수치벡터에 각 채널 별 형태적 정보가 효과적으로 반영되게 해주어 인코더 및 인코더로 얻어지는 수치벡터의 질(quality)를 높여준다. 흉부방사선의 분석에 있어서 형태적 패턴 (예: 폐병변의 Texture)은 매우 중요하기 때문에, 흉부 방사선으로부터 임상적으로 의미있는 다수의 수치적 정보(features)를 추출함에 있어서, 각각의 수치는 자신이 반영해야 하는 특정 형태적 패턴에 적합한 정보를 취사 선택해서 비선형적으로 종합해내야 한다. 스퀴즈 엑사이테이션은 그 다음 레이어(layer)로 제공되는 레프리젠테이션(representation)을 만들 때 각 채널의 기여도를 전술한 재조정(recalibration)과정을 통해 최적화함으로써 이것을 가능하게 해준다. 구체적으로 입력단에 가까운 쪽에 적용할 경우 조직의 형태적 패턴에 따라, 예를들어 폐실질의 형태적 텍스쳐 (Texture) 에 따른 폐렴과 폐부종의 구분과 같이, 특정 채널에 집중하는 특징 추출(feature extraction)을 진행하게 되고, 출력단에 가까운 쪽에 적용할 경우에는 비선형적으로 종합된 추상적 임상정보들을 선택하게 된다.
2) 논 로컬 네트워크(Non-local nerual network 또는 non-local network) 사용: 논 로컬 네트워크는 인코더를 통해 추출되는 수치벡터가 시간적으로 서로 떨어져있는 흉부 방사선 feature간의 interaction을 효과적으로 반영하게 해주어 인코더 및 인코더로 얻어지는 수치벡터의 질(quality)를 높여준다. 흉부 방사선의 입력에서 특정 시점에서의 흉부 방사선 입력이 갖는 임상적 의미를 해석할 때는 상기 특정 시점 전후의 흉부 방사선 데이터도 고려해야 한다. 그리고 이러한 정보의 참조 및 통합 과정을 원거리의 데이터까지 적용하기 위해서는, 원거리에 있는 정보(feature)를 해석의 대상이 되는 현위치의 정보에 통합하는 것이 얼마나 적합한지를 학습할 수 있는 네트워크가 필요하며, 전술한 논 로컬 네트워크는 이 역할을 수행한다.
3) 스킵 커넥션(Skip connection)의 사용: 본 발명의 실시예의 인코더(12)는 입력된 데이터를 여러 층의 비선형적 변환(transformation)을 거치는 딥러닝 구조를 활용한다. 이 경우 출력단의 손실 신호(loss signal)가 입력단으로 충분히 전달되지 못하는 그래디언트 손실(gradient vanishing) 현상이 일어날 수있다. 스킵 커넥션은은 이러한 문제점을 효과적으로 줄여준다. 또한 Skip connection은 입력단의 정보를 변형을 최소화한 상태로 출력단에 반영할 수 있게 해주어 추출되는 수치 벡터가 인코더의 변환 과정에 있는 다양한 feature들을 폭넓게 반영하게 해주어 수치 벡터의 질을 높여주는 효과를 갖는다.
4) 멀티 태스크 러닝(Multi-task learning): 멀티 태스크 러닝은 먼저 언급된 네트워크 특성을 갖는 인코더 네트워크를 훈련시키는 하나의 방식으로, 인코더를 통해 얻어지는 하나의 수치벡터를 훈련 과정에서 여러 다운스트림 태스크에서 공통적으로 사용되도록 함으로써, 이러한 수치벡터가 범용성을 띄게 하는데 도움을 준다. 전술한 바와 같이 본 발명의 인코더(12)는 임베딩 과정을 통해 고정된 크기와 형식의 축약된 수치 벡터를 출력하고 이것은 여러 다운 스트림 태스크를 수행하는데 활용된다. 여기서 사용되는 수치 벡터는 다양한 목적을 위해 다양한 기계학습 알고리즘의 입력 정보로 사용되므로 환자의 포괄적인 임상적 상태를 최대한 효율적으로 추출해 내어야 한다. 본 발명의 실시예에서는 인코더(12)의 출력 벡터가 후술될 다수의 태스크를 동시에 수행하도록 구성되어 있기 때문에, 각 다운 스트림 태스크 네트워크 출력단으로부터의 에러 시그널들이 역전파 될 때 하나의 인코더 말단으로 모여 하나의 인코더를 훈련시켜, 이러한 방식으로 훈련된 인코더는 위에서 언급된 목표를 달성하는 범용성을 띈 임베딩 벡터를 생성할 수 있게 된다.
일 실시예에서, 인코더(12)는 하나의 컨볼루션 레이어와 이에 연속되는 복수의 컨볼루션 블럭들을 포함하고, 각 컨볼루션 블럭은 복수의 연속되는 흉부 방사선 서브유닛을 포함할 수 있다. 인코더(12)는 첫번째 컨볼루션 레이어와 복수의 컨볼루션 블럭들을 거치면서 흉부 방사선 데이터를 수치 벡터로 변환할 수 있다. 인코더가 흉부 방사선 데이터를 수치 벡터로 변환하는 과정에 대해서는 아래의 도3 및 4를 참조하여 보다 상세하게 서술한다.
일 실시예에서, 분석부(14)는 인코더(12)에서 산출된 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단에 관한 정보인 분석 결과 제공을 수행한다.
상기 분석부(14)의 상기 분석 결과는 질병 예측 및 진단을 포함하고, 상기 분석부가 질병을 예측 혹은 진단하는 경우, 상기 질병은 급성호흡부전신드롬 (ARDS), 폐렴 (Pneumonia), 농양 (Abscess), 흡인성 폐렴 (Aspiration Pneumonia), 비정형폐렴 (Atypical Pneumonia), 활동성 결핵 (Active Tuberculosis), 비결핵 항산균 (Non-Tuberculous Mycobacteria), 만성폐쇄성폐질환 (COPD), 간질성 폐질환 (Interstitial Lung Disease), 기관지 확장증 (Bronchiectasis), 사르코이드증 (Sarcoidosis), 폐결절 (Lung Nodule), 폐 종괴 (Lung Mass), 폐암 (Lung Cancer), 폐전이 (Lung Metastasis), 대동맥 박리 (Aortic Dissection), 대동맥류 (Aortic Aneurysm), 흉수 (Pleural Effusion), 농흉 (Empyema), 기흉 (Pneumothorax), 기복증 (Pneumoperitoneum), 심막기종 (Pneumopericardium), 기종격 (Pneumomediastinum), 피하 기종 (Subcutaneous Emphysema), 관상동맥석회화 (Coronary Artery Calcification), 심장 비대 (Cardiomegaly), 폐부종 (Pulmonary Edema), 심낭삼출 (Pericardial Effusion), 폐색전증 (Pulmonary Embolism), 챔버 (Chamber) (LA, LV, RA, RV) 비대증 (Enlargements), 판막 (Valvular):대동맥 (Aortic), 이첨판 (Mitral), 삼첨판 (Tricuspid), 폐동맥 (Pulmonic) 판막석회화 (Valve Calcification)/협착 (Stenosis)/역류 (Regur-gitation), 비대심근증 (Hypertrophic Cardiomyopathy), 늑골, 흉골, 척추의 각종 골절, 종양, 전이 (Fracture, Tumor, Metastasis)을 포함하는 것일 수 있다. 상기 분석부(14)의 분석 결과는 질병 진단을 포함하고, 질병을 진단하는 경우 심장의 리듬 이상(빈맥, 서맥, 각종 부정맥)과 심장의 구조 및 기능 이상(심부전, 심낭압전, 판막의 협착/부전, 폐동맥 고혈압, 폐색전증, 심근병증)을 포함할 수 있다.
일 실시예에서, 흉부 방사선 데이터는 일정하거나 불규칙한 시간 간격을 두고 측정한 복수의 흉부 방사선 데이터일 수 있다. 상기 각각의 흉부 방사선 데이터는, 상기 인코더를 통과하고, 그 각각의 수치 벡터를 획득하여 분석부(14)로부터 각각 진단을 얻거나, 복수의 수치벡터를 하나의 기계학습 알고리즘에 동시에 입력하여 상기 질병의 진단 혹은 질병의 호전 또는 악화 여부를 여부를 진단할 수 있다.
상기 분석부(14)는 상기 복수의 흉부 방사선 데이터로부터 얻은 수치 벡터 각각을 순차적인 벡터(sequential vector)로 배열할 수 있다. 복수의 수치 벡터를 입력으로 처리할 때는 복수의 수치 벡터를 벡터의 길이 방향으로 결합(concatenate)하여 하나의 입력으로 변환하여 하나의 멀티 레이어 퍼셉트론 네트워크(multilayer perceptron(MLP) network)에 통과시키거나, 벡터 길이의 수직 방향으로 결합하여 하나의 트랜스포머 네트워크(transformer network)에 통과시키거나, 결합하지 않고 하나의 RNN(recurrent neural network)에 검사 시행 순서에 따라 순차적으로 통과시킬 수 있다. 이때, 시간에 대한 정보를 함수를 이용해 인코딩(encoding)하여 상기 각각의 입력 수치 벡터와 결합(concatenate)하여 정확도를 높일 수 있다.
한편, 실시예들에서, 다운스트림 태스크 처리부(16)는 인코더에서 산출한 수치 벡터를 활용하여 다운스트림 태스크(downstream task)를 처리한다. 일 실시예에서, 다운 스트림 태스크의 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행할 수 있다.
일 실시예에서, 각 태스크 별 MLP네트워크는 인코더 네트워크와 함께 훈련 되거나, 인코더(12)가 먼저 훈련을 마친 후 별도로 훈련될 수 있다. 다운스트림 태스크 네트워크가 복수로 존재할 때 각각의 태스크 네트워크들은 멀티 태스크 러닝(multi-task learning)을 통해 동시에 훈련된다. 상기 다운스트림 태스크 네트워크는 인코더(12)에서 출력된 수치 벡터 외에 다른 추가적인 정형 테이터 입력 정보를 받아서 예측 정확도를 높일 수 있고, 이때 추가적인 정형 테이터 입력 정보는 수치 벡터에 결합(concatenate)되거나, 별도의 다른 입력 네트워크를 통해 처리될 수 있다. 상기 추가적인 정형 데이터 입력 정보는 나이, 성별, 바이탈 사인 (혈압, 맥박, 호흡수, 체온, SpO2, 혈당 등), 생체 신호 (Biosignals: ECG(심전도), PPG(광혈류측정), EEG(뇌파), 동맥 및 중심정맥의 침습적 압력 계측치 등), 검체 검사 결과 (각종 혈액검사, 조직검사 등), 자연어 정보, 흉부 방사선 이외 영상 데이터 등으로부터 추출되는 수치형 혹은 범주형 데이터 중 적어도 하나 이상에 해당한다.
일 실시예에서, 질병 분석 장치(1)는 환자로부터 후향적/전향적으로 얻어지는 심전도 영상들을 예컨대 실시간으로 직접 분석하여, 임상정보를 제공할 수 있는 자동 평가 장비(예컨대, 흉부 방사선 촬영, 저장, 분석 장비)과 결합될 수 있다.
비제한적인 일 예로서, 고정형 혹은 이동형 X선 촬영 장비, 의료 영상 저장 장비 (PACS), EHR (전자의무기록), 카메라 입력 기반 스마트 장비 내장 의료 인공지능 소프트웨어 등일 수 있지만 이에 제한되지 않는다.
또한, 일 실시예에서, 상기 질병 분석 장치(1)는 이미 흉부 방사선이 얻어져 종이나 화상에 출력된 시각화한 흉부 방사선의 이미지를 로컬 장비나 서버에서 직접 분석하여 임상정보를 제공하는 흉부 방사선 해석 장비와 결합될 수도 있다.
비제한적인 일 예로서, 예컨대, 앱이 설치된 기기, 카메라나 스캔장비를 이용하고 해석 알고리즘이 장착된 EHR(전자 건강 기록) 시스템 등일 수 있지만, 이에 제한되지 않는다.
한편, 흉부 방사선 데이터를 수치 벡터로 변환하는 방법(이하 “수치 벡터 변환 방법”)은 프로세서를 포함한 컴퓨팅 장치에 의해 수행된다. 상기 프로세서를 포함한 컴퓨팅 장치는, 예를 들어 상기 질병 분석 장치(1) 또는 이의 적어도 일부 구성요소(예컨대, 획득부(10), 인코더(12), 분석부(14) 및/또는 다운스트림태스크 처리부(16))[다운스트림 태스크 처리부(16)는 분석부(14) 별도로 또는 분석부(14)에 포함되어 존재할 수 있다]에 의해 수행되거나, 또는 다른 컴퓨팅 장치에 의해 수행될 수도 있다. 이하, 설명의 명료성을 위해서, 상기 수치 벡터 변환 방법이 상기 흉부 방사선 데이터를 수치 벡터로 변환하는 장치(1)에 의해 수행되는 실시예들로 본 발명을 보다 상세하게 서술한다.
도 2는 본 발명의 일 실시예에 따른 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 방법의 흐름도이다. 도 2를 참조하면, 질병을 분석하는 방법은: 프로세서에 의해 수행되고, 딥러닝을 이용하여 흉부 방사선 데이터(CXR)로부터 질병을 분석하는 방법에 있어서, (예를 들어 획득부(10)에 의해) 흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 단계(S10); (예를 들어 인코더(12)에 의해)상기 흉부 방사선 데이터를 인코더에 입력하는 단계(S121); 상기 인코더를 통해 딥러닝을 이용하여 수치 벡터를 산출하는 단계(S122); 및 (예를 들어 분석부(14)에 의해) 상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단을 수행하는 분석 단계(S14); 예를 들어 다운스트림 처리부(16)에 의해 추가적으로 또는 상기 분석부(14)에 의한 분석 단계(S14)의 일부로서 상기 수치 벡터를 활용하여 다운스트림 태스크(downstream task)를 처리하는 단계(S16)를 더 포함하고, 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 인코더 서브유닛을 도시하는 도면이다.
도 3을 참조하면, 일 실시예에서, 상기 인코더(12)는 CNN을 기반으로 하고, 복수의 컨볼루션 블록을 포함한다.
상기 인코더(12)는 인코더 서브유닛(subunit)을 포함한다.
상기 ECG 서브유닛은 제1 컨볼루션 레이어를 제외한 나머지 컨볼루션 블록에 포함된다.
상기 인코더 서브유닛은 상기 흉부 방사선 데이터를 채널 별로 독립하여 컨볼루션(convolution)하는 뎁스와이즈 세퍼러블 컨볼루션 레이어(depthwise-seperable convolution layer)를 포함할 수 있다.
상기 인코더(12)를 구성하는 인코더 서브유닛에서 흉부 방사선 데이터(흉부 방사선 이미지)는 2차례 뎁스와이즈 세퍼러블 컨볼루션 레이어를 거치고, 스킵 커넥션(skip connection)을 통해 다음 컨볼루션 레이어의 입력 데이터로 입력된다. 뎁스 와이즈 세퍼러블 컨볼루션은 뎁스와이즈(depth-wise) 컨볼루션 후, 포인트와이즈(point-wise) 컨볼루션이 뒤따르는 형태이다.
도 4는 본 발명의 일 실시예에 따른 인코더를 도시하는 도면이다. 도 4를 참조하면, 일 실시예에서, 입력단의 하나의 컨볼루션 레이어와 여기에 이어지는 4개 혹은 그 이상의 컨볼루션 블럭을 포함할 수 있다. 입력 데이터가 흉부 방사선 영상일 때, 제1 컨볼루션 레이어는 64개의 채널 출력을 갖는다. 이후 배치 정규화 레이어 및 맥스 풀링 레이어를 거친 후 4개의 컨볼루션 블록을 순차적으로 거치게 된다. 각각의 컨볼루션 블록은 2개의 순차적인 인코더 서브유닛을 포함하며, 맨 마지막 블록은 논 로컬 네트워크를 포함할 수 있다. 모든 블록을 통과하면 마지막으로 글로벌 풀링(global pooling) 과정을 거친다. 모든 컨볼루션 및 풀링 레이어의 커널 사이즈, 스트라이드 사이즈(stride size), 패딩(padding) 방식 및 출력 채널 수, 그리고 블록 수, 블록 별 서브유닛 수 및 논로컬 네트워크의 배치는 최적화의 대상으로, 다양한 최적화 방법들을 이용해(예를 들어 Grid, Random, Bayesian 최적화 방법 등) 결정할 수 있다.
일 실시예에서, 각 인코더 서브유닛은 도 3을 참조하여, 일련의 뎁스와이즈 세퍼러블 컨볼루션 레이어(예: stride 2), 배치 정규화 레이어, 뎁스와이즈 세퍼러블 컨볼루션 레이어(예: stride 1), 배치 정규화 레이어, 스퀴즈 엑사이테이션 레이어 구조를 갖고 있고, 이러한 일련의 처리 과정들을 바이패스(bypass)하여 결과 백터에 더해지는 하나의 스킵 커넥션을 포함할 수 있다.
스퀴즈 엑사이테이션(squeeze-excitation)이란, 특징 맵의 압축(squeeze)과 재조정(recalibration)을 통한 스케일(scale)이 핵심인 방법론이다. 채널 관계에 초점을 맞추고 채널 간의 상호 의존성을 명시적으로 모델링하여 채널 별 특징적 응답을 적응적으로 재조정한다.
일 실시예에서, 상기 인코더의 마지막 컨볼루션 블럭은 논 로컬 네트워크(non-local network)를 더 포함할 수 있다. 논 로컬 네트워크는 공간적(spatial)인 방식의 집중 메커니즘(attention mechanism)을 추가하는 것이다. 특징 맵의 특정 공간적 지점(spatial point)의 퀘리(query) 벡터와 전체 공간적 지점들의 키(key) 벡터 사이의 inner product 값을 구하고, 이를 소프트맥스(softmax) 연산을 통해 정규화(normalize)하면 특징맵의 각 위치마다 0에서 1 사이의 가중치에 해당하는 스칼라 값을 구할 수 있으며, 이를 각자에 대응되는 공간적 지점의 값(value) 벡터에 곱해서 모두 더함으로써, 특정 공간적 지점의 값(value) 벡터를 전체 공간적 지점들의 값(value)벡터들의 가중 합(weighted sum)으로 변환하게 된다. 이렇게 변환된 값에 원래의 특징 맵이 스킵 커넥션을 통해 합쳐서 출력 값을 형성한다. 위의 key, query, value에 해당하는 벡터들은 입력 특징 맵으로부터 각각의 독립적인 파라미터 함수를 이용해 계산된 것을 사용한다. 이러한 과정은 흉부 방사선 데이터의 특정 시점(1차원 입력 데이터의 특정 위치에 해당함)에 있는 특징(feature)을 분석할 때, 멀리 떨어져 있는 다른 시점의 신호도 함께 고려할 수 있게 해주어, 흉부 방사선 데이터의 전체적인 맥락을 좀 더 효율적으로 판단하게 해준다. 이와 대조적으로 일반적인 CNN은 local neighborhood만 연산하는 한계가 있다. Atrous 컨볼루션이나 큰 커널 사이즈를 사용하더라도 필터가 한번에 볼 수 있는 영역은 제한적이다. 이러한 시간축 또는 공간축으로 로컬한 정보만 알 수 있는 연산들은 보통 글로벌하게 보기 위해서 반복적인 연산을 수행한다. 그러나, 이러한 반복적인 연산은 비효율적이고 최적화하기 어려우며, 모델링할 때 멀티홉 의존성(multi-hop dependency)이 발생한다. 본 발명에서 사용된 논 로컬 네트워크(non-local network)는 다양한 특징 조합 사이에 가중 합(weighted sum)의 형태로 참조할 수 있게 해주어 이러한 제약을 극복하게 해준다. 본 발명의 실시예에서 논 로컬 네트워크는, 인코더의 마지막 컨볼루션 블록에 추가되어 사용되었으나, 그것의 배치는 입력 데이터와 사용 목적에 따라 가변적이다.
추가적인 실시예에서, 다양한 설정을 통해 훈련된 서로 다른 복수의 인코딩 네트워크(encoding network)들을 모아서 함께 이용할 수 있는데, 위에서 기술한 인코더는 입력 신호와 처리하는 문제 및 분석하는 장비에 따라 각 컨볼루션 레이어 내 다양한 개수와 형식의 뎁스와이즈 세퍼러블 컨볼루션 레이어들이 사용될 수 있다. 또한 커널 사이즈(kernel size), 스트라이드 사이즈(stride size), padding(패딩) 방식 및 출력 사이즈 등도 컨볼루션 레이어 별로 다양하게 설정할 수 있다. 이 경우 하나의 흉부 방사선 데이터에서 여러 개의 임베딩 벡터(embedding vector)들을 추출할 수 있게 되며 이 결과들을 모두 종합하여(예컨대, 결합(Concatenation), 추가(Addition), 집중 메커니즘(Attention mechanism)) 질병의 예측(prediction) 및 진단을 위해 사용할 수 있다.
일 실시예에서, 입력 데이터가 흉부 방사선 이미지를 특정 사이즈로 리사이즈(resize) 및 크로핑(cropping)하고 정규화(normalize)하여 입력한다. 입력데이터는 단색(monochrome)이기 때문에 입력시점의 Channel수는 1개가 일반적이지만 3채널 (혹은 alpha 채널이 포함된 4채널) 컬러 이미지도 다채널 2차원 이미지 데이터로 입력 하거나, 단색 이미지로 변환하여 입력 처리가 가능하다. 모든 컨볼루셔널 레이어 및 뎁스와이즈 세퍼러블 컨볼루션 레이어의 커널(kernel)이 2차원이다. 모든 풀링 레이어(max pooling 및 global average pooling)의 커널(kernel)이 2차원이다. 마지막 풀링(예: global average pooling) 후 출력은 N x D 혹은 D dimensional 벡터이다. 일 실시예에서, 인코더에서 산출된 수치 벡터 값을 활용하여 다운스트림 태스크를 위해 사용될 수 있다. 각각의 태스크는 2개 이상의 완전 연결 레이어(fully connected layer)를 갖는 멀티 레이어 퍼셉트론(MLP: multi-layer perceptron)이 수행한다. 각 태스크 별 MLP는1) 인코더와 함께 동시에(jointly) 훈련되거나, 2) 먼저 훈련을 마친 인코더(12)가 출력한 임베딩 벡터를 입력으로 받아 독립적으로 훈련될 수 있다. 만약 후자의 방식을 통해 훈련이 될 경우, 인코더의 가중치(weight) 값들을 고정시킨채 다운스트림 태스크 MLP만을 훈련시키되, 이러한 훈련을 마친 후 인코더의 가중치 값들의 가중치 고정을 해제하고 역전파를 통해 네트워크 전체를 추가적으로 훈련시키는 미세 조정(fine tuning) 과정을 추가할 수 있다.
일 실시예에서 각 태스크 별 MLP는 인코더(12)의 산출된 수치 벡터와 다른 추가적인 정형 데이터 입력 정보를 받아서 예측 정확도를 높이게 되며, 이때 추가적인 입력 정보는 표준화(standardization)와 같은 전처리 후 수치 벡터에 결합(concatenate)되거나, 별도의 다른 입력 네트워크를 통해 처리된 후 결합되어 입력으로 처리될 수 있다.
상기 MLP의 출력 값은(여러 수치를 예측 하는) 다변량 회귀 분석의 문제 일 경우 출력된 수치 벡터들이 그대로 사용된다.
분류의 문제(여러 항목 중 한가지를 선택)일 경우 소프트맥스(Softmax) 함수를 통과하여 각 항목에 포함될 확률을 구하여 가장 높은 확률을 가진 항목을 선택한다.
특정 사건들의 발생 유무를 예측하는 문제일 경우 각각의 출력 값들을 시그모이드(Sigmoid) 함수를 통과시켜, 이것을 사건이 발생할 확률로 해석하도록 한다. 이러한 확률은 흉부 방사선 데이터를 해석하여 얻어진 조건부 확률(conditional probability)이라고 볼 수 있으며, 이것을 출력할 때에는 입력된 흉부 방사선 데이터를 고려하지 않은 확률(marginal probability)을 베이스라인 위험 확률(baseline risk probability)로 함께 제시하고, 흉부 방사선 데이터에 의해 이러한 확률이 비율 상 몇 배가 증가했는지(conditional probability/marginal probability)를 가시적으로 보여주는 도표(예: 막대 그래프)를 디스플레이할 수 있다.
일 실시예에서, 본 발명에 포함되는 예시적인 다운스트림 태스크는 질병의 임상 진단 혹은 예측 태스크로써, 상기 질병은 급성호흡부전신드롬 (ARDS), 폐렴 (Pneumonia), 농양 (Abscess), 흡인성 폐렴 (Aspiration Pneumonia), 비정형폐렴 (Atypical Pneumonia), 활동성 결핵 (Active Tuberculosis), 비결핵 항산균 (Non-Tuberculous Mycobacteria), 만성폐쇄성폐질환 (COPD), 간질성 폐질환 (Interstitial Lung Disease), 기관지 확장증 (Bronchiectasis), 사르코이드증 (Sarcoidosis), 폐결절 (Lung Nodule), 폐 종괴 (Lung Mass), 폐암 (Lung Cancer), 폐전이 (Lung Metastasis), 대동맥 박리 (Aortic Dissection), 대동맥류 (Aortic Aneurysm), 흉수 (Pleural Effusion), 농흉 (Empyema), 기흉 (Pneumothorax), 기복증 (Pneumoperitoneum), 심막기종 (Pneumopericardium), 기종격 (Pneumomediastinum), 피하 기종 (Subcutaneous Emphysema), 관상동맥석회화 (Coronary Artery Calcification), 심장 비대 (Cardiomegaly), 폐부종 (Pulmonary Edema), 심낭삼출 (Pericardial Effusion), 폐색전증 (Pulmonary Embolism), 챔버 (Chamber) (LA, LV, RA, RV) 비대증 (Enlargements), 판막 (Valvular):대동맥 (Aortic), 이첨판 (Mitral), 삼첨판 (Tricuspid), 폐동맥 (Pulmonic) 판막석회화 (Valve Calcification)/협착 (Stenosis)/역류 (Regur-gitation), 비대심근증 (Hypertrophic Cardiomyopathy), 늑골, 흉골, 척추의 각종 골절, 종양, 전이 (Fracture, Tumor, Metastasis)을 포함하는 것일 수 있다.
이를 위해서 흉부 방사선 이외에 추가적인 정형 데이터 정보를 입력으로 받을 수 있으며, 상기 추가적인 정형 데이터 입력 정보는 나이, 성별 및 정형적 생체 정보(혈압, 맥박수, 호흡수, 체온, 수치 검사 결과 등) 및 적절한 변형을 통해 정형화된 비정형 정보(주증상, 기저질환, 텍스트, 초음파 영상 정보, 청진음과 같은 음향정보 및 각종 바이오 시그널)에 해당한다.
본 발명의 실시예들에서 인코더의 수치 벡터 (임베딩) 퀄리티를 높이고자 인코더의 훈련 과정에서 크게 3가지의 보조 학습 태스크 (지도학습/ 자가지도학습/ 비지도학습)를 적용할 수 있다.
첫번째로 지도학습(supervised learning)을 다운스트림 태스크로 병행할 수 있다. 이것은 흉부 방사선 영상의 기술적 특성 (촬영 방식 - PA, AP, Lateral 및 촬영 관련 파라미터 - 에너지 및 노출 기간), 촬영 대상의 특성 (나이, 성별, 키, 체중, 기저질환), 질병의 진단을 내리는데 도움이 되는 방사선 영상의 형태적 특성, 예를 들어 경화 (consolidation), 침윤 (infiltration), 공동 (cavitation), 허탈 (atelectasis), 기도 치우침 (airway deviation), 공기-액체 경계 (air-fluid level), 경결 (nodule), 경결 패턴 (nodular pattern), 그물 패턴 (reticular pattern), 벌집 패턴 (honeycombing), 간유리 패턴 (ground glass pattern), 심-흉곽 비율 증가 (increased cardio-thoracic ratio), 종격동 확장 (mediastinal enlargement), 관상동맥 석회화 (coronary calcification), A-line, B-line 유무, 간질 마킹 (interstitial marking) 증가 등이 있다. 또한 가까운 시점에 함께 시행된 폐기능검사의 정량화된 결과 (FVC, FEV, TV, MV, TLC, RV, FEF, PEFR 등) 및 이들의 증가/감소 여부, 혹은 가까운 시점에 함께 시행된 심초음파 검사 결과 (좌심실 기능, 우심실 기능, 심낭 삼출, 좌/우 심방 크기, 좌/우 심실 크기, 폐동맥 고혈압)를 정량화해서 보여주는 모든 파라미터들과, 이들의 이상 유무도 보조 학습 태스크에 포함된다. 이러한 지도 학습에 기반한 태스크는 이미 임상적으로 잘 정의 되어있는 형태적 혹은 임상적 특징들이 수치 벡터에 반영되도록 하여 수치벡터의 퀄리티를 높여준다.
참고로 상기 학습 내용들은 주로 흉부 방사선에서 관찰되는 형태적 패턴을 의학자들 또는 임상가들이 추출하여 정의한 것이거나, 가까운 시점에서 함께 시행된 검사들을 통해 제공되는 임상 정보에 해당한다. 이러한 학습 내용들은 자체 만으로는 최종 진단이라고 할 수 없다. 그러나 상기 내용들을 학습하도록 훈련시키는 과정에서 인코더 네트워크의 수치 벡터 (임베딩) 퀄리티가 향상된다. 또한 상기 지도학습에 의한 보조 학습 태스크도 때때로 임상에서 유용하게 사용될 수 있기 때문에, 훈련된 네트워크 결과를 출력하여 임상결정에 활용할 수 있다.
두번째로 자가 지도학습 (self-supervised learning)을 다운스트림 태스크로 병행할 수 있다. 이것은 원본 흉부 방사선 데이터를 특정 방식으로 변형한 후 (이미지 증강, image augmentation), 1) 변형의 종류(및 내용)을 추론해 내는 방식과, 2) 변형된 입력을 이용해 원본을 복원해 내는 방식을 포함한다. 상기 1)의 방식에서 사용되는 변형들은 원본 영상의 i) 다양한 노이즈를 추가하거나, ii) 영상 전체의 설정값 (밝기, 채도, 대조)의 무작위 변경하거나, iii) 영상의 특정 구획(들)을 잘라내서 버리거나, 특정 영역만 선택하고 나머지는 버리는 방식, iv) 영상을 잘라내어 무작위로 재구성하는 방식 등 다양하다. 이러한 변형들은 한가지 혹은 그 이상 중복으로 적용될 수 있으며, 어느 변형이 (혹은 어떤 조합이) 적용되었는지 맞추는 것이 주 업무이며, 때로는 변형의 구체적 내용도 추론하도록 훈련시킬 수 있다. 상기 2)의 방식에서도 유사한 이미지 변형들을 사용할 수 있다. 이러한 자가지도 학습 태스크는 흉부 방사선의 형태적 특성을 수치 벡터가 더 잘 반영하도록 하여 고품질의 수치 벡터를 추출할 수 있게 해준다.
세번째로 비지도학습(unsupervised learning)을 다운스트림 태스크로 병행할 수 있다. 본 발명에서 적용되는 비지도 학습 내용은 다음과 같다. 본 발명의 네트워크 훈련과정은 상기 언급한 바와 같은 data augmentation 과정을 적용한다. 이 과정에서 하나의 흉부 방사선 데이터로 부터 N 개의 변형된 흉부 방사선 입력 데이터가 만들어지며, 이 경우 원본 흉부 방사선이 M개라면 M X N개의 흉부 방사선 입력값이 만들어 지게 된다. 이 M X N개의 흉부 방사선에서 2개의 흉부 방사선이 추출되었을 때 2개의 흉부 방사선이 원본이 같다면 이로부터 만들어지는 수치 벡터는 동일하거나 매우 유사해야 하며, 이러한 제약을 만족시키기위 위해, 본 비지도 학습 태스크에서는 기존의 loss function에, 동일한 원본으로부터 나온 두개의 augmented data point 상의 거리를 최소화하는 다음과 같은 loss term을 추가하게 된다.
여기서 β는 임의로 조정할 수 있는 hyper-parameter이고 I는 indicator function, 는 두 벡터의 거리를 말한다. 일 예로 거리를 측정하는 방식은 유클리드 거리를 사용할 수 있으나, 여기에 국한되지 않고 각 문제 상황에 따라 β값과 마찬가지로 변경될 수 있다. 이와 같은 loss term의 추가는 수치 벡터로부터 얻어지는 벡터 공간에서 각각의 수치벡터가 유사한 형태를 띌수록 가까이 배치되도록 인코더를 훈련시켜, 수치벡터로 정의되는 벡터공간 내에서 각 수치 벡터들이 효율적으로 배치되도록 해주어, 수치 벡터가 갖는 임베딩 퀄리티의 향상을 가져온다.
상기와 같이 지도/자가지도/비지도 학습에 기반한 보조 학습 태스크를 병행할 때, 학습을 위한 다운스트림 태스크 네트워크는 인코더 네트워크와 함께(jointly) 훈련되며, 이것은 임상적 진단/예측을 목적으로 하는 다운스트림 네트워크의 훈련에 선행하여 독립적으로 진행되거나, 상기 임상 진단/예측 네트워크의 훈련과 동시에 진행될 수 있다. 만약 선행하는 방식일 경우(pretrain), 선행 훈련을 마친 후 인코더의 가중치(weight)를 고정하고, 임상 진단/예측 네트워크만 훈련시키게 되며, 이후 필요시 인코더의 가중치 고정을 풀고, 둘 (인코더와 임상진단/예측을 위한 다운스트림 태스크 네트워크) 을 동시에 훈련하는 미세 조정(fine tuning) 과정을 적용하게 된다. 만약 자가지도 학습 네트워크와 임상 진단/예측 네트워크를 동시에 훈련시키는 경우, 가중치 업데이트는 인코더를 포함한 모든 네트워크의 가중치 전체에서 이루어지게 된다.
위에서 언급한 지도/자가지도/비지도 학습의 선행/병행 학습은 인코더가 출력해내는 수치 벡터(임베딩 벡터)가 흉부 방사선에서 보여지는 임상적 정보와, 이와 무관한 그 자체의 형태적 정보들을 추가하여 동시에 포함하도록 함으로써 그것의 범용성을 높여주고 (지도/자가지도 학습), 수치벡터가 배치되는 벡터공간을 효율적으로 재배치 해줌으로써 (비지도 학습), 인코더를 미리 계획하지 않은 다른 종류의 다운스트림 태스크에 효율적으로 활용할 수 있도록 해준다. 즉 이것은 few-shot, one-shot learning을 구현하는데 더욱 도움이 되는 효과가 있다.
한편, 아래 실시예들에서, 전술한 인코더 또는 이로부터 추출된 수치 벡터의 활용 예들은 다음과 같다.
수치 벡터의 활용 예
본 발명의 예시적인 수치 벡터의 활용 예로서, 임상 진료, 구급, 재해 현장에서의 환자 진단 및 분류(Diagnosis and Triage): 인코더로부터 얻어진 수치 벡터 외 추가적인 정보를 모두 결합(concatenate)하여 하나의 입력 벡터로 만들고, 그것을 새로운 다운스트림 태스크 네트워크(downstream task network)를 통과시켜 원하는 임상 진단, 임상 사건/처치 예측을 시행하는데 사용할 수 있다.
상기 추가적인 정형 데이터 정보는 나이, 성별이나 혈압, 맥박수, 체온, 호흡수, 산소포화도와 같은 생체 신호(vital signs), 각종 수치 검사 결과(laboratory test results)와 같은 기존의 정형화된 정보, 기계학습 방법을 통해 정형화된 수치 정보로 변환된 비정형 데이터(흉부방사선 외 영상, 소리, 바이오 시그널 등), 자연어 처리를 통해 수치 벡터로 변형된 증상, 진단명, 의무기록 등과 같은 자연어 정보 중 적어도 하나를 포함할 수 있다.
사용되는 다운스트림 태스크 네트워크는 바람직한 일 예로 위에서 이미 언급된 배치 정규화(batch normalization), 드랍아웃 레이어(dropout layer) 및 비선형 활성화 함수(non-linear activation, 예컨대 Relu가 포함된 2개 이상의 완전 연결 층(fully-connected layer)로 구성되어 있는 멀티레이어 퍼셉트론 네트워크(Multilayer perceptron neural network)가 될 수 있으나 구체적인 구성은 사용 목적에 따라 다양할 수 있다.
새로운 다운스트림 태스크 네트워크를 훈련할 때에는 앞서 언급된 바와 같이 먼저 인코더의 가중치(weight)들을 고정시킨 후 새로운 다운스트림 네트워크의 가중치를 훈련을 통해 업데이트한 후 이어서 인코더와 다운스트림 태스크 네트워크의 가중치 전체를 추가적인 훈련을 통해 업데이트하는 미세 조정(fine tuning)을 적용할 수 있다.
도 5는 본 발명의 또 다른 일 실시예에 따른, 반복적인 계측을 통해 얻어진 복수의 흉부 방사선 데이터로부터 얻은 수치 벡터의 활용을 도시하는 도면이다.
도 5를 참조하면, 흉부 방사선은 흔히 한 환자에서 여러 차례 시행된다. 폐렴이나 폐부종을 의심할 때에는 수시간에서 수일마다 시행되고, 안정적인 환자에서는 수주에서 수년 간격으로 시행된다. 이러한 반복적인 계측을 통해 알고자 하는 것은 시간에 따른 흉부 방사선의 형태적 변화를 의사가 임상적으로 평가하여 특정 질환/상태의 위험도를 진단하고자 함이다. 동일한 기능을 인공지능을 통해 구현하려면, 반복적으로 시행된 각각의 흉부 방사선 데이터의 비정형적인 형태적 특징을 일관적인 방식으로 수치화해야 하는데, 이러한 역할을 본 발명의 실시예의 인코더가 수행하게 된다.
즉, 먼저 특정 임상적 기준(예를 들어 시간 간격)을 충족하는 2개의 흉부 방사선을 분석하는 방식으로 각각의 흉부 방사선 데이터를 각각의 인코더를 통과시켜(두 ECG인코더는 파라미터 가중치들이 동일할 수 있다: parameter sharing) 얻은 2개의 수치 벡터를 결합(concatenate)하여 하나의 입력 수치 벡터로 만든다. 그리고 앞서 언급한 방식으로 다운스트림 태스크 네트워크를 생성하되, 입력단은 상기 입력 벡터 형식을 받아들일 수 있고, 출력단은 예측하고자 하는 특정 진단 (혹은 진단 그룹을) 예측할 수 있도록 구조를 정하여 해당 모델을 학습시킨다. 이 때 예측/진단의 시점은 일반적으로 가장 최근에 시행된 검사의 시점이 된다. 이 경우의 활용예로서는 예컨대, 모든 종류의 폐렴 (및 폐 감염증), 폐부종, 폐암 유무 및 심한 정도, 폐전이 유무 및 심한 정도, (심방 및 심실의) 심비대, 심기능 (좌/우 심실 수축 기능) 변화, 심장 밸브 협착/부전, 관상동맥 칼슘침착 및 협착, 간질성 폐질환 유무 및 심한 정도, 만성 폐쇄성 폐질환/폐기종 등의 유무 및 심한 정도, 수액치료 전 후 환자 상태의 개선 (쇽의 호전) 혹은 악화 (심부전/폐부종의 발생) 등을 들 수 있지만, 이에 제한되지 않는다.
도 6은 본 발명의 또 다른 일 실시예에 따른, N개의 순차적으로 얻어진 수치 벡터의 활용을 도시하는 도면이다.
도 6을 참조하면, 특정 임상적 기준을 만족하는 N개의 순차적으로 시행된 흉부 방사선 데이터를 하나의 인코더(12)를 통과 시킨다. 이것은 비정형 데이터인 흉부 방사선 데이터들의 임베딩에 해당하며, 이를 통해 N 개의 순차적으로 얻어진 수치 벡터를 얻게 된다. 이렇게 얻어진 순차적인 임베딩 벡터들을 입력으로 정하고, 일반적인 RNN(LSTM이나 GRU) 혹은 트랜스포머(Transformer) 네트워크에 통과 시켜서 환자가 시간 경과에 따라 특정 질환이 호전/악화 되는지, 혹은 특정 임상적 이벤트가 발생할 것이지를 예측하는 학습 모델을 훈련 시켜 활용할 수 있다. 입력값으로 사용되는 순차적인 수치 벡터 각각에는 부가적인 정보를 결합(concatenate)하여 보강하여 사용할 수 있는데, 여기에는 수치 벡터로 변환된 임상 정보(나이, 성별, 혈압, 맥박수, 호흡수, 체온, 증상, 정형화된 검사 결과)들이 포함될 수 있다. 그리고 여기서 활용되는 RNN이나 Transformer 네트워크는 반복적으로 측정하여 순차적으로 구성된 수치벡터들을 처리할 수 있는 신경망 구조에 대한 하나의 예시일 뿐이고, 이 외에 유사한 기능을 할 수있는 어떠한 기계학습 알고리즘이라면 활용이 가능하다.
활용 예로서는 예컨대, 반복적으로 측정되어 온 복수의 흉부 방사선을 활용하여, 폐렴 (및 폐 감염증), 폐부종, 폐암 유무 및 심한 정도, 폐전이 유무 및 심한 정도, (심방 및 심실의) 심비대, 심기능 (좌/우 심실 수축 기능) 변화, 심장 밸브 협착/부전, 관상동맥 칼슘침착 및 협착, 간질성 폐질환 유무 및 심한 정도, 만성 폐쇄성 폐질환/폐기종 등의 유무 및 심한 정도, 수액치료 전 후 환자 상태의 개선 (쇽의 호전) 혹은 악화 (심부전/폐부종의 발생) 등의 위험도를 계산해내거나 진단해내는 인공지능 알고리즘을 흉부 방사선 기계나, PACS, 전자의무기록 프로그램에 탑재할 수 있다.
이상에서 상술한 질병 분석 장치는 프로세서, 메모리, 사용자 입력장치, 프레젠테이션 장치 중 적어도 일부를 포함하는 컴퓨팅 장치에 의해 구현될 수 있다.
메모리는, 프로세서에 의해 실행되면 특정 태스크를 수행할 수 있도록 코딩되어 있는 컴퓨터-판독가능 소프트웨어, 애플리케이션, 프로그램 모듈, 루틴, 명령어(instructions), 및/또는 데이터 등을 저장하는 매체이다. 프로세서는 메모리에 저장되어 있는 컴퓨터-판독가능 소프트웨어, 애플리케이션, 프로그램 모듈, 루틴, 명령어(instruction), 및/또는 데이터 등을 판독하여 실행할 수 있다. 사용자 입력장치는 사용자로 하여금 프로세서에게 특정 태스크를 실행하도록 하는 명령을 입력하거나 특정 태스크의 실행에 필요한 데이터를 입력하도록 할 수 있다. 사용자 입력 장치는 물리적인 또는 가상적인 키보드나 키패드, 키버튼, 마우스, 조이스틱, 트랙볼, 터치-민감형 입력 수단, 또는 마이크로폰 등을 포함할 수 있다. 프레젠테이션 장치는 디스플레이, 프린터, 스피커, 또는 진동장치 등을 포함할 수 있다.
컴퓨팅 장치는 스마트폰, 태블릿, 랩탑, 데스크탑, 서버, 클라이언트 등의 다양한 장치를 포함할 수 있다. 또한 카메라가 달린 웨어러블 장비로써, 일례로 카메라 탑재 안경이나 신체나 옷에 부착할 수 있거나 장신구와 일체화된 카메라로써 흉부방사선 입력을 분석하고 출력할 수 있는 기능을 내장하거나, 이러한 기능을 내장하는 외부 컴퓨팅 장비와 통신이 가능한 장치를 포함할 수 있다. 컴퓨팅 장치는 하나의 단일한 스탠드-얼론 장치일 수도 있고, 통신망을 통해 서로 협력하는 다수의 컴퓨팅 장치들로 이루어진 분산형 환경에서 동작하는 다수의 컴퓨팅 장치를 포함할 수 있다.
또한 상술한 수치 벡터 변환 방법은, 프로세서를 구비하고, 또한 프로세서에 의해 실행되면서 흉부 방사선 데이터를 수치 벡터로 변환하여 수치 벡터 변환 방법 을 수행할 수 있도록 코딩된 컴퓨터 판독가능 소프트웨어, 애플리케이션, 프로그램 모듈, 루틴, 명령어, 및/또는 데이터 구조 등을 저장한 메모리를 구비하는 컴퓨팅 장치에 의해 실행될 수 있다.
상술한 본 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 본 실시예들에 따른 수치 벡터 변환 방법은 하나 또는 그 이상 의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러 또는 마이크로 프로세서 등에 의해 구현될 수 있다.
예를 들어 실시예들에 따른 수치 벡터 변환 방법은 심층 신경망의 뉴런(neuron)과 시냅스(synapse)가 반도체 소자들로 구현된 인공지능 반도체 장치를 이용하여 구현될 수 있다. 이때 반도체 소자는 현재 사용하는 반도체 소자들, 예를 들어 SRAM이나 DRAM, NAND 등일 수도 있고, 차세대 반도체 소자들, RRA이나 STT MRAM, PRAM 등일 수도 있고, 이들의 조합일 수도 있다.
실시예들에 따른 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석 방법을 인공지능 반도체 장치를 이용하여 구현할 때, 신경망 모델을 소프트웨어로 학습한 결과(가중치)를 어레이로 배치된 시냅스 모방소자에 전사하거나 인공지능 반도체 장치에서 학습을 진행할 수도 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 실시예들에 따른 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석 방법은 이상에 서 설명된 기능 또는 동작들을 수행하는 장치, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
또한, 위에서 설명한 바와 같이, “부”, “장치”, “모듈” "시스템", "프로세서", "컨트롤러", "컴포넌트", "인터페이스", 또는 "유닛" 등의 용어는 일반적으로 컴퓨터 관련 엔티티 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실 행 중인 소프트웨어를 의미할 수 있다. 예를 들어, 전술한 구성요소는 프로세서에 의해서 구동되는 프로세스, 프로세서, 컨트롤러, 제어 프로세서, 개체, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만 이에 국한되지 않는다. 예를 들어, 컨트롤러 또는 프로세서에서 실행 중인 애플리케이션과 컨트롤러 또는 프로세서가 모두 구성 요소가 될 수 있다. 하나 이상의 구성 요소가 프로세스 및/또는 실행 스레드 내에 있을 수 있으며, 구성요소들은 하나의 장치(예: 시스템, 컴퓨팅 디바이스 등)에 위치하거나 둘 이상의 장치에 분산되어 위치할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 기술 사상의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이므로 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함 되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 장치에 있어서,
    흉부 방사선 데이터를 획득하는 획득부;
    상기 흉부 방사선 데이터를 입력 받아 딥러닝 알고리즘을 이용하여 제1 수치 벡터를 산출하는 인코더; 및
    상기 인코더에서 산출된 제1 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단에 관한 정보인 분석 결과를 제공하는 분석부; 를 포함하고,
    상기 제1 수치 벡터는 흉부 방사선 데이터로부터 추출할 수 있는 해부학적 특징을 맥락적으로 포함하는 흉부 방사선 데이터로부터 추출된 특징들에 연관된 정형 데이터인 것을 특징으로 하는 장치.
  2. 제 1 항에 있어서,
    상기 제1 수치벡터를 활용하여 다운스트림 태스크를 처리하는 하나 이상의 다운스트림 태스크 처리부를 더 포함하는 것을 특징으로 하는 장치.
  3. 제 1 항에 있어서,
    상기 제1 수치 벡터는 기계학습에 이용되는 것을 특징으로 하는, 장치.
  4. 제 1 항에 있어서,
    상기 분석부가 제공하는 질병 진단에 관한 정보는 빈맥, 서맥, 각종 부정맥 및 적어도 하나 이상을 포함하는 심장의 리듬 이상과 심부전, 심낭압전, 판막의 협착/부전, 폐동맥 고혈압, 폐색전증, 심근병증 및 적어도 하나 이상을 포함하는 심장의 구조 및 기능 이상을 포함하는 것을 특징으로 하는, 장치.
  5. 제 4 항에 있어서,
    상기 분석부가 예측 및 진단하는 질병은 급성호흡부전신드롬 (ARDS), 폐렴 (Pneumonia), 농양 (Abscess), 흡인성 폐렴 (Aspiration Pneumonia), 비정형폐렴 (Atypical Pneumonia), 활동성 결핵 (Active Tuberculosis), 비결핵 항산균 (Non-Tuberculous Mycobacteria), 만성폐쇄성폐질환 (COPD), 간질성 폐질환 (Interstitial Lung Disease), 기관지 확장증 (Bronchiectasis), 사르코이드증 (Sarcoidosis), 폐결절 (Lung Nodule), 폐 종괴 (Lung Mass), 폐암 (Lung Cancer), 폐전이 (Lung Metastasis), 대동맥 박리 (Aortic Dissection), 대동맥류 (Aortic Aneurysm), 흉수 (Pleural Effusion), 농흉 (Empyema), 기흉 (Pneumothorax), 기복증 (Pneumoperitoneum), 심막기종 (Pneumopericardium), 기종격 (Pneumomediastinum), 피하 기종 (Subcutaneous Emphysema), 관상동맥석회화 (Coronary Artery Calcification), 심장 비대 (Cardiomegaly), 폐부종 (Pulmonary Edema), 심낭삼출 (Pericardial Effusion), 폐색전증 (Pulmonary Embolism), 챔버 (Chamber) (LA, LV, RA, RV) 비대증 (Enlargements), 판막 (Valvular): 대동맥(Aortic), 이첨판(Mitral), 삼첨판(Tricuspid), 폐동맥(Pulmonic) 판막석회화 (Valve Calcification)/협착 (Stenosis)/역류 (Regur-gitation), 비대심근증 (Hypertrophic Cardiomyopathy), 늑골, 흉골, 척추의 각종 골절, 종양, 전이 (Fracture, Tumor, Metastasis)을 포함하는 것을 특징으로 하는, 장치.
  6. 제 2 항에 있어서,
    상기 하나 이상의 다운스트림 태스크 처리부는 나이, 성별, 혈압, 맥박수, 호흡수, 체온, 수치 검사 결과를 포함하는 정형적 생체 정보 및 주증상, 기저질환, 텍스트, 초음파 영상 정보, 청진음과 같은 음향정보 및 각종 바이오 시그널을 포함하는 변형을 통해 정형화된 비정형 정보를 포함하는 추가적인 정형 데이터 입력 정보를 더 입력 받고,
    상기 추가적인 정형 데이터 입력 정보는 상기 제1 수치 벡터와 결합(concatenate)되거나 상기 제1 수치 벡터와 별도로 입력되는 것을 특징으로 하는, 장치.
  7. 제 1 항에 있어서,
    상기 흉부 방사선 데이터는 단일 채널 또는 다채널의 이미지이고, 상기 인코더에 입력되는 흉부 방사선 데이터는 C X W X H (채널 수 X 가로축 픽셀 수 X 세로축 픽셀 수)의 2차원 또는 3차원 어레이(array) 형태인 것을 특징으로 하는, 장치.
  8. 제1항에 있어서,
    상기 흉부 방사선 데이터는 흉부 방사선 이미지이고,
    상기 흉부 방사선 이미지는 특정 사이즈로 리사이즈(resize) 및 크로핑(cropping)되고 정규화(normalize)되어 인코더에 입력되는 것을 특징으로 하는, 장치.
  9. 프로세서에 의해 수행되고 흉부 방사선 데이터를 수치 벡터로 변환하여 질병을 분석하는 방법에 있어서,
    흉부 방사선 측정 장치로부터 흉부 방사선 데이터를 획득하는 단계;
    상기 흉부 방사선 데이터를 인코더에 입력하는 단계;
    상기 인코더를 통해 딥러닝을 이용하여 수치 벡터를 산출하는 단계;
    상기 수치 벡터를 이용하여 질병 관련 분석, 예측 또는 진단을 수행하는 분석 단계; 및
    상기 수치 벡터를 활용하여 하나 이상의 다운스트림 태스크(downstream task)를 처리하는 단계;를 포함하는, 방법.
  10. 컴퓨터에 의해 판독 가능하고, 상기 컴퓨터에 의해 동작 가능한 프로그램 명령어를 저장하는 컴퓨터 판독가능한 기록매체로서, 상기 프로그램 명령어가 상기 컴퓨터의 프로세서에 의해 실행되는 경우 상기 프로세서가 제9항의 방법을 수행하게 하는 컴퓨터 판독가능 기록매체.

KR1020230061865A 2022-06-07 2023-05-12 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치 KR20230168587A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/007755 WO2023239151A1 (ko) 2022-06-07 2023-06-07 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220069096 2022-06-07
KR1020220069096 2022-06-07

Publications (1)

Publication Number Publication Date
KR20230168587A true KR20230168587A (ko) 2023-12-14

Family

ID=89167062

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230061865A KR20230168587A (ko) 2022-06-07 2023-05-12 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20230168587A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163217B1 (ko) 2018-06-14 2020-10-08 한국과학기술원 심층 컨볼루션 신경망을 이용한 심전도 부정맥 분류 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163217B1 (ko) 2018-06-14 2020-10-08 한국과학기술원 심층 컨볼루션 신경망을 이용한 심전도 부정맥 분류 방법 및 장치

Similar Documents

Publication Publication Date Title
US11957507B2 (en) Systems and methods for a deep neural network to enhance prediction of patient endpoints using videos of the heart
Litjens et al. State-of-the-art deep learning in cardiovascular image analysis
US10304198B2 (en) Automatic medical image retrieval
Ulloa Cerna et al. Deep-learning-assisted analysis of echocardiographic videos improves predictions of all-cause mortality
Song et al. Deep learning-based automatic segmentation of images in cardiac radiography: a promising challenge
KR102437594B1 (ko) 전기적 바이오 시그널 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
JP2018175226A (ja) 医用画像分類装置、方法およびプログラム
Aledhari et al. Optimized CNN-based diagnosis system to detect the pneumonia from chest radiographs
CN113571183B (zh) Covid-19患者管理的风险预测
Chagas et al. A new approach for the detection of pneumonia in children using CXR images based on an real-time IoT system
WO2023239151A1 (ko) 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
Kumar et al. Medical images classification using deep learning: a survey
Wu et al. A deep learning method for predicting the COVID-19 ICU patient outcome fusing X-rays, respiratory sounds, and ICU parameters
CN111226287A (zh) 用于分析医学成像数据集的方法、用于分析医学成像数据集的***、计算机程序产品以及计算机可读介质
Ragnarsdottir et al. Interpretable prediction of pulmonary hypertension in newborns using echocardiograms
KR20230168587A (ko) 흉부 방사선 데이터를 수치 벡터로 변환하는 방법 및 장치, 이를 이용하여 질병을 분석하는 방법 및 장치
Ulloa et al. A deep neural network to enhance prediction of 1-year mortality using echocardiographic videos of the heart
KR20210094973A (ko) 피검체의 중증도 정보 또는 긴급도 정보를 제공하는 방법 및 이를 이용한 장치
Ryan et al. Cluster activation mapping with applications to medical imaging
Tian et al. A Heart Segmentation Algorithm Based on Dynamic Ultrasound
Rudnicka et al. Advancements in artificial intelligence-driven techniques for interventional cardiology
Cerna Large scale electronic health record data and echocardiography video analysis for mortality risk prediction
Han et al. Reconstruction of Patient-Specific Confounders in AI-based Radiologic Image Interpretation using Generative Pretraining
EP4394796A1 (en) Multimodal cardio disease state predictions combining electrocardiogram, echocardiogram, clinical and demographical information relating to a patient
Abudaqa et al. Survey on Enhancement of Nuclear Cardiology Images Based on Image Processing Techniques for Diagnosis of Ischemic Patients