Skip to main content

A CNN to segment X-Ray images

Project description

XNet

XNet is a Convolutional Neural Network designed for the segmentation of X-Ray images into bone, soft tissue and open beam regions. Specifically, it performs well on small datasets with the aim to minimise the number of false positives in the soft tissue class.

Architecture

  • Built on a typical encoder-decoder architecture as inspired by SegNet.

  • Additional feature extraction stage, with weight sharing across some layers.

  • Fine and coarse grained feature preservation through concatenation of layers.

  • L2 regularisation at each of the convolutional layers, to decrease overfitting.

The architecture is described in the XNet.py file.

Output

XNet outputs a mask of equal size to the input images.

Training

XNet is trained on a small dataset which has undergone augmention. Examples of this augmentation step can be found in the augmentations.ipynb notebook in the Augmentations folder. Similarly the Training folder contains python scripts that perform the necessary augementations.

Running train.py from the Training folder calls various other scripts to perform one of two possible ways of augmenting the images:

  • 'On the fly augmentation' where a new set of augmentations is generated at each epoch.

  • Pre-augmented images.

Benchmarking

XNet was benchmarked against two of the leading segmentation networks:

  • Simplified SegNet (found in the SimpleSegNet.py file)

  • UNet (found in the UNet.py file)

Data

We trained on a dataset of:

  • 150 X-Ray images.

  • No scatter correction.

  • 1500x1500 .tif image downsampled to 200x200

  • 20 human body part classes.

  • Highly imbalanced.

As this work grew out of work with a corporation we are sadly unable to share the propriatory data we used.

More information

For more information and context see the conference poster Poster.pdf.

Please note that some of the path variables may need to be corrected in order to utilise the current filing system. These are planned to be updated in the future.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

durham-XNet-0.0.1.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

durham_XNet-0.0.1-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file durham-XNet-0.0.1.tar.gz.

File metadata

  • Download URL: durham-XNet-0.0.1.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.7

File hashes

Hashes for durham-XNet-0.0.1.tar.gz
Algorithm Hash digest
SHA256 fd33ebd275611611a4b2ba2985914450b5477ffaf185134aafd52c4286fc93d9
MD5 3631061931718af71f67982347e8a73d
BLAKE2b-256 80ce2e7e94554fdf9c65c8de76282cbed802e6d2859fefeca70496e8bbe7be10

See more details on using hashes here.

File details

Details for the file durham_XNet-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: durham_XNet-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.7

File hashes

Hashes for durham_XNet-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 06bf9464e0f6232ecc9d529ed5995b00854d7d0cbb01a134fe84fc293105f30d
MD5 0dce031c4f2bbbe4c254ee88bee7164a
BLAKE2b-256 8cdfbe519187c6c3a0509d49b9e803fe956e6f7faca7e363073d787d977e705c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page