KR102881156B1 - 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치 - Google Patents

심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치

Info

Publication number
KR102881156B1
KR102881156B1 KR1020230092995A KR20230092995A KR102881156B1 KR 102881156 B1 KR102881156 B1 KR 102881156B1 KR 1020230092995 A KR1020230092995 A KR 1020230092995A KR 20230092995 A KR20230092995 A KR 20230092995A KR 102881156 B1 KR102881156 B1 KR 102881156B1
Authority
KR
South Korea
Prior art keywords
segments
disease
outliers
health status
electrocardiogram
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020230092995A
Other languages
English (en)
Other versions
KR20240013673A (ko
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 JP2025503117A priority Critical patent/JP2025528719A/ja
Priority to CN202380053967.3A priority patent/CN119585815A/zh
Priority to PCT/KR2023/010344 priority patent/WO2024019500A1/ko
Priority to EP23843346.0A priority patent/EP4542572A4/en
Publication of KR20240013673A publication Critical patent/KR20240013673A/ko
Priority to KR1020250160289A priority patent/KR20250161491A/ko
Application granted granted Critical
Publication of KR102881156B1 publication Critical patent/KR102881156B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/318Heart-related electrical modalities, e.g. electrocardiography [ECG]
    • A61B5/346Analysis of electrocardiograms
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7225Details of analogue processing, e.g. isolation amplifier, gain or sensitivity adjustment, filtering, baseline or drift compensation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7271Specific aspects of physiological measurement analysis
    • A61B5/7275Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Signal Processing (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physiology (AREA)
  • Data Mining & Analysis (AREA)
  • Psychiatry (AREA)
  • Epidemiology (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Cardiology (AREA)
  • Evolutionary Computation (AREA)
  • Primary Health Care (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Fuzzy Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치가 개시된다. 상기 방법은, 심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 단계; 사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출하는 단계; 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치(outlier)를 제거하는 단계; 및 상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 단계를 포함할 수 있다.

Description

심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치{METHOD, PROGRAM, AND APPARATUS FOR PREDICTION OF HEALTH STATUS USING ELECTROCARDIOGRAM SEGMENT}
본 개시의 내용은 의료 분야의 데이터 처리 기술에 관한 것으로, 구체적으로 인공지능을 이용하여 심전도에 대한 안정적이고 정확한 분석을 위해 심전도 데이터를 필터링 하고, 필터링된 데이터를 기초로 건강 상태를 예측하는 방법에 관한 것이다.
심전도 검사는 심장의 전기 활동을 기록하는 검사이다. 심전도 검사는 비교적 간단하고 비용 효율적인 검사 방법으로, 심장의 건강 상태를 확인할 수 있으며, 이는 심장 질환의 초기 진단과 관리에 있어 중요한 역할을 한다. 예를 들어, 심전도 검사를 통해 측정된 심전도 신호는 심장의 각 부분이 정상적으로 작동하는지, 심장의 크기와 위치가 정상적인지, 그리고 심장 근육에 손상이 있는지 등을 확인하는 데 사용될 수 있다. 그리고, 심전도 신호는 이러한 확인을 기반으로 다양한 심장 관련 문제를 진단하고, 사람의 건강 상태를 예측하는데 사용될 수 있다.
한편, 인공지능 기술이 발전함에 따라, 인공지능 기술을 이용하여 심전도를 분석하는 시도들이 늘어나고 있다. 신경망 기반의 모델에 심전도를 입력하여 각종 심장 질환을 예측하는 서비스가 대표적인 예시 중 하나이다. 이러한 종래 기술 및 서비스들은 대부분 심전도의 전체 혹은 일부를 한번에 인공지능 모델을 통해 처리하는 형태이다. 그런데, 이와 같은 종래 형태는 심전도 신호 자체에 문제가 있는 경우에 정확한 결과 값을 출력하지 못할 확률이 높다. 예를 들어, 심전도 신호 자체가 많은 노이즈를 포함하는 경우나 심전도 신호의 측정 과정에서 결측 구간이 발생하는 경우, 종래 기술 및 서비스들은 정확한 분석 값을 인공지능 모델을 통해 제공하지 못하고, 심전도 신호의 측정 자체를 다시 수행할 것을 요구할 수 밖에 없다.
대한민국 등록특허공보 제10-2439082호(2022.08.31.)
본 개시는 하나의 심전도 신호를 여러 개로 분할하고, 분석에 적절한 신호를 필터링 함으로써, 분석의 정확도를 높이고 분석의 편의성을 높일 수 있는 방법을 제공하는 것을 목적으로 한다.
다만, 본 개시에서 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재를 근거로 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 심전도 세그먼트를 이용한 건강 상태의 예측 방법이 개시된다. 상기 방법은, 심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 단계; 사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출하는 단계; 상기 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치(outlier)를 제거하는 단계; 및 상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 단계는, 상기 심전도 데이터에서 신호를 겹치는 영역이 없이 소정의 길이로 분할하여, 상기 복수의 세그먼트들을 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 단계는, 고정된 크기의 윈도우를 상기 심전도 데이터에서 기 설정된 영역만큼 움직이면서 상기 심전도 데이터를 분할하여, 상기 복수의 세그먼트들을 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 방법은, 사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 출력의 불확실성을 산출하는 단계를 더 포함할 수 있다.
대안적으로, 상기 머신러닝 모델은, 상기 출력의 불확실성을 정량화 하기 위해, 신경망 가중치에 대한 확률 분포를 갖는 신경망을 포함할 수 있다.
대안적으로, 상기 출력의 불확실성을 기초로, 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치를 제거하는 단계는, 상기 출력의 불확실성이 사전 설정된 제 1 기준 값 이상인 경우, 상기 제 1 기준 값 이상인 출력의 불확실성에 대응되는 질환의 가능성을 이상치로 간주하고 제거하는 단계를 포함할 수 있다.
대안적으로, 상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 단계는, 상기 이상치가 제거된 질환의 가능성에 대한 평균 값과 사전 설정된 제 2 기준 값을 비교하여, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 단계는, 상기 이상치가 제거된 질환의 가능성 각각을 사전 설정된 제 3 기준 값을 비교하여, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계를 포함할 수 있다.
대안적으로, 상기 이상치가 제거된 질환의 가능성 각각을 사전 설정된 제 3 기준 값을 비교하여, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계는, 상기 이상치가 제거된 질환의 가능성이 사전 설정된 제 3 기준 값 이상인지 여부에 따라 상기 이상치가 제거된 질환의 가능성을 이진 값으로 변환하는 단계; 및 상기 변환된 이진 값들 중에서 가장 높은 비율을 차지하는 값을 기준으로, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계를 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램(program)이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 심전도 세그먼트를 이용하여 건강 상태를 예측하기 위한 동작들을 수행하도록 한다. 이때, 상기 동작들은, 사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출하는 동작; 상기 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치를 제거하는 동작; 및 상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 동작을 포함할 수 있다.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라, 심전도 세그먼트를 이용하여 건강 상태를 예측하기 위한 컴퓨팅 장치가 개시된다. 상기 장치는, 적어도 하나의 코어(core)를 포함하는 프로세서; 상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및 심전도 데이터를 획득하기 위한 네트워크부(network unit)를 포함할 수 있다. 이때, 상기 프로세서는, 심전도 데이터를 분할하여 복수의 세그먼트들을 생성하고, 사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출하고, 상기 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치를 제거하며, 상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성할 수 있다.
본 개시의 방법에 따르면, 하나의 심전도 신호를 여러 개로 분할하고, 분석에 적절한 신호를 필터링 함으로써, 분석의 정확도를 높일 수 있다.
또한, 하나의 심전도를 여러 개로 분할하고, 분석에 적절한 신호를 필터링 함으로써, 분석에 필요한 신호를 재측정해야 하는 번거로움을 최소화 할 수 있고, 분석의 편의성을 높일 수 있다.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따라 건강 상태를 예측하는 과정을 나타낸 블록도이다.
도 3은 본 개시의 일 실시예에 따른 머신러닝 모델에 포함된 신경망 구조를 나타낸 개념도이다.
도 4 는 본 개시의 일 실시예에 따른 심전도 세그먼트를 이용한 건강 상태의 예측 방법을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 개시의 기술 분야에서 통상의 지식을 가진 자(이하, 당업자)가 용이하게 실시할 수 있도록 본 개시의 실시예가 상세히 설명된다. 본 개시에서 제시된 실시예들은 당업자가 본 개시의 내용을 이용하거나 또는 실시할 수 있도록 제공된다. 따라서, 본 개시의 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이다. 즉, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 이하의 실시예에 한정되지 않는다.
본 개시의 명세서 전체에 걸쳐 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 지칭한다. 또한, 본 개시를 명확하게 설명하기 위해서, 도면에서 본 개시에 대한 설명과 관계없는 부분의 도면 부호는 생략될 수 있다.
본 개시에서 사용되는 "또는" 이라는 용어는 배타적 "또는" 이 아니라 내포적 "또는" 을 의미하는 것으로 의도된다. 즉, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 이해되어야 한다. 예를 들어, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다" 는 X가 A를 이용하거나, X가 B를 이용하거나, 혹은 X가 A 및 B 모두를 이용하는 경우 중 어느 하나로 해석될 수 있다.
본 개시에서 사용되는 "및/또는" 이라는 용어는 열거된 관련 개념들 중 하나 이상의 개념의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
본 개시에서 사용되는 "포함한다" 및/또는 "포함하는" 이라는 용어는, 특정 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는" 이라는 용어는, 하나 이상의 다른 특징, 다른 구성요소 및/또는 이들에 대한 조합의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 단수는 일반적으로 "하나 또는 그 이상" 을 포함할 수 있는 것으로 해석되어야 한다.
본 개시에서 사용되는 "제 N(N은 자연수)" 이라는 용어는 본 개시의 구성요소들을 기능적 관점, 구조적 관점, 혹은 설명의 편의 등 소정의 기준에 따라 상호 구별하기 위해 사용되는 표현으로 이해될 수 있다. 예를 들어, 본 개시에서 서로 다른 기능적 역할을 수행하는 구성요소들은 제 1 구성요소 혹은 제 2 구성요소로 구별될 수 있다. 다만, 본 개시의 기술적 사상 내에서 실질적으로 동일하나 설명의 편의를 위해 구분되어야 하는 구성요소들도 제 1 구성요소 혹은 제 2 구성요소로 구별될 수도 있다.
본 개시에서 사용되는 "획득" 이라는 용어는, 외부 장치 혹은 시스템과의 유무선 통신 네트워크를 통해 데이터를 수신하는 것 뿐만 아니라, 온-디바이스(on-device) 형태로 데이터를 생성하는 것을 의미하는 것으로 이해될 수 있다.
한편, 본 개시에서 사용되는 용어 "모듈(module)", 또는 "부(unit)" 는 컴퓨터 관련 엔티티(entity), 펌웨어(firmware), 소프트웨어(software) 혹은 그 일부, 하드웨어(hardware) 혹은 그 일부, 소프트웨어와 하드웨어의 조합 등과 같이 컴퓨팅 자원을 처리하는 독립적인 기능 단위를 지칭하는 용어로 이해될 수 있다. 이때, "모듈", 또는 "부"는 단일 요소로 구성된 단위일 수도 있고, 복수의 요소들의 조합 혹은 집합으로 표현되는 단위일 수도 있다. 예를 들어, 협의의 개념으로서 "모듈", 또는 "부"는 컴퓨팅 장치의 하드웨어 요소 또는 그 집합, 소프트웨어의 특정 기능을 수행하는 응용 프로그램, 소프트웨어 실행을 통해 구현되는 처리 과정(procedure), 또는 프로그램 실행을 위한 명령어 집합 등을 지칭할 수 있다. 또한, 광의의 개념으로서 "모듈", 또는 "부"는 시스템을 구성하는 컴퓨팅 장치 그 자체, 또는 컴퓨팅 장치에서 실행되는 애플리케이션 등을 지칭할 수 있다. 다만, 상술한 개념은 하나의 예시일 뿐이므로, "모듈", 또는 "부"의 개념은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 정의될 수 있다.
본 개시에서 사용되는 "모델(model)" 이라는 용어는 특정 문제를 해결하기 위해 수학적 개념과 언어를 사용하여 구현되는 시스템, 특정 문제를 해결하기 위한 소프트웨어 단위의 집합, 혹은 특정 문제를 해결하기 위한 처리 과정에 관한 추상화 모형으로 이해될 수 있다. 예를 들어, 신경망(neural network) "모델" 은 학습을 통해 문제 해결 능력을 갖는 신경망으로 구현되는 시스템 전반을 지칭할 수 있다. 이때, 신경망은 노드(node) 혹은 뉴런(neuron)을 연결하는 파라미터(parameter)를 학습을 통해 최적화하여 문제 해결 능력을 가질 수 있다. 신경망 "모델" 은 단일 신경망을 포함할 수도 있고, 복수의 신경망들이 조합된 신경망 집합을 포함할 수도 있다.
전술한 용어의 설명은 본 개시의 이해를 돕기 위한 것이다. 따라서, 전술한 용어를 본 개시의 내용을 한정하는 사항으로 명시적으로 기재하지 않은 경우, 본 개시의 내용을 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록 구성도이다.
본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 데이터의 종합적인 처리 및 연산을 수행하는 하드웨어 장치 혹은 하드웨어 장치의 일부일 수도 있고, 통신 네트워크로 연결되는 소프트웨어 기반의 컴퓨팅 환경일 수도 있다. 예를 들어, 컴퓨팅 장치(100)는 집약적 데이터 처리 기능을 수행하고 자원을 공유하는 주체인 서버일 수도 있고, 서버와의 상호 작용을 통해 자원을 공유하는 클라이언트(client)일 수도 있다. 또한, 컴퓨팅 장치(100)는 복수의 서버들 및 클라이언트들이 상호 작용하여 데이터를 종합적으로 처리하는 클라우드 시스템(cloud system)일 수도 있다. 상술한 기재는 컴퓨팅 장치(100)의 종류와 관련된 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
도 1을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 프로세서(processor)(110), 메모리(memory)(120), 및 네트워크부(network unit)(130)를 포함할 수 있다. 다만, 도 1은 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)는 컴퓨팅 환경을 구현하기 위한 다른 구성들을 포함할 수 있다. 또한, 상기 개시된 구성들 중 일부만이 컴퓨팅 장치(100)에 포함될 수도 있다.
본 개시의 일 실시예에 따른 프로세서(110)는 컴퓨팅 연산을 수행하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 예를 들어, 프로세서(110)는 컴퓨터 프로그램을 판독하여 기계 학습을 위한 데이터 처리를 수행할 수 있다. 프로세서(110)는 기계 학습을 위한 입력 데이터의 처리, 기계 학습을 위한 특징 추출, 역전파(backpropagation)에 기반한 오차 계산 등과 같은 연산 과정을 처리할 수 있다. 이와 같은 데이터 처리를 수행하기 위한 프로세서(110)는 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit), 주문형 반도체(ASIC: application specific integrated circuit), 혹은 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate array) 등을 포함할 수 있다. 상술한 프로세서(110)의 종류는 하나의 예시일 뿐이므로, 프로세서(110)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
프로세서(110)는 심전도 신호를 포함하는 심전도 데이터를 분할하여 복수의 세그먼트들을 생성할 수 있다. 프로세서(110)는 하나의 심전도 데이터를 임의의 크기 혹은 정해진 크기로 사전 설정된 개수만큼 분할하여 심전도 데이터에 포함된 심전도 신호의 일부를 포함하는 세그먼트를 다양하게 생성할 수 있다. 예를 들어, t분 측정된 심전도 신호를 포함하는 심전도 데이터가 획득되면, 프로세서(1100)는 i분(i는 t보다 작은 값) 길이의 심전도 신호를 포함하는 세그먼트들이 생성되도록 t분 측정된 심전도 신호를 포함하는 심전도 데이터를 분할할 수 있다.
프로세서(110)는 사전 학습된 신경망 모델에 복수의 세그먼트들을 입력하여 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출할 수 있다. 이때, 질환의 가능성은, 세그먼트에 포함된 심전도 신호의 일부를 분석하여 도출된 질환의 발생 확률 값을 포함할 수 있다. 그리고, 프로세서(110)는 사전 학습된 신경망 모델에 복수의 세그먼트들을 입력하여 복수의 세그먼트들 각각에 대응되는 출력의 불확실성을 산출할 수 있따. 이때, 출력의 불확실성은, 신경망 모델이 산출한 질환의 가능성을 얼만큼 신뢰할 수 있는지를 나타내는 지표로 이해될 수 있다. 즉, 프로세서(110)는 세그먼트들을 사전 학습된 신경망 모델에 입력하여 세그먼트들 각각을 기준으로 심전도 신호의 측정 대상이 질환을 앓고 있을 확률 값을 도출할 수 있다. 그리고, 프로세서(110)는 도출된 확률 값에 대한 신뢰도를 신경망 모델의 출력을 통해 확인할 수 있다.
한편, 질환의 가능성 및 출력의 불확실성을 산출하는 신경망 모델은 각 출력과 라벨을 손실 함수를 통해 비교하여 신경망 파라미터를 조정함으로써, 학습을 수행할 수 있다. 이때, 손실 함수는 크로스 엔트로피(cross entropy) 등과 같은 함수가 사용될 수 있다. 신경망 모델은 출력과 라벨 간의 오차를 최소화 하는 방향으로 신경망 파라미터를 조정함으로써, 학습을 수행할 수 있다. 신경망 모델은 이와 같은 지도 학습 형태로 학습을 수행할 수도 있으나, 신경망의 구조에 따라 비지도 학습, 자기 지도 학습 등의 형태로 학습을 수행할 수도 있다.
프로세서(110)는 신경망 모델을 통해 산출된 출력의 불확실성을 기초로, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 필터링 할 수 있다. 프로세서(110)는 신경망 모델을 통해 산출된 출력의 불확실성과 사전 설정된 기준 값을 비교하여 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중에서 분석 대상이 되는 값을 선별할 수 있다. 하나의 심전도 신호에도 측정 과정에서 일부 구간에 노이즈나 결측치가 발생할 수 있는데, 노이즈나 결측치가 발생된 구간은 분석의 정확도를 오히려 떨어뜨리는 문제를 야기할 수 있다. 따라서, 분석의 정확도를 높이기 위해서, 프로세서(110)는 복수의 세그먼트들 각각을 산출된 값에 대한 신뢰도를 분석해서, 신뢰도가 기준 값 대비 높은 값들을 분석 대상으로 선별할 수 있다.
프로세서(110)는 출력의 불확실성을 기초로 필터링 된 질환의 가능성을 조합해서, 건강 상태의 예측에 대한 결과 값을 생성할 수 있다. 프로세서(110)는 심전도 신호의 일부 구간에 대응되는 질환의 가능성들을 합쳐서 전체 심전도 신호 상에서 파악되는 질환의 가능성을 도출할 수 있다. 그리고, 프로세서(110)는 전체 심전도 신호 상에서 파악되는 질환의 가능성을 토대로, 심전도 신호를 측정한 대상이 어떠한 건강 상태인지를 분석한 결과를 생성할 수 있다. 이때, 어떠한 건강 상태인지를 분석한 결과는 현재 어떠한 질환을 앓고 있는지 혹은 질환이 향후 발병될 확률이 어느 정도 되는지 등과 같이 질환에 대한 진단 혹은 예측 결과를 포함할 수 있다. 이와 같이 프로세서(110)는 심전도 신호를 여러 개로 분할하여 심층 분석한 이후 분석 값을 선별하는 작업을 통해, 전체 심전도 신호를 한번에 분석하지 않는 경우보다 오히려 더 정확한 결과 값을 얻을 수 있다.
본 개시의 일 실시예에 따른 메모리(120)는 컴퓨팅 장치(100)에서 처리되는 데이터를 저장하고 관리하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 즉, 메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 데이터 및 네트워크부(130)가 수신한 임의의 형태의 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리, 램(RAM: random access memory), 에스램(SRAM: static random access memory), 롬(ROM: read-only memory), 이이피롬(EEPROM: electrically erasable programmable read-only memory), 피롬(PROM: programmable read-only memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(120)는 데이터를 소정의 체제로 통제하여 관리하는 데이터베이스(database) 시스템을 포함할 수도 있다. 상술한 메모리(120)의 종류는 하나의 예시일 뿐이므로, 메모리(120)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.
메모리(120)는 프로세서(110)가 연산을 수행하는데 필요한 데이터, 데이터의 조합, 및 프로세서(110)에서 실행 가능한 프로그램 코드(code) 등을 구조화 및 조직화 하여 관리할 수 있다. 예를 들어, 메모리(120)는 후술할 네트워크부(130)를 통해 수신된 의료 데이터를 저장할 수 있다. 메모리(120)는 신경망 모델이 의료 데이터를 입력받아 학습을 수행하도록 동작시키는 프로그램 코드, 신경망 모델이 의료 데이터를 입력받아 컴퓨팅 장치(100)의 사용 목적에 맞춰 추론을 수행하도록 동작시키는 프로그램 코드, 및 프로그램 코드가 실행됨에 따라 생성된 가공 데이터 등을 저장할 수 있다.
본 개시의 일 실시예에 따른 네트워크부(130)는 임의의 형태의 공지된 유무선 통신 시스템을 통해 데이터를 송수신하는 구성 단위로 이해될 수 있다. 예를 들어, 네트워크부(130)는 근거리 통신망(LAN: local area network), 광대역 부호 분할 다중 접속(WCDMA: wideband code division multiple access), 엘티이(LTE: long term evolution), 와이브로(WiBro: wireless broadband internet), 5세대 이동통신(5G), 초광역대 무선통신(ultra wide-band), 지그비(ZigBee), 무선주파수(RF: radio frequency) 통신, 무선랜(wireless LAN), 와이파이(wireless fidelity), 근거리 무선통신(NFC: near field communication), 또는 블루투스(Bluetooth) 등과 같은 유무선 통신 시스템을 사용하여 데이터 송수신을 수행할 수 있다. 상술한 통신 시스템들은 하나의 예시일 뿐이므로, 네트워크부(130)의 데이터 송수신을 위한 유무선 통신 시스템은 상술한 예시 이외에 다양하게 적용될 수 있다.
네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)가 연산을 수행하는데 필요한 데이터를 수신할 수 있다. 또한, 네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)의 연산을 통해 생성된 데이터를 송신할 수 있다. 예를 들어, 네트워크부(130)는 병원 환경 내 데이터베이스, 의료 데이터의 표준화 등의 작업을 수행하는 클라우드 서버, 스마트 워치와 같은 클라이언트 혹은 의료 컴퓨팅 장치 등과의 통신을 통해 의료 데이터를 수신할 수 있다. 네트워크부(130)는 전술한 데이터베이스, 서버, 클라이언트 혹은 컴퓨팅 장치 등과의 통신을 통해, 신경망 모델의 출력 데이터, 및 프로세서(110)의 연산 과정에서 도출되는 중간 데이터, 가공 데이터 등을 송신할 수 있다.
도 2는 본 개시의 일 실시예에 따라 건강 상태를 예측하는 과정을 나타낸 블록도이다.
도 2를 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 심전도 신호를 포함하는 심전도 데이터(10)를 기초로, 심전도 신호의 일부 구간을 포함하는 심전도 세그먼트들(20)을 생성할 수 있다. 컴퓨팅 장치(100)는 심전도 데이터(10)에서 신호를 겹치는 영역 없이 소정의 길이로 분할하여, 복수의 심전도 세그먼트들(20)을 생성할 수 있다. 컴퓨팅 장치(100)는 고정된 크기의 윈도우를 심전도 데이터(10)에서 기 설정된 영역만큼 움직이면서 심전도 데이터(10)를 분할하여, 복수의 심전도 세그먼트들(20)을 생성할 수 있다.
예를 들어, 컴퓨팅 장치(100)가 [A1, A2, A3, A4, A5, A6, A7, A8, A9] 으로 구성된 심전도 신호를 포함하는 심전도 데이터를 획득했다고 가정한다. 3개의 세그먼트들을 생성한다고 하면, 컴퓨팅 장치(100)는 전체 신호에서 겹치는 영역이 없도록 [A1, A2, A3], [A4, A5, A6] 및 [A7, A8, A9]로 심전도 데이터를 분할할 수 있다. 또한, 크기가 3인 윈도우를 심전도 신호 상에서 한 영역씩 움직여서 복수의 세그먼트들을 생성한다고 하면, 컴퓨팅 장치(100)는 [A1, A2, A3], [A2. A3. A4], [A3. A4. A5], ?? , [A7, A8, A9]과 같이 심전도 신호가 일부 구간이 겹치도록 분할할 수 있다. 이러한 분할 방식들은 사용 목적에 따라 사전 설정되어 선택적으로 수행될 수 있다.
컴퓨팅 장치(100)는 사전 학습된 머신러닝 모델(200)에 복수의 심전도 세그먼트들(20)을 입력하여, 복수의 세그먼트들(20) 각각에 대한 질환의 가능성(30) 및 출력의 불확실성(40)을 도출할 수 있다. 구체적으로, 컴퓨팅 장치(100)는 복수의 세그먼트들(20) 각각을 머신러닝 모델(200)에 입력하여 복수의 세그먼트들 각각에 대응되는 질환의 발명 확률 값을 포함하는 질환의 가능성(30)을 산출할 수 있다. 그리고, 컴퓨팅 장치(100)는 질환의 가능성(30) 각각에 대응되는 출력의 불확실성(40)을 머신러닝 모델(200)의 출력으로부터 획득할 수 있다.
예를 들어, 복수의 세그먼트들이 S1, S2, S3, ?? Sn으로 생성되었다고 가정한다. 이때, 복수의 세그먼트들 각각은 일정한 크기(또는 시간)에 대한 정보를 가진다. 컴퓨팅 장치(100)는 S1을 머신러닝 모델에 입력하여 S1으로부터 분석되는 질환의 가능성에 해당하는 P1을 산출할 수 있다. 그리고, 컴퓨팅 장치(100)는 P1이라는 값을 얼만큼 신뢰할 수 있는지에 대한 정도를 나타내는 불확실성인 U1을 머신러닝 모델의 출력으로부터 함께 획득할 수 있다. 컴퓨팅 장치(100)는 S2를 머신러닝 모델에 입력하여 S2로부터 분석되는 질환의 가능성에 해당하는 P2를 산출할 수 있다. 그리고, 컴퓨팅 장치(100)는 P1이라는 값을 얼만큼 신뢰할 수 있는지에 대한 정도를 나타내는 불확실성인 U1을 머신러닝 모델의 출력으로부터 함께 획득할 수 있다. 컴퓨팅 장치(100)는 이러한 과정을 순차적으로 반복해서 Sn으로부터 분석되는 질환의 가능성에 해당하는 Pn과 그에 대한 신뢰 정도를 나타내는 Un까지 산출할 수 있다.
컴퓨팅 장치(100)는 출력의 불확실성(40)을 기초로, 복수의 세그먼트들 각각에 대응되는 질환의 가능성(30)에 존재하는 이상치(outlier)를 제거할 수 있다. 컴퓨팅 장치(100)는 질환의 가능성(30)과 페어(pair)인 불확실성(40)을 사전 설정된 기준 값과 비교하여, 질환의 가능성(30) 내에 분석 값으로 신뢰하기 어려운 것으로 판단되는 이상치를 추출할 수 있다. 컴퓨팅 장치(100)는 이러한 이상치 제거(혹은 추출) 과정을 통해 건강 상태 예측 결과(50)를 도출하기 위한 근거를 양질의 데이터로 추릴 수 있다.
예를 들어, 컴퓨팅 장치(100)는 질환의 가능성 P1의 신뢰 정도를 나타내는 불확실성 U1과 사전 설정된 제 1 기준 값을 비교하여, U1이 제 1 기준 값 이상인지 여부를 판단할 수 있다. U1이 제 1 기준 값 이상인 경우, 컴퓨팅 장치(100)는 U1에 대응되는 P1을 이상치로 간주하고 제거할 수 있다. U1이 제 1 기준 값 이하인 경우, 컴퓨팅 장치(100)는 U1에 대응되는 P1을 정상 값으로 간주하고 최종 분석 결과에 반영할 수 있다. 컴퓨팅 장치(100)는 상술한 과정을 순차적으로 반복해서 Pn이 이상치인지 여부를 판단하고 필터링 할 수 있다.
컴퓨팅 장치(100)는 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과(50)를 생성할 수 있다. 컴퓨팅 장치(100)는 이상치가 제거된 질환의 가능성에 대한 평균 값과 사전 설정된 제 2 기준 값을 비교하여, 건강 상태의 예측에 대한 결과(50)를 생성할 수 있다. 컴퓨팅 장치(100)는 이상치가 제거된 질환의 가능성 각각을 사전 설정된 제 3 기준 값을 비교하여, 건강 상태의 예측에 대한 결과(50)를 생성할 수도 있다.
예를 들어, 상술한 과정을 통해 이상치가 제거되어 남은 질환의 가능성이 0.5, 0.7 및 0.4과 같이 3개의 값이라고 가정한다. 컴퓨팅 장치(100)는 3개의 값에 대한 평균인 (0.5+0.7+0.4)/3 = 0.53을 산출할 수 있다. 이때, 제 2 기준 값이 0.5로 설정된 경우, 3개의 값에 대한 평균인 0.53은 제 2 기준 값인 0.51보다 큰 값이므로, 컴퓨팅 장치(100)는 특정 질환이 발병한 것으로 최종 판단할 수 있다.
또한, 제 3 기준 값이 0.51로 설정된 경우, 컴퓨팅 장치(100)는 제 3 기준 값인 0.51과 3개의 값을 각각 비교할 수 있다. 첫번째 값인 0.5는 제 3 기준 값인 0.51보다 작으므로, 컴퓨팅 장치(100)는 해당 값에 특징 질환이 발병하지 않았다는 것을 의미하는 0을 태그 할 수 있다. 두번째 값인 0.7은 제 3 기준 값인 0.51보다 크므로, 컴퓨팅 장치(100)는 해당 값에 특정 질환이 발병했다는 것을 의미하는 1을 태그 할 수 있다. 세번째 값인 0.4는 제 3 기준 값인 0.51보다 작으므로, 컴퓨팅 장치(100)는 해당 값에 0을 태그 할 수 있다. 그리고, 컴퓨팅 장치(100)는 0, 1, 0으로 태그가 완료된 값들 중 가장 많은 비율을 차지하는 값인 0을 기준으로 특정 질환이 발병하지 않은 것으로 최종 판단할 수 있다. 이러한 최종 판단 결과는 건강 상태 예측 결과에 반영될 수 있다.
상술한 예시를 살펴보면, 제 2 기준 값과 평균 값을 비교하는 방식과 제 3 기준 값과 개별 값을 비교하는 방식의 결과가 달라질 수 있음을 알 수 있다. 따라서, 어떠한 방식을 사용하느냐는 사용 목적에 따른 사용자의 선택에 맞추어 결정될 수 있다. 즉, 컴퓨팅 장치(100)는 사용자 입력을 토대로 어떠한 방식으로 최종 판단을 수행할지 결정할 수 있다.
한편, 제 1 기준 값, 제 2 기준 값 또는 제 3 기준 값은 사용 목적에 따라 사용자에 의해 사전 설정된 값일 수 있다. 예를 들어, 머신러닝 모델을 통해 분석되는 질환이 희귀 질환인 경우, 분석 결과의 불확실성이 높은 경우에 오진단 가능성이 다른 질환과 대비해서 더 높을 수 있다. 따라서, 이러한 경우, 제 1 기준 값, 제 2 기준 값 또는 제 3 기준 값은 다른 질환과 대비해서 높게 설정될 수 있다. 이와 같이 기준 값은 질환의 종류, 데이터의 속성 등에 따라 다양하게 설정될 수 있다.
도 3은 본 개시의 일 실시예에 따른 머신러닝 모델에 포함된 신경망 구조를 나타낸 개념도이다.
도 3을 참조하면, 본 개시의 일 실시예에 따른 머신러닝 모델은 출력의 불확실성을 정량화 하기 위해, 신경망 가중치에 대한 확률 분포를 갖는 신경망(300)을 포함할 수 있다. 도 3의 신경망(300)은 신경망 가중치가 고정된 값으로 존재하는 것이 아닌 확률 분포로 존재한다는 것을 가정한다. 즉, 도 3의 신경망(300)은 학습된 신경망 가중치가 가우시안 분포를 따를 수 있다. 그리고, 도 3의 신경망(300)의 학습 과정에서 신경망 가중치 값 자체가 조정되는 것이 아닌 가우시안 분포의 평균과 분산이 조정될 수 있다. 머신러닝 모델은 이와 같은 신경망(300)을 통해 출력 값인 질환의 가능성이 얼만큼 신뢰할 수 있을지에 대한 지표에 해당하는 불확실성을 함께 도출할 수 있다.
도 4 는 본 개시의 일 실시예에 따른 심전도 세그먼트를 이용한 건강 상태의 예측 방법을 나타낸 순서도이다.
도 4를 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 심전도 데이터를 분할하여 복수의 세그먼트들을 생성할 수 있다(S100). 컴퓨팅 장치(100)가 심전도 판독 서비스를 제공하는 서버인 경우, 컴퓨팅 장치(100)는 심전도 신호를 측정하는 장비와 통신을 통해 심전도 데이터를 획득할 수 있다. 컴퓨팅 장치(100)가 심전도 신호를 측정하고 분석하는 장비인 경우, 컴퓨팅 장치(100)는 측정부를 통해 심전도 신호를 측정하여 심전도 데이터를 생성할 수 있다. 심전도 데이터가 획득되면, 컴퓨팅 장치(100)는 심전도 데이터에서 신호를 겹치는 영역이 없이 소정의 길이로 분할하여, 복수의 세그먼트들을 생성할 수 있다. 컴퓨팅 장치(100)는 고정된 크기의 윈도우를 상기 심전도 데이터에서 기 설정된 영역만큼 움직이면서 심전도 데이터를 분할하여, 복수의 세그먼트들을 생성할 수도 있다.
컴퓨팅 장치(100)는 사전 학습된 머신러닝 모델에 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성 및 출력의 불확실성을 산출할 수 있다(S200).
컴퓨팅 장치(100)는 출력의 불확실성을 기초로, 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치를 제거할 수 있다(S300). 컴퓨팅 장치(100)는 출력의 불확실성과 사전 결정된 제 1 기준 값을 비교할 수 있다. 출력의 불확실성이 사전 설정된 제 1 기준 값 이상인 경우, 컴퓨팅 장치(100)는 제 1 기준 값 이상인 출력의 불확실성에 대응되는 질환의 가능성을 이상치로 간주하고 제거할 수 있다. 출력의 불확실성이 사전 설정된 제 1 기준 값 미만인 경우, 컴퓨팅 장치(100)는 제 1 기준 값 미만인 출력의 불확실성에 대응되는 질환의 가능성은 S400 단계에서 수행되는 최종 분석에 사용할 수 있다.
컴퓨팅 장치(100)는 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성할 수 있다(S400). 컴퓨팅 장치(100)는 이상치가 제거된 질환의 가능성에 대한 평균 값과 사전 설정된 제 2 기준 값을 비교하여, 건강 상태의 예측에 대한 결과 값을 생성할 수 있다. 컴퓨팅 장치(100)는 이상치가 제거된 질환의 가능성 각각을 사전 설정된 제 3 기준 값을 비교하여, 상기 건강 상태의 예측에 대한 결과 값을 생성할 수도 있다. 구체적으로, 컴퓨팅 장치(100)는 이상치가 제거된 질환의 가능성이 사전 설정된 제 3 기준 값 이상인지 여부에 따라 이상치가 제거된 질환의 가능성을 이진 값으로 변환할 수 있다. 그리고, 컴퓨팅 장치(100)는 변환된 이진 값들 중에서 가장 높은 비율을 차지하는 값을 기준으로, 건강 상태의 예측에 대한 결과 값을 생성할 수 있다.
앞서 설명된 본 개시의 다양한 실시예는 추가 실시예와 결합될 수 있고, 상술한 상세한 설명에 비추어 당업자가 이해 가능한 범주에서 변경될 수 있다. 본 개시의 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해되어야 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 따라서, 본 개시의 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (11)

  1. 적어도 하나의 프로세서(processor)를 포함하는 컴퓨팅 장치에 의해 수행되는, 심전도 세그먼트를 이용한 건강 상태의 예측 방법으로서,
    심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 단계;
    사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출하는 단계;
    상기 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치(outlier)를 제거하는 단계; 및
    상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 단계;
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 단계는,
    상기 심전도 데이터에서 신호를 겹치는 영역이 없이 소정의 길이로 분할하여, 상기 복수의 세그먼트들을 생성하는 단계;
    를 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 단계는,
    고정된 크기의 윈도우를 상기 심전도 데이터에서 기 설정된 영역만큼 움직이면서 상기 심전도 데이터를 분할하여, 상기 복수의 세그먼트들을 생성하는 단계;
    를 포함하는,
    방법.
  4. 제 1 항에 있어서,
    상기 사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 출력의 불확실성을 산출하는 단계;
    를 더 포함하는,
    방법.
  5. 제 4 항에 있어서,
    상기 머신러닝 모델은,
    상기 출력의 불확실성을 정량화 하기 위해, 신경망 가중치에 대한 확률 분포를 갖는 신경망;
    을 포함하는,
    방법.
  6. 제 4 항에 있어서,
    복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치를 제거하는 단계는,
    상기 출력의 불확실성이 사전 설정된 제 1 기준 값 이상인 경우, 상기 제 1 기준 값 이상인 출력의 불확실성에 대응되는 질환의 가능성을 이상치로 간주하고 제거하는 단계;
    를 포함하는,
    방법.
  7. 제 1 항에 있어서,
    상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 단계는,
    상기 이상치가 제거된 질환의 가능성에 대한 평균 값과 사전 설정된 제 2 기준 값을 비교하여, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계;
    를 포함하는,
    방법.
  8. 제 1 항에 있어서,
    상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 단계는,
    상기 이상치가 제거된 질환의 가능성 각각을 사전 설정된 제 3 기준 값을 비교하여, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계;
    를 포함하는,
    방법.
  9. 제 8 항에 있어서,
    상기 이상치가 제거된 질환의 가능성 각각을 사전 설정된 제 3 기준 값을 비교하여, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계는,
    상기 이상치가 제거된 질환의 가능성이 사전 설정된 제 3 기준 값 이상인지 여부에 따라 상기 이상치가 제거된 질환의 가능성을 이진 값으로 변환하는 단계; 및
    상기 변환된 이진 값들 중에서 가장 높은 비율을 차지하는 값을 기준으로, 상기 건강 상태의 예측에 대한 결과 값을 생성하는 단계;
    를 포함하는,
    방법.
  10. 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램(program)으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서(processor)에서 실행되는 경우, 심전도 세그먼트를 이용하여 건강 상태를 예측하기 위한 동작들을 수행하도록 하며,
    상기 동작들은,
    심전도 데이터를 분할하여 복수의 세그먼트들을 생성하는 동작;
    사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출하는 동작;
    상기 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치(outlier)를 제거하는 동작; 및
    상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는 동작;
    을 포함하는,
    컴퓨터 프로그램.
  11. 심전도 세그먼트를 이용하여 건강 상태를 예측하기 위한 컴퓨팅 장치로서,
    적어도 하나의 코어(core)를 포함하는 프로세서(processor);
    상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및
    심전도 데이터를 획득하기 위한 네트워크부(network unit);
    를 포함하고,
    상기 프로세서는,
    심전도 데이터를 분할하여 복수의 세그먼트들을 생성하고,
    사전 학습된 머신러닝 모델에 상기 복수의 세그먼트들을 입력하여, 복수의 세그먼트들 각각에 대응되는 질환의 가능성을 산출하고,
    상기 복수의 세그먼트들 각각에 대응되는 질환의 가능성 중 이상치(outlier)를 제거하며,
    상기 이상치가 제거된 질환의 가능성을 조합하여, 건강 상태의 예측에 대한 결과 값을 생성하는,
    장치.
KR1020230092995A 2022-07-22 2023-07-18 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치 Active KR102881156B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2025503117A JP2025528719A (ja) 2022-07-22 2023-07-19 心電図セグメントを利用した健康状態の予測方法、プログラムおよび装置
CN202380053967.3A CN119585815A (zh) 2022-07-22 2023-07-19 利用心电图段预测健康状况的预测方法、程序及装置
PCT/KR2023/010344 WO2024019500A1 (ko) 2022-07-22 2023-07-19 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치
EP23843346.0A EP4542572A4 (en) 2022-07-22 2023-07-19 Method, program, and apparatus for predicting health state using electrocardiogram segments
KR1020250160289A KR20250161491A (ko) 2022-07-22 2025-10-30 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220090764 2022-07-22
KR20220090764 2022-07-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020250160289A Division KR20250161491A (ko) 2022-07-22 2025-10-30 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치

Publications (2)

Publication Number Publication Date
KR20240013673A KR20240013673A (ko) 2024-01-30
KR102881156B1 true KR102881156B1 (ko) 2025-11-11

Family

ID=89715435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230092995A Active KR102881156B1 (ko) 2022-07-22 2023-07-18 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치

Country Status (1)

Country Link
KR (1) KR102881156B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020221632A1 (en) * 2019-04-30 2020-11-05 Medicalgorithmics Sa Electrocardiogram signal segmentation
WO2021250218A1 (en) * 2020-06-10 2021-12-16 Implicity Method and system for analyzing heart rhythms

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102439082B1 (ko) 2020-01-30 2022-08-31 연세대학교 원주산학협력단 딥러닝 기반 심전도 분석데이터를 이용한 일반인의 간질환 보유 가능성 예측 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020221632A1 (en) * 2019-04-30 2020-11-05 Medicalgorithmics Sa Electrocardiogram signal segmentation
WO2021250218A1 (en) * 2020-06-10 2021-12-16 Implicity Method and system for analyzing heart rhythms

Also Published As

Publication number Publication date
KR20240013673A (ko) 2024-01-30

Similar Documents

Publication Publication Date Title
US20240290494A1 (en) Medical data analysis method based on explainable artificial intelligence, program, and device
KR102835929B1 (ko) 설명 가능한 인공지능에 기반한 의료 데이터의 해석 방법, 프로그램 및 장치
KR20240017319A (ko) 심전도 판독 서비스를 제공하는 방법, 프로그램 및장치
KR102740470B1 (ko) 딥러닝 기반으로 연속적인 신체 상태를 계측하는 방법, 컴퓨터 프로그램 및 장치
CN120302922A (zh) 把生物信号的质量予以定量化的方法、程序及装置
US20240374196A1 (en) Method, computer program, and device for continuously measuring body condition on basis of deep learning
KR102881160B1 (ko) 심전도를 이용한 건강 상태의 예측 방법, 프로그램 및 장치
KR102881156B1 (ko) 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치
KR102893317B1 (ko) 심전도를 이용한 건강 상태의 예측 방법, 프로그램 및 장치
KR20250161491A (ko) 심전도 세그먼트를 이용한 건강 상태의 예측 방법, 프로그램 및 장치
KR20240013676A (ko) 심전도를 이용한 심근경색 진단 방법, 프로그램 및장치
KR20240009883A (ko) 심전도 기반 신경망 모델의 학습 방법, 프로그램 및장치
US20260007349A1 (en) Method, program, and apparatus for predicting health state using electrocardiogram
KR102876800B1 (ko) 인공지능을 이용한 심전도 판독 방법, 프로그램 및 장치
KR102905472B1 (ko) 단기 측정된 심장 신호를 기반으로 장기 심박 변이도를 생성하는 방법, 프로그램 및 장치
KR102835919B1 (ko) 의료용 인공지능 모델의 구축 방법, 프로그램 및 장치
US20260007350A1 (en) Method, program, and apparatus for predicting health state using electrocardiogram
CN117999031A (zh) 以可解释人工智能为基础的医疗数据的解析方法、程序及装置
KR20250046215A (ko) 인공지능을 이용하여 단일 유도 심전도를 분석하는 방법, 프로그램 및 장치
KR20240017320A (ko) 심전도 판독 서비스의 과금 방법, 프로그램 및 장치
KR20250139778A (ko) 인공지능을 이용하여 질환의 예후를 예측하는 방법, 프로그램 및 장치
KR20240148283A (ko) 인공지능 기반 질환 예측 방법, 프로그램 및 장치
KR20250035452A (ko) 심전도 판독센터의 데이터 분류 방법, 프로그램 및 장치
JP2025528722A (ja) 心電図を利用した心筋梗塞診断方法、プログラムおよび装置
WO2025110786A1 (ko) 인공지능을 이용한 심전도 판독 방법, 프로그램 및 장치

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

A302 Request for accelerated examination
PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

D22 Grant of ip right intended

Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D22-EXM-PE0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

A16 Divisional, continuation or continuation in part application filed

Free format text: ST27 STATUS EVENT CODE: A-0-1-A10-A16-DIV-PA0107 (AS PROVIDED BY THE NATIONAL OFFICE)

PA0107 Divisional application

St.27 status event code: A-0-1-A10-A16-div-PA0107

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

Q13 Ip right document published

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE)

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000