Using ResUnet to segment liver tumors from CT scan images. Refer to this report for details regarding methodology, loss metrics, results and future work.
We have used Google Colab pro for this project. The training code can also work on normal Colab using T4 GPU and memory space of less than 30 GB.
First, extract the file content onto one folder "imageprocessing" in google drive "MyDrive". Now, this folder should have multiple folders and Colab files
Download dataset Liver segmentation 3D-IRCADb-01. This is a zip file of size 806 MB.
Create a new folder called "Dataset" in "imageprocessing" and place this zip file there.
Next, open dataset_generation.ipynb in Google Colab. Follow the instructions in it. On running this, "train" folder will be created in “imageprocessing”. Total time taken for data extraction will be around 2 hours.
Now open liver_segmentation.ipynb file and run it for training ResUnet with pre-processed CT scan images and their corresponding liver masks. It will generate the models folder. There are already three pre-trained models trained on 25%, 50% and 100% data in the models folder. We get following epochs.
Run Liver_segmentation_results.ipynb to view the outputs. Run models in models folder or using your trained version. We see the results and evaluation metric information there.
Then run Tumor_segmentation.ipynb file for training ResUnet for with the tumor segmentation masks and segmented liver images. This gives following results:
Run Tumor_segmentation_result.ipynb to view final output. You can choose any segmentation model from the 'models' folder and try running the visualization codes.
Run on 25% of the data for faster training. You may run Tumor_segmentation.ipynb on 100 epochs for more accurate results.