Objective: The identification and positioning of the first (S1) and second (S2) heart sounds within a phonocardiogram (PCG) is a vital step in automatic heart sound analysis. The variation in the duration of S1 and S2, and their intensities are considered as conclusive signs of cardiac anomalies. While segmentation of heart sounds is relatively simple in noise-free recordings, it becomes a challenging task when the recordings are corrupted by in-band noise. In this paper we propose a method to segment each cardiac cycle using PCG recordings.
Methods: This paper is focused on PCG segmentation by extracting features from non-overlapping 125 ms frames and using a k-nearest neighbor classifier to classify each frame into S1 and S2 sounds. In total, 66 features are extracted including Shannon energy, wavelet energy, sub-band energy, polynomial fitting, linear predictor coefficients, Mel-scale features and the corresponding regression coefficients. A post-processing method is applied to reduce the number of misclassifications by performing peak recovery/rejection and labeling peaks based on the interval between peaks.
Results: This method is evaluated over the 2016 PhysioNet/CinC Challenge dataset, which is the largest dataset available. The evaluation set is composed of normal and abnormal heart sounds (2200 normal and 494 abnormal PCG recordings). The evaluation was performed using the leave-one-out cross-validation method, where one recording was used for testing and all the other recordings were used for training the classifier. The proposed method achieved an average F1 score of 93.45% on normal and 78.42% on abnormal heart sounds. In terms of detecting S1 or S2 peaks from the PCG recordings, a sensitivity of 94.23% and a specificity of 98.16% were achieved on normal, and 89.19% and 90.30% on abnormal heart sounds.