Skip to content

theidentity/Unets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semantic Segmentation for Medical Images

Implemenation of Unets for Lung Segmentation in Xrays in Keras

inp-out

Key Details

Item Details
Input 256 x 256 grayscale Xray Image
Output 256 x 256 segmentation map
Train Images 110
Manual train masks 110
Validation Images 28
Manual validation masks 28
  • Thanks to zhixuhao for the keras implementation of unets
  • Have improved upon that to run with image generators in keras dynamically and augment while training

Dependencies

  • Keras 2.1.5
  • Numpy 1.14.2
  • OpenCV 2.4.9.1
    • Just using it to write and resize images
    • You may replace with PIL if you prefer

Things to note

  • While running ensure that the xrays and images are in separate folders and have the same labels
  • Follow similar folder hierarchy in data/ to your work easier ;)

Running Unets

# Initialize the Unet
u1 = Unet()

# Round one of training
u1.train(lr=1e-4,num_epochs=20)

# Improve upon existing model
u1.continue_training(lr=1e-4,num_epochs=20)

# Visualize image and output side by side
u1.generate_output(save=True,mode='side_by_side',output_folder='data/outputs/side_by_side/')

# Crop images based on output mask and return the mask
u1.generate_output(save=True,mode='cropped',output_folder='data/outputs/cropped/')

# Get just the masks
u1.generate_output(save=True,mode='mask_only',output_folder='data/outputs/masks_only/')