Currently, intracranial hemorrhages account for roughly 10% of strokes in the United States, and rapid treatment is essential for treatment. Unfortunately, diagnosing the presence and type of hemorrhage is a challenging and often time consuming task that requires the expertise of highly trained specialists.
IHIT will aid clinicians in producing faster and more accurate diagnoses to improve patient care. To use the tool, the clinician simply uploads a CT scan image, and IHIT will provide both the likelihood that the patient has an intracranial hemorrhage as well as a classification of the hemorrhage across five possible subtypes: intraparenchymal, intraventricular, subarachnoid, subdural, and epidural.
What it does
Intracranial Hemorrhage Imaging Tool (IHIT) is a deep-learning based tool for clinicians to rapidly assess CT scans for the presence and type of intracranial hemorrhage.
How we built it
The training data was gathered from de-identified CT studies from Stanford University, Thomas Jefferson University, Unity Health Toronto, and Universidade Federal de São Paulo. Labels are provided by the American Society of Neuroradiology.
We applied Google’s recently published EfficientNet-B0 convolutional neural network. This landmark network has shown accuracy improvement on benchmark computer vision datasets, while dramatically reducing training costs. Since CT scans are a visual modality, we predicted that this network architecture would perform very well on this intracranial hemorrhage dataset.
To train, we applied Google Cloud Platform’s Compute Engine. Specifically, we spun up a n1-highmem-16 instance with 8xNIVIDIA Tesla K80’s. After performing the requisite data cleaning steps, we ran 10 passes of 50,000 training images through our neural network.
We found Google Cloud to be particularly helpful in providing us an appropriate instance for our machine learning challenge. The instance we used was both reasonably priced and contained significant horsepower alongside useful pre-installed machine learning libraries (e.g. PyTorch and fastai). We made ample use of our Google Cloud credits for training, and our model greatly benefitted from the increased computational resources.
Challenges we ran into
Large datasets often make for larger feedback loops, and debugging slows down tremendously. Much of our time was spent waiting for our models to train and working through bugs that appeared as we attempted to work with high-level libraries.
Accomplishments that we're proud of
A model with >90% accuracy at identifying intracranial hemorrhages and a beautiful and easy-to-use web interface that allows a user to upload their own CT scans to receive the model's input.
What we learned
Increasing model depth does not always improve model performance, large amounts of training data is fundamental for challenging image classification problems, and Google Cloud Platform credits are super useful ;)
What's next for IHIT: Intracranial Hemorrhage Imaging Tool
Next steps include training our model on the entire 700K image dataset, building a feedback feature where radiologists can flag images they believe were misclassified, and greater security around protecting sensitive patient medical data.