I.

Hidden Markov Model을 이용한 연속심음분류에 관한 연구

A Study on Classification of Continuous Heart Sounds Using Hidden Markov Models

Hee-Keun Kim*, Young-Joo Chung*

* Dept. of Electronics Engineering, Keimyung University, Taegu 704-701, hk2283@kmu.ac.kr, yjjung@kmu.ac.kr

Abstract: Artificial neural networks(ANNs) have been widely used for the automatic classification of heart sound signals. However, in a recent study, we found that the heart sound signal classification using hidden Markov models (HMMs) produced much better results than the artificial neural networks. In both of the classification methods using HMMs and ANNs, the heart sound signals are usually manually segmented to obtain one cycle of the signal for the stable classification performance. However, it is not easy to segment the continuous heart sound signals in real environments. Although there have been some research efforts for the automatic segmentation, the segmentation errors were irrecoverable and as a consequence resulted in performance degradation. In this paper, we propose to modify the conventional HMM structure into an ergodic form where every state can be reached from any states. The proposed HMM structure is shown to be able to recognize the heart sound signals without any segmentation information. In experiments classifying the continuous heart sound signals, the proposed method performed successfully with classification accuracy about 99%..

Keyword: automatic classification, Hidden Markov Model, heart sounds signals.

배 경

심음은 심장이 혈액을 순환시키는 과정에서 나는 소리로, 심장병을 진단하는데 중요한 역할을 한다. 그래서 의사들은 청진기로 심음에 나타나는 심잡음(heart murmur)과 click을 듣고  병의 유무나 종류를 진단하게 된다[1]. 그러나, 정상적인 심음과 심장병이 있는 심음의 차이를 숙달된 전문의가 아니면 구분하기가 어려운 경우가 가끔 발생하는데, 심음에 능숙하지 못한 의사들을 위해서 진찰을 도와주는 자동심음진단 시스템이 있다면 오진의 가능성도 줄일 수 있고 심음을 연구하는데 있어서도 많은 도움이 될 것이다[2, 11].

지금까지의 자동심음진단시스템에 관한 연구들은 artificial neural network(ANN)을 이용한 방법들이 주를 이루고 있으며[1-8], 최근에는 hidden Markov model(HMM)을 이용한 방법들도 많이 연구되고 있다[11-13]. 지난 연구에서 우리는 심음을 분류하기 위해서 연속밀도 HMM에 기반한 인식방식을 제안하였으며, 그 연구결과로부터 HMM이 ANN보다 심음분류에 효과적임을 알 수 있었다[11]. 이전의 연구에서는 보다 안정된 분류성능을 위해서 심음분류기의 입력으로 여러 사이클로 구성된 연속심음 대신에 수동으로 분할된 1사이클의 고립심음을 사용하였다. 하지만, 실제 환경에서 심음을 분류하기 위해서는 고립심음이 아닌 연속심음을 이용하여야 한다. 따라서 연속심음을 자동으로  분할하거나 연속심음 자체를 입력받는 분류시스템에 대한 연구가 필요하다. 연속심음을 자동으로 분할하기 위해서 심음신호의 에너지나 포락선을 이용하여 연속심음으로부터 고립심음을 추출하는 방식이 사용되기도 하였다[12-13]. 하지만, 이 방법은 고립심음 추출결과에 오류가 발생하게 되면, 심음분류기에 잘못된 입력이 전달되어 이를 극복할 수가 없게 된다. 따라서, 이러한 문제점을 해결하기 위해서 본 연구에서는 인위적으로 고립심음을 추출하는 대신에 연속심음 자체를 HMM에 입력으로 사용하는 자동심음진단 방식에 대한 연구를 수행하였다. 이를 위해서 HMM의 구조를 기존에 많이 사용되던 left-right형태 대신에 HMM의 모든 상태들 간에 천이가 가능하게 하는 구조를 선택하였다. 본 논문의 구성은 2장에서 구체적인 연구방법을 설명하였고 3장에서는 실험결과를 소개하고 4장에서 결론을 맺는다.

II. 방 법

본 연구에서는 연속심음을 입력받기 위해서 이전 연구와는 달리 ergodic 형태의 HMM을 사용하였으며, 음향모델링을 위한 특징으로는 이전 연구와 동일한 필터뱅크 출력(fitlerbank output)을 사용하였다. 그리고 특징의 최적화를 위해 여러 주파수 범위의 필터뱅크 출력을 사용하여 분류실험을 수행하였으며, 총 10종류의 질병을 대상으로 인식률을 구하였다.

1. 특징추출과 심음데이터 수집

본 연구는 512포인트의 FFT(fast Fourier transform)에서 얻은 필터뱅크 특징을 이용하였으며 프레임율은 약 2.5ms로 정하였다.

실험을 위한 데이터는 심음 분류능력을 기르기 위한 교육용 오디오 CD에서 수집하였다. 오디오 CD는 44100Hz, stereo로 녹음되어있으며, 이를 16000Hz로 다운샘플링하여 16비트, mono, RAW데이터 형식으로 변환하였다[11].

2. Hidden Markov Model

HMM은 통계신호모델(stochastic signal model)의 한 종류로 상태(state)와 상태간의 천이(transition) 구조로 이루어진 모델이다.

본 연구에서 이용한 ergodic 형태의 HMM은 4개의 상태로 구성되어 있으며, 그림 1과 같은 구조를 가지고 있다. 각 상태는 심음의 구성요소인 S1, systole, S2, diastole을 각각 대표하고 있으며, 혼합가우시안 형태의 관측확률밀도함수를 가지고 있다.

[eqn: b _{j} ( {bold o}_{t} )= sum _{m=1} ^{M} {c _{jm}} over {sqrt {(2 pi ) ^{n} | SIGMA |}} e ^{- {1} over {2} ( bold{o} ```- bold{mu } ) prime bold{SIGMA } ^{```-1} ({bold o}``-``{bold mu})}}}]  (1)

위 식에서 j는 상태 인덱스를 의미하며, t는 프레임 번호, m은 혼합성분의 개수, [eqn: bold o]는 관측열, [eqn: bold mu]는 평균벡터, [eqn: bold Sigma]는 공분산행렬을 뜻한다. 여기서, 혼합성분의 개수 M은 10으로 하였다.

그림 1의 HMM 구조하에서는 기본적으로 모든 상태 간의 천이가 가능하지만, 심음의 구성요소의 시간적 순서관계에 의해서 실제로는 굵게 표시된 화살표를 따라서만 천이가 가능하도록 천이확률들을 조정하였다. 굵은 실선으로 표시된 천이는 0보다 큰 천이확률값을 가지며, 가는 실선의 경우에는 천이확률값을 0으로 하였다.

Fig 1. The proposed structure of the HMM in the classification of heart sounds.

상태0

(S1)

상태2

(S2)

상태1

(systole)

상태3

(diastole)

상태간의 천이가 가능함

상태간의 천이가 불가능함

3.  훈련방법

심음을 HMM으로 모델링하기 위해서는 훈련과정을 거쳐야 한다. 본 연구에서는 segmental K-means방식을 훈련 알고리듬으로 이용하였으며, 초기모델을 균등분할로 구하였다[9]. 실험에 사용된 질병의 종류와 각 질병별로의 심음데이터 개수는 표 1과 같다. 각 질병별로 독립된 하나의 HMM이 훈련과정을 통해서 만들어졌다. 각 질병별의 심음데이터 중 인식실험을 위해서 사용되는 한 개의 심음 데이터를 제외한 나머지 심음데이터를 이용하여 각 질병별 HMM을 모델링하였다. 훈련을 위해서는 인식시와는 달리 고립심음을 사용하였고 그림 2와 같은 left-right형의 HMM을 이용하였다. 훈련에서 추정된 HMM의 파라미터는 그림 1의 제안된 HMM의 파라미터와 일대일 대응하여 인식에 이용하였다.

Table 1. The number of heart sounds signals used in the experiment.

질병의 종류	데이터 개수
normal sound	15
innocent murmur	14
Aortic Regurgitation(AR)	14
Aortic Stenosis(AS)	18
Coarctation of the Aorta(CA)	20
Mitral Regurgitation(MR)	21
Mitral Stenosis(MS)	14
Mitral Valve Prolapse(MVP)	13
Tricuspid Regurgitation(TR)	20
Ventricular Septal Defect(VSD)	10
TOTAL	159

Fig 2. left-right HMM.

상태1

(systole)

상태0

(S1)

상태2

(S2)

상태3

(diastole)

4 . 인식실험

인식실험에서는 Viterbi 알고리듬을 이용하여 질병별로 모델링된 HMM들과 입력된 심음사이의 동일우도(likelihood)를 구하였다[8, 11]. 구하여진 동일우도들 중에서 최대값을 가지는 HMM을 선정하고 이에 해당하는 질병을 인식결과로 선택하였다. 그리고 Viterbi 과정에서 발생하는 상태열을 이용하여 심음신호에 대한 HMM 모델링이 적합한지 판단하였다.

본 연구에서는 테스트 연속심음 데이터를 준비하기 위해서 두 가지 방법을 사용하였다. 첫 번째 방법은 오디오 CD로부터 추출한 심음신호를 수동으로 분할하여 3 사이클 길이의 표본 심음신호를 만든 후, 이로부터 시작점을 달리한 여러 개의 테스트 연속심음 데이터를 만들었다. 각각의 시작점은 0.1초 차이가 나며, 심음데이터간의 길이를 동일하게 하기 위해서 시작점전의 표본심음신호 데이터는 맨 뒷부분에 첨부하였다. 이와 같이 하여 하나의 표본심음신호로부터 시작점이 서로 다른 8개의 테스트 연속 심음데이터를 만들어내었다. 두 번째 방법에서는 앞의 방법처럼 시작점의 간격을 0.1초 단위로 일정하게 하지 않고 랜덤하게 되도록 하였다. 두 번째 방법에서는 하나의 표본심음 신호로부터 15개의 테스트 연속심음 데이터를 만들어 내었다. 앞으로는 설명의 간편성을 위해서 첫 번째 방법에 의한 테스트 연속심음 데이터를 ‘테스트 데이터A’라 하고, 두 번째 방법에 의해 만들어진 테스트 연속심음 데이터를 ‘테스트 데이터B’라

Table 2. The number of continuous heart sound signals used in classification.

질병의 종류	데이터 개수
	3사이클	랜덤사이클
normal sound	120	225
innocent murmur	112	210
Aortic Regurgitation(AR)	112	210
Aortic Stenosis(AS)	144	270
Coarctation of the Aorta(CA)	160	300
Mitral Regurgitation(MR)	168	315
Mitral Stenosis(MS)	112	210
Mitral Valve Prolapse(MVP)	104	195
Tricuspid Regurgitation(TR)	160	300
Ventricular Septal Defect(VSD)	80	150
TOTAL	1272	2385

하겠다.

state index

frame number

diastole

S1

systole

S2

diastole

Fig 3. The state sequence with continuous heart sounds

III. 결 과

표 3은 제안한 HMM의 구조를 이용한 전체 테스트 결과인데, 필터뱅크 생성시 사용되는 주파수 범위에 따른 인식성능의 변화를 나타내었다. 테스트 데이터A를 이용한 결과에서는 주파수 범위에 관계없이 인식률이 90%이상으로 좋은 결과를 보여주고 있다. 특히, 0에서 420Hz의 주파수 범위에서는 인식률이 100%로 아주 좋은 결과를 보여준다. 그리고 테스트 데이터 B를 이용한 결과에서도 테스트 데이터A의 결과와 유사한 결과를 나타내었다.

테스트 데이터A의 결과와 테스트 데이터 B의 결과를 함께 비교하였을 때, 전반적으로 0에서 420Hz의 주파수 범위의 결과가 인식률이 좋다고 할 수 있지만, 0에서 900Hz 주파수 범위의 결과와 비교하였을 때

Table 3. The classification results with proposed HMM using test data A and B and depending on the frequency ranges in the construction of the filter bank outputs.

주파수 범위(Hz)	테스트 데이터A		테스트 데이터B
	전체평균(%)	비고	전체평균(%)	비고
0 - 210	95.59	1216/1272	94.67	2258/2385
0 - 420	100	1272/1272	99.07	2363/2385
0 - 900	99.37	1264/1272	99.28	2368/2385
30 - 900	99.37	1264/1272	99.28	2368/2385
200 - 300	93.23	1186/1272	92.87	2215/2385
200 - 900	98.74	1256/1272	98.57	2351/2385

큰 차이를 보이지는 않는다.

표 4는 이전 연구에서 이용한 HMM의 구조(그림 2)에서 테스트 데이터A, B를 입력으로 이용한 실험결과이다. 표 4의 결과는 표 3의 결과에 비해서 인식률이 상당히 저하되고 있는데, 이는 연속심음데이터인 경우에 초반부분의 데이터가 심음 신호의 다양한 구성요소를 나타낼 수 있음에도 불구하고 HMM의 구조를 고정함으로써(초기상태를 상태0으로 고정) 심음데이터의 모델링에 실패했기 때문인 것으로 생각된다.

그림 3은 Viterbi 수행결과로 출력되는 HMM의 상태열과 이에 해당되는 특정 연속심음신호 간의 정합정도를 보여주고 있다. 그림에서 S1과 S2에서는 상태열과 연속심음신호 간의 정합이 비교적 정확하지만 systole과 diastole에서는 상태0과 상태3을 번갈아 선택하면서 혼선을 빚고 있다. 이는 정상심음에서 sytole과 diastole의 주파수적 특성이 비슷하고 HMM의 구조가 순환적 구조이기 때문인 것으로 판단된다.

Table 4. The classification results with prior HMM using test data A, B and depending on the frequency ranges in the construction of the filter bank outputs.

주파수 범위(Hz)	테스트 데이터A		테스트 데이터B
	전체평균(%)	비고	전체평균(%)	비고
0 - 210	64.15	816/1272	61.25	1461/2385
0 - 420	64.77	824/1272	60.04	1432/2385
0 - 900	75.47	960/1272	73.75	1759/2385
30 - 900	75.47	960/1272	73.75	1759/2385
200 - 300	49.05	624/1272	43.27	1032/2385
200 - 900	73.11	930/1272	72.99	1741/2385

IV. 결 론

본 연구에서는 심음의 분할정보를 사전에 필요로 하지 않는 HMM 기반의 연속심음 분류방식에 대한 연구를 수행하였다. 제안된 방식에서는 ergodic 형태의 HMM 구조를 사용함으로써 심음신호의 시작점이 심음 사이클에 어느 구성요소에 해당하더라도 상관없이 매우 높은 인식률을 보임을 알 수 있었다. 또한, Viterbi 알고리듬 실행 중에 발생하는 상태열을 분석한 결과 상태열이 심음사이클의 S1과 S2를 잘 나타낸다는 것을 확인할 수 있었다.

감사의 글

본 연구는 산업자원부 지역연구개발클러스터구축사업 중 경북대학교 첨단 진단/예측 의료기술 클러스터 사업단의 연구비지원을 받아 수행되었음.

참고문헌

1. T.S. Leung, P.R. White, W.B. Collis, E. Brown, A.P. Salmon, Classification of heart conditions based on heart sounds, Proceedings of the 12th International Congress on Condition Monitoring and Diagnostic Engineering Management, Sunderland, UK, 1999;.335-342.

2. Todd R. Reed, Nancy E. Reed and Peter Fritzson, The analysis of heart sounds for symptom detection and machine-aided diagnosis, Proceeding of Eurosim2001, 2001;ISBN: 90-806441-1-0.

3. T.S.Leung, P.R.White, J.Cook, W.B.Collis, E.Brown, A.P.Salmon, Analysis of the second heart sound for diagnosis of paediatric heart disease, IEE Proceedings - Science, measurement and technology, 1998;145(6);285-290.

4. T.S.Leung, P.R.White, W.B.Collis, E.Brown, A.P.Salmon, Acoustic diagnosis of heart diseases, Proceedings of the 3rd international conference on acoustical and vibratory surveillance methods and diagnostic techniques, Senlis, France, 1998;389-398.

5. DeGroff C, Bhatikar S, Hertzberg J, Shandas R, Valdes-Cruz L, Mahajan R, Artificial neural network-based method of screening heart murmur in children. Circulation 2001;103;2711-6.

6. Bhatikar S, DeGroff C, Mahajan R, A classifier based on the artificial neural network approach for cardiology auscultation in pediatrics, Artificial Intelligence in medicine, Vol. 34, Issue 1, May 2005;65-76.

7. Cather I, Neural network assisted cardiac auscultation, Artificial Intelligence in medicine, 1995;7;53-66.

8. L. R. Rabiner, A tutorial on hidden Markov model and selected applications in speech recognition, IEEE Proc., vol. 77, Feb. 1989;257-286.

9. L. R. Rabiner, J. G. Wilpon, and B. H. Juang, A segmental k-means training procedure for speech recognition, IEEE Trans. ASSP, Dec. 1990;2033-2045.

10. Daniel Mason, Listening to the heart: A Comprehensive Collection of Heart Sounds and Murmurs, (F. A. Davis Company, Philadelphia, 2000)

11. 김희근, 정용주, 남재열, 김윤년, Hidden Markov Model을 이용한 심음분류에 관한 연구, 한국음향학회지 2006; 25:166-170.

12. D. Gill, N. Intrator, N. Gavriely, A Probabilistic Model for Phonocardiograms Segmentation Based on Homomorphic Filtering, 18-th Biennial International EURASIP Conference Biosignal 2006; 18:87-89.

13. Ricke, A.D.   Povinelli, R.J.   Johnson, M.T.  ,Automatic segmentation of heart sound signals using hidden markov models, Computers in Cardiology, Sept. 2005; 25-28: 953- 956.