IEEE Access (Jan 2024)
Convolutional Neural Network for the Detection of Respiratory Crackles
Abstract
Automated analysis of lung sounds is a non-invasive technique that has the potential to become a powerful tool for the detection of respiratory illnesses. In this paper, we propose a machine learning method tasked to predict the number of respiratory crackles in a recording. More specifically, a Convolutional Neural Network (CNN) regression algorithm with a spectrogram input. Firstly, a large set of simulated data is used to train four different CNN designs. We use a lung sound simulator because of the absence of a large public database with sufficiently labelled lung recordings. When comparing the performance of these designs on simulated sounds, we concluded that maximum-pooling performed better than stride in the convolution layers. Furthermore, multiple consecutive convolution layers with small kernels outperformed single convolution layers using large kernels with the same receptive field. The best performing CNN achieved a root mean square error of 6.26 crackles per recording with an average of 50 crackles per recording. Secondly, we validate the best CNN design on a set of 51 real respiratory recordings that are labelled with a perceived degree of crackles: no crackles, mild, moderate, and severe. The system is capable of detecting an increasing amount of crackles in the respective last three categories. These results show the effectiveness of this novel approach to use simulated data for the development of lung sound analysis algorithms.
Keywords