This project uses a U-Net model to perform brain tumor segmentation on MRI images. The app is built using Streamlit, allowing users to upload MRI images, process them through the model, and visualize the segmented tumor.
LINK - Deployment
- Upload MRI images in
.tif
format. - Uses a U-Net model to predict and segment brain tumors.
- Displays the original and predicted images side by side for comparison.
The U-Net model used in this project consists of an encoder-decoder architecture with skip connections to capture both the spatial and contextual information in the MRI images. It includes:
- Encoder: Convolutional layers with ReLU activation, followed by max-pooling layers.
- Decoder: Up-sampling layers followed by convolutional layers and concatenation with corresponding encoder layers.
- Dropout layers for regularization.
brain-tumor-detection/
│
├── brain_tumor_segmentation_app.py # Main Streamlit app script
├── unet_model.py # U-Net model definition
├── requirements.txt # Required dependencie
├── README.md # Project documentation
└── unet_weights.h5 # U-Net model weights
Contributions are welcome! Please fork the repository and submit a pull request for any changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- The U-Net architecture is inspired by the paper "U-Net: Convolutional Networks for Biomedical Image Segmentation" by Olaf Ronneberger, Philipp Fischer, and Thomas Brox.
- Streamlit for providing an easy way to create web apps for machine learning models.