MRI Scans Analysis to Detect Brain Tumors Using CNN Algorithms
Our Client
ScienceSoft has developed a solution for the healthcare industry aimed at improving automated brain cancer diagnostics by applying convolutional neural network (CNN) algorithms.
Challenge
The automated medical diagnostics application was to analyze uploaded brain MRI scans and mark the scanned area with the segmented tumor, including each tissue type defined – normal tissue, edema, non-enhancing core, necrotic core, and enhancing core.
Solution
The project stages included building a specific CNN structure; preparing training and testing datasets; training and testing the CNN, and evaluating accuracy.
ScienceSoft’s team of senior C++ engineers created a CNN structure with the following layers:
- 5 convolutional layers
- 1 ReLU activation layer
- 1 pooling layer
- 1 fully connected layer
The MRI analysis process included:
- Segmentation of 3 planes - XY, XZ, and YZ
- Application of 3 post-processing filters to remove noise and other artifacts
- Merging of 3 output files into one
- Application of the final post-processing filter to the merged file
To evaluate CNN performance, the team compared acquired results with the ground truth. The ground truth was taken from BRATS imaging datasets, which have been segmented and annotated manually by one to four raters as well as approved by neuro-radiologists. The maximum network accuracy achieved is 87%.
Comparison: ground truth (top) and the project result (bottom)
Results
ScienceSoft developed a CNN-based application to automatically analyze brain MRI scans, localize tumors, and define each tissue type. The application allows to assist health specialists in brain cancer diagnostics, surgery planning, and treatment progress tracking.
Technologies and Tools
C++, Caffe framework, CMake, VTK, ITK.