U-Net

From HandWiki
Short description: Type of convolutional neural network

U-Net is a convolutional neural network that was developed for biomedical image segmentation at the Computer Science Department of the University of Freiburg.[1] The network is based on the fully convolutional network[2] and its architecture was modified and extended to work with fewer training images and to yield more precise segmentations. Segmentation of a 512 × 512 image takes less than a second on a modern GPU.

Description

The U-Net architecture stems from the so-called “fully convolutional network” first proposed by Long, Shelhamer, and Darrell.[2]

The main idea is to supplement a usual contracting network by successive layers, where pooling operations are replaced by upsampling operators. Hence these layers increase the resolution of the output. A successive convolutional layer can then learn to assemble a precise output based on this information.[1]

One important modification in U-Net is that there are a large number of feature channels in the upsampling part, which allow the network to propagate context information to higher resolution layers. As a consequence, the expansive path is more or less symmetric to the contracting part, and yields a u-shaped architecture. The network only uses the valid part of each convolution without any fully connected layers.[2] To predict the pixels in the border region of the image, the missing context is extrapolated by mirroring the input image. This tiling strategy is important to apply the network to large images, since otherwise the resolution would be limited by the GPU memory.

History

U-Net was created by Olaf Ronneberger, Philipp Fischer, Thomas Brox in 2015 and reported in the paper “U-Net: Convolutional Networks for Biomedical Image Segmentation”.[1] It's an improvement and development of FCN: Evan Shelhamer, Jonathan Long, Trevor Darrell (2014). "Fully convolutional networks for semantic segmentation".[2]

Network architecture

The network consists of a contracting path and an expansive path, which gives it the u-shaped architecture. The contracting path is a typical convolutional network that consists of repeated application of convolutions, each followed by a rectified linear unit (ReLU) and a max pooling operation. During the contraction, the spatial information is reduced while feature information is increased. The expansive pathway combines the feature and spatial information through a sequence of up-convolutions and concatenations with high-resolution features from the contracting path.[3]

This is an example architecture of U-Net for producing k 256-by-256 image masks for a 256-by-256 RGB image.

Applications

There are many applications of U-Net in biomedical image segmentation, such as brain image segmentation (''BRATS''[4]) and liver image segmentation ("siliver07"[5]) as well as protein binding site prediction.[6] Variations of the U-Net have also been applied for medical image reconstruction.[7] Here are some variants and applications of U-Net as follows:

  1. Pixel-wise regression using U-Net and its application on pansharpening;[8]
  2. 3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation;[9]
  3. TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation.[10]
  4. Image-to-image translation to estimate fluorescent stains [11]
  5. In binding site prediction of protein structure.[6]

Implementations

jakeret (2017): "Tensorflow Unet"[12]

U-Net source code from Pattern Recognition and Image Processing at Computer Science Department of the University of Freiburg, Germany.[13]

The basic articles on the system[1][2][9][10] have been cited 3693, 7049, 442 and 22 times respectively on Google Scholar as of December 24, 2018.[14]

References

  1. 1.0 1.1 1.2 1.3 Ronneberger O, Fischer P, Brox T (2015). "U-Net: Convolutional Networks for Biomedical Image Segmentation". arXiv:1505.04597 [cs.CV].
  2. 2.0 2.1 2.2 2.3 2.4 "Fully Convolutional Networks for Semantic Segmentation". IEEE Transactions on Pattern Analysis and Machine Intelligence 39 (4): 640–651. April 2017. doi:10.1109/TPAMI.2016.2572683. PMID 27244717. 
  3. "U-Net code". https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/. 
  4. "MICCAI BraTS 2017: Scope | Section for Biomedical Image Analysis (SBIA) | Perelman School of Medicine at the University of Pennsylvania". https://www.med.upenn.edu/sbia/brats2017.html. 
  5. "SLIVER07 : Home". http://www.sliver07.org/. 
  6. 6.0 6.1 "3D U-Net: A voxel-based method in binding site prediction of protein structure". Journal of Bioinformatics and Computational Biology 19 (2): 2150006. April 2021. doi:10.1142/S0219720021500062. PMID 33866960. 
  7. "Separation of water and fat signal in whole-body gradient echo scans using convolutional neural networks". Magnetic Resonance in Medicine 82 (3): 1177–1186. September 2019. doi:10.1002/mrm.27786. PMID 31033022. 
  8. "Pixel-wise regression using U-Net and its application on pansharpening". Neurocomputing 312: 364–371. 2018-10-27. doi:10.1016/j.neucom.2018.05.103. ISSN 0925-2312. 
  9. 9.0 9.1 Çiçek Ö, Abdulkadir A, Lienkamp SS, Brox T, Ronneberger O (2016). "3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation". arXiv:1606.06650 [cs.CV].
  10. 10.0 10.1 Iglovikov V, Shvets A (2018). "TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation". arXiv:1801.05746 [cs.CV].
  11. "Phase imaging with computational specificity (PICS) for measuring dry mass changes in sub-cellular compartments". Nature Communications 11 (1): 6256. December 2020. doi:10.1038/s41467-020-20062-x. PMID 33288761. 
  12. Generic U-Net Tensorflow implementation for image segmentation: jakeret/tf_unet, 2018-12-24, https://github.com/jakeret/tf_unet, retrieved 2018-12-24 
  13. "U-Net: Convolutional Networks for Biomedical Image Segmentation". https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/. 
  14. U-net Google Scholar citation data