U-Net

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

U-Net is a convolutional neural network that was developed for biomedical image segmentation at the Computer Science Department of the University of Freiburg, Germany.[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[edit]

The U-Net architecture stems from the so-called “fully convolutional network” first proposed by Long and Shelhamer.[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. What's more, 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 an 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[edit]

U-Net was created by Olaf Ronneberger, Philipp Fischer, Thomas Brox in 2015 at the paper “UNet: 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[edit]

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[edit]

There are many applications of U-Net in biomedical image segmentation, such as brain image segmentation (''BRATS''[4]) and liver image segmentation ("siliver07"[5]). Here are some variants and applications of U-Net as follows:

  1. Pixel-wise regression using U-Net and its application on pansharpening;[6]
  2. 3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation;[7]
  3. TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation.[8]

Implementations[edit]

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

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

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

References[edit]

  1. ^ a b c d Ronneberger, Olaf; Fischer, Philipp; Brox, Thomas (2015). "U-Net: Convolutional Networks for Biomedical Image Segmentation". arXiv:1505.04597 [cs.CV].
  2. ^ a b c d e Long, J.; Shelhamer, E.; Darrell, T. (2014). "Fully convolutional networks for semantic segmentation". arXiv:1411.4038 [cs.CV].
  3. ^ "U-Net code".
  4. ^ "MICCAI BraTS 2017: Scope | Section for Biomedical Image Analysis (SBIA) | Perelman School of Medicine at the University of Pennsylvania". www.med.upenn.edu. Retrieved 2018-12-24.
  5. ^ "SLIVER07 : Home". www.sliver07.org. Retrieved 2018-12-24.
  6. ^ Yao, Wei; Zeng, Zhigang; Lian, Cheng; Tang, Huiming (2018-10-27). "Pixel-wise regression using U-Net and its application on pansharpening". Neurocomputing. 312: 364–371. doi:10.1016/j.neucom.2018.05.103. ISSN 0925-2312.
  7. ^ a b Çiçek, Özgün; Abdulkadir, Ahmed; Lienkamp, Soeren (2016). "3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation". arXiv:1606.06650 [cs.CV].
  8. ^ a b Iglovikov, Vladimir; Shvets, Alexey (2018). "TernausNet: U-Net with VGG11 Encoder Pre-Trained on ImageNet for Image Segmentation". arXiv:1801.05746 [cs.CV].
  9. ^ Akeret, Joel (2018-12-24), Generic U-Net Tensorflow implementation for image segmentation: jakeret/tf_unet, retrieved 2018-12-24
  10. ^ "U-Net: Convolutional Networks for Biomedical Image Segmentation". lmb.informatik.uni-freiburg.de. Retrieved 2018-12-24.
  11. ^ U-net Google Scholar citation data