Coder Social home page Coder Social logo

fbehrad / evo_conv Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 131 KB

Code of the paper "Evolutionary convolutional neural network for efficient brain tumor segmentation and overall survival prediction

Python 100.00%
brain-tumor-segmentation convolutional-neural-networks deep-learning evolutionary-algorithms genetic-algorithm neural-network optimization pruning pruning-optimization survival-prediction

evo_conv's Introduction

Evolutionary convolutional neural network for efficient brain tumor segmentation and overall survival prediction

  • Read the paper here.

Clone the repo: git clone https://github.com/FBehrad/Evo_conv.git

Segmentation

  1. Intall requirements.
pip install -r requirements.txt 
  1. Put BraTS 2018 training and validation dataset in the main directory (next to config.yaml).
  2. Run preprocessing.py.
  3. Run augmentation.py.
  4. Download model's weights from this link and put it in the main directory.
  5. Extract best_model.zip into best_model folder.
  6. Change config.yaml to modify hyperparameters.
  7. Run segmentation.py. (Training model)
  8. Run prediction.py (Create validation masks)
  9. Upload the submission folder, created in step 9, into this link and get the segmentation results.
  10. Put Stats_Validation_final.csv in the main directory.
  11. Run post_process.py and upload the new segmentation masks into the above link to get the new results. (Optional)

Pruning

We used keras-surgeaon to prune our network. However, Keras-surgeon does not support group normalization, so we have changed its code slightly. The new version is available in the pruning directory.

  1. Run pruning.py.
  2. Run prediction.py.

OS

TO DO

Citation

If you found this code helpful, please consider citing:

@article{BEHRAD2022118996,
title = {Evolutionary convolutional neural network for efficient brain tumor segmentation and overall survival prediction},
journal = {Expert Systems with Applications},
pages = {118996},
year = {2022},
issn = {0957-4174},
doi = {https://doi.org/10.1016/j.eswa.2022.118996},
url = {https://www.sciencedirect.com/science/article/pii/S0957417422020140},
author = {Fatemeh Behrad and Mohammad {Saniee Abadeh}},
keywords = {Deep learning, Genetic algorithm, Network compression},
abstract = {The most common and aggressive malignant brain tumor in adults is glioma, which leads to short life expectancy. A reliable and efficient automatic segmentation method is beneficial for clinical practice. Deep neural networks have achieved great success in brain tumor segmentation recently. However, their computational complexity and storage costs hinder their deployment in real-time applications or on resource-constrained devices in clinics. Network pruning, which has attracted many researchers recently, alleviates this limitation by removing trivial parameters of the network. Network pruning is challenging in the medical field because pruning should not degrade the performance of models. As a result, it is vital to choose unimportant parts of networks correctly. In this paper, we employ the genetic algorithm to identify redundant filters of our U-Net-based network. We consider filter pruning a multiobjective optimization problem in which performance and inference time are optimized simultaneously. Then, we use our compressed network for brain tumor segmentation. Predicted segmentation masks are often used to predict patients' survival time. Although several studies have recently achieved good results, they require different feature engineering techniques to extract suitable features, which is difficult and time-consuming. To tackle this problem, we easily extract deep features from the endpoint of the encoder of our compact network and use them for survival prediction. Regarding the popularity of U-Net-based models for brain tumor segmentation, many researchers can employ our technique to predict the survival time without spending lots of time on feature engineering. The experimental results on the BraTS 2018 dataset demonstrate that filter pruning is a reliable technique to reduce the storage cost and accelerate the network during inference while maintaining performance. Furthermore, our survival time prediction technique achieves high efficiency compared to state-of-the-art methods. Preprocessed data, the full implementation of the project, and the trained networks are available at https://github.com/Fbehrad/Evo_conv.}
}

evo_conv's People

Contributors

fbehrad avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

kontactguddu

evo_conv's Issues

dataset path

The code doesn't accept the datasets path. I have mailed you the output kindly have a look. Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.