KR101072452B1 - 심장질환 진단장치 및 방법 - Google Patents

심장질환 진단장치 및 방법 Download PDF

Info

Publication number
KR101072452B1
KR101072452B1 KR1020090046526A KR20090046526A KR101072452B1 KR 101072452 B1 KR101072452 B1 KR 101072452B1 KR 1020090046526 A KR1020090046526 A KR 1020090046526A KR 20090046526 A KR20090046526 A KR 20090046526A KR 101072452 B1 KR101072452 B1 KR 101072452B1
Authority
KR
South Korea
Prior art keywords
heart
sound
signal
sound signal
heart disease
Prior art date
Application number
KR1020090046526A
Other languages
English (en)
Other versions
KR20100128083A (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 KR1020090046526A priority Critical patent/KR101072452B1/ko
Publication of KR20100128083A publication Critical patent/KR20100128083A/ko
Application granted granted Critical
Publication of KR101072452B1 publication Critical patent/KR101072452B1/ko

Links

Images

Classifications

    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B7/00Instruments for auscultation
    • A61B7/02Stethoscopes
    • A61B7/04Electric stethoscopes

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Acoustics & Sound (AREA)
  • Veterinary Medicine (AREA)
  • Engineering & Computer Science (AREA)
  • Public Health (AREA)
  • Heart & Thoracic Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Physiology (AREA)
  • Cardiology (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

본 발명은 심장질환 진단장치 및 방법에 관한 것으로, 특히 전자 청진기를 통해 획득되는 심음신호 특성을 이용하여 심장질환의 종류와 유무를 진단할 수 있도록 한 심장질환 진단장치 및 방법에 관한 것이다. 이와 같은 본 발명은 제1 음(S1), 심실수축, 제2 음(S2) 및 심실확장 순서의 1주기로 이루어진 심음신호로부터 심장질환을 진단하는 장치에 있어서, 전자 청진기로부터 연속심음신호를 입력받는 입력부; 상기 연속심음신호로부터 분할 오류에 의한 성능저하를 최소화하는 한 주기의 심음신호를 획득하는 자동분할부; 상기 한 주기 심음신호로부터 심장질환 종류와 유무를 판단하기 위한 특징값들을 추출하는 특징 추출부; 및 상기 특징값들을 패턴분류기를 통해 학습시켜 입력된 전자청진기 심음신호에 대한 심장질환을 판단하고, 그 판단결과에 따라 심장질환을 분류하여 심장질환의 유무와 심장질환의 종류를 진단하는 진단부를 포함하는 심장질환 진단장치 및 이를 이용한 심장질환 진단방법을 제공한다.
심장, 심장 질환, 심음, 전자 청진기, ELM, HMM, ANN

Description

심장질환 진단장치 및 방법{APPARATUS AND METHOD FOR DIAGNOSING CARDIAC DISORDER}
본 발명은 심장질환 진단장치 및 방법에 관한 것으로, 특히 전자 청진기를 통해 획득되는 심음신호 특성을 이용하여 심장질환의 종류와 유무를 진단할 수 있도록 한 심장질환 진단장치 및 방법에 관한 것이다.
심장질환은 사망의 주요 원인이 되고 있으며 최근 서양에서는 남녀 모두 심혈관질환이 사망원인 1위이고 최근 우리나라에서도 사망원인 3위이며 심장질환에 의한 사망이 점점 늘어나고 있다. 심장질환으로 인한 사망의 대상 연령층도 점점 낮아지고 있어서 국가적인 건강 문제가 되고 있는 현실이다.
과학기술의 발달과 함께 현대사회의 부적절한 생활양식은 심장병을 유발하고 증산을 악화시키는 일반적인 요인으로 작용하고 있다. 일상생활 중에서 대부분의 시간을 앉아서 업무를 처리하는 생활양식은 현대인들에게 운동부족 상태를 초래하였고, 고지방 섭취와 비만을 초래하는 식사습관, 흡연, 고혈압, 직업적인 적응문제 에서 일어나는 스트레스 등은 심장질환의 발생을 증가시키고 있다.
전 세계적으로 전체 사망원인 중 심장질환에 의한 사망이 점점 늘어나고 있는 추세를 보이고 있으므로 심장질환의 심각성과 이에 대한 정확하고 조기진단이 가능한 시스템의 필요성이 대두되고 있다. 심장질환은 대부분 치명적이거나 심한 후유증을 남기기 때문에 심장질환의 조기 발견은 매우 중요하다. 심장질환 여부는 심초음파 또는 심전도(electro-cardiogram; ECG) 검사를 통하여 정확하게 진단되지만, 이러한 심장질환 검사는 환자들의 많은 비용을 부담하게 되고 오랜 진단시간이 소비되며 심장병 전문의들의 정신적, 육체적 부담을 가중시킬 수 있다.
Artificial Neural Network(ANN) 방식은 다수의 주기를 포함하고 있는 연속심음신호에서 자동적으로 단일주기를 선택하는 자동분할 알고리듬(304)을 이용하여 한 주기 심음신호를 선택하고 자동적으로 심장질환을 분류하기 위해 ANN을 이용하여 심음신호의 심잡음(murmur)의 여부를 파악하여 심장질환 유무를 평가한 후 심장질환 종류를 판별하였다. ANN 방식은 연속심음신호를 분류하기 위해 전처리 단계에서 심음신호의 단일주기를 획득하는 자동분할 알고리듬을 가지고 있어야 하고 한 주기 심음신호의 특성을 분류하기 위해 적절한 특징벡터를 추출하여야 한다. 그러나 이러한 종래의 자동분할 알고리듬으로 인한 분할 오류들은 흔히 분류 정확도를 떨어뜨리는 문제점이 있다.
한편, Hidden Markov model (HMM) 방식은 학습시에는 고립심음신호를 이용하여 심음 분류기를 학습하고 인식 시에는 고립심음신호를 사용하지 않고 모든 상태들 간의 천이가 가능하도록 구성하여 분할정보가 없어도 연속심음신호를 인식할 수 있다.
HMM 방식은 심음의 동적 특성과 비정상적인 특성을 고려하여 심장질환 종류를 판단할 수 있고, 다수의 주기를 포함하는 연속심음신호를 분석할 수 있다. 그러나 종래의 ANN 방식보다 심장질환 분류 정확도가 만족스럽지 못한 문제점이 있다.
본 발명은 상기와 같은 문제점을 감안하여 안출된 것으로, 전자 청진기를 통해 획득되는 심음신호 특성을 이용하여 심장질환의 종류와 유무를 진단할 수 있도록 한 심장질환 진단장치 및 방법을 제공함에 그 목적이 있다.
본 발명의 다른 목적은 연속심음신호에서의 한 주기 심음신호를 자동적으로 분할하고 단일주기의 심음신호의 특성을 고려해 계산속도가 빠르고 일반화가 쉬운 Extreme Learning Machine(ELM)을 이용하여 심장질환의 종류와 유무를 판단할 수 있도록 한 심장질환 진단장치 및 방법을 제공함에 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 일면에 따른 심장질환 진단장치는, 제1 음(S1), 심실수축, 제2 음(S2) 및 심실확장 순서의 1주기로 이루어진 심음신호로부터 심장질환을 진단하는 장치에 있어서, 전자 청진기로부터 연속심음신호를 입력받는 입력부; 상기 연속심음신호로부터 분할 오류에 의한 성능저하를 최소화하는 한 주기의 심음신호를 획득하는 자동분할부; 상기 한 주기 심음신호로부터 심장질환 종류와 유무를 판단하기 위한 특징값들을 추출하는 특징 추출부; 및 상기 특징값들을 패턴분류기를 통해 학습시켜 입력된 전자청진기 심음신호에 대한 심장질환을 판단하고, 그 판단결과에 따라 심장질환을 분류하여 심장질환의 유무와 심장질환의 종류를 진단하는 진단부를 포함하는 것을 특징으로 한다.
여기서, 상기 자동분할부는, 상기 연속심음신호를 필터링하여 심잡음 신호를 감소시키고, 연속 심음신호의 진폭을 증가시킨 후, 단일 주기의 심음신호의 펄스를 검출하여 제1, 제2 음의 시작점을 검출하는 펄스 검출부; 및 상기 제1, 제2음의 시작점을 이용하여 각 시작점의 거리를 연산하고, 사전정보를 고려하여 상기 연산된 거리로부터 미검출된 시작점과 부정확한 위치정보를 갖는 연속심음신호를 교정하는 펄스 교정부를 포함하는 것을 특징으로 한다.
여기서, 상기 펄스 검출부는, 정규화된 심음신호를 특정대역에 대해 필터링하여 심잡음 신호를 감소시켜 심음신호를 출력하는 대역통과 필터; 상기 심잡음신호가 감소된 심음신호 중 매우 작은 진폭값과 큰 진폭값을 감소시켜 포락선의 피크를 강조시키는 진폭 증가부; 및 상기 포락선의 피크가 강조된 심음신호로부터 제1, 제2음의 시작점을 추출하는 추출부를 포함하는 것을 특징으로 한다.
여기서, 상기 진폭 증가부는, 심음신호의 특성을 고려하여 매 10ms씩 이동하면서 30ms 윈도우에 대하여 아래의 수학식 1을 이용하여 제1 음과 제2 음 사이 구간의 포락선의 피크를 강조하는 것을 특징으로 하는 심장질환 진단장치.
(수학식 1)
Figure 112009031979428-pat00001
여기서, Es는 진폭증가부를 통해 출력되는 연속심음신호를 의미하고, K는 30ms 윈도우의 샘플의 개수를 의미하고, Xnorm은 대역통과 필터의 출력신호를 의미한다.
여기서, 상기 추출부는, 상기 진폭 증가부의 출력신호를 입력받아 제1, 제2 음의 구간을 추출하는 구간 추출부; 및 상기 추출된 제1, 제2 음의 구간에 대해 영상 이진화 방법의 자동 임계값에 의해 정규화하여 상기 추출된 제1, 제2음으로부터 제1, 제2음의 시작점을 추출하는 시작점 추출부를 포함하는 것을 특징으로 한다.
여기서, 상기 시작점 추출부는, 아래의 수학식 2 내지 수학식 5를 이용하여 자동 임계값을 획득하는 것을 특징으로 하는 심장질환 진단장치.
(수학식 2)
Figure 112009031979428-pat00002
(수학식 3)
Figure 112009031979428-pat00003
(수학식 4)
Figure 112009031979428-pat00004
(수학식 5)
Figure 112009031979428-pat00005
여기서, k는 정수값으로 정규화한 이산 랜덤 변수를 의미하고, N(k)는 k의 히스토그램을 의미하고, t(G)는 전체 심음신호의 샘플개수를 의미하고, t(i)는 레벨 i이하인 심음신호 샘플의 개수를 의미하고, A(i)는 레벨 i 이하인 심음신호 샘플의 개수 t(i)와 레벨 i보다 큰 심음신호의 샘플의 개수 t(G)-t(i)의 비율을 의미하고, m(i)는 레벨 i 이하인 샘플의 평균을 의미하고, m(G)는 전체 평균값을 의미하고, B(i)는 레벨 i 이하인 샘플의 평균 m(i)와 전체 평균값 m(G)의 차이의 제곱을 의미하고,
Figure 112009031979428-pat00006
는 심음신호의 표준편차를 의미하며, T는 임계값을 의미한다.
여기서, 상기 펄스 교정부는, 획득된 제1, 제2음의 시간과 제1, 제2음의 이전시간의 차를 구하는 시작점 시간차이 측정부; 상기 측정된 시작점들 간의 시간적 거리를 내림차순으로 정렬하고, 그 정렬된 시작점들의 시간적 거리 값들에서의 작은 값들의 50 백분위수(percentile)의 평균을 측정하는 제1 평균거리 측정부; 상기 측정된 평균값을 이용하여 제1음에서 제2음사이의 거리와 이외의 거리를 구분하고 제1음에서 제2음사이의 거리에 대한 평균값을 측정하는 제2 평균거리 측정부; 상기 구분한 제1, 제2음의 시작점을 기준으로 시작점 이전 및 이후 거리를 측정하는 전후거리 측정부; 제1,제2음의 시작점 미검출 구간의 평균주기와 제1,제2음의 시작점 검출구간의 평균주기를 연산하는 평균주기 연산부; 상기 연산된 평균주기의 검출한 주기의 수를 계산하고 그 검출된 수의 확률을 가중치값으로 적용하여 연속심음신호 의 1주기를 획득하는 단일주기 획득부; 제1,제2음의 시작점에 따른 히스토그램을 획득하는 히스토그램 획득부; 상기 히스토그램을 통해 제1,제2음의 시작점 위치를 구별할 수 있는 임계값을 결정하는 임계값 결정부; 및 상기 임계값을 통해 제1,제2음의 시작점의 평균 위치를 검출하는 시작점 평균 위치 검출부(414)를 포함하되, 상기 제1, 제2음의 평균 위치를 이용하여 시작점 미검출 신호를 추가하고, 부정확한 위치에 존재하는 제1, 제2음의 시작점 신호를 교정하는 것을 특징으로 한다.
여기서, 상기 특징 추출부는, 심음신호의 주파수 특성을 고려하여 심음신호의 샘플링률을 다운샘플링하는 다운샘플링부; 상기 다운샘플링 된 심음신호로부터 필터뱅크 로그에너지값을 연산하는 필터뱅크 로그에너지부; 상기 다운샘플링 된 심음신호로부터 심음신호의 포락선 값을 연산하는 포락선 연산부; 및 상기 필터뱅크 로그에너지부와 포락선 연산부의 출력값을 결합하여 특징값(특징 벡터)들을 획득하는 결합부를 포함하되, 상기 특정개수의 특징벡터를 획득하는 것을 특징으로 한다.
여기서, 상기 진단부는, 상기 특징값들을 심장질환의 패턴에 따라 분류하여 학습하는 학습 모델링부; 및 상기 학습 모델링을 통해 학습된 특징값들과 비교하여 상기 전자 청진기로부터 입력되는 연속심음신호의 패턴을 인식하는 패턴인식부를 포함하되, 상기 패턴인식부를 통해 인식되는 패턴에 따라 심장질환의 유무와 종류를 판정하는 것을 특징으로 한다.
본 발명의 다른 면에 따른 심장질환 진단방법은, 제1 음(S1), 심실수축, 제2 음(S2) 및 심실확장 순서의 1주기로 이루어진 심음신호로부터 심장질환을 진단하는 심장질환 진단장치를 통한 심장질환 진단방법에 있어서, 심장질환 유무를 진단받고 자 하는 검사자의 연속심음신호를 전자 청진기를 통해 입력받는 단계; 상기 연속심음신호를 1주기의 심음신호로 분할하는 단계; 1주기의 심음신호로부터 특징값을 추출하고, 심음신호의 파라미터를 추정하여 학습되는 학습 모델링을 이용하여 1주기의 심음신호를 분류하는 단계; 및 상기 분류된 심음신호를 고려하여 심장질환의 유무 및 종류를 판정하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 연속심음신호는 상기 전자 청진기와의 근거리 무선통신에 의해 수신되는 것을 특징으로 한다.
여기서, 상기 심음신호로 분할하는 단계는, 상기 연속심음신호를 필터링하여 심잡음 신호를 감소시키고, 연속 심음신호의 진폭을 증가시킨 후, 단일 주기의 심음신호의 펄스를 검출하여 제1, 제2 음의 시작점을 검출하는 단계; 및 상기 제1, 제2음의 시작점을 이용하여 각 시작점의 거리를 연산하고, 사전정보를 고려하여 상기 연산된 거리로부터 미검출 된 시작점과 부정확한 위치정보를 갖는 연속심음신호를 교정하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 제1, 제2 음의 시작점을 검출하는 단계는, 상기 심잡음신호가 감소된 심음신호 중 가장 작은 진폭값과 가장 큰 진폭값을 감소시켜 포락선의 피크를 특정 레벨로 강조시키고, 그 포락선의 피크가 특정 레벨로 강조된 심음신호로부터 제1, 제2 음의 구간과 심잡음 구간을 검출하는 단계; 상기 검출된 구간에서의 심잡음 영역의 분포에 따라 자동 임계값을 적용하도록 하기 위해 심음신호의 표준편차의 소정배수를 곱하여 최종적인 임계값으로 획득하는 단계; 및 심음신호의 제1 음에서 제2 음까지 시간적 거리가 소정거리보다 길다는 사전정보를 이용하여 임계값 이상인 구간의 시작점을 기점으로 시작점을 제외한 상기 소정거리 이하의 폭을 갖는 펄스를 제거한 후에 최종적으로 각 펄스의 시작점을 검출하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 교정하는 단계는, 검출한 제1, 제2음의 시작점들의 시간의 차를 구하고, 제1, 제2음의 시간적 거리를 내림차순으로 정렬한 후, 정렬된 제1, 제2음의 시간적 거리 값들에서의 작은 값들의 50 백분위수(percentile)의 평균을 구하는 단계; 제1음에서 제2음까지의 시간적 거리가 제2음에서 제1음까지의 시간적 거리와 미검출 신호로 생기는 거리보다 짧다는 사전정보를 이용하여 제1, 제2음의 시작점, 미검출 구간을 표시하고, 표시된 제1, 제2음의 정보를 이용하여 제1음을 기준으로 이전 시작점의 시간적 거리 및 제2음을 기준으로 이후 시작점의 시간적 거리를 구하고, 제1음과 제2음 시작점의 평균 시간적 거리를 구하며, 미검출 구간의 평균주기와 제1,제2음의 시작점을 표시한 1주기의 평균주기의 검출된 확률을 구하는 단계; 상기 확률을 가중치 값으로 적용하여 심음신호의 1주기 값을 얻고, 제1음과 제2음 사이에서 중간지점을 중심으로 구한 1주기만큼 연속심음신호를 나누어 1주기 크기를 가지는 부세그먼트들의 제1, 제2음의 시작점 검출 신호의 위치 히스토그램을 구하는 단계; 및 상기 위치 히스토그램을 이용하여 제1, 제2음의 시작점 신호를 구별하는 임계값을 구하고, 제1, 제2음의 평균 위치를 구하여 제1, 제2음의 시작점 미검출 신호를 추가하고 부정확한 위치에 존재하는 제1, 제2음의 시작점 신호에 대해 제1, 제2음의 시작점을 교정하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 1주기의 심음신호로부터 특징값을 추출하는 것은, ANN방식 및 HMM방식 중 어느 하나를 고려하여 심음신호의 특징값을 추출하는 것을 특징으로 한 다.
여기서, 상기 ANN방식을 고려하여 심음신호의 특징값 추출은, 프레임 크기로 단일 주기 심음신호를 사용하고, 샘플링률을 2 kHz로 다운샘플링하고, 그 신호에 Hamming 윈도우 함수를 취한 후 2048-point 고속푸리에 변환(FFT)을 취하고 그 출력값의 전체 주파수 범위를 100개의 mel-scale 필터뱅크로 분할하며, 필터뱅크 출력값의 크기에 로그함수를 취하여 100개의 필터뱅크 로그에너지 값을 얻고 병렬적으로 균일한 길이를 가지도록 부세그먼트로 분할하고 균일하게 나누어지지 않는 신호는 심음신호의 마지막 부분에 40개의 균일한 길이를 가지는 부세그먼트로 분할할 수 있게 '0'으로 채워주고, 40개의 각 부세그먼트의 절대값의 평균값을 계산하여 40개의 심음신호의 포락선 값을 구하고 100개의 필터뱅크 로그 에너지값과 40개의 포락선 값을 하나의 벡터로 연결하여 최종적으로 140차원의 특징벡터를 얻는 것을 특징으로 한다.
여기서, 상기 HMM방식을 고려하여 심음신호의 특징값 추출은, 샘플링률을 2kHz로 낮추고 제1, 제2음의 첫 번째 하모닉 요소의 3 사이클을 포함하도록 매 10ms씩 이동하면서 30ms Hamming 윈도우를 선택하고, FFT를 취한 후 30개의 mel-scale 필터뱅크로 분할하고, 필터뱅크 출력값의 크기에 로그함수를 취한 후 이산코사인변환(DCT)을 하여 12개의 MFCC 계수를 구하고 1개의 프레임 로그에너지를 추가적으로 사용하고 1차 미분 값을 추가하여 총 26차 특징벡터를 얻는 것을 특징으로 한다.
전술한 과제해결 수단에 의해 본 발명은 전자청진기의 심음신호를 이용하여 심장질환의 유무와 종류를 판단함으로써, 심전도 또는 심초음파 검사 전에 전자청진기 기반의 심음신호를 이용하여 질환유무와 질환종류에 대한 정확한 사전정보를 얻을 수 있는 효과가 있다.
또한 환자들의 진단 비용과 진단 시간을 단축시키고, 의사들의 정신적, 육체적 부담을 감소시킬 수 있는 효과가 있다.
또한 향후 심장이 약하거나 심장질환으로 인해 수술한 경험이 있는 환자들에게 실시간 의료원격진단이 가능하고 인간-기계 인터페이스에 응용되어 관련분야의 발전을 촉진시키고 심장질환 전문지식이 없는 의사들의 심장의학 분야의 전문 인력 교육에 효과가 있다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 설명한다.
하기의 설명에서 본 발명의 심장질환 진단장치 및 방법의 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있는데, 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
한편 본 발명의 심장질환 진단장치 및 방법은 자동분할 알고리즘과 extream learning machine(ELM)을 이용하여 심음신호의 심장질환을 분류하는 방법을 제공한다.
도 1은 일반적인 한주기 심음신호의 기본 파형을 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 심음 신호의 한 주기는 제1음(S1)(101) -> 심실수축기(systole)(102) -> 제2음(S2)(103) -> 심실확장기(diastole)(104)의 순서로 이루어진다.
제1음(S1)(101)은 심실수축기에 해당하며 저음(57~70 Hz)으로 둔하며, 소리의 지속이 길다.
제2음(S2)(103)은 심실확장기에 해당하며 고음(90~100 Hz)으로 예리하며, 소리의 지속이 짧다.
제1음(S1)(101)은 승모판막, 삼천판막의 폐쇄음과 대동맥판막, 폐동맥판막의 개방음이 주성분이고, 제2음(S2)은 승모판막, 삼천판막의 개방음과 대동맥판막, 폐동맥판막의 폐쇄음이 주성분이다. 정상적인 심음에서는 심실수축기(102)와 심실확장기(104)에서 거의 소리가 들리지 않지만, 비정상적인 심음에서는 심잡음(murmur)과 클릭음(click)이 들린다.
비정상적인 심음신호는 심잡음과 클릭음의 위치에 따라서 여러 질환으로 구분할 수 있다.
심실 수축기에서 심잡음이 존재하는 심장질환에는 대동맥판 협착(aortic stenosis; AS), 승모판 역류(mitral regurgitation; MR), 심실강모결손(ventricular septal defect; VSD)의 질환들이 있고, 심실 수축기에서 클릭음이 존재하는 질환에는 승모판 탈출(mitral valve prolapse; MVP)의 질환이 있다.
또한 심실 확장기에서 심잡음이 존재하는 심장질환에는 대동맥판 역류(aortic regurgitation; AR), 승모판 협착(mitral stenosis; MS)의 질환들이 있다.
본 발명에서는 이러한 심잡음과 클릭음의 위치를 정확하게 구분하기 다음과 같은 방법을 사용한다.
즉, 자동분할 알고리즘으로 인한 분류 오류율이 최소화되도록 제1음(S1)과 제2음(S2)를 강조한 다음 영상 이진화 방법을 응용하여 제1음(S1)과 제2음(S2)구간의 시작점들을 검출하고, 시작점들간의 거리를 이용하여 미검출 시작점을 추가하고 부정확한 시작점을 교정하는 개선된 자동분할 알고리즘을 구축한다. 단일 주기의 심음신호를 추출하여 필터뱅크 로그에너지 값과 심음신호의 포락선 값을 구하여 특징벡터로 사용한다. 심장질환을 분류하기 위하여 다른 학습 알고리즘과 비교하여 계산시간이 적고 복잡한 문제에서도 우수한 성능을 얻는 ELM을 이용한다. 그러면, 연속심음신호를 이용하여 심장질환의 종류와 유무를 판단할 수 있도록 한다. 여기서 영상 이진화 기술에 대해서는 일반적으로 공지된 기술이므로, 이에 대한 상세한 설명은 생략한다.
전술한 심잡음과 클릭음의 위치를 정확하게 구분하는 방법에 대한 구체적인 설명은 첨부된 도면을 이용하여 후술하도록 하며, 본 발명에 따른 심장질환 진단장 치의 동작 및 작용에 대해 먼저 살펴보도록 한다.
도 3은 본 발명의 실시예에 따른 심장질환 진단장치의 구성도이다. 도 3에 도시된 블루투스 오디오 트랜스미터(Bluetooth Audio Transmitter)(302)는 전자 청진기(301)에 구비되는 것으로, 본 발명의 심장질환 진단장치의 블루투스 오디오 리시버(Bluetooth Audio receiver)(303)로 연속심음신호를 무선으로 전송하는 기능을 수행한다. 그러나, 전자 청진기(301)는 일예일 뿐 심음 신호를 전송할 수 있는 기능을 수행하는 장치면 어떠한 것이든지 가능함은 물론이다.
도 3에 도시된 바와 같이, 본 발명에 따른 심장질환 진단장치는 블루투스 오디오 리시버(303), 자동분할부(304), 특징 추출부(305), 진단부(306) 등을 포함하여 구성된다.
블루투스 오디오 리시버(303)는 블루투스 오디오 트랜스미터에 대응되는 구성요소로서, 블루투스 오디오 트랜스미터(302)로부터 전송되는 심음신호를 무선으로 수신한다. 여기서 블루투스 오디오 리시버(303)는 심음신호 수신부가 되며, 수신된 심음신호를 정규화하는 기능도 함께 수행한다. 이는 전자청진기(301)로부터 입력되는 연속심음신호는 환자와 환경에 따라 진폭값이 다르므로, 전자청진기(301)로부터 입력되는 연속심음신호를 정규화해야 한다. 이에 따라 제1음(S1)과 제2음(S2)의 시작점 검출과 심장질환분류를 용이하게 할 수 있다.
자동분할부(304)는 블루투스 오디오 리시버(303)로부터 수신되는 연속심음신호로부터 한주기의 심음신호를 획득한다. 이에, 자동분할부(304)는 심장질환을 판 단하기 위해 심잡음 또는 클릭음의 위치 정보가 중요하므로, 연속심음신호에서의 제1음(S1)과 제2음(S2)의 위치를 검출하여야 한다. 이에, 단일 주기의 심음신호를 검출하기 위해 제1음(S1)과 제2음(S2)의 시작점을 검출하며 교정한다. 여기서 자동분할부(304)에 대한 내부 구성에 따른 동작에 대해서는 첨부된 도면을 참조하여 상세히 후술한다.
특징 추출부(305)는 자동분할부(304)를 통해 추출된 단일주기 심음신호를 이용하여 심장질환 종류와 유무를 판단하기 위한 특징값들을 추출한다. 여기서, 특징 추출부(305)는 ELM, MLP, SVM의 ANN방식을 고려하여 심음신호의 특징값들을 추출하는 구성과, HMM방식을 고려하여 심음신호의 특징값들을 추출하는 구성을 갖는 것으로, 이에 대한 상세한 설명은 이하 도면을 참조하여 상세히 후술하도록 한다.
진단부(306)는 학습 모델링부(306-1), 패턴 인식부(306-2)로 구비되어, 특징 추출부(305)로부터 특징값(특징 벡터)를 입력받아 심장질환의 패턴을 분류하여 학습시켜 입력되는 심음신호에 대한 심장질환 유무와 심장질환을 분류한다.
전자청진기(301)의 연속심음신호를 이용하여 심장질환을 분류하기 위하여 도 3에서 나타난 바와 같이 심장질환 분류 시스템을 구축한다. 연속 심음신호를 수집하기 위해서는 전자청진기(301)에 무선통신 모듈(302)을 장착하여 심음신호를 획득한 후 자동분할 알고리듬(304)을 이용하여 단일 주기를 추출한다. 한 주기 심음신호로 이루어진 데이터베이스를 구축하고 학습 데이터와 인식 데이터로 분리한다. 분할된 고립 심음신호의 적절한 특징벡터(305)를 추출하고 패턴인식부(306-2)의 모 델을 구축하기 위하여 학습 데이터를 이용하여 패턴 인식기의 파라미터(306)를 추정한다. 패턴 인식기의 분류성능을 보이기 위해 인식 데이터를 패턴 인식부(306-2)의 입력 값으로 설정하여 심장질환을 분류한다.
도 4는 도 3에 있어, 자동분할부의 내부구성을 보인 예시도이고, 도 5a 내지 도 5i는 자동분할부를 설명하기 위한 파형도이다. 여기서, 도 5a 내지 도 5i의 그래프에서 X축에 해당하는 samples(n)은 아날로그 심음신호를 디지털 심음신호로 변환한 샘플수(sample(n))를 의미한다.
도 4를 참조하면, 본 발명에 따른 자동분할부(304)는 펄스 검출부(401)와 펄스 교정부(402) 등을 포함하여 구성된다.
펄스 검출부(401)는 대역통과 필터(403)와, 진폭증가부(404)와, 추출부(405)를 포함하여 구성된다.
대역통과 필터(403)는 정규화된 심음신호 중 심잡음 신호를 감소시킨다. 즉, 연속심음신호의 제1음(S1)과 제2음(S2)의 주파수 주성분이 50~100Hz사이에 존재하는 특성을 이용하여 50~100Hz의 대역의 심음신호를 필터링하여 도 5a와 같은 연속심음신호를 입력받아 도 5b와 같이 심잡음 신호를 감소시켜 심음신호를 출력하게 된다.
진폭증가부(404)는 대역통과 필터(403)를 통해 출력된 심음 신호 중 매우 작은 진폭값과 큰 진폭값을 감소시켜 포락선의 피크를 강조시킨다. 그래서 진폭증가부(404)는 포락선의 피크를 강조함으로써, 도 5c와 같은 파형을 출력하여 후술되는 S1, S2의 시작점 검출을 용이하게 한다.
이때 진폭증가부(404)는 심음신호의 특성을 고려하여 매 10ms씩 이동하면서 30ms 윈도우에 대하여 아래의 수학식 1을 이용하여 S1과 S2 사이 구간의 포락선의 피크를 강조하게 된다.
Figure 112009031979428-pat00007
여기서, Es는 진폭증가부(404)를 통해 출력되는 연속심음신호를 의미하고, K는 30ms 윈도우의 샘플의 개수를 의미하고, Xnorm은 대역통과 필터(403)의 출력신호를 의미한다.
추출부(405)는 입력되는 진폭증가부(404)의 출력신호로부터 제1, 제2음(S1, S2)의 시작점을 추출한다. 여기서 추출부(405)는 진폭증가부(404)의 출력신호를 입력받아 제1,제2 음(S1,S2)의 구간을 추출하는 구간 추출부(405-1)와, 그 구간에 해당하는 시작지점을 추출하는 시작점 추출부(405-2)를 포함하여 구성된다.
이때 구간 추출부(405-1)는 진폭증가부(404)로부터 출력되는 연속심음신호에 대한 제1,제2 음(S1, S2)의 구간을 추출하는 것으로, 하기의 수학식 2 내지 수학식 5를 이용하여 도 5d에 도시된 바와 같이 임계값(T)을 획득하고, 그 획득된 임계값을 이용하여 임계값 이상의 연속심음신호에 대해 도 5d와 같이 구간을 갖게 되고, 이를 다음단의 시작점 추출부(405-2)로 출력한다. 도 5d에서 점선은 임계값(T) 이상인 진폭 증가부(404)의 출력값을 의미하고, 화살표(↑)는 임계값(T) 이상인 진폭 증가부(404)의 출력값 구간의 시작점과 끝점을 의미한다.
구간추출부(405-1)는 진폭증가부(404)의 출력신호를 0~255사이의 정수값으로 정규화한 이산 랜덤 변수를 k라고 가정하고, k의 히스토그램 N(k)를 구한다.
삭제
하기의 수학식 2로부터 레벨값이 i이하인 샘플의 개수 t(i)를 구하고, 하기 의 수학식 3을 이용하여 레벨 값이 i이하인 샘플의 평균값 m(i)를 구한다. 여기서 레벨값이란 0~255사이의 정수값으로 정규화한 값을 의미한다.
그리고, 하기의 수학식 4를 이용하여 레벨 i 이하인 샘플의 개수 t(i)와 레벨 i보다 큰 심음신호 샘플의 개수 t(G)-t(i)의 비율 A(i)를 구한다.
하기의 수학식 5에서와 같이 레벨 i 이하인 샘플의 평균 m(i)와 전체 평균값 m(G)의 차이 제곱으로부터 B(i)를 구하며, A(i)B(i)가 최대가 되는 레벨값을 구한다음, 검출된 구간에서의 심잡음 영역의 분포에 따라 임계값을 적응하기 위해 심음신호의 표준편차
Figure 112011010082872-pat00008
의 10배를 곱하여 최종적인 임계값을 결정하였다.
Figure 112009031979428-pat00009
Figure 112009031979428-pat00010
Figure 112009031979428-pat00011
Figure 112009031979428-pat00012
그러면, 시작점 추출부(405-2)는 구간 추출부(405-1)를 통해 획득된 구간들로부터 제1,제2 음(S1, S2)의 시작점을 구하기 위해 시작점을 제외한 검출된 펄스들을 제거한 후, 일반적으로 심음신호의 제1음(S1)에서 제2음(S2)까지 시간적 거리가 250ms보다 길다는 사전정보를 이용하여 임계값 이상인 구간의 시작점을 기점으로 시작점을 제외한 폭 td(250ms) 이하인 펄스를 제거한 후에 최종적으로 각 펄스의 시작점을 검출한다. 이에 대한 일예가 도 5e에 도시되어 있다.
이러한 과정을 통해 제1,제2음(S1, S2)의 시작점을 획득한 후, 펄스 교정부(402)를 통해 획득된 시작점을 교정하여 출력하며, 이러한 펄스 교정부(402)의 구체적인 동작에 대해 상세히 설명한다.
펄스 교정부(402)는 추출부(405)를 통해 획득된 제1, 제2음(S1, S2)의 시작점(ts1, ts2)의 위치를 교정한다. 여기서 펄스 교정부(402)는 획득된 제1,제2음(S1, S2)의 시작점(ts1, ts2)간의 시간적 거리를 측정하는 시작점 시간차이 측정부(406)와, 측정된 시작점들 간의 시간적 거리를 내림차순으로 정렬하고, 그 정렬된 시작점들의 시간적 거리 값들에서의 작은 값들의 50 백분위수(percentile)의 평균을 측정하는 제1 평균거리 측정부(407)와, 측정된 평균값을 이용하여 제1음에서 제2음사이의 거리와 이외의 거리를 구분하고 제1음에서 제2음사이의 거리에 대한 평균값을 측정하는 제2 평균거리 측정부(408)와, 제1,제2음(S1, S2)의 시작점(ts1, ts2)을 기준으로 시작점(ts1) 이전 거리를 측정하고, 시작점(ts2) 이후 거리를 측정하는 전후거리 측정부(409)와, 제1,제2음(S1, S2)의 시작점(ts1, ts2) 미검출 구간의 평균주기(P1)와 제1,제2음(S1, S2)의 시작점(ts1, ts2) 검출구간의 평균주기(P2)를 연산하는 평균주기 연산부(410)와, 연산된 평균주기(P1, P2)의 검출한 횟수의 확률을 가중치값으로 적용하여 연속심음신호의 한 주기를 획득하는 단일주기 획득부(411)와, 제1,제2음(S1,S2)의 시작점(ts1, ts2)에 따른 히스토그램을 획득하는 히스토그램 획득부(412)와, 제1,제2음(S1,S2)의 시작점(ts1, ts2) 위치를 구별할 수 있는 임계값을 결정하는 임계값 결정부(413)와, 결정된 임계값을 통해 제1,제2음(S1,S2)의 시작점(ts1, ts2)의 평균 위치를 검출하는 시작점 평균 위치 검출부(414)를 포함한다.
즉, 이러한 펄스 교정부(402)의 각 기능블럭들의 동작에 의해 도 5f에 도시된 바와 같이 ts1-ts2의 시간적 거리가 ts2-ts1의 시간적 거리, 미검출신호로 생기는 거리보다 짧다는 사전 정보를 이용하여 도 5g와 같이 ts1에서 ts2사이의 거리와 이외의 거리를 구분하고, 제1음(S1)과 제2음(S2)의 시작점을 표시하였다.
검출한 ts1과 ts2신호를 이용하여 ts1 이전거리(D1), ts2 이후거리(D2)를 측정하여 D1과 D2의 히스토그램을 이용하여 ts1 또는 ts2의 미검출구간(M)을 표시하였다. 미검출 구간의 거리는 대략 1주기의 값을 가지므로, 미 검출구간의 평균주기(P1)와 ts1, ts2 검출구간의 평균주기(P2)를 구한다.
P1과 P2의 검출한 주기의 수를 계산하여 P1과 P2의 검출된 확률을 구하고, 심음신호의 1주기를 계산하기 위해 P1과 P2의 검출된 확률 가중치 값으로 적용하여 심음신호의 1주기 값을 얻는다.
ts1-ts2의 중간지점을 중심으로 1주기 만큼 나누어 ts1, ts2 검출신호의 위치를 구한다. ts1, ts2 검출신호의 위치에 대한 히스토그램을 구한 후, ts1과 ts2 신호를 구별하는 임계값을 구한다. 구별된 ts1과 ts2의 평균위치를 구하여 ts1, ts2 미검출 신호와 부정확한 위치에 존재하는 ts1, ts2 신호에 S1의 시작점 또는 S2의 시작점을 표시한다.
도 5h에서 보는 바와 같이, 미검출 구간의 ts2신호에 S2의 시작점으로 표시하였다. left-to-right scan과 right-to-left scan을 하면서 미검출 구간에서의 label된 검출신호에 따라 도 5i와 같이, 약 44,000~45,000 샘플 사이에 존재하는 미검출 구간에 S1의 시작점 신호를 첨가하고 약 32,000~33,000 샘플 사이에 존재하는 부정확한 시작점을 가지는 신호를 수정하여 개선된 S1, S2 시작점 신호(
Figure 112009031979428-pat00013
)를 검출한다.
특징 추출부는 펄스 교정부(402)의 동작에 의해 1주기 심음신호의 특징값을 추출하게 된다.
이러한 펄스 교정부(402)의 동작에 의해 1주기의 심음신호를 입력받는 특징추출부(305)는 ANN방식에 따른 특징값을 추출하는 구성과, HMM방식에 따른 특징값을 추출하는 구성을 가질 수 있다.
우선 ANN방식에 따른 특징값을 추출하는 특징 추출부에 대해 상세히 설명하 면 다음과 같다.
도 6은 도 3에 있어, ANN방식에 따른 특징값을 추출하는 특징 추출부에 대한 내부구성을 보인 구성도이다.
도 6을 참조하면, 본 발명에 따른 ANN방식에 따른 특징값을 추출하는 특징 추출부(305-1)는 심음신호의 주파수 특성이 1kHz이하에 주로 존재하므로, 1주기 심음신호의 샘플링률을 8kHz에서 2kHz로 다운샘플링하는 다운샘플링부(Downsampling)(801)와, 1주기의 다운샘플링 된 심음신호의 필터뱅크 로그에너지값을 연산하는 필터뱅크 로그에너지부(802)와, 1주기의 다운샘플링 된 심음신호의 포락선 값을 연산하는 포락선 연산부(803)와, 상기 필터뱅크 로그에너지부(802)와 포락선 연산부(803)의 출력값을 결합하여 특징 벡터(feature vector)를 획득하는 결합부(804)를 포함하여 구성된다.
여기서 필터뱅크 로그에너지부(802)는 FFT(802-1)와, 100Mel-scale filter bank(802-2), 로그(log)연산부(802-3)로 구비된다.
우선 FFT(802-1)는 다운샘플링 된 1주기 심음신호에 Hamming 윈도우 함수를 취하여 얻은 결과값을 2048-points 고속 푸리에 변환(FFT)을 취하여 1주기 심음신호의 주파수 스펙트럼(spectrum)을 획득한다.
100Mel-scale filter bank(802-2)는 1주기 심음신호의 주파수 스펙트럼(spectrum)을 입력받아 전체 주파수 범위를 mel-scale에 맞추어 0~1000Hz를 100개로 분할하여 100개에 대한 필터뱅크 출력값의 크기를 구한다.
로그 연산부(802-3)는 100Mel-scale filter bank(802-2)의 출력값에 대해 로 그(log)함수를 취하여 100개의 필터뱅크 로그에너지 값을 얻는다. 이때 필터뱅크 로그에너지 값은 다음단의 결합부(804)로 출력한다.
전술한 다운 샘플링부(801)의 출력신호는 FFT(802-1)로 입력됨과 동시에 유니폼 사이즈 서브세그먼트부(uniform-size subsegment)(803-1)로 입력된다.
그래서 유니폼 사이즈 서브세그먼트부(803-1)는 단일 주기 심음신호의 포락선을 알기 위해 다운샘플링 된 한주기 심음신호를 입력받아 균일한 길이를 가지도록 부세그먼트(subsegment)로 분할한다. 이때 유니폼 사이즈 서브세그먼트부(803-1)는 균일하게 나누어지지 않는 신호에 대해 심음신호의 마지막 부분을 '0'으로 채워주고, 40개의 균일한 길이를 가지는 부세그먼트로 분할한다.
절대값 연산부(803-2)는 각 부세그먼트에 대해 절대값 연산을 수행한다.
평균부(803-3)는 절대값 연산부(803-2)에서 연산된 절대값의 평균값을 계산하여 40개의 포락선 값을 다음단의 결합부(804)로 출력한다.
그러면 결합부(804)는 전술한 로그 연산부(802-3)와 평균부(803-3)의 출력값을 결합하는 것으로, 100개의 필터뱅크 로그 에너지 값과 40개의 포락선 값을 하나의 벡터로 연결하여 최종적으로 140차원(140dimension)의 특징 벡터(feature vector)를 획득한다.
다음은 다른 실시예로서, HMM기반의 특징추출부에 대해 상세히 설명하면 다음과 같다.
도 7은 도 3에 있어, HMM기반의 특징 추출부에 대한 내부구성을 보인 구성도이다.
도 7을 참조하면, 본 발명에 따른 HMM기반의 특징 추출부(305-2)는 심음신호의 주파수 주성분은 1kHz이하에 주로 존재하므로, 1주기 심음신호의 샘플링률을 8kHz에서 2kHz 샘플링률의 심음신호로 다운샘플링하는 다운샘플링부(Downsampling)(901)와, S1과 S2의 시간적 특성은 100ms 범위내외에서 변화하나 심잡음과 클릭음의 시간적 특성은 30ms 범위내외에서 변하므로 S1과 S2의 첫번째 하모닉(harmonic) 요소의 3사이클(cycle)을 포함하도록 다운샘플링 된 1주기 심음신호에 Hamming 윈도우 크기를 30ms로 선택하여 짧은 시간 내에 특성이 변하는 심잡음의 특성을 고려하여 윈도우를 매 10ms마다 이동하는 해밍 윈도우(902)와, 해밍 윈도우의 출력값을 입력받아 고속푸리에 변환을 수행하여 1주기 심음신호의 주파수 스펙트럼(spectrum)을 출력하는 FFT(903)와, 고속푸리에 변환된 출력값으로부터 필터뱅크 출력을 얻기 위해서 전체 주파수 범위를 mel scale에 맞추어 30개의 밴드로 분할하여 30개의 필터뱅크 계수를 계산하는 Mel-scale filter bank(904)와, 계산된 필터뱅크 계수에 로그연산을 수행하는 로그연산부(905)와, 로그 연산된 결과값에 이산코사인 변환(discrete cosine transform: DCT)을 수행하여 mel frequency cepstral coefficients(MFCC)값을 얻는 DCT부(906)를 포함하여 구성된다. 여기서 MFCC계수는 12개를 사용하며 프레임 로그 에너지를 추가적으로 사용하여 특징벡터는 13차 벡터가 된다. 이에 심음신호의 동적 특성을 반영하기 위하여 1차 미분값을 추가하여 특징벡터는 총 26차가 된다.
이후, 전술한 ANN기반의 특징추출부(305-1)와 HMM기반의 특징추출부(305-2)를 통해 획득되는 특징벡터들은 진단부(306)를 통해 패턴이 분류되어 학습되고, 그 학습된 모델링을 통해 전자청진기 심음신호에 대한 심장질환 유무와 심장질환을 분류한다. 여기서 진단부(306)는 학습 모델링부(306-1)와, 패턴인식부(306-2)로 구비된다.
본 발명에 따른 진단부(306)에 구비된 학습 모델링부(306-1)의 학습방법은 ELM, HMM기반의 심음을 분류하는 방법으로 나누어 설명하도록 한다. 본 발명에서는 심음질환을 분류하기 위한 학습방법으로 무선청진기를 이용하여 수집한 실제 정상 고립심음 데이터와 추출한 고립심음 데이터를 사용하였음을 인지해야 한다.
우선, ELM기반의 학습 모델링부는 고전적 학습 방법들의 단점과 빠른 학습시간을 위하여 입력 가중치와 뉴런들의 바이어스들의 학습을 하지 않고, 오직 출력 가중치들을 놈 최소 자승해(norm least-squares solution)와 모어페로스의 일반화된 역행렬을 이용하여 구한다. 출력 층에 사용되는 활성화 함수는 선형함수를 사용한다.
ELM기반 진단부의 주요장점은 첫째, 반복학습을 하지 않기 때문에 다른 학습 방법들에 비해 속도가 매우 빠르다.
둘째, 경사 기반 학습방법들은 오직 출력 오차를 최소로 하기 때문에 가중치들의 크기를 고려하지 않지만, ELM알고리즘은 가장 작은 출력 오차와 놈 최소 자승방법을 이용하여 가장 작은 가중치들까지 구하기 때문에 일반화 성능이 우수하다.
셋째, 경사 기반 학습방법은 오직 미분 가능한 활성함수를 사용하지만, ELM알고리즘은 미분가능하지 않은 활성함수를 가지는 한 개의 은닉층으로 구성된 신경회로망을 학습할 수 있다.
넷째, 경사기반 학습방법이 국부최소, 부적절한 학습률의 효과, over-fitting과 같은 문제점이 있는 반면 ELM알고리즘은 한 번의 학습으로 해에 도달하는 경향이 있다.
ELM알고리즘은 입력 가중치와 뉴런들의 바이어스들의 학습을 하지않고, 학습데이터의 실제 출력값과 목표출력값의 오차가 '0'이 되도록 하는 신경망의 은닉층 출력행렬 H와 목표 출력행렬 T를 이용하여 극소 놈 최소자승해 β를 구한다.
이에, 실제 출력값(학습데이터에 대한 심장질환 분류결과값)과 목표출력값의 오차가 '0'이 되는 학습 모델링을 얻었다.
N개의 학습데이터(xi, ti)에 대하여
Figure 112009031979428-pat00014
개의 은닉 뉴런과 활성함수 g(x)를 갖는 신경회로망이 있다고 가정하자. 여기서
Figure 112009031979428-pat00015
이며, n은 특징벡터의 차원이다. 목표 출력값
Figure 112009031979428-pat00016
이고, m은 출력뉴런의 개수이다. 이 경우 실제 출력값
Figure 112009031979428-pat00017
는 하기의 수학식 6과 같다.
Figure 112009031979428-pat00018
여기서,
Figure 112009031979428-pat00019
는 i번째 은닉 뉴런과 입력 뉴런사이에 연결된 가중치 벡터이고,
Figure 112009031979428-pat00020
는 i번째 은닉 뉴런과 출력 뉴런사이에 연결된 가중치 벡터이다. bi는 i번째 은닉 뉴런의 바이어스 값을 의미하고,
Figure 112009031979428-pat00021
Figure 112009031979428-pat00022
Figure 112009031979428-pat00023
의 벡터 내적을 의미한다.
N개의 학습 데이터에 대하여 수학식 6과 같은 실제 출력 값과 하기의 수학식 7과 같은 목표 출력값
Figure 112009031979428-pat00024
의 오차가 '0'이 될 경우
Figure 112009031979428-pat00025
을 만족하는
Figure 112009031979428-pat00026
가 존재한다.
Figure 112009031979428-pat00027
N개의 방정식을 아래와 같이 간단히 표현하면 , 아래의 수학식 8 내지 수학식 10과 같이 표현할 수 있다.
Figure 112009031979428-pat00028
Figure 112009031979428-pat00029
Figure 112009031979428-pat00030
Figure 112009031979428-pat00031
,
여기서, H는 은닉층 출력 행렬을 의미하고, H의 i번째 열은 입력
Figure 112009031979428-pat00032
의 각각에 대한 i번째 은닉 뉴런의 출력을 의미하고, m은 출력뉴런의 개수를 의미하고, N은 학습데이터 개수,
Figure 112009031979428-pat00033
은 은닉 뉴런의 개수를 의미한다.
한편, 극소놈 최소 자승해
Figure 112009031979428-pat00034
는 아래와 같은 수학식 11을 통해서 획득될 수 있다.
Figure 112009031979428-pat00035
Figure 112009031979428-pat00036
는 H에 대한 모어-페로스의 일반화된 역행렬을 의미한다.
ELM 신경회로망은 도 8에서 보는 바와 같이 입력 값은 100차 필터뱅크 로그에너지 값과 40차 심음신호 포락선으로 구성되어 있고, 출력 값은 9가지 심장질환 출력값이다.
미분가능하지 않은 활성함수를 가지는 1개의 은닉층으로 구성된 신경회로망이다.
HHM기반의 학습 모델링부는 그 구조에 따라서 여러 가지 형태가 존재하는데 신호의 특성이 시간에 따라서 변하는 경우에는 자기 천이와 상태간의 천이가 왼쪽에서 오른쪽으로만 가능한 좌우(left-to-right) HMM이 가장 많이 사용된다.
고립심음 데이터를 학습하기 위해서 도 9에서 보는 바와 같이 좌에서 우로 천이하는 형태를 사용하였고 상태 개수는 동일한 질병이라도 심잡음의 위치와 특성이 다르므로 단일 주기의 고립심음을 시작 상태와 끝 상태를 포함한 8개로 설정하였다.
좌우 HMM은 고립심음 신호를 모델링하기에는 적합하지만 수집한 실제 연속심음신호를 분류하는 경우에는 문제가 발생한다. 실제 연속심음데이터는 전자청진기(301)를 이용하여 심음신호를 수집하므로 처음으로 들어오는 심음신호의 구간을 알 수 없으므로 첫 번째 상태에서 한 주기 심음신호의 모든 상태간의 천이가 가능하도록 도 10과 같이 순환(circular) HMM을 이용하여 연속심음 신호를 모델링한다. 점선 화살표는 첫 번째 상태에서 모든 상태간의 천이 가능을 나타내고 실선 화살표는 좌우 HMM의 상태간의 천이 가능을 나타낸다.
다음은 본 발명에 따른 진단부(306)에 구비된 패턴 인식부(306-2)에 대해서 설명하도록 한다.
ELM, HMM, MLP, SVM기반 패턴 인식부로 나누어 설명한다. 심장질환 분류 실험을 하기 위해
Figure 112009031979428-pat00037
,
Figure 112009031979428-pat00038
신호를 이용하여 1주기 심음신호를 추출하고 1개의 연속심음 신호에서 2개 고립심음 데이터를 구축하였다. 심장질환의 종류에 대한 인식실험은 비정상적인 심장질환에 대한 데이터의 개수가 적어 교차검증(cross-validation) 방식을 이용하여 독립적인 연속 심음 인식실험을 하였다.
본 발명에서는 전체 심음 데이터 중에서 각 심장질환의 1개의 연속 심음 데이터에서 추출한 2개의 고립 심음 데이터만 인식용 데이터로 사용하고 나머지 데이터는 훈련용 데이터로 사용하였다. 이런 과정을 반복하여 모든 데이터가 반드시 한 번씩 인식용 데이터로 사용하게 되므로 적은 데이터를 이용하여도 신뢰성 있는 인식결과를 얻을 수 있도록 하였다.
ELM기반 패턴 인식부를 이용한 심장질환 분류실험은 동일한 랜덤 시드(random seed)로부터 ELM 알고리듬에서 은닉층 뉴런의 개수에 따른 심장질환 분류실험을 하였다. 은닉층 뉴런의 개수에 따른 심장질환 분류 결과 도 11에서 보는 바와 같이 3000개의 은닉층 뉴런의 개수를 가질 때 81.6%의 가장 우수한 분류 정확도를 보이고 있다. 이후의 실험에서는 은닉층 뉴런의 개수를 3000개로 고정하였다. 본 발명에서는 기존의 분할 알고리듬과 제안한 자동 분할 알고리듬을 이용하여 임의의 입력 가중치 벡터를 최적화하기 위해 서로 다른 랜덤 시드를 가지는 2000번의 심장질환 분류 실험을 하였다. 첫 번째, 전처리 단계에서 기존의 분할 알고리듬과 시그모이드(sigmoid) 활성화 함수를 사용하여 ELM기반의 심장질환 분류 결과 81.3%의 분류 정확도를 보이고 있다. 심장질환에 따라 분류 정확도는 44%에서 98%로 변화하였다. 두 번째, 전처리 단계에서 제안한 자동 분할 알고리듬과 시그모이드 활성화 함수를 사용하여 ELM기반의 심장질환 분류 결과 83.4%의 분류 정확도를 보이고 있다. 심장질환에 따라 분류 정확도는 50%에서 98%로 변화하였다. 실제적인 관점에서, 전자청진기(301)는 심음신호가 정상인지 비정상적인지 결정할 수 있는 심장질환 검출기능에는 유용해야한다. 이러한 목적으로 본 발명에서는 심장질환의 유무를 판단하는 심장질환 검출성능을 평가하였다. 도 12에서 보는 바와 같이 ELM 알고리듬을 이용한 심장질환 검출 정확도는 97.2%를 나타내었다. False reject rate는 3.1%이고 false alarm rate는 2.5%이다. 이러한 결과, 제안한 자동분할 알고리듬(304)은 전자청진기(301)에 의한 심음 분류에 적용하기에 적합하다는 것을 의미한다.
HMM기반 패턴 인식부를 이용한 심장질환 분류실험은 4개의 가우시안 혼합 모델 (Gaussian mixture model; GMM)을 이용하여 5번의 반복 학습을 통해 학습 모델링을 얻었다. 좌우 HMM을 이용하여 연속 심음 인식실험을 한 결과 심장질환 분류 정확도는 평균 72.8%를 보였고, 수집된 실제 심음신호는 그 시작점이 각각 다르므로 순환 HMM을 이용하여 연속 심음 인식실험을 한 결과 심장질환 분류 정확도는 평균 75.6%를 보이고 있다. 가우시안 혼합 모델(Gaussian mixture model)의 개수에 따른 순환 HMM을 이용하여 연속 심음 인식실험을 한 결과 도 13에서 보는 바와 같이 10개의 가우시안 혼합 모델을 가질 때 80.9%의 상대적으로 좋은 분류 정확도를 보이고 있다. 연속심음데이터를 이용하여 심장질환의 유무를 분류한 결과 97.5%의 평균 검출률을 보이고 있다.
MLP기반 패턴인식부를 이용한 심장질환 분류실험은 2개의 은닉층을 가지고 첫 번째 은닉층의 노드 개수는 100이고 두 번째 은닉층의 노드 개수는 20이다. 최대 epoch의 수는 300이고 목표 에러 값은 0.0001로 설정하였다. 학습률은 0.1이고 모멘텀 상수는 0.5로 설정하였다. 활성화 함수는 시그모이드(sigmoid) 함수를 사용하였고 학습 함수는 scaled conjugate gradient 알고리듬을 사용하였다. 제안한 자동 분할 알고리듬을 사용하여 MLP을 이용한 연속심음인식실험을 한 결과 심장질환 분류 정확도는 73.1%를 보이고 있다. 심장질환의 유무를 판정한 결과 96.9%의 검출률을 보이고 있다.
SVM기반 패턴인식부를 이용한 심장질환 분류실험은 학습 모델링을 구축하기 위하여 입력층은 140차 특징벡터로 구성되어 있고 출력층은 9가지 심장질환 확률을 가지는 신경회로망으로 구성하였다. Radial-basis function networks (RBFN) 커널을 사용하였고 trade-off 가중치 값 C는 도 14에서 보는 바와 같이 계산량 증가에 비해 성능 증가가 크지 않으므로 상대적으로 좋은 성능을 보이는 500으로 설정하였 다. One-per-class를 사용하여 멀티 클래스로 확장하여 학습 모델링을 얻었다.
제안한 자동 분할 알고리즘을 사용하여 SVM을 이용한 연속 심음 인식실험을 한 결과 심장질환 분류 정확도는 76.6%를 보이고 있다. 심장질환의 유무를 판정한 결과 96.6%의 검출률을 보이고 있다.
ELM, HMM, MLP, SVM기반의 패턴 인식부는 도 15에서 보는 바와 같이 각각 83.4%, 80.9%, 73.1%, 76.6%의 분류 정확도를 나타내었다. ELM기반의 패턴 인식부는 HMM, MLP, SVM에 비교하여 13.1%, 38.3%, 29.1%의 상대적 개선률을 나타내었다.
도 16에 도시된 바와 같이, ELM기반의 심장질환 분류기를 이용하여 기존의 분할 방식을 이용하는 경우, 신호를 이용한 심장질환 분류 정확도는 81.3%를 나타내었고, 본 발명에서 제안한 자동분할 방식을 이용하는 경우, 신호를 이용한 심장질환 분류 정확도는 83.4%를 나타내었다. 이에 따라, 본 발명에서 제안한 자동분할 방식은 기존의 분할 방식보다 11.2%의 상대적 개선율을 보이고 있다.
도 17은 본 발명에 따른 심장질환 진단 방법을 보인 흐름도이다.
도 17을 참조하면, 우선 본 발명에 따른 심장질환 진단장치는 심장질환 유무를 진단받고자 하는 검사자의 연속심음신호를 전자 청진기를 통해 입력받는다(S1710).
이후, 심장질환 진단장치는 입력되는 연속심음신호를 1주기의 심음신호로 분할한다(S1720).
심장질환 진단장치는 1주기의 심음신호의 특징을 추출하고(S1730), 그 추출된 심음신호의 파라미터를 추정하여 학습된 학습 모델링을 이용하여 1주기의 심음 신호를 분류한다(S1740).
그러면, 심장질환 진단장치는 분류된 심음신호를 고려하여 심장질환의 유무 및 종류를 판정한다(S1750).
전술한 1720단계(S1720)에 따른 1주기의 신음신호 분할에 대한 상세한 설명을 첨부된 도면을 참조하여 상세히 설명한다.
도 18은 도 17에 있어, 1주기의 신음신호 분할방법의 상세 흐름도이다.
도 18을 참조하면, 심장질환 진단장치는 입력되는 연속심음신호를 필터링하여 심잡음신호를 감소시키고(S1721), 그 심잡음신호가 감소된 연속심음신호 중 매우 작은 범위와 큰 범위의 진폭값을 감소시켜 포락선의 피크를 강조한다(S1722).
이후, 심장질환 진단장치는 포락선의 피크가 강조된 연속심음신호를 영상 이진화 방법의 자동 임계값에 의해 정규화하여 제1,제2음(S1, S2)의 시작점(ts1, ts2)을 획득한다(S1723).
다음 심장질환 진단장치는 획득된 시작점을 교정하는 작업을 수행하기 위해 획득된 시작점(ts1, ts2)을 이용하여 각 시점점의 거리를 측정하고 측정된 거리를 내림차순으로 정렬한다(S1724).
심장질환 진단장치는 정렬된 시작점의 측정된 거리를 작은값들의 50 백분위수(percentile)의 평균값을 측정한다(S1725).
그러면, 심장질환 진단장치는 사전정보와 평균값을 이용하여 시작점(ts1, ts2) 간의 거리 및 평균거리를 측정하고, 시작점(ts1)을 기준으로 이전 거리(D1)와 시작점(ts2)을 기준으로 이후 거리(D2)를 측정하며, 이러한 측정거리를 이용하여 시작점(ts1, ts2)의 미검출구간의 평균주기를 측정한다(S1726). 여기서 사전정보는 ts1-ts2의 시간적 거리가 ts2-ts1의 시간적 거리 및 미검출 신호로 생기는 거리보다 짧다는 정보를 의미한다.
이후, 심장질환 진단장치는 시작점(ts1, ts2)의 평균주기를 획득하여 가중치를 적용한 1주기를 검출한다(S1727).
그래서 심장질환 진단장치는 연속심음신호를 1주기 크기만큼 분할하여 시작점(ts1, ts2)의 위치 히스토그램을 획득하고(S1728), 그 획득된 위치 히스토그램을 이용하여 시작점(ts1, ts2)의 검출신호를 교정된 시작점 신호(
Figure 112009031979428-pat00039
)로 검출한다(S1729).
이로써, 심장질환 진단장치는 연속심음신호를 1주기의 심음신호로 분할할 수 있게 된다.
전술한 1730단계(S1730)에 따른 특징(특징벡터)을 추출하는 과정은 ANN기반의 특징추출과정과 HMM기반의 특징추출과정으로 나누어지며, 이에 대해 상세히 설명하면 다음과 같다.
우선 ANN기반의 특징추출과정은 심장질환 진단장치가 1주기의 심음신호의 샘플링률을 8kHz에서 2kHz로 다운샘플링하고, 전처리에서 추출한 단일 주기 고립심음신호를 1개의 프레임으로 설정하였다.
이후, 심장질환 진단장치는 Hamming 윈도우 함수가 씌워진 한주기 심음신호에 대해서 2048-points 고속푸리에 변환을 취하여 심음신호의 주파수 스펙트럼을 획득하며, 필터뱅크출력을 얻기 위해 전체 주파수 범위를 mel-scale에 맞추어 0~1000Hz를 100개로 분할한다.
심장질환 진단장치는 필터뱅크 출력값의 크기를 구하고, 로그(log)함수를 취하여 100개의 필터뱅크 로그에너지값을 획득한다.
그래서, 심장질환 진단장치는 단일 주기 심음신호의 포락선을 알기 위해 병렬적으로 균일한 길이를 가지도록 부세그먼트로 분할한다. 이때 균일하게 나누어지지 않는 신호는 심음신호의 마지막 부분에 '0'으로 채워주고, 40개의 균일한 길이를 가지는 부세그먼트로 분할한다. 각 부세그먼트의 절대값의 평균값을 계산하여 40개의 포락선 값을 구한다.
결국 심장질환 진단장치는 앞서 획득한 100개의 필터뱅크 로그 에너지값과 40개의 포락선 값을 하나의 벡터로 연결하여 최종적으로 140차원의 특징벡터를 획득한다.
한편, HMM기반의 특징추출과정은 심음신호의 주파수 성분이 1kHz에 이하에 분포하므로 8kHz 샘플링률의 심음신호를 2kHz 샘플링률의 심음신호로 다운샘플링하여 심음신호의 샘플링률을 낮추어 변환한다.
이후, 심장질환 진단장치는 제1, 제2음(S1,S2)의 시간적 특성이 100ms 범위내외에서 변화하나 심잡음과 클릭음의 시간적 특성이 30ms 범위내외에서 변하므로, 제1,제2음(S1, S2)의 첫 번째 하모닉 요소의 3사이클을 포함하도록 Hamming 윈도우 크기를 30ms로 선택하며, 심잡음은 짧은 시간내에 특성이 변하므로 윈도우는 매 10ms 마다 이동하며 고속 푸리에 변환을 수행한다.
심장질환 진단장치는 필터뱅크 출력을 얻기 위해서 전체 주파수 범위를 mel-scale에 맞춰 30개의 밴드로 분할하여 필터뱅크 계수를 계산한다. 그리고 필터뱅크 출력값에 로그값을 취한 후 discrete cosine transform하여 mel frequency cepstral coefficients값을 획득한다.
결국, MFCC계수는 12개를 사용하며, 프레임 로그 에너지값을 추가적으로 사용하여 특징벡터는 13차 벡터가 되며, 심음신호의 동적 특성을 반영하기 위하여 1차 미분값을 추가하여 특징벡터는 총 26차가 된다.
전술한 ANN기반과 HMM기반의 특징추출과정을 통해 추출된 특징벡터를 이용하여 심음신호를 학습하여 학습모델링을 구축하고, 그 구축된 학습모델링을 이용하여 입력되는 심음신호를 분류함으로써, 심장질환을 판정할 수 있게 된다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일반적인 한주기 심음신호의 기본 파형을 설명하기 위한 예시도.
도 3은 본 발명의 실시예에 따른 심장질환 진단장치의 구성도.
삭제
도 4는 도 3에 있어, 자동분할부의 내부구성을 보인 예시도.
도 5a 내지 도 5i는 자동분할부를 설명하기 위한 파형도.
도 6은 도 3에 있어, ANN방식을 고려하여 심음신호의 특징값을 추출하는 특징 추출부에 대한 내부구성을 보인 구성도.
도 7은 도 3에 있어, HMM방식을 고려하여 심음신호의 특징값을 추출하는 특징 추출부에 대한 내부구성을 보인 구성도.
도 8은 ELM 네트워크 구조를 나타낸 예시도.
도 9는 8상태 좌우 HMM의 구조를 나타낸 예시도.
도 10은 8상태 좌우 순환 HMM의 구조를 나타낸 예시도.
도 11은 ELM의 은닉층 뉴런 개수에 따른 심장질환 분류 결과를 나타낸 예시도.
도 12는 ELM을 이용한 심장질환 검출 성능 결과를 나타낸 예시도.
도 13은 순환 HMM의 가우시안 혼합 개수에 따른 심장질환 분류 결과를 나타낸 예시도.
도 14는 Trade-off 가중치 값에 따른 SVM기반의 심장질환 분류결과를 나타낸 예시도.
도 15는 패턴 인식기의 종류에 따른 분류 정확도 비교 결과를 보인 예시도.
도 16은 본 발명에 따른 심장질환 분류 방법중 ANN기반의 심음 분류성능과 기존의 심장질환 분류방법의 비교결과를 보인 예시도.
도 17은 본 발명에 따른 심장질환 진단방법을 보인 흐름도.
도 18은 도 17에 있어, 1주기의 심음신호 분할방법을 보인 흐름도.

Claims (17)

  1. 제1 음(S1), 심실수축, 제2 음(S2) 및 심실확장 순서의 1주기로 이루어진 심음신호로부터 심장질환을 진단하는 장치에 있어서,
    전자 청진기로부터 연속심음신호를 입력받는 입력부;
    상기 연속심음신호로부터 한 주기의 심음신호를 획득하는 자동분할부;
    상기 한 주기 심음신호로부터 심장질환 종류와 유무를 판단하기 위한 특징값들을 추출하는 특징 추출부; 및
    상기 특징값들을 패턴분류기를 통해 학습시켜 입력된 전자청진기 심음신호에 대한 심장질환을 판단하고, 그 판단결과에 따라 심장질환을 분류하여 심장질환의 유무와 심장질환의 종류를 진단하는 진단부를 포함하되,
    상기 자동분할부는, 정규화된 연속심음신호를 특정대역에 대해 필터링하여 심잡음 신호를 감소시켜 심음신호를 출력하는 대역통과 필터와, 상기 심잡음신호가 감소된 심음신호중 가장 작은 진폭값과 가장 큰 진폭값을 감소시켜 포락선의 피크를 특정 레벨로 강조시키는 진폭 증가부와, 상기 포락선의 피크가 특정 레벨로 강조된 심음신호로부터 제1, 제2음의 시작점을 추출하는 추출부를 포함하는 펄스 검출부; 및 상기 제1, 제2음의 시작점을 이용하여 각 시작점의 거리를 연산하고, 연산된 거리로부터 미검출된 시작점과 부정확한 위치정보를 갖는 연속심음신호를 교정하는 펄스 교정부를 포함하며,
    상기 추출부는, 상기 진폭 증가부의 출력신호를 입력받아 제1, 제2 음의 구간을 추출하는 구간 추출부; 및 상기 추출된 제1, 제2 음의 구간에 대해 영상 이진화 방법의 자동 임계값에 의해 정규화하여 상기 추출된 제1, 제2음으로부터 제1, 제2음의 시작점을 추출하는 시작점 추출부를 포함하는 것을 특징으로 하는 심장질환 진단장치.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서, 상기 진폭 증가부는,
    심음신호의 특성을 고려하여 30ms 윈도우를 매 10ms씩 이동하면서 아래의 수학식 1을 이용하여 제1 음과 제2 음 사이 구간의 포락선의 피크를 특정 레벨로 강조하는 것을 특징으로 하는 심장질환 진단장치.
    (수학식 1)
    Figure 112011010082872-pat00040
    여기서, Es는 진폭증가부(404)를 통해 출력되는 연속심음신호를 의미하고, K는 30ms 윈도우의 샘플의 개수를 의미하고, Xnorm은 대역통과 필터(403)의 출력신호를 의미함.
  5. 삭제
  6. 제1 항에 있어서, 상기 시작점 추출부는,
    아래의 수학식 2 내지 수학식 5를 이용하여 자동 임계값을 획득하는 것을 특징으로 하는 심장질환 진단장치.
    (수학식 2)
    Figure 112011010082872-pat00041
    (수학식 3)
    Figure 112011010082872-pat00042
    (수학식 4)
    Figure 112011010082872-pat00043
    (수학식 5)
    Figure 112011010082872-pat00044
    여기서, k는 정수값으로 정규화한 이산 랜덤 변수를 의미하고, N(k)는 k의 히스토그램을 의미하고, G는 0에서 255 사이의 정수값에서의 최대값을 의미하고, t(G)는 전체 심음신호의 샘플개수를 의미하고, t(i)는 레벨 i이하인 심음신호 샘플의 개수를 의미하고, A(i)는 레벨 i 이하인 심음신호 샘플의 개수 t(i)와 레벨 i보다 큰 심음신호의 샘플의 개수 t(G)-t(i)의 비율을 의미하고, m(i)는 레벨 i 이하인 샘플의 평균을 의미하고, m(G)는 전체 평균값을 의미하고, B(i)는 레벨 i 이하인 샘플의 평균 m(i)와 전체 평균값 m(G)의 차이의 제곱을 의미하고,
    Figure 112011010082872-pat00045
    는 심음신호의 표준편차를 의미하며, T는 임계값을 의미함.
  7. 제1 항에 있어서, 상기 펄스 교정부는,
    획득된 제1음의 시간과 제1음의 이전 시간차, 제1음의 시간과 제2음의 이전 시간차, 제2음의 시간과 제1음의 이전 시간차 및 제2음의 시간과 제2음의 이전 시간차를 구하는 시작점 시간차이 측정부;
    상기 측정된 시작점들 간의 시간적 거리를 내림차순으로 정렬하고, 그 정렬된 시작점들의 시간적 거리 값들에서의 작은 값들의 50 백분위수(percentile)의 평균을 측정하는 제1 평균거리 측정부;
    상기 측정된 평균값을 이용하여 제1음에서 제2음사이의 거리와 이외의 거리를 구분하고 제1음에서 제2음사이의 거리에 대한 평균값을 측정하는 제2 평균거리 측정부;
    상기 구분한 제1, 제2음의 시작점을 기준으로 시작점 이전 및 이후 거리를 측정하는 전후거리 측정부;
    제1,제2음의 시작점 미검출 구간의 평균주기와 제1,제2음의 시작점 검출구간의 평균주기를 연산하는 평균주기 연산부;
    상기 연산된 평균주기의 검출한 주기의 수를 계산하고 그 검출된 수의 확률을 가중치값으로 적용하여 연속심음신호의 1주기를 획득하는 단일주기 획득부;
    제1,제2음의 시작점에 따른 히스토그램을 획득하는 히스토그램 획득부;
    상기 히스토그램을 통해 제1,제2음의 시작점 위치를 구별할 수 있는 임계값을 결정하는 임계값 결정부; 및
    상기 임계값을 통해 제1,제2음의 시작점의 평균 위치를 검출하는 시작점 평균 위치 검출부(414)를 포함하되,
    상기 제1, 제2음의 평균 위치를 이용하여 시작점 미검출 신호를 추가하고, 부정확한 위치에 존재하는 제1, 제2음의 시작점 신호를 교정하는 것을 특징으로 하는 심장질환 진단장치.
  8. 제1 항에 있어서, 상기 특징 추출부는,
    심음신호의 주파수 특성을 고려하여 심음신호의 샘플링률을 다운샘플링하는 다운샘플링부;
    상기 다운샘플링된 심음신호로부터 필터뱅크 로그에너지값을 연산하는 필터뱅크 로그에너지부;
    상기 다운샘플링된 심음신호로부터 심음신호의 포락선 값을 연산하는 포락선 연산부; 및
    상기 필터뱅크 로그에너지부와 포락선 연산부의 출력값을 결합하여 특징값(특징 벡터)들을 획득하는 결합부를 포함하되,
    상기 결합부는 특정개수의 특징값(특징 벡터)를 획득하는 것을 특징으로 하는 심장질환 진단장치.
  9. 제1 항에 있어서, 상기 진단부는,
    상기 특징값들을 심장질환의 패턴에 따라 분류하여 학습하는 학습 모델링부; 및
    상기 학습 모델링을 통해 학습된 특징값들과 비교하여 상기 전자 청진기로부터 입력되는 연속심음신호의 패턴을 인식하는 패턴인식부를 포함하되,
    상기 패턴인식부를 통해 인식되는 패턴에 따라 심장질환의 유무와 종류를 판정하는 것을 특징으로 하는 심장질환 진단장치.
  10. 제1 음(S1), 심실수축, 제2 음(S2) 및 심실확장 순서의 1주기로 이루어진 심음신호로부터 심장질환을 진단하는 심장질환 진단장치를 통한 심장질환 진단방법에 있어서,
    심장질환 유무를 진단받고자 하는 검사자의 연속심음신호를 전자 청진기를 통해 입력받는 단계;
    상기 연속심음신호를 1주기의 심음신호로 분할하는 단계;
    상기 분할된 1주기의 심음신호로부터 특징값을 추출하고, 그 특징값을 이용하여 심장질환에 대한 분류정확도를 높이는 학습을 수행하고, 그 학습을 고려하여 1주기의 심음신호를 분류하는 단계; 및
    상기 분류된 심음신호를 고려하여 심장질환의 유무 및 종류를 판정하는 단계를 포함하되,
    상기 심음신호로 분할하는 단계는, 상기 연속심음신호를 필터링하여 심잡음 신호를 감소시킨 연속 심음신호의 진폭을 증가시킨 후, 진폭이 증가된 연속 심음신호의 제1, 제2음의 펄스를 검출하여 제1, 제2 음의 시작점을 검출하는 단계; 및 상기 제1, 제2음의 시작점을 이용하여 각 시작점의 거리를 연산하고, 연산된 거리로부터 미검출된 시작점과 부정확한 위치정보를 갖는 연속심음신호를 교정하는 단계를 포함하며,
    상기 제1, 제2 음의 시작점을 검출하는 단계는, 상기 심잡음신호가 감소된 심음신호 중 가장 작은 진폭값과 가장 큰 진폭값을 감소시켜 포락선의 피크를 특정 레벨로 강조시키고, 그 포락선의 피크가 특정 레벨로 강조된 심음신호로부터 제1, 제2 음의 구간과 심잡음 구간을 검출하는 단계; 상기 검출된 구간에서의 심잡음 영역의 분포에 따라 심음신호의 표준편차의 소정배수를 곱하여 임계값을 획득하는 단계; 및 심음신호의 제1 음에서 제2 음까지 시간적 거리가 소정거리보다 길다는 사전정보를 이용하여 임계값 이상인 구간의 시작점을 기점으로 시작점을 제외한 상기 소정거리 이하의 폭을 갖는 펄스를 제거한 후에 최종적으로 각 펄스의 시작점을 검출하는 단계를 포함하는 것을 특징으로 하는 심장질환 진단방법.
  11. 제10 항에 있어서, 상기 연속심음신호는 상기 전자 청진기와의 무선통신에 의해 수신되는 것을 특징으로 하는 심장질환 진단방법.
  12. 삭제
  13. 삭제
  14. 제10 항에 있어서, 상기 교정하는 단계는,
    검출한 제1, 제2음의 시작점들의 시간의 차를 구하고, 제1, 제2음의 시간적 거리를 내림차순으로 정렬한 후, 정렬된 제1, 제2음의 시간적 거리 값들에서의 작은 값들의 50 백분위수(percentile)의 평균을 구하는 단계;
    제1음에서 제2음까지의 시간적 거리가 제2음에서 제1음까지의 시간적 거리와 미검출 신호로 생기는 거리보다 짧다는 사전정보를 이용하여 제1, 제2음의 시작점, 미검출 구간을 표시하고, 표시된 제1, 제2음의 정보를 이용하여 제1음을 기준으로 이전 시작점의 시간적 거리 및 제2음을 기준으로 이후 시작점의 시간적 거리를 구하고, 제1음과 제2음 시작점의 평균 시간적 거리를 구하며, 미검출 구간의 평균주기와 제1,제2음의 시작점을 표시한 1주기의 평균주기의 검출된 확률을 구하는 단계;
    상기 확률을 가중치 값으로 적용하여 심음신호의 1주기 값을 얻고, 제1음과 제2음 사이에서 중간지점을 중심으로 구한 1주기만큼 연속심음신호를 나누어 1주기 크기를 가지는 부세그먼트들의 제1, 제2음의 시작점 검출 신호의 위치 히스토그램을 구하는 단계; 및
    상기 위치 히스토그램을 이용하여 제1, 제2음의 시작점 신호를 구별하는 임계값을 구하고, 제1, 제2음의 평균 위치를 구하여 제1, 제2음의 시작점 미검출 신호를 추가하고 부정확한 위치에 존재하는 제1, 제2음의 시작점 신호를 수정하는 제1, 제2음의 시작점을 교정하는 단계를 포함하는 것을 특징으로 하는 심장질환 진단방법.
  15. 제10 항에 있어서, 상기 1주기의 심음신호로부터 특징값을 추출하는 것은,
    ANN방식 및 HMM방식 중 어느 하나를 고려하여 심음신호의 특징값을 추출하는 것을 특징으로 하는 심장질환 진단방법.
  16. 제15 항에 있어서, 상기 ANN방식을 고려하여 심음신호의 특징값 추출은,
    프레임 크기로 단일 주기 심음신호를 사용하고, 샘플링률을 2 kHz로 다운샘플링하고, 그 신호에 Hamming 윈도우 함수를 취한 후 2048-point 고속푸리에 변환(FFT)을 취하고 그 출력값의 전체 주파수 범위를 100개의 mel-scale 필터뱅크로 분할하며, 필터뱅크 출력값의 크기에 로그함수를 취하여 100개의 필터뱅크 로그에너지 값을 얻고 병렬적으로 균일한 길이를 가지도록 부세그먼트로 분할하고 균일하게 나누어지지 않는 신호는 심음신호의 마지막 부분에 40개의 균일한 길이를 가지는 부세그먼트로 분할할 수 있게 '0'으로 채워주고, 40개의 각 부세그먼트의 절대값의 평균값을 계산하여 40개의 심음신호의 포락선 값을 구하고 100개의 필터뱅크 로그 에너지값과 40개의 포락선 값을 하나의 벡터로 연결하여 최종적으로 140차원의 특징벡터를 얻는 것을 특징으로 하는 심장질환 진단방법.
  17. 제15 항에 있어서, 상기 HMM방식을 고려하여 심음신호의 특징값 추출은,
    샘플링률을 2kHz로 낮추고 제1, 제2음의 첫 번째 하모닉 요소의 3 사이클을 포함하도록 30ms Hamming 윈도우를 선택하여 매 10ms씩 이동시키고, FFT를 취한 후 30개의 mel-scale 필터뱅크로 분할하고, 필터뱅크 출력값의 크기에 로그함수를 취한 후 이산코사인변환(DCT)을 하여 12개의 MFCC 계수를 구하고 1개의 프레임 로그에너지를 추가적으로 사용하고 1차 미분 값을 추가하여 총 26차 특징벡터를 얻는 것을 특징으로 하는 심장질환 진단방법.
KR1020090046526A 2009-05-27 2009-05-27 심장질환 진단장치 및 방법 KR101072452B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090046526A KR101072452B1 (ko) 2009-05-27 2009-05-27 심장질환 진단장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090046526A KR101072452B1 (ko) 2009-05-27 2009-05-27 심장질환 진단장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100128083A KR20100128083A (ko) 2010-12-07
KR101072452B1 true KR101072452B1 (ko) 2011-10-11

Family

ID=43505084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090046526A KR101072452B1 (ko) 2009-05-27 2009-05-27 심장질환 진단장치 및 방법

Country Status (1)

Country Link
KR (1) KR101072452B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101252060B1 (ko) * 2011-08-03 2013-04-12 충북대학교 산학협력단 은닉 마코프 모델과 심잡음 로그우도를 결합한 심장질환 진단 장치
KR101337342B1 (ko) * 2011-11-01 2013-12-06 경북대학교 산학협력단 심음 분석 장치 및 그 방법
KR101524226B1 (ko) * 2013-08-19 2015-05-29 광운대학교 산학협력단 신경망을 이용한 심장질환판별 방법 및 그 장치
CN107693044A (zh) * 2017-11-15 2018-02-16 广东顺德西安交通大学研究院 冠心病监测诊断设备
KR102078525B1 (ko) * 2017-11-22 2020-02-19 서울대학교병원 스마트장치를 이용한 심혈관 질환의 진단정보 제공방법 및 이를 위한 심음 애플리케이션
CA3124755A1 (en) * 2018-12-26 2020-07-02 Analytics For Life Inc. Methods and systems to configure and use neural networks in characterizing physiological systems
KR102404715B1 (ko) * 2019-12-09 2022-06-08 (의료)길의료재단 심음 데이터를 이용한 심장질환 진단 시스템 및 방법
CN114305484B (zh) * 2021-12-15 2024-06-25 浙江大学医学院附属儿童医院 基于深度学习的心脏病心音智能分类方法、装置和介质
WO2023195741A1 (ko) * 2022-04-04 2023-10-12 주식회사 온택트헬스 시변하는 정보를 표현한 의료 영상에서 정보를 획득하기 위한 방법 및 장치
WO2024101954A1 (ko) * 2022-11-11 2024-05-16 주식회사 메디컬에이아이 생체 신호에 기초하여 사용자의 질병을 진단하는 전자 장치 및 그 제어 방법
CN116019480B (zh) * 2022-12-16 2024-06-25 赣南医学院第一附属医院 一种融合心音心电信号时序特征的三尖瓣狭窄识别方法及设备
CN117349600B (zh) * 2023-12-06 2024-01-30 厦门理工学院 一种基于双模态双输入的心音心电联合诊断方法及***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100805181B1 (ko) * 2003-10-22 2008-02-21 쓰리엠 이노베이티브 프로퍼티즈 캄파니 특이값 분해법을 이용한 청진음의 분석

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100805181B1 (ko) * 2003-10-22 2008-02-21 쓰리엠 이노베이티브 프로퍼티즈 캄파니 특이값 분해법을 이용한 청진음의 분석

Also Published As

Publication number Publication date
KR20100128083A (ko) 2010-12-07

Similar Documents

Publication Publication Date Title
KR101072452B1 (ko) 심장질환 진단장치 및 방법
Gupta et al. Neural network classification of homomorphic segmented heart sounds
Dey et al. InstaBP: cuff-less blood pressure monitoring on smartphone using single PPG sensor
US10980429B2 (en) Method and system for cuffless blood pressure estimation using photoplethysmogram features and pulse transit time
Wang et al. Phonocardiographic signal analysis method using a modified hidden Markov model
CN109961017A (zh) 一种基于卷积循环神经网络的心音信号分类方法
KR101191667B1 (ko) 시간 영역 특징을 이용한 심장 질환 진단 장치
CN109044396B (zh) 一种基于双向长短时记忆神经网络的智能心音识别方法
US12016705B2 (en) Methods and systems for identifying presence of abnormal heart sounds of a subject
Argha et al. Blood pressure estimation from time-domain features of oscillometric waveforms using long short-term memory recurrent neural networks
Singh et al. Short unsegmented PCG classification based on ensemble classifier
Argha et al. Artificial intelligence based blood pressure estimation from auscultatory and oscillometric waveforms: a methodological review
Rahmandani et al. Cardiac sound classification using mel-frequency cepstral coefficients (MFCC) and artificial neural network (ANN)
KR20170064960A (ko) 파동신호를 활용한 질병 진단 장치 및 그 방법
CN115486865A (zh) 一种基于卷积循环神经网络的心音分类方法
Putra et al. Study of feature extraction methods to detect valvular heart disease (vhd) using a phonocardiogram
Argha et al. Blood pressure estimation using time domain features of auscultatory waveforms and deep learning
Shokouhmand et al. Diagnosis of peripheral artery disease using backflow abnormalities in proximal recordings of accelerometer contact microphone (ACM)
CN113705448A (zh) 一种区分主动脉瓣狭窄心音与正常心音方法、装置及***
Bourouhou et al. Heart sounds classification for a medical diagnostic assistance
Ghaemmaghami et al. Automatic segmentation and classification of cardiac cycles using deep learning and a wireless electronic stethoscope
Sofwan et al. Normal and murmur heart sound classification using linear predictive coding and k-Nearest neighbor methods
Karan et al. Heart Sound Abnormality Detection using Wavelet Packet Features and Machine Learning
Roquemen-Echeverri et al. An AI-powered tool for automatic heart sound quality assessment and segmentation
KR20230067770A (ko) 심장 신호 분할 방법 및 이를 이용한 심장 신호 분할용 디바이스

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151006

Year of fee payment: 5