Lung Segmentation Model
Purpose
This model is designed to perform segmentation of CT scans of human torsos. It is trained to identify 5 key structures: left lung, right lung, heart, spinalcord and esophagus.
Download
The lung segmentation model can be downloaded from this release.
Connected Components
It is possible to apply connected components as a post-processing step, and by default this is performed on the 3 largest structures: both lungs and the heart. To alter this behaviour, update the property largest_connected_component_foreground_classes of the Lung class in InnerEye/ML/configs/segmentation/Lung.py.
Model Card
Model Details
Organisation: Biomedical Imaging Team at Microsoft Research, Cambridge UK.
Model date: 31st October 2022.
Model version: 1.0.
Model type: ensemble of 3D UNet. Training details are as described in this paper.
Training details: 5 fold ensemble model. Trained on the LCTSC 2017 dataset (described in detail below).
License: The model is released under MIT license as described here.
Contact: innereyeinfo@microsoft.com.
Terms of use
Please note that all models provided by InnerEye-DeepLearning are intended for research purposes only. You are responsible for the performance, the necessary testing, and if needed any regulatory clearance for any of the models produced by this toolbox.
Limitations
The dataset used for training contains only 60 scans, 10 of which are withheld for testing. This limited amount of training data means that the model underperforms on the smaller structures (esophagus and spinalcord) and may not yet generalise well to data samples from outside the dataset.
Furthermore, the dataset description does not contain details on the population of patients used for creating the dataset. Therefore it is not possible to assess whether this model is suitable for use on a target population outside of the dataset.
Intended Uses
This model is intended for research purposes only. It is intended to be used as a starting-point for more challenging segmentation tasks or training using more thorough and comprehensive segmentation tasks.
Training Data
This model is trained on the LCTSC 2017 dataset. For a detailed description on this data, including the contouring guidelines, see this page.
The following steps were carrried out to create the dataset used for training this model:
Download the DICOM dataset from the above LCTSC 2017 link.
Use the InnerEye-CreateDataset tool to run the following command on the data:
.\InnerEye.CreateDataset.Runner.exe dataset --datasetRootDirectory=<path_to_DICOM_data> --niftiDatasetDirectory=lung_nifti --dicomDatasetDirectory=LCTSC --geoNorm 1 1 3 --groundTruthDescendingPriority esophagus spinalcord lung_r lung_l heart
Upload and register NIFTI dataset to Azure by following the dataset creation guide.
Metrics
Metrics for the withheld test data (first 10 scans in the dataset), can be seen in the following table:
Structure |
count |
DiceNumeric_mean |
DiceNumeric_std |
DiceNumeric_min |
DiceNumeric_max |
HausdorffDistance_mm_mean |
HausdorffDistance_mm_std |
HausdorffDistance_mm_min |
HausdorffDistance_mm_max |
MeanDistance_mm_mean |
MeanDistance_mm_std |
MeanDistance_mm_min |
MeanDistance_mm_max |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lung_l |
10 |
0.984 |
0.009 |
0.958 |
0.990 |
11.642 |
4.868 |
6.558 |
19.221 |
0.344 |
0.266 |
0.167 |
1.027 |
lung_r |
10 |
0.983 |
0.009 |
0.960 |
0.991 |
10.764 |
3.307 |
6.325 |
16.156 |
0.345 |
0.200 |
0.160 |
0.797 |
spinalcord |
10 |
0.860 |
0.050 |
0.756 |
0.912 |
27.213 |
22.015 |
12.000 |
81.398 |
1.750 |
2.167 |
0.552 |
7.209 |
heart |
10 |
0.935 |
0.015 |
0.908 |
0.953 |
17.550 |
14.796 |
9.000 |
17.550 |
2.022 |
0.661 |
1.456 |
3.299 |
esophagus |
10 |
0.728 |
0.128 |
0.509 |
0.891 |
23.503 |
25.679 |
6.173 |
72.008 |
3.207 |
4.333 |
0.409 |
13.991 |