KR20240016648A - 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20240016648A
KR20240016648A KR1020220094659A KR20220094659A KR20240016648A KR 20240016648 A KR20240016648 A KR 20240016648A KR 1020220094659 A KR1020220094659 A KR 1020220094659A KR 20220094659 A KR20220094659 A KR 20220094659A KR 20240016648 A KR20240016648 A KR 20240016648A
Authority
KR
South Korea
Prior art keywords
exercise
user
ecg
electrocardiogram
neural network
Prior art date
Application number
KR1020220094659A
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 KR1020220094659A priority Critical patent/KR20240016648A/ko
Priority to PCT/KR2023/010755 priority patent/WO2024025308A1/ko
Publication of KR20240016648A publication Critical patent/KR20240016648A/ko

Links

Images

Classifications

    • 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
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/024Detecting, measuring or recording pulse rate or heart rate
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/22Ergometry; Measuring muscular strength or the force of a muscular blow
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/22Ergometry; Measuring muscular strength or the force of a muscular blow
    • A61B5/224Measuring muscular strength
    • A61B5/227Measuring muscular strength of constricting muscles, i.e. sphincters
    • 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
    • A61B5/349Detecting specific parameters of the electrocardiograph cycle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • 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
    • 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/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients

Abstract

본 발명은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 방법을 제안한다. 상기 방법은 사용자를 대상으로 측정된 심전도(ElectroCardioGram, ECG) 신호를 획득하는 단계, 사전에 학습된 인공지능(Artificial Intelligence, AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 심장 펌프(cardiac pump) 상태를 식별하는 단계, 및 상기 식별된 심장 펌프 상태에 대응하여 상기 사용자에게 추천할 운동의 유형을 결정하는 단계를 포함할 수 있다. 이를 통하여, 사용자는 단순히 심전도(ECG)를 측정하는 것만으로, 그 시점의 건강상태에 최적화된 운동을 추천받을 수 있게 된다.

Description

심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for recommendation of exercise based on electrocardiogram, and computer program recorded on record-medium for executing method thereof}
본 발명은 스마트 헬스 케어(smart health care)에 관한 것으로, 보다 상세하게는 심전도(ElectroCardioGram, ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
심전도(ECG)는 심장의 심근(heart muscle)에 의해 발생하는 전기적 활동의 시각적 변화를 그래프로 기록한 것이다. 심장의 자극전도계(conduction system)에 관하여 간략히 설명하면, 동방결절(SinoAtrial Node, SA Node)은 주기적으로 전기적 신호를 발생시켜 심장의 수축의 수축을 유도한다. 방실결절(AtrioVentricular Node, AV Node)은 동방결절(SA Node)에 의해 발생된 전기적 신호가 심방(atrium)을 통해 전달되면 이를 미세하게 지연시킨 후 전달한다. 방실결절(AV Node)로부터 전달된 전기적 신호는 히스색(bundle of His)과 푸르키네 섬유(Purkinje fibers)를 거쳐 심실(ventricle) 전체로 퍼지게 된다.
심장의 자극전도 과정에 따라 확인될 수 있는 심전도(ECG)의 파형을 설명하면, 동방결절(SA Node)에 의해 발생된 전기적 신호에 의해 심방이 극성화되면서 판막의 심근이 수축하고, 심방이 다시 비극성화되면서 판막의 심근이 다시 이완되는 과정에서 P 파(P wave)가 확인될 수 있다. 방실결절(AV Node)가 심방이 수축할 때 심실이 곧바로 반응하지 않도록 전기적 신호를 지연시키는 과정에서 P-Q 파(P-Q wave)가 확인될 수 있다. 방실결절(AV Node)에 의해 지연된 전기적 신호가 전달(Q)되어 심실이 즉시 극성화(R)되었다가 곧바로 비극성화(S)되는 과정에서 QRS 파(QRS complex)가 확인될 수 있다. 심실이 수축하여 심실 속 피가 신체 곳곳으로 이동하기 위해 전기적 신호가 심장을 자극하지 않는 휴지기 과정에서 S-T 파(S-T wave)가 확인될 수 있다. 그리고, 심실이 다시 약하게 극성화되었다가 다시 비극화되면서 심실과 판막의 심근이 동시에 이완되는 과정에서 T 파(T wave)가 확인될 수 있다. 또한, 경우에 따라 심실중격(intraventricular septum)의 재극성화에 따른 U 파(U wave)가 확인될 수도 있다.
이와 같은, 심전도(ECG)를 통해 확인될 수 있는 파형들(P파, P-Q 파, QRS 파, S-T 파, T 파 및 U 파)의 등장 순서, 각각의 형상, 크기 및 간격 등은 건강상태에 따라 다양한 형태로 변화될 수 있다. 다르게 말하면, 심전도(ECG)에 포함된 파형들의 등장 순서, 형상, 크기 및 간격 등을 분석하면 건강상태를 유추할 수 있으며, 나아가 그러한 건강상태를 나타나게 하는 다양한 원인까지도 유추할 수 있다.
한편, 인공 신경망(Artificial Neural Network, ANN)은 기계 학습의 세부 방법론 중의 하나로, 인간의 신경 세포에 대응하는 기초 연산 단위인 뉴런(neuron)들이 서로 연결(linked)된 망(network) 형태를 가지는 알고리즘을 의미한다. 대표적인 인공신경망(ANN)으로는 다층 퍼셉트론(MultiLayer Perceptron, MLP), 순환 신경망(Recurrent Neural Network, RNN), 콘볼루션 신경망(Convolutional Neural Network, CNN) 등이 존재한다.
구체적으로, 다층 퍼셉트론(MLP)은 입력층(input layer)과 출력층(output layer) 사이에 다수의 은닉층(hidden layer)을 가지는 인공신경망(ANN)이다. 순환 신경망(RNN)은 뉴런의 출력이 다시 입력층에 입력되는 재귀적인 연결 구조를 가지는 인공신경망(ANN)이다. 그리고, 콘볼루션 신경망(CNN)은 인간의 시신경 구조를 모방하여, 다수의 콘볼루션 층(convolutional layer)으로부터 특징맵(feature map)을 추출하고, 서브 샘플링(subsampling)을 통해 행렬(matrix)의 차원을 축소하여 특징맵으로부터 중요 부분만을 추출하는 인공신경망(ANN)이다.
다른 한편, 운동(exercise)은 체력, 수행력 또는 건강을 유지하거나 개선하기 위한 목적으로 수행되는 다양한 신체 활동을 의미한다. 이러한 운동은 인체에 미치는 영향에 따라, 유산소 운동, 무산소 운동 및 유연성 운동으로 분류될 수 있으며, 단련하고자 하는 신체 부위에 따라, 근력 강화 운동, 뼈 강화 운동, 균형 운동 및 다중 신체 활동으로 분류될 수 있다.
운동 능력(exercise capacity)은 운동을 할 수 있는 능력의 정도를 의미한다. 일반적으로 운동 능력은 대상자의 연령, 성별 및 만성질환 등의 유무 등에 의해 평가된다. 이러한 이유로, 운동을 추천 또는 제안하는 종래의 서비스들은 사용자의 신체에 미치는 영향이 적은 운동부터 신체에 미치는 영향이 큰 운동 순서로 운동을 추천 또는 제안하거나, 또는 단순히 연령, 성별 및 만성질환 등에 대응하는 운동을 추천 또는 제안하는 수준에 불과하다.
그러나, 운동 능력에 가장 큰 영향을 미치는 요인인 심장의 능력은 기존에 수행한 행위, 신진대사 및 스트레스 등에 의해 시시각각 변화될 수 있다. 예를 들어, 전날 과음한 사람의 경우, 심근 수축력의 저하 및 탈수에 의해 혈전 증가 등에 의해 운동 능력이 크게 저하될 수 있다. 또한, 비의료인이 일상생활 과정에서 운동을 시작하기 이전에 자신의 건강상태에 적합한 운동을 확인하고자 심장초음파(echocardiography) 검사를 수행하는 것은 현실적으로 곤란하다.
따라서, 사용자에게 부담스러운 행위를 요구하지 않고도, 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 수단이 요구되고 있다.
대한민국 등록특허공보 제10-1044883호, ‘바이도 피드백 맞춤형 운동관리 시스템’, (2011.06.28. 공고)
본 발명의 일 목적은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 방법을 제안하는 것이다.
본 발명의 다른 목적은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 방법을 제안한다. 상기 방법은 사용자를 대상으로 측정된 심전도(ElectroCardioGram, ECG) 신호를 획득하는 단계, 사전에 학습된 인공지능(Artificial Intelligence, AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 심장 펌프(cardiac pump) 상태를 식별하는 단계, 및 상기 식별된 심장 펌프 상태에 대응하여 상기 사용자에게 추천할 운동의 유형을 결정하는 단계를 포함할 수 있다.
상기 방법은 상기 운동의 유형을 결정하는 단계 이후에, 상기 사용자에 대응하여 사전에 설정된 사용자 장치(User Equipment, UE)에 상기 결정된 운동의 유형을 포함하는 정보를 전송하는 단계를 더 포함할 수 있다.
보다 구체적으로, 상기 식별하는 단계는 상기 심전도(ECG) 신호를 시계열적 선후에 따라 복수 개의 부분신호들로 분할하는 단계, 상기 분할된 복수 개의 부분신호들을 상기 인공지능(AI)에 각각 입력하고, 상기 인공지능(AI)으로부터 복수 개의 확률 값들을 획득하는 단계, 및 상기 획득된 복수 개의 확률 값들을 기반으로 상기 사용자의 심장 펌프 상태를 식별하는 단계를 포함할 수 있다.
이 경우, 상기 인공지능(AI)은 심장의 확장기말 용적(end diastolic volume)에 해당하는 전부하(preload)에 관한 제1 인공신경망(Artificial Neural Network; ANN), 심장이 수축하면서 받는 저항에 해당하는 후부하(afterload)에 관한 제2 인공신경망(ANN) 및 심장의 심근수축력(contractility)에 관한 제3 인공신경망(ANN)을 포함하여 구성될 수 있다.
일 실시예에 따르면, 상기 제1 인공신경망은 상기 분할된 복수 개의 부분신호들에 제각각 포함된 P 파, P-Q 파 및 QRS 파에 대한 변위를 기반으로 학습되고, 상기 제2 인공신경망은 상기 분할된 복수 개의 부분신호들에 제각각 포함된 QRS 파, S-T 파 및 T 파에 대한 변위를 기반으로 학습되고, 상기 제3 인공신경망은 상기 분할된 복수 개의 부분신호들에 제각각 포함된 모든 파형에 대한 변위를 기반으로 학습될 수 있다.
상기 심장 펌프 상태를 식별하는 단계는 단위 시간당 상기 심전도(ECG) 신호에 포함된 파형의 개수를 기초로 심박수(heart rate)를 식별하고, 상기 제1 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값을 기반으로 상기 전부하의 상태 값을 판단하고, 상기 제2 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값을 기반으로 상기 후부하의 상태 값을 판단하고, 상기 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값을 기반으로 심근수축력의 상태 값을 판단하고, 상기 심박수, 전부하의 상태 값, 후부하의 상태 값 및 심근수축력의 상태 값을 기반으로 상기 심장 펌프 상태를 식별할 수 있다.
한편, 상기 심장 펌프 상태를 식별하는 단계는 상기 인공지능(AI)을 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 최대 산소섭취량(maximal volume of oxygen uptake)을 식별할 수도 있다.
상기 운동의 유형을 결정하는 단계는 사전에 설정된 운동사전(exercise dictionary)으로부터 상기 사용자의 심장 펌프 상태에 매칭되는 운동의 유형을 결정하고, 상기 결정된 운동의 유형 및 상기 최대 산소섭취량에 매칭되는 운동의 강도를 결정할 수 있다.
그리고, 상기 운동의 유형을 결정하는 단계는 상기 사용자에 대응하여 사전에 입력된 사용자의 성별, 신장 및 몸무게를 기초로 상기 사용자의 기초대사량(basal metabolism)을 산출하고, 상기 산출된 기초대사량에 상기 결정된 운동의 유형 및 운동의 강도를 적용하여 상기 사용자의 활동대사량(activity metabolism)을 산출하고, 상기 산출된 활동대사량을 기초로 운동의 지속 시간을 결정할 수도 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 심전도(ECG)를 기반으로 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory), 송수신기(transceiver), 입출력장치(input/output device), 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 사용자를 대상으로 측정된 심전도(ECG) 신호를 상기 송수신기 또는 입출력장치를 통해 획득하는 단계, 상기 프로세서가 사전에 학습된 인공지능(AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 심장 펌프 상태를 식별하는 단계, 및 상기 프로세서가 상기 식별된 심장 펌프 상태에 대응하여 상기 사용자에게 추천할 운동의 유형을 결정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 사용자가 단순히 심전도(ECG)를 측정하는 것만으로, 그 시점의 사용자 건강상태에 최적화된 운동을 추천할 수 있게 된다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 운동 추천 수단을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 운동 추천 시스템을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따른 운동 추천 서버의 논리적 구성도이다.
도 4는 본 발명의 일 실시예에 따른 인공신경망(Artificial Neural Network; ANN)을 설명하기 위한 예시도이다.
도 5 및 도 6은 본 발명의 몇몇 실시예에 따라 심전도(ECG) 신호를 분할하는 과정을 설명하기 위한 예시도이다.
도 7은 본 발명의 몇몇 실시예에 따라 상태 값을 판단하는 과정을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시예에 따라 심장 펌프 상태를 식별하는 과정을 설명하기 위한 예시도이다.
도 9는 본 발명의 일 실시예에 따른 운동 추천 서버의 하드웨어 구성도이다.
도 10은 본 발명의 일 실시예에 따른 운동 추천 방법을 설명하기 위한 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구 성 요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
상술한 바와 같이, 운동을 추천 또는 제안하는 종래의 서비스들은 사용자의 신체에 미치는 영향이 적은 운동부터 신체에 미치는 영향이 큰 운동 순서로 운동을 추천 또는 제안하거나, 또는 단순히 연령, 성별 및 만성질환 등에 대응하는 운동을 추천 또는 제안하는 수준에 불과하다. 그러나, 운동 능력에 가장 큰 영향을 미치는 요인인 심장의 능력은 기존에 수행한 행위, 신진대사 및 스트레스 등에 의해 시시각각 변화될 수 있다.
이러한 한계를 극복하고자, 본 발명은 사용자의 실시간 건강상태에 적합한 운동을 추천할 수 있는 수단을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 운동 추천 수단을 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 운동 추천 수단은 심전도계(ECG reader, 100)를 이용하여 사용자의 심전도(10, ECG)를 측정하고, 사용자의 측정된 사용자의 심전도(10, ECG)를 인공지능(Artificial Intelligence, AI)를 이용하여 분석하여 사용자의 실시간 건강상태에 따른 심장 펌프(cardiac pump) 상태 등을 식별하고, 식별된 심장 펌프 상태 등에 대응한 운동(20, exercise)을 사용자에게 즉각적으로 추천할 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 사용자는 단순히 심전도(10, ECG)를 측정하는 것만으로, 그 시점의 사용자 건강상태에 최적화된 운동을 추천받을 수 있게 된다.
이하, 상술한 바와 같은 특징을 구현하기 위한 장치들 및 방법에 대하여 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 운동 추천 시스템을 설명하기 위한 예시도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 운동 추천 시스템은 하나 이상의 심전도계(100a, 100b, …, 100n; 100), 하나 이상의 사용자 장치(200a, 200b, …, 200n; 200) 및 운동 추천 서버(300)를 포함하여 구성될 수 있다.
이와 같은, 본 발명의 일 실시예에 따른 운동 추천 시스템의 구성요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성요소에 대하여 설명하면, 심전도계(100)는 사용자의 심전도(10, ECG)를 측정 및 기록할 수 있는 장치이다.
구체적으로, 심전도계(100)는 사용자의 신체에 접촉된 전극(electrode)을 통해 심근의 전기적 활동에 의한 전위(electric potential) 변화를 유도하고, 유도된 전위 변화를 증폭하여 파형(wave)으로 기록할 수 있다.
본 발명의 일 실시예에 따른 심전도계(100)는 표준 사지 유도(standard limb leads), 단극 사지 유도(unipolar limb leads) 및 흉부 유도(precordial leads) 중 어느 하나의 방식에 따라 심전도(ECG)를 유도할 수 있으며, 심전도계(100)의 심전도(10, ECG) 유도 방식은 이에 한정되지 않는다. 심전도계(100)는 1유도, 6유도 또는 12유도를 위한 전극을 구비할 수 있으며, 심전도계(100)의 유도(lead) 개수는 이에 한정되지 않는다. 또한, 심전도계(100)는 와치형(100a), 휴대형(100b) 및 홀터(holter)형(100n) 중 어느 하나의 유형(type)를 가질 수 있으며, 심전도계(100)의 유형은 이에 한정되지 않는다.
심전도계(100)에 의해 측정된 심전도(ECG) 신호(즉, 기록된 파형 신호)는 심전도계(100) 자체의 네트워크 기능을 통해 직접 운동 추천 서버(300)에 전송되거나, 또는 제3 수단을 경유하여 운동 추천 서버(300)에 입력될 수 있다. 예를 들어, 제3 수단은 이동식 매체(removable media), 사용자 장치(200) 및 사용자에 의한 데이터 입력 행위 중 어느 하나가 될 수 있으며, 이에 한정되지 않는다.
다음 구성으로, 사용자 장치(200)는 운동 추천 서버(300)에 의해 결정된 운동에 관한 정보를 출력할 수 있다.
구체적으로, 사용자 장치(200)는 운동 추천 서버(300)로부터 운동(20)에 관한 정보를 수신할 수 있다. 그리고, 사용자 장치(200)는 수신된 운동(20)에 관한 정보를 출력할 수 있다. 사용자 장치(200)가 운동 추천 서버(300)로부터 수신된 운동(20)에 관한 정보에는 운동의 유형, 운동의 강도 및 운동의 지속 시간 중 하나 이상이 포함될 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따른 사용자 장치(200)는 3GPP(3rd Generation Partnership Project)에서 규정하고 있는 사용자 장치(User Equipment, UE), 또는 IEEE(Institute of Electrical and Electronics Engineers)에서 규정하고 있는 모바일 스테이션(Mobile Station, MS)에 한정되지 아니하며, 운동 추천 서버(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다.
예를 들어, 사용자 장치(100)는 데스크탑(desktop, 200c), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone, 200a), 랩탑(laptop, 200b), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있으며, 이에 한정되는 것도 아니다.
다음 구성으로, 운동 추천 서버(300)는 심전도계(100)에 의해 측정된 심전도(10, ECG)를 기반으로 사용자의 실시간 건강 상태에 따른 심장 펌프 상태 등을 식별하고, 식별된 심장 펌프 상태 등에 대응한 운동(20)에 관한 정보를 사용자 장치(200)에 전송할 수 있다.
이와 같은, 운동 추천 서버(300)의 구체적인 구성요소 및 동작에 대해서는 추후 도 3 내지 도 10을 참조하여 후술하기로 한다.
상술한 바와 같은, 운동 추천 시스템을 구성하는 하나 이상의 심전도계(100), 하나 이상의 사용자 장치(200) 및 운동 추천 서버(300)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다.
예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것은 아니다. 또한, 이동통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것도 아니다.
이하, 상술한 바와 같은 특징을 가지는, 운동 추천 서버(300)의 구성요소에 대하여 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 운동 추천 서버의 논리적 구성도이다. 도 4는 본 발명의 일 실시예에 따른 인공신경망(Artificial Neural Network; ANN)을 설명하기 위한 예시도이다. 도 5 및 도 6은 본 발명의 몇몇 실시예에 따라 심전도(ECG) 신호를 분할하는 과정을 설명하기 위한 예시도이다. 도 7은 본 발명의 몇몇 실시예에 따라 상태 값을 판단하는 과정을 설명하기 위한 예시도이다. 그리고, 도 8은 본 발명의 일 실시예에 따라 심장 펌프 상태를 식별하는 과정을 설명하기 위한 예시도이다.
도 3에 도시된 바와 같이, 본 발명의1 일 실시예에 따른 운동 추천 서버(300)는 통신부(305), 입출력부(310), 인공지능 학습부(315), 심전도 해제부(320), 건강상태 분석부(325) 및 운동 결정부(330)를 포함하여 구성될 수 있다.
이와 같은, 본 발명의 일 실시예에 따른 운동 추천 서버(300)의 구성요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성요소에 대하여 설명하면, 통신부(305)는 심전도계(100) 및 사용자 장치(200)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(305)는 심전도계(100)로부터 심전도(10, ECG) 신호를 수신할 수 있다. 또한, 통신부(305)는 운동(20)에 관한 정보를 사용자 장치(200)에 전송할 수 있다. 이 경우, 운동(20)에 관한 정보에는 운동의 유형, 운동의 강도 및 운동의 지속 시간 중 하나 이상이 포함될 수 있으며, 이에 한정되지 않는다.
다음 구성으로, 입출력부(310)는 사용자 인터페이스(User Interface, UI)를 통해, 관리자로부터 명령을 입력 받거나 연산 결과를 출력할 수 있다.
구체적으로, 입출력부(310)는 심전도(10, ECG) 신호를 해제하기 위한 기준인 윈도우(window)의 크기를 입력 받을 수 있다. 입출력부(310)는 인공지능(AI)으로부터 획득된 확률 값들 중에서 아웃라이어(outlier)를 제거하기 위한 기준인 유효범위(validated rage)를 입력 받을 수 있다. 입출력부(310)는 심장 펌프 상태, 산소 섭취량 및 활동 대사량과, 운동의 유형, 운동 강도 및 운동 지속 시간이 서로 매칭되어 정리된 운동사전(exercise dictionary)를 입력 받을 수 있다.
한편, 입출력부(310)는 인공신경망(ANN)의 GMF 층에 적용될 활성화 함수(activation function), MLP 층에 적용될 활성화 함수, 가중치(weight) 및 편향(bias)을 입력 받을 수 있다.
또한, 입출력부(310)는 사용자의 심전도(10, ECG) 신호를 출력할 수 있다. 입출력부(310)는 사용자에게 추천할 운동(20)에 관한 정보를 출력할 수도 있다.
다음 구성으로, 인공지능 학습부(315)는 심전도(10, ECG) 신호를 기반으로 사용자의 건강상태에 대응하는 심장 펌프(cardiac pump) 상태를 식별하기 위한 인공지능(AI)을 학습시킬 수 있다. 또한, 인공지능 학습부(315)는 심전도(10, ECG) 신호를 기반으로 사용자의 건강상태에 대응하는 최대 산소섭취량(maximal volume of oxygen uptake, VO2 Max)을 식별하기 위한 인공지능(AI)을 학습시킬 수도 있다.
여기서, 심장 펌프 상태는 심장이 혈액을 순환시킬 수 있는 능력을 나타내는 상태 값이다. 이러한, 심장 펌프 상태는 심박수, 전부하, 후부하 및 심근수축력을 포함할 수 있다. 그리고, 최대 산소섭취량은 단위 시간당 신체가 최대로 소비할 수 있는 산소량이다.
구체적으로, 인공지능 학습부(315)의 학습 대상이 되는 인공지능(AI)은 크게 네 개의 인공신경망(ANN)을 포함하여 구성될 수 있다.
제1 인공신경망(ANN)은 심장의 확장기말 용적(end diastolic volume)에 해당하는 전부하(preload)에 관한 인공신경망(ANN)이다. 제2 인공신경망(ANN)은 심장이 수축하면서 받는 저항에 해당하는 후부하(afterload)에 관한 인공신경망(ANN)이다. 제3 인공신경망(ANN)은 심장의 심근수축력(contractility)에 관한 인공신경망이다. 그리고 제4 인공신경망(ANN)은 최대 산소섭취량에 관한 인공신경망이다.
일 실시예에 따르면, 인공지능 학습부(315)는 심전도(ECG) 신호로부터 분할된 복수 개의 부분신호들에 제각각 포함된 P 파, P-Q 파 및 RQS 파에 대한 변위를 기반으로 제1 인공신경망(ANN)을 학습시킬 수 있다. 인공지능 학습부(315)는 심전도(ECG) 신호로부터 분할된 복수 개의 부분신호들에 제각각 포함된 QRS 파, S-T 파 및 T 파에 대한 변위를 기반으로 제2 인공신경망(ANN)을 학습시킬 수 있다. 그리고, 인공지능 학습부(325)는 심전도(ECG) 신호로부터 분할된 복수 개의 부분신호들에 제각각 포함된 모든 파형에 대한 변위를 기반으로 제3 인공신경망(ANN) 및 제4 인공신경망(ANN)을 학습시킬 수 있다.
인공지능 학습부(315)의 학습 대상이 되는 제1 인공신경망(ANN), 제2 인공신경망(ANN), 제3 인공신경망(ANN) 및 제4 인공신경망(ANN) 각각은 입력층(input layer), 은닉층(hidden layer) 및 출력층(output layer)을 포함하여 구성될 수 있다.
특히 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 제1 인공신경망(ANN) 내지 제4 인공신경망(ANN)의 은닉층은 GMF(Generalized Matrix Factorization)와, MLP(Multi-Layer Perceptron)가 혼합된 형태로 구성될 수 있다.
다르게 말하면, 제1 인공신경망(ANN)의 은닉층은 심전도(ECG) 신호의 특징(즉, P 파, P-Q 파 및 RQS 파에 대한 변위의 특징)과 전부하의 상태 사이에 존재하는 선형적 관계를 학습하기 위한 GMF와 심전도(ECG) 신호의 특징과 전부하의 상태 사이에 존재하는 비선형적 관계를 학습하기 위한 MLP를 포함할 수 있다. 제2 인공신경망(ANN)의 은닉층은 심전도(ECG) 신호의 특징(즉, QRS 파, S-T 파 및 T 파에 대한 변위의 특징)과 후부하의 상태 사이에 존재하는 선형적 관계를 학습하기 위한 GMF와 심전도(ECG) 신호의 특징과 후부하의 상태 사이에 존재하는 비선형적 관계를 학습하기 위한 MLP를 포함할 수 있다. 제3 인공신경망(ANN)의 은닉층은 심전도(ECG) 신호의 특징(즉, 모든 파형에 대한 변위의 특징)과 심근수축력의 상태 사이에 존재하는 선형적 관계를 학습하기 위한 GMF와 심전도(ECG) 신호의 특징과 심근수축력의 상태 사이에 존재하는 비선형적 관계를 학습하기 위한 MLP를 포함할 수 있다. 그리고, 제4 인공신경망(ANN)의 은닉층은 심전도(ECG) 신호의 특징(즉, 모든 파형에 대한 변위의 특징)과 최대 산소섭취량 사이에 존재하는 선형적 관계(linearity relation)를 학습하기 위한 GMF와 심전도(ECG) 신호의 특징과 최대 산소섭취량 사이에 존재하는 비선형적 관계(non-linearity relation)를 학습하기 위한 MLP를 포함할 수 있다.
보다 상세하게, 인공지능 학습부(315)는 P 파, P-Q파 및 QRS 파의 변위를 대상으로 사전에 설정된 특징 추출 기준에 따라 하나 이상의 심전도(ECG) 신호의 특징을 추출할 수 있다. 인공지능 학습부(315)는 추출된 심전도(ECG) 신호의 특징과 전부하의 상태를 원-핫 인코딩(one-hot encoding)하여 각각 벡터(vector)로 표현하고, 상기 심전도(ECG) 신호의 특징에 대한 벡터와 상기 전부하의 상태에 대한 벡터를 임베딩(embedding)하여 차원을 축소한 밀집 벡터(dense vector)를 각각 생성할 수 있다. 인공지능 학습부(315)는 심전도(ECG) 신호의 특징에 대한 밀집 벡터와 상기 전부하의 상태에 대한 밀집 벡터의 아다마르 곱(hadamard product)을 상기 은닉층의 GMF 층(layer)에 입력하고, 심전도(ECG) 신호의 특징에 대한 벡터와 상기 전부하의 상태에 대한 벡터의 연결된 값(concatenation)을 은닉층의 MLP 층에 입력하여 제1 인공신경망(ANN)을 학습시킬 수 있다.
인공지능 학습부(315)는 QRS 파, S-T 파 및 T 파의 변위를 대상으로 사전에 설정된 특징 추출 기준에 따라 하나 이상의 심전도(ECG) 신호의 특징을 추출할 수 있다. 인공지능 학습부(315)는 추출된 심전도(ECG) 신호의 특징과 전부하의 상태를 원-핫 인코딩하여 각각 벡터로 표현하고, 상기 심전도(ECG) 신호의 특징에 대한 벡터와 상기 전부하의 상태에 대한 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 각각 생성할 수 있다. 인공지능 학습부(315)는 심전도(ECG) 신호의 특징에 대한 밀집 벡터와 상기 전부하의 상태에 대한 밀집 벡터의 아다마르 곱을 상기 은닉층의 GMF 층에 입력하고, 심전도(ECG) 신호의 특징에 대한 벡터와 상기 전부하의 상태에 대한 벡터의 연결된 값을 은닉층의 MLP 층에 입력하여 제2 인공신경망(ANN)을 학습시킬 수 있다.
그리고, 인공지능 학습부(315)는 심전도(ECG) 신호의 모든 파형의 변위를 대상으로 사전에 설정된 특징 추출 기준에 따라 하나 이상의 심전도(ECG) 신호의 특징을 추출할 수 있다. 인공지능 학습부(315)는 추출된 심전도(ECG) 신호의 특징과 전부하의 상태를 원-핫 인코딩하여 각각 벡터로 표현하고, 상기 심전도(ECG) 신호의 특징에 대한 벡터와 상기 전부하의 상태에 대한 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 각각 생성할 수 있다. 인공지능 학습부(315)는 심전도(ECG) 신호의 특징에 대한 밀집 벡터와 상기 전부하의 상태에 대한 밀집 벡터의 아다마르 곱을 상기 은닉층의 GMF 층에 입력하고, 심전도(ECG) 신호의 특징에 대한 벡터와 상기 전부하의 상태에 대한 벡터의 연결된 값을 은닉층의 MLP 층에 입력하여 제3 인공신경망(ANN) 및 제4 인공신경망(ANN)을 학습시킬 수 있다.
이를 위하여, 본 발명의 일 실시예에 따른 각 인공신경망(ANN)에서 GMF 층은 다음의 수식 1을 이용하여 구현될 수 있다.
[수식 1]
이 경우, p u는 심전도(ECG) 신호 특징의 밀집 벡터, q i는 심장 펌프 상태(제4 인공신경망의 경우에는 최대 산소섭취량)의 밀집 벡터, p uq i는 심전도(ECG) 신호 특징의 밀집 벡터와 심장 펌프 상태(제4 인공신경망의 경우에는 최대 산소섭취량)의 밀집 벡터 사이의 아다마르 곱, a는 인공신경망(ANN)의 활성화 함수(activation function), h는 은닉층의 엣지 웨이트(edge weight), hT는 엣지 웨이트의 벡터 곱이 될 수 있다.
밀집 벡터(dense vector)는 원-핫 인코딩(one-hot encoding)에 의해 표현된 벡터를 임베딩(embedding)하여 차원을 축소한 벡터이다. 즉, 밀집 벡터는 원-핫 인코딩에 의해 표현된 희소 벡터(sparse vector)에서 0의 값을 제거하여 벡터의 차원을 축소시킨 벡터이다.
또한, 인공신경망(ANN)에서 MLP 층은 다음의 수식 2 및 수식 3을 이용하여 구현될 수 있다.
[수식 2]
[수식 3]
이 경우, p u는 심전도(ECG) 신호 특징의 밀집 벡터, q i는 심장 펌프 상태(제4 인공신경망의 경우에는 최대 산소섭취량)의 밀집 벡터, z는 심전도(ECG) 신호 특징의 밀집 벡터와 심장 펌프 상태(제4 인공신경망의 경우에는 최대 산소섭취량)의 밀집 벡터가 서로 연결된 값(concatenation), a는 인공신경망(ANN)의 활성화 함수, W는 MLP를 구성하는 각 층(layer)의 가중치(weight), WT는 가중치의 벡터 곱, b는 MLP를 구성하는 각 층의 편향(bias), L은 은닉층을 구성의 층의 개수, σ는 수열의 합이 될 수 있다.
또한, 각 인공신경망(ANN)은 출력층으로 출력된 확률 값이 심장 펌프 상태에 관한 벡터에 추가되어 다시 입력층에 다시 입력되는, 재귀적 연결 구조를 가지는 순환 신경망(recurrent neural network)의 형태로 구성될 수도 있다.
이와 같이, 인공지능 학습부(315)의 인공신경망(ANN)은 GMF와 MLP가 혼합된 형태를 가짐으로써, 심전도(ECG) 신호의 특징과 심장 펌프 상태(제4 인공신경망의 경우에는 최대 산소섭취량) 사이에 존재하는 선형적인 관계뿐만 아니라, 비선형적 관계도 동시에 기계 학습될 수 있다.
다시 도 3을 참조하여 다음 구성을 설명하면, 심전도 해제부(320)는 심전도계(100)에 의해 측정된 심전도(10, ECG) 신호를 해제할 수 있다.
구체적으로, 심전도 해제부(320)는 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 획득할 수 있다. 즉, 심전도 해제부(320)는 통신부(305)를 통해 심전도계(100)로부터 심전도(10, ECG) 신호를 직접 수신하거나, 또는 입출력부(310)를 통해 심전도(10, ECG) 신호를 직접 입력 받을 수 있다.
심전도 해제부(320)는 심전도(10, ECG) 신호를 사용자로부터 측정된 시계열적 선후에 따라 복수 개의 부분신호(segmentation signal)로 분할할 수 있다.
기본적으로 도 5에 도시된 바와 같이, 심전도 해제부(320)는 심전도(10, ECG) 신호를 중복되는 영역이 없이 일정한 크기마다 개별적(discrete)으로 자름으로써, 심전도(10, ECG) 신호를 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다. 이 경우, 심전도(10, ECG) 신호를 개별적으로 잘라내기 위한 크기는 입출력부(310)에 의해 사전에 설정된 일정한 값이 될 수 있으나, 이에 한정되지 않고 무작위적(randomized) 값이 될 수도 있다.
이와 다르게 도 6에 도시된 바와 같이, 심전도 해제부(320)는 심전도(10, ECG) 신호를 대상으로 윈도우(window)를 시간 축에 따라 이동(sliding)시키며 자름으로써, 심전도(10, ECG) 신호를 윈도우에 대응하는 크기를 가지는 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다. 이 경우, 심전도(10, ECG) 신호를 잘라내기 위한 윈도우의 크기는 입출력부(310)에 의해 사전에 설정된 일정한 값이 될 수 있다.
한편, 심전도(10, ECG) 신호에는 측정 과정에서 사용자의 거동 등에 의해 발생된 노이즈가 포함되어 있을 수 있다. 따라서, 심전도 해제부(320)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 포함된 노이즈(noise)를 제거할 수 있다.
구체적으로, 심전도 해제부(320)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 P 파, P-Q 파, QRS 파, S-T 파 및 T 파의 변위(displacement)를 식별할 수 있다. 심전도 해제부(320)는 식별된 P 파, P-Q 파, QRS 파, S-T 파 및 T 파의 변위들의 정규 분포(normal distribution)를 생성할 수 있다. 그리고, 심전도 해제부(320)는 생성된 정규 분포에서 사전에 설정된 노이즈범위(noise range)에 포함된 P 파, P-Q 파, QRS 파, S-T 파 또는 T 파의 변위를 가지는 부분신호만을 선택적으로 제거할 수 있다.
다시 도 3을 참조하여 다음 구성을 설명하면, 건강상태 분석부(325)는 인공지능(AI)을 이용하여 심전도(10, ECG) 신호를 분석하여, 사용자의 건강상태에 대응하는 심장 펌프 상태를 식별할 수 있다. 또한, 건강상태 분석부(325)는 인공지능(AI)을 이용하여 심전도(10, ECG) 신호를 분석하여, 사용자의 건강상태에 대응하는 최대 산소섭취량을 추가로 식별할 수 있다.
우선적으로, 건강상태 분석부(325)는 심전도 해제부(320)에 의해 분할된 복수 개의 부분신호들(S1, S2, S3, …)을 인공지능(AI)에 각각 입력하여, 인공지능(AI)으로부터 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다.
본 발명의 일 실시예에 따른 인공지능(AI)은 제1 인공신경망(ANN) 내지 제4 인공신경망(ANN)을 포함하여 구성되므로, 건강상태 분석부(325)는 복수 개의 부분신호들(S1, S2, S3, …)을 제1 인공신경망(ANN) 내지 제4 인공신경망(ANN)에 각각 입력할 수 있다.
구체적으로, 건강상태 분석부(325)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 P 파, P-Q 파 및 QRS 파의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 심전도 해제부(320)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 심전도 해제부(320)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다. 심전도 해제부(320)는 생성된 밀집 벡터를 제1 인공신경망(ANN)의 GMF 층 및 MLP 층에 입력할 수 있다.
건강상태 분석부(325)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 QRS 파, S-T 파 및 T 파의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 심전도 해제부(320)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 심전도 해제부(320)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다. 심전도 해제부(320)는 생성된 밀집 벡터를 제2 인공신경망(ANN)의 GMF 층 및 MLP 층에 입력할 수 있다.
건강상태 분석부(325)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 모든 파형의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 심전도 해제부(320)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 심전도 해제부(320)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다. 심전도 해제부(320)는 생성된 밀집 벡터를 제3 인공신경망(ANN) 및 제4 인공신경망(ANN)의 GMF 층 및 MLP 층에 입력할 수 있다.
그리고, 건강상태 분석부(325)는 제1 인공신경망(ANN) 내지 제4 인공신경망(ANN) 각각으로부터 복수 개의 부분신호들(S1, S2, S3, …)에 대응하는 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다.
이어서, 건강상태 분석부(325)는 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로, 사용자의 심장 펌프 상태를 식별할 수 있다. 그리고, 건강상태 분석부(325)는 제4 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로, 사용자의 최대 산소섭취량을 식별할 수 있다.
구체적으로, 건강상태 분석부(325)는 단위 시간당 심전도(ECG) 신호에 포함된 파형의 개수를 기초로 사용자의 심박수(heart rate)를 식별할 수 있다. 건강상태 분석부(325)는 제1 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로 전부하의 상태 값을 판단할 수 있다. 건강상태 분석부(325)는 제2 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로 후부하의 상태 값을 판단할 수 있다. 건강상태 분석부(325)는 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로 심근수축력의 상태 값을 판단할 수 있다. 그리고, 건강상태 분석부(325)는 식별된 사용자의 심박수, 전부하의 상태 값, 후부하의 상태 값 및 심근수축력의 상태 값을 기반으로 심장 펌프 상태를 식별할 수 있다.
또한, 건강상태 분석부(325)는 제4 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로 사용자의 최대 산소섭취량을 식별할 수 있다.
보다 상세하게 도 7에 도시된 바와 같이, 건강상태 분석부(325)는 사전에 설정된 유효범위(validated range)를 기준으로, 각 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어(outlier)를 제거할 수 있다. 건강상태 분석부(325)는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 평균(average) 값(Pavr) 또는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 중간(median) 값(Pmed)을 심장 펌프에 관한 상태 값 또는 최대 산소섭취량을 판단할 수 있다.
즉, 건강상태 분석부(325)는 제1 인공신경망ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어를 제거하고, 아웃라이어가 제거된 확률 값들(P1, P2, P3, …, Pn)의 평균 값 또는 중간 값을 전부하의 상태 값으로 결정할 수 있다. 건강상태 분석부(325)는 제2 인공신경망ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어를 제거하고, 아웃라이어가 제거된 확률 값들(P1, P2, P3, …, Pn)의 평균 값 또는 중간 값을 후부하의 상태 값으로 결정할 수 있다. 건강상태 분석부(325)는 제3 인공신경망ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어를 제거하고, 아웃라이어가 제거된 확률 값들(P1, P2, P3, …, Pn)의 평균 값 또는 중간 값을 심근수축력의 상태 값으로 결정할 수 있다. 그리고, 건강상태 분석부(325)는 제1 인공신경망ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어를 제거하고, 아웃라이어가 제거된 확률 값들(P1, P2, P3, …, Pn)의 평균 값 또는 중간 값을 최대 산소섭취량으로 결정할 수 있다.
다시 도 3을 참조하여 다음 구성을 설명하면, 운동 결정부(330)는 건강상태 분석부(325)를 통해 식별된 심장 펌프 상태 및 최대 산소 섭취량 등을 기초로 사용자에게 추천할 운동을 결정할 수 있다. 운동 결정부(330)가 결정하는 운동에는 운동의 유형, 운동의 강도 및 운동의 지속 시간 중 하나 이상이 포함될 수 있다.
도 8에 도시된 바와 같이, 우선적으로 운동 결정부(330)는 건강상태 분석부(325)를 통해 식별된 심장 펌프 상태에 대응하여 사용자에게 추천할 운동의 유형을 결정할 수 있다. 이를 위하여, 운동 결정부(330)는 사전에 설정된 운동사전(exercise dictionary)으로부터 사용자의 심장 펌프 상태에 매칭되는 운동의 유형(exercise type)을 결정할 수 있다. 그리고, 운동 결정부(330)는 건강상태 분석부(325)를 통해 식별된 최대 산소 섭취량과 기 결정된 운동의 유형에 매칭되는 운동의 강도(exercise intensity)를 결정할 수 있다.
추가적으로, 운동 결정부(330)는 사용자에 대응하여 사전에 입력된 사용자의 성별, 신장 및 몸무게를 기초로 사용자의 기초대사랑(basal metabolism)을 산출할 수 있다. 운동 결정부(330)는 산출된 기초대사량에 기 결정된 운동의 유형 및 운동의 강도를 적용하여 사용자의 활동대사량(activity metabolism)을 산출할 수 있다. 그리고, 운동 결정부(330)는 산출된 활동대사량을 기초로 운동의 지속 시간(exercise duration)을 결정할 수 있다.
본 발명의 일 실시예에 따르면, 운동 결정부(330)는 사용자에 대응하여 사전에 설정된 사용자 장치(200, UE)의 위치를 식별할 수 있다. 이를 위하여, 운동 결정부(330)는 사용자 장치(200, UE)로부터 직접 사용자 장치(200, UE)의 위치 값을 수신하거나, 또는 사용자로부터 위치 값을 입력 받을 수 있다. 운동 결정부(330)는 식별된 사용자 장치(200, UE)의 위치에 대응하는 고도(altitude) 및 기상조건(weather condition)을 검색할 수 있다. 그리고, 운동 결정부(330)는 검색된 고도 및 기상조건에 대응하여, 건강상태 분석부(325)를 통해 식별된 최대 산소섭취량에 가중치를 적용할 수 있다.
본 발명의 다른 실시예에 따르면, 운동 결정부(330)는 운동의 유형을 결정함에 있어, 심전도(10, ECG) 신호가 측정된 시점에 대응하는 시간 가중치(time weight) 및 사용자에 대응하여 사전에 설정된 인적 가중치(human weight) 중 하나 이상을 반영하여 결정할 수도 있다.
이 경우, 시간 가중치는 심전도(10, ECG) 신호가 측정된 시각(time) 및 계절(season)에 대응하여 설정된 값이 될 수 있다. 그리고, 인적 가중치는 사용자와 친구로 등록된 자를 대상으로 측정된 심전도(10, ECG) 신호를 기반으로 식별된 심장 펌프 상태에 대응하여 설정된 값이 될 수 있다.
그리고, 운동 결정부(330)는 결정된 운동에 관한 정보를, 사용자에 대응하여 사전에 설정된 사용자 장치(200, UE)에 전송할 수 있다. 이 경우, 운동에 관한 정보에는 운동의 유형, 운동의 강도 및 운동의 지속 시간 중 하나 이상이 포함될 수 있다.
이하, 상술한 바와 같은 특징을 가지는, 운동 추천 서버(300)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명하기로 한다.
도 9는 본 발명의 일 실시예에 따른 운동 추천 서버의 하드웨어 구성도이다.
도 9에 도시된 바와 같이, 본 발명의 일 실시예에 따른 운동 추천 서버(300)는 프로세서(processor, 350), 메모리(memory, 355), 송수신기(transceiver, 360), 입출력장치(input/output device, 365), 데이터 버스(bus, 370) 및 스토리지(storage, 375)를 포함하여 구성될 수 있다.
구체적으로, 프로세서(350)는 메모리(355)에 상주된 운동 추천 방법이 구현된 소프트웨어(380a)에 따른 명령어를 기초로, 운동 추천 서버(300)의 동작 및 기능을 구현할 수 있다.
메모리(355)에는 스토리지(375)에 저장된 운동 추천 방법이 구현된 소프트웨어(380b)가 상주(loading)될 수 있다.
송수신기(360)는 심전도계(100) 및 사용자 장치(200, UE) 중 하나 이상과 데이터를 송수신할 수 있다.
입출력장치(365)는 프로세서(350)의 명령에 따라, 운동 추천 서버(300)의 동작에 필요한 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
데이터 버스(370)는 프로세서(350), 메모리(355), 송수신기(360), 입출력장치(365) 및 스토리지(375)와 각각 연결되어, 각각의 구성요소 사이에서 신호를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(375)는 본 발명의 다양한 실시예에 따른 운동 추천 방법이 구현된 소프트웨어(380a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일 및 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(375)는 본 발명의 다양한 실시예에 따른 운동 추천 방법이 구현된 소프트웨어(380b)를 저장할 수 있다. 그리고, 스토리지(375)는 인공지능(AI)의 학습 데이터, 운동사전 및 각종 설정 값 등을 저장하기 위한 데이터베이스(385)를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 메모리(355)에 상주되거나 또는 스토리지(375)에 저장된 운동 추천 방법을 구현하기 위한 소프트웨어(380a, 380b)는 프로세서(350)가 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 송수신기(360) 또는 입출력장치(365)를 통해 획득하는 단계, 프로세서(350)가 사전에 학습된 인공지능(AI)를 이용하여 심전도(10, ECG) 신호를 분석하여 사용자의 심장 펌프 상태를 식별하는 단계, 및 프로세서(350)가 식별된 심장 펌프 상태에 대응하여 사용자에게 추천할 운동의 유형을 결정하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 상세하게, 프로세서(350)는 중앙 처리 장치(Central Processing Unit, CPU), ASIC(Application-Specific Integrated Circuit), 칩셋(chipset), 논리 회로 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
메모리(355)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리(flash memory), 메모리 카드(memory card) 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
입출력장치(365)는 버튼(button), 스위치(switch), 키보드(keyboard), 마우스(mouse), 조이스틱(joystick) 및 터치스크린(touch screen) 등과 같은 입력 장치와, LCD(Liquid Crystal Display), LED(Light Emitting Diode), 유기 발광 다이오드(Organic LED, OLED), 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED), 프린터(printer), 플로터(plotter) 등과 같은 출력 장치 중 하나 이상을 포함하여 구성될 수 있으며, 이에 한정되지 않는다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 제각각 수행하는 모듈(과정, 기능 등)들로 구현될 수 있다. 각각의 모듈은 메모리(355)에 상주되고 프로세서(350)에 의해 실행될 수 있다. 메모리(355)는 프로세서(350)의 내부 또는 외부에 존재할 수 있고, 널리 알려진 다양한 수단으로 프로세서(350)와 연결될 수 있다.
도 9에 도시된 각 구성요소는 다양한 수단(예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등)에 의해 구현될 수 있다. 하드웨어에 의해 구현될 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의해 구현될 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 업계의 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 상술한 바와 같은 운동 추천 서버(300)의 동작에 대하여 구체적으로 설명한다.
도 10은 본 발명의 일 실시예에 따른 운동 추천 방법을 설명하기 위한 순서도이다.
도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 운동 추천 서버(300)는 사용자를 대상으로 측정된 심전도(10, ECG) 신호를 획득할 수 있다(S100).
구체적으로, 운동 추천 서버(300)는 심전도계(100)로부터 심전도(10, ECG) 신호를 직접 수신하거나, 또는 사용자 또는 그 외의 자로부터 신호를 직접 입력 받을 수 있다.
다음으로, 운동 추천 서버(300)는 심전도(10, ECG) 신호를 사용자로부터 측정된 시계열적 선후에 따라 복수 개의 부분신호(S1, S2, S3, …)로 분할할 수 있다(S200).
일 실시 예에 따르면, 운동 추천 서버(300)는 심전도(10, ECG) 신호를 중복되는 영역이 없이 일정한 크기마다 개별적(discrete)으로 자름으로써, 심전도(10, ECG) 신호를 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다. 다른 실시 예에 따르면, 운동 추천 서버(300)는 심전도(10, ECG) 신호를 대상으로 윈도우(window)를 시간 축에 따라 이동(sliding)시키며 자름으로써, 심전도(10, ECG) 신호를 윈도우에 대응하는 크기를 가지는 복수 개의 부분신호들(S1, S2, S3, …)로 분할할 수 있다.
한편, 운동 추천 서버(300)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 포함된 노이즈(noise)를 제거할 수도 있다.
다음으로, 운동 추천 서버(300)는 인공지능(AI)을 이용하여 복수 개의 부분신호들(S1, S2, S3, …)을 분석하여, 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다(S300).
구체적으로, 운동 추천 서버(300)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 P 파, P-Q 파 및 QRS 파의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 운동 추천 서버(300)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 운동 추천 서버(300)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다 운동 추천 서버(300)는 생성된 밀집 벡터를 제1 인공신경망(ANN)의 GMF 층 및 MLP 층에 입력할 수 있다.
운동 추천 서버(300)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 QRS 파, S-T 파 및 T 파의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 운동 추천 서버(300)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 운동 추천 서버(300)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다. 운동 추천 서버(300)는 생성된 밀집 벡터를 제2 인공신경망(ANN)의 GMF 층 및 MLP 층에 입력할 수 있다.
운동 추천 서버(300)는 분할된 복수 개의 부분신호들(S1, S2, S3, …)에 제각각 포함된 모든 파형의 변위를 대상으로, 사전에 설정된 특징 추출 기준에 따라 하나 이상의 특징을 추출할 수 있다. 운동 추천 서버(300)는 추출된 하나 이상의 특징을 원-핫 인코딩하여 심전도(ECG) 신호 특징의 벡터를 생성할 수 있다. 운동 추천 서버(300)는 생성된 심전도(ECG) 신호 특징의 벡터를 임베딩하여 차원을 축소한 밀집 벡터를 생성할 수 있다. 운동 추천 서버(300)는 생성된 밀집 벡터를 제3 인공신경망(ANN) 및 제4 인공신경망(ANN)의 GMF 층 및 MLP 층에 입력할 수 있다.
그리고, 운동 추천 서버(300)는 제1 인공신경망(ANN) 내지 제4 인공신경망(ANN) 각각으로부터 복수 개의 부분신호들(S1, S2, S3, …)에 대응하는 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 획득할 수 있다.
다음으로, 운동 추천 서버(300)는 제1 인공신경망(ANN) 내지 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로 사용자의 심장 펌프 상태를 식별하고, 제4 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)을 기반으로 사용자의 최대 산소섭취량을 식별할 수 있다(S400).
구체적으로, 운동 추천 서버(300)는 사전에 설정된 유효범위를 기준으로, 각 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값들(P1, P2, P3, …, Pn)에 포함된 아웃라이어를 제거할 수 있다. 운동 추천 서버(300)는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 평균 값(Pavr) 또는 아웃라이어가 제거된 복수 개의 확률 값들(P1, P2, …, Pm)의 중간 값(Pmed)을 심장 펌프에 관한 상태 값 또는 최대 산소섭취량을 판단할 수 있다.
다음으로, 운동 추천 서버(300)는 식별된 심장 펌프 상태 및 최대 산소 섭취량 등을 기초로 사용자에게 추천할 운동을 결정할 수 있다(S500). 이 경우, 결정되는 운동에는 운동의 유형, 운동의 강도 및 운동의 지속 시간 중 하나 이상이 포함될 수 있다.
구체적으로, 운동 추천 서버(300)는 사전에 설정된 운동사전으로부터 사용자의 심장 펌프 상태에 매칭되는 운동의 유형을 결정할 수 있다. 운동 추천 서버(300)는 최대 산소 섭취량과 기 결정된 운동의 유형에 매칭되는 운동의 강도를 결정할 수 있다. 추가적으로, 운동 추천 서버(300)는 사용자에 대응하여 사전에 입력된 사용자의 성별, 신장 및 몸무게를 기초로 산출된 사용자의 기초대사량에 기 결정된 운동의 유형 및 운동의 강도를 적용하여 사용자의 활동대사량을 산출하고, 산출된 활동대사량을 기초로 운동의 지속 시간을 결정할 수 있다.
마지막으로, 운동 추천 서버(300)는 결정된 운동에 관한 정보를, 사용자에 대응하여 사전에 설정된 사용자 장치(200, UE)에 전송할 수 있다(S600).
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
심전도: 10 운동: 20
심전도계: 100 사용자 장치: 200
운동 추천 서버: 300
통신부: 305 입출력부: 310
인공지능 학습부: 315 심전도 해제부: 320
건강상태 분석부: 325 운동 결정부: 330
프로세서: 350 메모리: 355
송수신기: 360 입출력장치: 365
데이터 버스: 370 스토리지: 375

Claims (10)

  1. 사용자를 대상으로 측정된 심전도(ElectroCardioGram, ECG) 신호를 획득하는 단계;
    사전에 학습된 인공지능(Artificial Intelligence, AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 심장 펌프(cardiac pump) 상태를 식별하는 단계; 및
    상기 식별된 심장 펌프 상태에 대응하여 상기 사용자에게 추천할 운동의 유형을 결정하는 단계를 포함하는, 운동 추천 방법.
  2. 제1 항에 있어서, 상기 식별하는 단계는
    상기 심전도(ECG) 신호를 시계열적 선후에 따라 복수 개의 부분신호들로 분할하는 단계;
    상기 분할된 복수 개의 부분신호들을 상기 인공지능(AI)에 각각 입력하고, 상기 인공지능(AI)으로부터 복수 개의 확률 값들을 획득하는 단계; 및
    상기 획득된 복수 개의 확률 값들을 기반으로 상기 사용자의 심장 펌프 상태를 식별하는 단계를 포함하는 것을 특징으로 하는, 운동 추천 방법.
  3. 제2 항에 있어서, 상기 인공지능(AI)은
    심장의 확장기말 용적(end diastolic volume)에 해당하는 전부하(preload)에 관한 제1 인공신경망(Artificial Neural Network; ANN), 심장이 수축하면서 받는 저항에 해당하는 후부하(afterload)에 관한 제2 인공신경망(ANN) 및 심장의 심근수축력(contractility)에 관한 제3 인공신경망(ANN)을 포함하여 구성되는 것을 특징으로 하는, 운동 추천 방법.
  4. 제3 항에 있어서, 상기 심장 펌프 상태를 식별하는 단계는
    단위 시간당 상기 심전도(ECG) 신호에 포함된 파형의 개수를 기초로 심박수(heart rate)를 식별하고, 상기 제1 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값을 기반으로 상기 전부하의 상태 값을 판단하고, 상기 제2 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값을 기반으로 상기 후부하의 상태 값을 판단하고, 상기 제3 인공신경망(ANN)으로부터 획득된 복수 개의 확률 값을 기반으로 심근수축력의 상태 값을 판단하고, 상기 심박수, 전부하의 상태 값, 후부하의 상태 값 및 심근수축력의 상태 값을 기반으로 상기 심장 펌프 상태를 식별하는 것을 특징으로 하는, 운동 추천 방법.
  5. 제3 항에 있어서,
    상기 제1 인공신경망은 상기 분할된 복수 개의 부분신호들에 제각각 포함된 P 파, P-Q 파 및 QRS 파에 대한 변위를 기반으로 학습되고,
    상기 제2 인공신경망은 상기 분할된 복수 개의 부분신호들에 제각각 포함된 QRS 파, S-T 파 및 T 파에 대한 변위를 기반으로 학습되고,
    상기 제3 인공신경망은 상기 분할된 복수 개의 부분신호들에 제각각 포함된 모든 파형에 대한 변위를 기반으로 학습되는 것을 특징으로 하는, 운동 추천 방법.
  6. 제1 항에 있어서, 상기 심장 펌프 상태를 식별하는 단계는
    상기 인공지능(AI)을 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 최대 산소섭취량(maximal volume of oxygen uptake)을 식별하는 것을 특징으로 하는, 운동 추천 방법.
  7. 제6 항에 있어서, 상기 운동의 유형을 결정하는 단계는
    사전에 설정된 운동사전(exercise dictionary)으로부터 상기 사용자의 심장 펌프 상태에 매칭되는 운동의 유형을 결정하고, 상기 결정된 운동의 유형 및 상기 최대 산소섭취량에 매칭되는 운동의 강도를 결정하는 것을 특징으로 하는, 운동 추천 방법.
  8. 제7 항에 있어서, 상기 운동의 유형을 결정하는 단계는
    상기 사용자에 대응하여 사전에 입력된 사용자의 성별, 신장 및 몸무게를 기초로 상기 사용자의 기초대사량(basal metabolism)을 산출하고, 상기 산출된 기초대사량에 상기 결정된 운동의 유형 및 운동의 강도를 적용하여 상기 사용자의 활동대사량(activity metabolism)을 산출하고, 상기 산출된 활동대사량을 기초로 운동의 지속 시간을 결정하는 것을 특징으로 하는, 운동 추천 방법.
  9. 제1 항에 있어서, 상기 운동의 유형을 결정하는 단계 이후에,
    상기 사용자에 대응하여 사전에 설정된 사용자 장치(User Equipment, UE)에 상기 결정된 운동의 유형을 포함하는 정보를 전송하는 단계를 더 포함하는 것을 특징으로 하는, 운동 추천 방법.
  10. 메모리(memory);
    송수신기(transceiver);
    입출력장치(input/output device); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 사용자를 대상으로 측정된 심전도(ECG) 신호를 상기 송수신기 또는 입출력장치를 통해 획득하는 단계;
    상기 프로세서가, 사전에 학습된 인공지능(AI)를 이용하여 상기 심전도(ECG) 신호를 분석하여, 상기 사용자의 심장 펌프 상태를 식별하는 단계; 및
    상기 프로세서가, 상기 식별된 심장 펌프 상태에 대응하여 상기 사용자에게 추천할 운동의 유형을 결정하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.
KR1020220094659A 2022-07-29 2022-07-29 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR20240016648A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220094659A KR20240016648A (ko) 2022-07-29 2022-07-29 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
PCT/KR2023/010755 WO2024025308A1 (ko) 2022-07-29 2023-07-25 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220094659A KR20240016648A (ko) 2022-07-29 2022-07-29 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20240016648A true KR20240016648A (ko) 2024-02-06

Family

ID=89706918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220094659A KR20240016648A (ko) 2022-07-29 2022-07-29 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (2)

Country Link
KR (1) KR20240016648A (ko)
WO (1) WO2024025308A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101044883B1 (ko) 2008-08-18 2011-06-28 주식회사 누가의료기 바이오 피드백 맞춤형 운동관리 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101398542B1 (ko) * 2011-06-30 2014-05-27 한국과학기술원 최대 산소 섭취량 추정을 통한 적정 운동 강도 제시 방법
KR20160061007A (ko) * 2014-11-21 2016-05-31 주식회사 메디플러스솔루션 환자와 건강정보를 공유하는 시스템 및 방법
KR102033065B1 (ko) * 2017-08-17 2019-10-16 충북도립대학산학협력단 개인 맞춤형 건강 관리 시스템 및 방법
KR102330705B1 (ko) * 2020-05-27 2021-11-25 현대진 기록매체에 저장된 개인 관리 어플리케이션 및 이를 포함하는 건강 관리 시스템
KR102548357B1 (ko) * 2020-09-08 2023-06-28 스왈라비(주) 라이프로그 데이터 기반 인공지능을 이용한 원격 건강 관리 시스템
KR20220091779A (ko) * 2020-12-24 2022-07-01 엘지전자 주식회사 헬스 케어를 제공하는 게이트웨이 및 방법과, 이의 전자 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101044883B1 (ko) 2008-08-18 2011-06-28 주식회사 누가의료기 바이오 피드백 맞춤형 운동관리 시스템

Also Published As

Publication number Publication date
WO2024025308A1 (ko) 2024-02-01

Similar Documents

Publication Publication Date Title
Mincholé et al. Machine learning in the electrocardiogram
JP7262452B2 (ja) Ecgベースの心駆出率のスクリーニング
Ambekar et al. Disease risk prediction by using convolutional neural network
Larsen et al. Cost-effectiveness of the implantable cardioverter-defibrillator versus antiarrhythmic drugs in survivors of serious ventricular tachyarrhythmias: results of the Antiarrhythmics Versus Implantable Defibrillators (AVID) economic analysis substudy
Karatzia et al. Artificial intelligence in cardiology: Hope for the future and power for the present
Troiano Translating accelerometer counts into energy expenditure: advancing the quest
Wang et al. Arrhythmia classification algorithm based on multi-head self-attention mechanism
Ghumbre et al. Heart disease diagnosis using machine learning algorithm
Yashudas et al. DEEP-CARDIO: Recommendation System for Cardiovascular Disease Prediction using IOT Network
Babaoğlu et al. Diagnosis of coronary artery disease using artificial bee colony and k-nearest neighbor algorithms
US20230420132A1 (en) Noninvasive heart failure detection
Sanchez de la Nava et al. Artificial intelligence for a personalized diagnosis and treatment of atrial fibrillation
Theerthagiri et al. Cardiovascular disease prediction using recursive feature elimination and gradient boosting classification techniques
Bergua et al. The finger flexors occlusion threshold in sport-climbers: an exploratory study on its indirect approximation
Maurya et al. A review of smart sensors coupled with Internet of Things and Artificial Intelligence approach for heart failure monitoring
Buettner et al. Heartbeat classification with spiking neural networks on the loihi neuromorphic processor
CN113876419A (zh) 通过建议标测点的位置提高标测效率
Zebardast et al. A new generalized regression artificial neural networks approach for diagnosing heart disease
Topol What's lurking in your electrocardiogram?
Souza et al. Identifying Risk Factors for Heart Failure: A Case Study Employing Data Mining Algorithms
KR20240016648A (ko) 심전도에 기반한 운동 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US20220254508A1 (en) Method for identifying manifold clusters using statistically significant association patterns
Krishnasree et al. Diagnosis of heart disease using neural networks-Comparative study of Bayesian regularization with multiple regression model
KR20240016647A (ko) 심전도에 기반한 식단 추천 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US11241198B2 (en) Method and apparatus for synchronizing impedance cardiography with electrocardiography to lower patient auxiliary current