Our professor, Hans Johnson approached us with the idea to build a convolution neural network to segment MRI human head scans into right, left, and brain. The motivation for this project is that these segmentations could be adjusted for other more general parts of the brain, allowing researchers to examine various scans with proper labels.
What it does
The convolution neural network model we built is able to take in T1 and T2 MRI scans of human brains and segment the images into the left eye, right eye, and brain.
How we built it
First, we utilized the SimpleITK library in python to create masks of what we thought would be eyeballs on pre-labeled MRI images. These images marked where the center of the eye was, so by creating a spherical mask, we guessed the general region where the eyeball was positioned within the 3D image. We did this for both right and left eyes and labeled everything else as brain.
Next, we created a weighted image of brain, left eye, and right eye for a large number of pre-labeled MRI scans. We created a convolution neural network using tensorflow by taking in both these weighted images and unlabeled T1 MRI scans. The network trained on 861 cases (87.23%), ran validation on 72 cases (7.29%), and inference on 54 cases (5.47%).
Finally, we ran evaluation on the model to determine how accurate it was at labeling the parts of the scans we were interested in.
Challenges we ran into
The first problem for us was getting the set-up correct and uniform. Two of the three of us had little experience with Jupyter Notebooks and the SimpleITK library. We also had problems with the Git repository early on.
Later, when we began to start phase 2 -- building the convolution neural network -- we utilized the new 'supercomputers' at the University of Iowa's College of Engineering. We had several problems with getting our environment set up, as the brand new computers did not even have vim installed. We needed to learn vi first, before we could really get started. Then, we had issues installing tensorflow, as the workspace had conflicting versions of cuda.
Accomplishments that we're proud of/ What we learned
Chase is really proud that he was able to learn Vi, and various important Linux/Bash commands and underworkings. Alex is very happy with his understanding of the SimpleITK library, as he uses it in his research and it benefits his ability to do well. Olivia is happy that the hawks won their football game, and that she was able to learn SimpleITK. She also feels good having some basic exposure to neural networks.
What's next for HawkEye_Segmentations
More machine learning/deep learning! We really enjoyed this exposure to a growing popular field and hope to continue our endeavors into developing useful models.