자기상관과 계층적 분류 모델을 이용한 부정맥 분류 연구
초록
본 연구에서는 시간 정보를 나타내는 자기상관과 계층적 분류모델을 이용한 부정맥 분류 방법을 제안한다. 전처리에서는 밴드패스필터를 이용하여 심전도 원신호의 노이즈를 제거하고, 정규화, 이동 곱셈을 적용하여 신호 균형을 맞추고 Peak 데이터를 강화한다. 특징 추출에서는 자기상관을 이용하여 심전도의 시간 정보 계수를 추출하고, 이산코사인 변환을 이용하여 중복되거나 불필요한 데이터를 축소 시켜 특징을 선택한다. 마지막으로, 코사인 유사도 분류기와 계층적 분류 모델을 적용하여 부정맥을 분류한다. 그 결과, 민감도(sensitivity) 96.79%, 특이성(specificity) 99.41%, 양성예측(positive predictive value) 97.64%의 결과를 나타낸다. 제안한 방법은 심전도 신호의 적은 특징을 추출하고, 다중 클래스 분류를 위해 효율적인 계층적 분류모델을 적용함으로써 전체 부정맥 분류 정확도를 향상 시킨다.
Abstract
This paper proposes arrhythmia classification that improves the accuracy by using autocorrelation representing temporal information and hierarchical classification model. In preprocessing, noise in electrocardiogram(ECG) is removed using band pass filter. Normalization and Moving multiplication are applied to balance the signal and enhance the peak data. In feature extraction, time information coefficients of ECG are extracted using autocorrelation, and features are selected by reducing redundant or unnecessary data using discrete cosine transform(DCT). Finally, classification is performed using cosine similarity and hierarchical classification model. As a result, sensitivity is 96.79%, specificity is 99.41%, and positive predictive value is 97.64%. The proposed method improves accuracy of arrhythmia classification by extracting few features of ECG signals and applying an efficient hierarchical classification model for multi classification.
Keywords:
electrocardiogram, arrhythmia classification, hierarchical model, autocorrelation, discrete cosine transformⅠ. 서 론
심전도는 심장 생리학의 대표적인 신호로써 인간의 생체 리듬을 나타낸다. 심전도 신호는 심장의 다양한 정보를 전달하기 때문에 신호를 통해 정확하게 분석하기 위한 연구들이 이루어지고 있다[1][2]. 부정맥은 심장의 규칙적인 리듬의 장애를 나타내는 신호로써 일반적으로 즉각적인 치료가 필요 없는 경우도 있는 반면 생명을 위협하는 의학적 비상사태로 심정지 등의 위험성도 가지고 있다[3][4]. 그러므로 심장 상태에 대한 진단과 치료를 위해 부정맥의 정확한 인식과 분류가 중요하다. 부정맥을 정확하게 검출하기 위한 많은 연구들이 진행되어 왔음에도 불구하고 정확성을 더욱 향상시키고, 신뢰성 있는 알고리즘에 관한 연구는 여전히 중요하다.
부정맥 분류를 위해 다양한 알고리즘과 부정맥 타입을 분류하는 연구들이 수행되어 왔다. Inan[5]은 원신호에 웨이블렛을 적용하여 주파수 데이터로 변환한 후 시간 정보가 포함된 특징으로 구성하였고, 신경망 분류기를 이용하여 정상적인 신호와 부정맥 신호 두 가지 타입으로 분류하는 방법을 제안하였다. Sayadi[6]는 심전도를 유한한 특징 파형으로 모델링 하였으며, 베이지안 필터링을 이용하여 정상신호와 조기 심실수축 두 가지 타입의 부정맥을 분류하여 99.1%의 비교적 높은 정확도를 나타내었으나 적은 수의 클래스를 분류하였다. Javadi[7]는 부정적 상관학습 신경망(Negatively Correlated Neural Networks)과 mixture of experts을 이용한 부정맥 분류 모델을 제안하였다. 특징 벡터로써 R 피크간의 간격과 형태적 특징들을 이용함으로써 96.02%의 분류 정확도를 나타내었다. Khadra[8]은 자기 회귀 모델과 바이 스펙트럼(Bispectrum) 주파수를 이용함으로써 4가지 타입의 부정맥을 분류하는 방법을 제안하였으나 비교적 낮은 정확도인 91.38%의 결과를 나타내었다. Yeh[9]은 QRS 파형을 검출하고 최적 특징 선택을 수행한 후, 선형판별 분석을 이용하여 5개 타입의 부정맥 클래스를 분류하는 방법을 제안하였다. Korurek[10]은 이산 웨이블렛 변환을 적용하여 주파수 특징을 추출하였고, 주성분 분석을 이용하였으며, 시간 영역 특징과 결합하여 개미집단 최적화(Ant Colony Optimization)에 적용하여 6개 타입의 부정맥을 분류하는 방법을 제안하였다.
기존의 방법들은 다양한 특징들을 이용하기 위해 많은 심전도 신호에서 특징점들을 추출하거나 주파수 변환 방법을 이용하여 추출한 특징들을 분류에 이용하였다[9][10]. 이러한 특징점들은 정확한 위치의 값을 추출하기 위해 복잡한 알고리즘을 이용해야 하고 많은 특징점 검출로 인해 계산 시간을 증가 시키는 단점이 있다. 또한, 각 파형은 심전도 신호의 노이즈와 왜곡에 의해 원신호의 변형이 나타날 수 있으며, 이로 인해 부정확한 특징을 적용하게 되어 전체 부정맥 분류 오류를 증가시킬 수 있다. 이러한 문제점은 심전도 신호에서 특징점들의 위치를 추출하는 대신 파형 전체를 특징으로 이용함으로써 해결할 수 있다. 즉, 각 클래스의 심전도 신호마다 특별한 특징점 위치를 검출하지 않고 신호의 파형에 자기상관을 적용하여 계수를 추출함으로써 클래스 간 차별성 있는 특징을 생성할 수 있다. 추출한 계수의 중복성과 불필요한 요소들은 이산코사인 변환을 적용함으로써 압축된 에너지 값만 가지는 대표특징들을 구성하여 차원을 줄일 수 있으며 정확도를 향상할 수 있다. 또한, 다중 클래스 분류 과정에서 일대일 방식은 클래스 수가 증가할수록 분류기 수가 증가하여 계산량을 증가시킬 수 있다. 이러한 단점은 계층적 방식을 적용함으로써 해결할 수 있다. 따라서 클래스끼리 비교하는 일대일 방식에 계층적 구조를 결합시켜 이진 형태의 계층적 일대일 방법을 적용함으로써 분류 단계를 줄이고 정확도를 향상 시킬 수 있다.
본 연구에서는 계층적 일대일 분류모델과 자기상관계수 특징을 이용한 부정맥 분류 방법을 제안한다. 심전도 신호의 복잡한 특징 추출과정을 단순화시킨 자기상관계수와 이산코사인변환을 통한 최적 특징을 추출하며, 다중 클래스를 계층적 일대일 방법을 이용하여 분류함으로써 부정맥 분류 정확도를 향상 시킨다.
Ⅱ. 제안하는 방법
본 연구에서 제안하는 방법은 그림 1과 같다.
심전도 신호에 대역통과필터(BPF, Band Pass Filter)를 적용하여 신호의 노이즈를 제거하고, 신호 균형과 특징 추출에 도움을 주기 위해 정규화, 이동 곱셈, 정규화(NMN, Normalization, Moving Multiplication, Normalization:)를 적용한다. 그런 후, 자기상관 계수를 추출하고 이산코사인 변환을 이용하여 중복된 데이터를 제거한 후 차원을 축소 시켜 특징을 선택한다. 마지막으로 코사인 유사도를 이용하여 분류를 수행하여 Normal beat, Atrial ventricular contraction, Premature ventricular contraction, Fusion beat로 부정맥 클래스 결정을 한다.
2.1 전처리 방법
심전도 신호에는 기전선 변동, 파워라인 간섭 등의 다양한 노이즈가 포함되어 있다. 이러한 노이즈는 부정맥 분류 정확도를 감소시키기 때문에 제거할 필요가 있다. 본 연구에서는 원신호의 노이즈를 제거하기 위해 밴드패스 필터를 이용하여 전처리를 수행한다. Sidek[11]의 연구 수행 과정 중에서 정규화, 콘볼루션, 정규화의 과정을 수행하였다. 두 번의 정규화는 신호의 균형을 맞추는 것으로써 노이즈의 영향을 줄일 뿐만 아니라 특징 추출에도 영향을 주었다. 본 연구에서는 하나의 세그먼트 신호를 이용하고, 그 중 가장 중요한 정보가 포함되는 R peak를 강조시킨 후 데이터를 이용한다. R peak를 강조하기위해 이동곱셈 과정을 적용하고, sidex[11]과 유사하게 본 연구에서도 두 번의 정규화를 적용하여 전처리 과정을 수행한다. 우선, 노이즈가 제거된 신호에서 MIT 데이터베이스 주석을 이용하여 R 피크를 검출하고 R 피크를 기준으로 256의 데이터를 하나의 세그먼트로 설정한다. 그런 후, 정규화, 이동곱셈, 정규화를 이용하여 NMN 순서로 적용한다. 정규화는 신호의 균형을 맞추기 위한 것이고, 이동 곱셈은 심전도 신호의 중요 데이터인 R 피크를 강조하기 위해 수행한다. 마지막으로 파형 간의 균형을 맞추기 위해 다시 한 번 정규화 과정을 적용한다. 이동 곱과 정규화의 정의는 각각 식 (1), 식 (2)와 같다.
(1) |
K은 데이터 전체 개수를 나타낸다.
(2) |
x는 심전도신호의 데이터를 나타내고 μx는 x의 평균이며 nx는 x에 있는 데이터 수를 나타낸다.
2.2 특징 추출
위의 과정을 거친 신호에서 자기상관을 이용하여 특징을 추출한다. 심전도 신호를 이용한 연구에서 자기상관계수를 이용하여 신호의 차별성 있는 특징을 추출하였다[12]. 본 연구에서는 식 (3)과 같이 정의된 자기상관계수를 이용하여 세그먼트한 데이터의 각 특징을 추출한다. 추출한 계수들은 중복되거나 불필요한 요소들이 포함되어 있다. 그러므로 이러한 계수의 차원을 줄임으로써 수행속도를 향상할 뿐만 아니라 정확도를 향상하는데 도움을 줄 수 있다. 이산코사인변환은 차원을 줄여 특징을 선택하는데 도움을 줄 수 있으며, 불필요한 데이터를 제거하고 중요한 에너지만 이용할 수 있는 장점이 있다. 이러한 특성을 이용하여 식 (4)와 같이 정의된 이산코사인 변환을 적용하여 중요데이터가 포함된 특징을 선택한다. 특징 개수는 데이터의 샘플링 비율마다 차이가 있을 수 있으며, 본 연구에서는 MIT 데이터베이스에서 실험을 통해 얻은 최적의 특징 개수인 50개를 추출하여 특징으로 선택한다.
(3) |
x[i]은 심전도 윈도우를 나타내며, x[i+m]은 심전도 윈도우 시간이동을 나타낸다.
(4) |
(5) |
N은 신호의 길이를 나타내고, f[x]는 자기상관 값을 나타낸다.
2.3 부정맥 분류 방법
분류에 많이 이용되는 분류기 중에서 본 연구에서는 코사인 유사도 방법을 이용한다. 코사인 유사도 측정기법은 서로 다른 두 개의 벡터의 유사도를 측정하는 것으로 적은 수의 클래스일 경우 다른 분류기에 비해 간단하고 빠르게 수행되는 방법이다. 그러므로 전체적인 수행속도 향상에도 도움을 줄 수 있는 코사인 유사도를 이용하여 4개의 클래스로 부정맥을 분류한다. 본 연구에서는 계층적 일대일 분류 방식을 이용한다. 일대일 방식은 M(M-1)/2개의 분류기를 생성하여 두 개의 클래스를 검사하는 방법이다. 클래스 수를 4로 하는 경우 전체 분류기는 6개가 생성되며, 생성한 분류기를 모두 수행하여 클래스를 결정한다. 그러나 본 연구에서 수행하는 계층적 방식은 모든 분류기 수행 없이 선택된 클래스에 따라 그림 2와 같이 하향식으로 진행되기 때문에 총 3개의 분류기를 수행하여 클래스를 분류할 수 있다. 따라서 제안하는 계층적 일대일 방식은 일반적인 일대일 방식보다 분류기 수를 축소하여 수행할 수 있다. 본 연구에서는 계층적(Hierarchical) 방식의 일대일을 이용하여 부정맥의 4개의 클래스를 분류한다. 각 4개의 클래스의 데이터에의 반은 트레이닝 데이터로 설정하고, 나머지 반은 테스트 데이터로 설정하여 수행한다. 코사인 유사도는 계산 복잡도가 낮으며, 테스트와 트레이닝 데이터 두 벡터 간의 거리를 계산하여 유사도 값을 측정함으로써 가까운 클래스를 선택하는 것이다[13].
코사인 유사도는 식 (7) 과 같고, 계층적 일대일 분류는 그림 2와 같다.
(7) |
xs는 윈도우 x의 벡터를 나타내고, xt′는 윈도우 x′의 벡터를 나타낸다.
Ⅲ. 실험 결과
본 연구에서는 Physionet에서 획득할 수 있는 MIT 데이터베이스에서 심전도 비트를 획득하고, 각 클래스에서 Normal beat: 8,249, Atrial ventricular contraction: 1,434, Premature ventricular contraction: 2,108, Fusion beat: 635비트를 각각 추출하여 수행한다.
그림 3은 원신호를 나타내고 그림 4는 밴드패스 필터를 적용한 신호이고, 그림 5는 연속된 신호에서 NMN을 적용한 결과 예시를 보여준다. 표 1은 본 연구에서 수행한 4개의 클래스 타입에 대한 결과를 나타낸다. 실험 결과로써 4개의 타입에 대해 평균으로 계산했을 경우 민감도(Sensitivity) = 96.79%, 특이성(Specificity) = 99.41%, 양성예측(Positive Predictive Value) = 97.64%를 나타낸다.
(8) |
(9) |
(10) |
TP: 클래스로 올바르게 분류된 비트 수
FN: 클래스로 올바르게 분류되지 않은 비트 수
TN: 클래스에 분류되지 않으며, 클래스에 속하지 않는 비트 수
FP: 주어진 클래스에 속하는 것으로써 올바르게 분류되지 않은 비트 수
부정맥 분류 시 모든 특징을 이용하는 것은 수행 시간이 길어짐에 따라 복잡도가 증가할 수 있다. 그러므로 본 연구에서는 이산코사인 변환을 이용하여 적은 수의 특징을 선택한다. 표 2는 모든 특징을 이용한 결과와 적은 수의 선택적 특징을 이용한 결과 비교를 보여준다. 표 2에서 볼 수 있듯이 너무 적은 특징을 이용하여 수행하는 것은 전체 정확도가 평균적으로 낮아지는 반면 50개의 특징을 선택한 결과는 모든 특징을 이용한 결과와 같은 정확도가 나타난다는 것을 확인할 수 있다. 일반적으로 모든 특징을 이용하는 것은 전체 수행 시간을 지연시키기 때문에 적은 수의 특징을 이용하여 높은 결과를 나타내는 것이 좀 더 효율적일 수 있다. 그러므로 표 2의 결과에서도 확인할 수 있듯이 본 연구에서 제안한 방법은 모든 데이터를 이용하지 않고 적은 수의 특징 데이터만 이용해도 높은 결과를 나타내며 수행시간도 단축할 수 있다.
표 3은 제안한 방법과 다른 알고리즘의 결과를 비교한다. 표 3에 나타낸 다른 연구들의 결과는 각 연구에서 제시한 결과 수치이다. 표 3에서 보는 바와 같이 제안한 방법은 민감도 96.79%, 특이성 99.41%, 양성예측 97.64%, 정확도 97.64%를 보이며, 다른 알고리즘과 비교했을 때 전체적으로 비슷하거나 조금 더 높은 정확도가 나온 것을 확인할 수 있다. Inan[5]의 연구에서는 원신호에 웨이블렛을 이용하여 주파수 데이터를 특징으로 이용하여 분류를 수행한 결과 95.16%의 정확도를 나타냈고, Yeh[9]와 Korurek[10]은 많은 특징점을 추출하여 각각 91.38%, 92.00%의 연구 결과를 보였다. 그러나 본 연구에서는 기존연구와 달리 QRS 시간 길이, RR 간격, QR 길이, RS 길이 등의 거리기반의 많은 특징들을 검출하는 과정을 수행하지 않고, 단순하게 세그먼트된 신호에서 자기상관을 적용하여 신호 간 시간차 정보 계수를 추출하고, 이산코사인 변환을 적용하여 축소된 특징을 이용함으로써 좋은 결과를 나타낸다. 연구마다 실험에 이용되는 클래스 수가 다르고, 데이터의 특성이 조금씩 다르기 때문에 객관적인 비교가 어려우나 본 연구에서 제안한 방법은 부정맥 분류를 위해 심전도의 적은 특징을 추출하여 계층적 방식의 분류를 수행함으로써 다중 클래스 분류에서 높은 정확도를 얻을 수 있다.
Ⅳ. 결 론
본 연구에서는 계층적 일대일 분류모델과 자기상관 특징을 이용한 부정맥 분류 방법을 제안하였다. 제안한 방법은 밴드패스 필터를 이용하여 노이즈를 제거하고, 정규화와 이동 곱셈을 적용하여 신호간 균형을 맞추고 피크 데이터를 강화하였다. 그런 후, 세그먼트한 신호에 자기상관을 이용하여 계수를 추출하였고 이산코사인 변환을 이용하여 차원 축소하여 특징을 선택하였다. 마지막으로 코사인 유사도 분류기와 계층적 분류모델을 이용하여 부정맥 분류를 수행하였다. 심전도 신호의 다중 특징을 추출하여 발생하는 오류를 줄이기 위해 심전도 파형 자체에서 자기상관계수를 특징으로 이용하였고, 중복된 계수와 불필요한 요소를 줄이기 위해 이산코사인변환을 통해 특징 수를 줄였으며, 효율적 다중 클래스 분류를 위해 계층적 분류를 적용함으로써 전체 부정맥 분류 정확도를 향상 시켰다. 향후에는 더 많은 수의 다양한 부정맥을 분류할 수 있도록 클래스 수를 증가시킨 테스트가 필요할 것이다. 또한, 실시간 부정맥 분류를 위해 수행속도를 빠르게 하고 분류 정확도를 더욱 향상하기 위한 알고리즘 최적화 연구가 필요할 것이다.
References
- M. Adnane, Z. Jiang, and S. J. Choi, "Development of QRS detection algorithm designed for wearable cardiorespiratory system", Computer Methods and Programs in Biomedicine, 93(1), p20-31, Jan), (2009. [https://doi.org/10.1016/j.cmpb.2008.07.010]
- W. H. Jung, and S. G. Lee, "QRS Detection Algorithm in ECG Signal Using Wavelet and a Threshold Method", Journal of KIIT, 11(12), p79-86, Dec), (2013. [https://doi.org/10.14801/kiitr.2013.11.12.79]
- Y. H. Hu, S. Plreddy, and W. J. Tompkins, "A Patient-Adaptable ECG Beat Classifier Using a Mixture of Experts Approach", IEEE Transactions on Biomedical Engineering, 44(9), p891-900, Sep), (1997.
- Y. H. Hu, W. Tompkins, J. L. Urrusti, V. X. Afonso, "Applications of ANN for ECG signal detection and classification", J. Electrocardiol, 26, p66-73, Feb), (1993.
- O. T. Inan, L. G Gregory, and T.A. Kovacs, "Robust Neural-Network-Based Classification of Premature Ventricular Contractions Using wavelet Transform and Timing Interval Features", IEEE Transaction on biomedical engineering, 53(12), p2507-2515, Dec), (2006. [https://doi.org/10.1109/tbme.2006.880879]
- O. Sayadi, M. B. Shamsollahi, and G. D. Clifford, "Robust detection of premature ventricular contractions using a wave-based Bayesian framework", IEEE Transactions on Biomedical Engineering, 57(2), p353-362, Feb), (2010. [https://doi.org/10.1109/tbme.2009.2031243]
- M. Javadi, S. Arani, A. Sajedin, and R. Ebrahimpour, "Classification of ECG arrhythmia by a modular neural network based on Mixture of Experts and Negatively Correlated Learning", Biomedical Signal Processing and Control, 8(3), p289-296, May), (2013. [https://doi.org/10.1016/j.bspc.2012.10.005]
- L. Khadra, A. S. ALFahoum, and S. Binajjaj, "A Quatitative Analaysis Approach for Cardiac Arrhythmia Classification Using Higher Order Spectral Techniques", IEEE Transactions on biomedical engineering, 52(11), p1840-1845, Nov), (2005. [https://doi.org/10.1109/tbme.2005.856281]
- Y. C. Yeh, W. J. Wang, and C. W. Chiou, "Cardiac arrhythmia diagnosis method using linear discriminant analysis on ecg signals", Measurement, 42(5), p778-789, Jun), (2009. [https://doi.org/10.1016/j.measurement.2009.01.004]
- Korurek, M., and Nizam, A., "Clustering mitbih arrhythmias with ant colony optimization using time domain and pca compressed wavelet coefficients", Digital Signal Processing, 20(4), p1050-1060, Jul), (2010.
- K. A. Sidek, I Khalil, and H. F. Jelinek, "ECG Biometric with Abnormal Cardiac Conditions in Remote Monitoring System", IEEE Transactions on systems, man, and cybernetics: systems, 44(11), p1498-1509, Jul), (2014. [https://doi.org/10.1109/tsmc.2014.2336842]
- W. H. Jung, M. N. Han, and S. G. Lee, "ECG human identification using features based on combination of fiducial and non-fiducial technique", Journal of KIIT, 15(5), p115-121, May, 31), (2017. [https://doi.org/10.14801/jkiit.2017.15.5.115]
- M. J. Kim, and S. J. Lee, "Measures of Abnormal User Activities in Online Comments Based on Cosine Similarity", Journal of the Korea Institute of Information Security and Cryptology, 24(2), p335-343, Apr), (2014. [https://doi.org/10.13089/jkiisc.2014.24.2.335]
2009년 2월 : 가톨릭대학교 미디어공학과(공학사)
2011년 8월 : 가톨릭대학교 디지털미디어학과(공학석사)
2012년 ~ 현재 : 가톨릭대학교 디지털미디어학과(박사과정)
관심 분야 : HCI, Bio Sginal Processing, Machine learning
2009년 2월 : 가톨릭대학교 미디어공학과 학사.
2011년 2월 : 가톨릭대학교 미디어공학과 석사.
2013년 2월 : 가톨릭대학교 미디어공학과 박사수료.
관심분야: Pattern Recognition, Object recognition, Face recognition, AR, HCI
2009년 8월 : 가톨릭대학교 미디어공학과(공학사)
2011년 8월 : 가톨릭대학교 미디어공학과(공학석사)
2012년 ~ 현재 : 가톨릭대학교 미디어공학과 박사과정
관심분야 : Biomedical Signal Processing, Pattern Recognition, HCI
1988년 2월 : 인하대학교 전기공학과(공학사)
1990년 2월 : 인하대학교 전기공학과(공학석사)
1994년 10월 : 프랑스 국립 응용과학원(Institut National des Sciences Appliquees) 전자공학 박사
1995년 ~ 1999년 : 프랑스 국립루앙(ROUEN Univ.) 대학교 전기전자공학부 조교수
1990년 ~ 1999년 : 프랑스국립응용과학원 PSI(Pertception System & Information) 연구소 연구원
1999년 ~ 2001년 : 삼성전자 중앙연구소 Wearable Computing Project 팀장, 수석연구원
2001년 ~ 2006년 : 삼성종합기술원 Master(기술명인), Mobile Augmented Reality Project 팀장, Ubicomp Interactive Device그룹장
2006년 ~ 현재 : 가톨릭대학교 미디어기술콘텐츠학과 교수
관심분야 : Smart Sensor & System, HCI Ubiquitous/Wearable Computing, Augmented Reality