Skip to content

ejdam87/liver-segmentation

Repository files navigation

Liver segmentation

This repository contains a pipeline for segmenting liver from grayscale CT scans.

Dependencies

  • PyTorch library for neural network building blocks
  • NumPy library for numerical computation
  • Pandas library for data manipulation
  • Scikit-learn library for train-test split
  • TQDM library for progress visualization
  • Pillow library for image processing

We use CUDA toolkit for GPU acceleration, thus, make sure to install the version of PyTorch supporting it.

Finally, the dependencies could be installed using pip package manager with the following: pip install -r requirements.txt in the root directory of the project.

Execution

  • To run model training with train configuration in configs directory, execute python main.py train
  • To run model testing with test configuration in configs directory, execute python main.py test
  • To run model prediction with prediction configuration in configs directory, execute python main.py pred

Models

As our main segmentation model, we use U-Net architecture.

As our baseline model, we use a CNN architecture, with a succession of 3x3 convolutional layers (associated with ReLU) and pooling layers. The last layers do upsample, convolution 1x1 and activation function.

Data

The data can be accessed via this URL. They are axial human CT scans. The dataset contains both inputs and also corresponding anotated expected outputs (labels).

Results

Results are presented in report.pdf in great detail.

About

Pipeline for liver image segmentation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •