Skip to content

Intracerebral Hemorrhage Detection on Computed Tomography Images Using a Residual Neural Network

License

Notifications You must be signed in to change notification settings

miguelaltuve/ICHdetection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ICHdetection

Code of the paper Altuve, M., & Perez, A. (2022). Intracerebral Hemorrhage Detection on Computed Tomography Images Using a Residual Neural Network. Physica Medica, 99, 113-119.

Citation of the code: Altuve, M. (2022) Intracerebral Hemorrhage Detection on Computed Tomography Images Using a Residual Neural Network [Source Code].

Abstract

Intracerebral hemorrhage (ICH) is a high mortality rate, critical medical injury, produced by the rupture of a blood vessel of the vascular system inside the skull. ICH can lead to paralysis and even death. Therefore, it is considered a clinically dangerous disease and needs to be treated quickly. Thanks to the advancement in machine learning and the computing power of today's microprocessors, deep learning has become an unbelievably valuable tool for detecting diseases, in particular from medical images. In this work, we are interested in differentiating computer tomography (CT) images of healthy brains and ICH using the ResNet-18, a deep residual convolutional neural network. In addition, the gradient-weighted class activation mapping (Grad-CAM) technique was employed to visually explore and understand the network’s decisions. A 10-iteration Monte Carlo cross-validation was used, by splitting the data set into 80% for training and 20% for testing, to assure the generalizability of the detector. In a database of 100 CT images of brains with ICH and another 100 without ICH, the detector yielded, on average, an accuracy of 96%, a specificity of 97.11%, a sensitivity of 95% and a precision of 97%, with an average computing time of 208.15 s to train it (on 160 images) and 2.11 s to test 40 images, all that by visually inspecting the decisions made by the network during the classification task. Although these results are comparable with the state of the art, our detector is simplest and with a lower computational load than those found in the literature. Our detector could assist physicians in their medical decision, in resource optimization and in reducing the time and error in ICH diagnosis.

Head CT database

In this work, CT images from Kaggle's Head CT-Hemorrhage database were considered, which contains 100 images of normal brains (without pathology) and 100 images of brains with hemorrhage.

TC_HIC (1)

CT image of a brain with ICH.

ResNet-18 based ICH detector

The proposed ICH detector is based on a ResNet-18 network, a residual convolutional neural network with eighteen layers deep, which, thanks to a transfer learning strategy~\cite{torrey2010transfer}, identifies the presence of hemorrhages in non-contrast CT images of the brain.

ResNet

ResNet-18 Network Architecture Block Diagram.

ResNet-18 has four residual blocks. The residual block, shown in figure~\ref{fig:residualblock}, is what makes ResNet particularly attractive and efficient. In the residual block, its input is added to the output before the final ReLU activation function.

residualblock

Block diagram of the residual block of a ResNet.

Gradient-Weighted Class Activation Mapping

Grad-Cam, a generalization of the class activation mapping technique, is a visualization technique used to understand the classification decisions taken by a deep learning network.

Screenshot 2022-04-19 162143

Examples of ICH CT images with visual explanations of the network using Grad-CAM technique.

Classification performance over 100 iterations

True class Predicted class
ICH Normal
Normal 1913 87
Normal 76 1924

errorbar

MATLAB APP

We have developed an app in MATLAB that can be used to detect ICH on CT images using the trained ResNet-18 network, and where the Grad-Cam is plotted to visualize the network's decisions. The app (ICHdetection.mlappinstall) can be installed and accessed from the apps gallery in MATLAB.

Screenshot 2022-04-19 163646