본문 바로가기

논문

[모델공부]U-Net : Image segmentations

U-Net: Convolutional Networks for Biomedical Image Segmentation

https://arxiv.org/pdf/1505.04597.pdf


개요
이번 포스팅에서는 U-Net을 공부합니다.

논문 리뷰의 수준은 U-Net Network를 구현할 수 있을 정도의 깊이로만 공부합니다.
나는 사용했다 번역을 위해서 구글 번역기

 

2022-01-10 수정중


Abstract

In this paper, we present a network and training strategy that relies on the strong use of data augmentation to use the available annotated samples more efficiently.

본 논문에서는 annotated 한 샘플을 더 효율적으로 사용하기 위해  data augmentation의 강력한 사용에 의존하는 네트워크 학습 및 전략을 제시한다.

The architecture consists of a contracting path to capture context and a symmetric expanding path that enables precise localization.

아키텍처는 정확한 context를 캡처하기 위한 contracting path와 정확한 위치를 파악 가능하게 하는 symmetric expanding으로 구성된다.

We show that such a network can be trained end-to-end from very few images and outperforms the prior best method (a sliding-window convolutional network) on the ISBI challenge for segmentation of neuronal structures in electron microscopic stacks

이러한 네트워크가 매우 적은 이미지로 부터 end-to-end 방식으로 훈련될 수 있고 electron microsopic stacks에서 신경망 구조의 segmentaton에 대한 ISBI Challenge은 이전 최선의 방식(sliding-window convolutional network) 보다 우수하다.

 

Moreover, the network is fast. Segmentation of a 512x512 image takes less than a second on a recent GPU.

또한 매우 빠르며, 최신 GPU에서는 512 * 512 이미지 Segmentation은 1초도 안 걸린다.

 


1. Introduction

Obviously, the strategy in Ciresan et al. [1] has two drawbacks. First, itis quite slow because the network must be run separately for each patch, and there is a lot of redundancy due to overlapping patches. Secondly, there is atrade-off between localization accuracy and the use of context.

Ciresan et al. 이 제안한 방식에는 두 가지 단점이 있습니다.
먼저 패치마다 네트워크를 따로 실행해야 하기 때문에 상당히 느리고, 패치가 겹쳐서 중복되는 부분이 많다.
둘째, 지역화 정확도와 문맥의 사용 사이에는 트레이드오프가 존재한다.

 

그림 1

we build upon a more elegant architecture, the so-called “fully convolutional network”

우리는 "완전 컨볼루션 네트워크"를 기반으로 한다.

The main idea i is to supplement a usual contracting network by successive layers, where pooling operators are replaced by up sampling operators.

주요 아이디어는 풀링 operator가 업 샘플링 operator로 대체되는 연속적인 계층으로 일반적인 계약 네트워크를 보완하는 것이다.

Hence, these layers increase the resolution of the output. In order to localize, high resolution features from the contracting path are combined with the upsampled output

따라서 이러한 레이어는 출력의 해상도를 높입니다. 로컬라이징을 위해, contracting path로부터의 고해상도 특징들은 업 샘플링된 출력과 결합된다

As a consequence, the expansive path is more or less symmetric to the contracting path, and yieldsa u-shaped architecture.

결과적으로, contracting path는 expansive path에 다소 대칭이며, u 자형 아키텍처를 산출합니다.

The network does not have any fully connected layers and only uses the valid part of each convolution

네트워크에는 완전 연결 층이 없으며 각 컨볼 루션의 유효한 부분만 사용합니다.

As for our tasks there is very little training data available, we use excessive data augmentation by applying elastic deformations to the available training images.

작업에 관해서는 사용 가능한 훈련 데이터가 거의 없기 때문에 사용 가능한 훈련 이미지에 탄성 변형을 적용하여 과도한 데이터 증가를 사용합니다.

Another challenge in many cell segmentation tasks is the separation of touching objects of the same class; see Figure 3. To this end, we propose the use of a weighted loss, where the separating background labels between touching cells obtain a large weight in the loss function.

많은 셀 세분화 작업에서 또 다른 과제는 동일한 클래스의 터치 객체를 분리하는 것입니다.
이를 위해, 접촉하는 셀 사이의 분리된 배경 레이블이 손실 함수에서 큰 가중치를 얻는 가중 손실의 사용을 제안합니다.


2. Network

The network architecture is illustrated in Figure 1.
It consists of a contracting path (left side) and an expansive path (right side). The contracting path follows the typical architecture of a convolutional network.

네트워크 구조는 그림 1에 나와 있습니다.
그것은 contracting path(왼쪽)와 expansive path (오른쪽)로 구성됩니다.
contracting path는 컨볼 루션 네트워크의 일반적인 아키텍처를 따릅니다.

It consists of the repeated application of two 3x3 convolutions (unpadded convolutions), each followed by a rectified linear unit (ReLU) and a 2x2 max pooling operation with stride 2 for downsampling.

이는 두 개의 3x3 컨볼 루션 (패딩되지 않은 컨볼 루션)을 반복적으로 적용한 다음 정류된 선형 단위 (ReLU)와 다운 샘플링을 위한 보폭 2의 2x2 최대 풀링 작업으로 구성됩니다.

At each down sampling step we double the number of feature channels.

각 다운 샘플링 단계에서 피쳐 채널 수를 두 배로 늘립니다.

Every step in the expansive path consists of an upsampling of the feature map followed by a 2x2 convolution (“up-convolution”) that halves the number of feature channels, a concatenation with the correspondingly cropped feature map from the contracting path, and two 3x3 convolutions, each followed by a ReLU.

expansive path의 모든 단계는 피쳐 채널 수를 절반으로 하는 2*2 컨볼류션이 뒤따르는 피쳐맵의 업샘플링, contracting path에서 잘린 피쳐맵과 상응하는 결합, 각각 ReLU가 뒤 따르는 두 개의 3*3 컨볼류션으로 구성된다

The cropping is necessary due to the loss of border pixels in every convolution.

자르기는 모든 컨볼 루션에서 경계 픽셀의 손실로 인해 필요합니다.

At the final layer a 1x1 convolution is used tomap each 64-component feature vector to the desired number of classes.

최종 레이어에서 1x1 컨볼 루션은 각 64 구성 요소 특징 벡터를 원하는 클래스 수로 매핑하는 데 사용됩니다.

In total the network has 23 convolutional layers.

전체적으로 네트워크에는 23 개의 컨볼루션 레이어가 있습니다.


네트워크 구현

Unet 구현하기