Cervical Spine Fracture Detection

This solution uses advanced image processing techniques and machine learning models to detect cervical spine fractures from CT scans. By analyzing the structure and density of the bones, our system accurately identifies fracture sites, helping doctors make timely diagnoses and prevent complications.

Business Challenge

One of the most common spinal fractures for humans is a cervical spine fracture. An increase in the incidence of this type of injury is typical for elderly. The detection of such fractures is further complicated as it is more difficult for older people to identify fracture sites in the cervical spine due to the overlap of degenerative diseases and osteoporosis.

The most popular methodology for visually diagnosing spinal fractures in adults is computed tomography (CT). While previously techniques using X-ray radiation (X-rays) were used, now one of the significant reasons for using CT instead of X-rays in spinal trauma is the speed with which the fracture site can be identified, minimizing or even preventing post-traumatic neurological complications or paralysis.

Solution Overview

To solve thе problem of the cervical spine fracture detection we used a provided ground truth dataset, which consists of patient images obtained from 6 continents and includes over 3 000 results. Radiology specialists from the American Society of Neuroradiology (ASNR) and the American Society of Spine Radiology (ASSR) participated in organizing the data. As a result, annotated images and descriptions were obtained.

As a starting point, we had to process a database of 2 000 patients with about 200 CT scans per person. Due to the initial expert support provided by spine radiology specialists to indicate the presence, vertebral level and location of any cervical spine fractures, our team identified 1 000 people with fractures. Despite the large number of available CT scans for every patient with fractures, only a few of the images showed any fractures, and even those tended to be barely visible.

To avoid overfitting, we split the cervical spine vertebrae set into separate ones and worked with them individually, as well as with the full set. To achieve this, our team applied 2D semantic segmentation using vertebra masks which were provided only for 87 patients. Despite this, we achieved an IoU metric of ~0.98 after a few days of training on the Tesla T4, that represents a high accuracy of the developed model, matching the ground truth dataset.

The challenge of cervical spine fracture detection was presented in an open competition on Kaggle.

Technical Details

In terms of technological details, our solution involves several steps to improve image quality and diagnostic accuracy. We apply windowing as a preprocessing step, using advanced techniques such as adaptive windowing to provide more information about the structure and density of the bones being imaged.

  • The first stage of the pipeline involves 2D semantic segmentation of the vertebrae (applied for 87 cases). EfficientNet v2s + UNet, are used for this purpose. The output of this stage is a set of individual vertebrae samples masks.
  • The second stage of the pipeline involves 2.5D for the slice (with [slice-1, slice, slice+1] as 3 channels) classification using two different types of models. Type 1 model processes each vertebrae sample separately using a 2D CNN and an LSTM, while Type 2 model processes a patient's all 7 vertebrae at once using the same architecture.
  • The models are trained on 14000 cropped vertebrae samples with 20 slices (each slice is 2.5D) extracted by z-dimension.
  • The final solution is trained using 5-fold cross-validation to ensure robustness and reliability.

By utilizing these advanced techniques and models, we have achieved high accuracy and efficiency in detecting cervical spine fractures from CT scans.

Technology Stack

Python

Python

PyTorch

PyTorch

Efficientnet

Efficientnet

FPN

FPN

Yolov5

Yolov5

3D CNN

3D CNN

2.5D CNN

2.5D CNN