Top Banner
U-Net: Convolutional Networks for Biomedical Image Segmentation Ing. Milan NΔ›mΓ½ PhD candidate FEL ČVUT, 7. 12. 2018
24

U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Apr 11, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

U-Net: Convolutional

Networks for Biomedical

Image SegmentationIng. Milan NΔ›mΓ½

PhD candidate

FEL ČVUT, 7. 12. 2018

Page 2: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Outline

1. Artificial neural networks

2. Convolutional neural networks (classification)

3. Convolutional neural networks (segmentation)

1. Sliding-window setup

2. U-Net

Page 3: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Artificial neural networks

Perceptron model

𝑦 π‘₯ = 𝑠𝑖𝑔𝑛 𝑀. π‘₯ + 𝑏

Artificial Neural Network

β€’ Hidden layers

β€’ Non-linear activation

function (tanh, sigmoid)

β€’ Cost function

β€’ Back-propagation algorithm

Page 4: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Artificial neural networks

Artificial Neural Network

β€’ Hidden layers

β€’ Non-linear activation

function (tanh, sigmoid)

β€’ Cost function

β€’ Back-propagation algorithm

Multi-class classification

Activation function – softmax

𝑝𝑗 =exp(π‘₯𝑗)

Οƒπ‘˜ exp(π‘₯π‘˜)

Cost function – cross entropy

𝐢 = βˆ’

𝑗

𝑑𝑗log(𝑝𝑗)

𝑑𝑗 - target probability for output unit j

𝑝𝑗 - probability output for j

Page 5: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks (CNN)

(Krizhevsky et al., 2012)

Winner of ImageNet Large Scale Visual

Recognition Challenge (ILSVRC) 2012

1.2 M high-resolution training images

50k validation images

150k testing images

1000 classes

Page 6: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks (CNN)

(Krizhevsky et al., 2012) - AlexNet

Winner of ImageNet Large Scale Visual

Recognition Challenge (ILSVRC) 2012

1.2 M high-resolution training images

50k validation images

150k testing images

1000 classes

Page 7: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks (CNN)

(Krizhevsky et al., 2012)

Convolution

= application of a filter

Page 8: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks (CNN)

(Krizhevsky et al., 2012)

β€’ Rectified Linear Units (ReLUs)

β€’ Non-saturating nonlinearity

β€’ 𝑓 π‘₯ = max(0, π‘₯)

β€’ Traininig on multiple GPUs

β€’ 5 conv layers

β€’ 3 fully-connected

β€’ output – 1000-way softmax

Page 9: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks (CNN)

(Krizhevsky et al., 2012)

60 M parameters

But overfitting

Data augmentation

Dropout – Learning Less to Learn Better

Page 10: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks (CNN)

(Krizhevsky et al., 2012)

60 M parameters

But overfitting

Data augmentation

Dropout – Learning Less to Learn Better

Page 11: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances
Page 12: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks (CNN) –

AlexNet performance

Canziani, A., Paszke, A., & Culurciello, E. (2016). An analysis of deep neural network

models for practical applications. arXiv preprint arXiv:1605.07678.

Page 13: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks -

Segmentation

(Ciresan et al., 2012)

Neuronal structures

Electron microscopy (EM) images

Segment neuron membranes

CNN as pixel classifier

ISBI 2012 EM Segmentation Challenge

Page 14: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks -

Segmentation

β€’ 1-4 stages of conv and max-pooling layes

β€’ Several fully connected layers

β€’ Softmax activation function

Page 15: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks -

Segmentation

30 images at 512x512

~50k membrane pixels per image

~50k non-memberane pixels per images

=> 3 M training examples

+ data augmentation (mirroring and rotating)

Foveation

Nonuniform sampling

Page 16: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

β€’ Core i7 3.06 GHz, 24 GB RAM and

four GTX 580 graphic cards

β€’ GPU acceleration by a factor of 50

β€’ One epoch

β€’ N1 – 170 min

β€’ N4 – 340 min

β€’ 30 epochs => several days

Page 17: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Convolutional Neural Networks –

Segmentation (Sliding-window setup)

Drawbacks

1. Separate runs for each patch +

overlapping patches => slow

2. Localization accuracy vs. the use

of context

Page 18: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

U-net architecture

Page 19: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

U-net architecture

Data augmentation

Separation of touching objects

Page 20: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

U-net architecture

Data augmentation

Separation of touching objects 𝑀 π‘₯ = 𝑀𝑐 π‘₯ + 𝑀0 βˆ™ exp(βˆ’(𝑑1(π‘₯) + 𝑑2(π‘₯))

2

2𝜎2)

Balances class

frequencies

Distance to

the border of

the nearest

cell

Distance to

the border of

the second

nearest cell

Page 21: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

U-net architecture

Data augmentation

Separation of touching objects 𝑀 π‘₯ = 𝑀𝑐 π‘₯ + 𝑀0 βˆ™ exp(βˆ’(𝑑1(π‘₯) + 𝑑2(π‘₯))

2

2𝜎2)

Balances class

frequencies

Distance to

the border of

the nearest

cell

Distance to

the border of

the second

nearest cell

𝐸 =

π‘₯∈Ω

𝑀 π‘₯ log(𝑝𝑙 π‘₯ (π‘₯))Cross entropy loss

function

π‘π‘˜ π‘₯ = exp π‘Žπ‘˜ π‘₯ / π‘˜β€²=1

𝐾

exp(π‘Žπ‘˜β€²(π‘₯))Soft-max activation

function

Page 22: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

U-net

β€’ Training time: 10 h

Sliding-window

technique

Page 23: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

Demonstration - Finding and Measuring Lungs

in CT Data

?

Notebook:

https://www.kaggle.com/tore

gil/a-lung-u-net-in-

keras/notebook

Page 24: U-Net: Convolutional Networks for Biomedical Image ...Β Β· U-net architecture Data augmentation Separation of touching objects = 𝑐 + 0βˆ™exp(βˆ’ (𝑑1( )+𝑑2( ))2 2𝜎2) Balances

References

[1] Ronneberger, O., Fischer, P., & Brox, T. (2015, October). U-net:

Convolutional networks for biomedical image segmentation. In International

Conference on Medical image computing and computer-assisted intervention

(pp. 234-241). Springer, Cham.

[2] Ciresan, D., Giusti, A., Gambardella, L. M., & Schmidhuber, J. (2012).

Deep neural networks segment neuronal membranes in electron microscopy

images. In Advances in neural information processing systems (pp. 2843-

2851).

[3] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet

classification with deep convolutional neural networks. In Advances in neural

information processing systems (pp. 1097-1105).