Brief Review — Phonocardiogram Signals Processing Approach for PASCAL Classifying Heart Sounds Challenge
Heart Sound Segmentation and Classification on PASCAL Dataset
Phonocardiogram Signals Processing Approach for PASCAL Classifying Heart Sounds Challenge
Chakir JSVIP’18, by Mohammed V University in Rabat
2018 Springer J. SVIP, Over 30 Citations (Sik-Ho Tsang @ Medium)Heart Sound Classification
2013 [PASCAL] 2018 [RNN Variants] 2023 [2LSTM+3FC, 3CONV+2FC] [NRC-Net]
==== My Other Paper Readings Are Also Over Here ====
- The segmentation of phonocardiogram signals into the first heart sound S1 and the second heart sound S2 consists in heart sounds preprocessing, heart sounds peaks detection, extra peaks rejection and S1 and S2 peaks identification.
- Regarding heart sounds classification into few classes, relevant descriptors have been extracted from phonocardiogram signals, some of which have relied on segmentation results, and used as parameters for an appropriate classifier.
Outline
- Heart Sound Segmentation
- Heart Sound Classification
- Results
1. Heart Sound Segmentation
1.1. Preprocessing
- For preprocessing step, the Dataset A signals are downsampled by 20.
- After that, the signals of Dataset A and B are filtered using 6th-order Butterworth bandpass filter with cutoff frequency from 25 to 900 Hz.
- Finally, we normalize signals to the absolute maximum.
1.2. Peak Detection
- Peak detection is then done using the normalized average Shannon energy and by detecting PCG peaks via the predefined function findpeaks(). An overall flowchart is shown above.
1.3. Extra Peaks Rejection and S1 and S2 Peaks Identification
- The steps of extra peaks rejection and S1 and S2 peaks identification aren’t all the same for Dataset A and Dataset B seeing that Dataset A signals are noisier than Dataset B signals.
- For Dataset A, the first peak is considered as S1 peak if the time interval between the two first peaks is strictly lower than the time interval between the second and the third peak otherwise the first peak is a S2 peak.
- For Dataset B, the first peak is classified as S1 peak if the distance between the two first peaks is lower or is equal to the distance between the second and third peak. If not, the first peak is a S2 peak.
2. Heart Sound Classification
- The training and test sets are downloaded from the challenge website [13].
- The training set contains 124 signals for Dataset A and 312 recordings for Dataset B (without counting subdirectory of noisy Normal and Murmur signals).
- The test set of Dataset A includes 52 recordings, and that of Dataset B includes 195 heart sounds.
- The selected descriptors (features) for Dataset A are (Mn, Mx, Zp, L and Pw) and for Dataset B are (F1, F2, T1, T2, Pw, Es1, Es2 and R).
- (Please read the above table and equations for more details.)
The final choice fell on the KNN classifier for Dataset A and the discriminant analysis classification for Dataset B.
3. Results
3.1. Segmentation
- An example of heart sound segmentation results for Dataset A (Fig. 4) and Dataset B (Fig. 5), are shown above respectively.
The S1 peaks are labeled with red stars, while the S2 peaks are labeled with blue stars.
This work leads to the lowest total error compared to the segmentation works presented by the three finalists of the PASCAL Classifying Heart Sounds Challenge (ISEP/IPP Portugal, CS UCL and SLAC Stanford).
- The total error found for Dataset A is greater than that for Dataset B. This amounts to the fact that the data of each dataset is gathered from a different source and the source of Dataset A is less reliable.
3.2. Classification
The confusion matrices for PASCAL Dataset A and Dataset B are shown above.
Overall, the highest metrics values belong to the proposed methodology (6/9 for PASCAL Dataset A and 4/8 for PASCAL Dataset B).