Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

지도학습/Semantic Segmentation

[번역]Fully Convolutional Networks for Semantic Segmentation,2015

Fully Convolutional Networks for Semantic Segmentation,2015

Jonathan Long∗ Evan Shelhamer∗ Trevor Darrell (UC Berkeley)

 

 

Abstract

완전 컨볼루션 네트워크는 다음을 효율적으로 학습 할 수 있습니다. 의미 론적 분할과 같은 픽셀 당 작업에 대해 조밀 한 예측을 수행합니다.


Convolutional networks are powerful visual models that yield hierarchies of features. 
컨볼 루션 네트워크는 기능의 계층을 생성하는 강력한 시각적 모델입니다.
We show that convolutional networks by themselves, trained end-to-end, pixelsto-pixels, exceed the state-of-the-art in semantic segmentation. 
우리는 컨볼 루션 네트워크, 즉 훈련 된 엔드-투-엔드, 픽셀 대 픽셀이 의미 론적 세분화에서 최첨단을 능가한다는 것을 보여줍니다.
Our key insight is to build “fully convolutional” networks that take input of arbitrary size and produce correspondingly-sized output with efficient inference and learning. 
우리의 핵심 통찰력은 임의의 크기의 입력을 받아 효율적인 추론 및 학습을 통해 해당 크기의 출력을 생성하는 "완전한 컨볼 루션"네트워크를 구축하는 것입니다.
We define and detail the space of fully convolutional networks, explain their application to spatially dense prediction tasks, and draw connections to prior models. 
우리는 완전 컨볼루션 네트워크의 공간을 정의하고 상세하게 설명하고, 공간적으로 밀집된 예측 작업에 대한 적용을 설명하고, 이전 모델과의 연결을 그립니다.
We adapt contemporary classification networks (AlexNet [19], the VGG net [31], and GoogLeNet [32]) into fully convolutional networks and transfer their learned representations by fine-tuning [4] to the segmentation task. 
우리는 현대 분류 네트워크 (AlexNet [19], VGG net [31] 및 GoogLeNet [32])를 완전 컨볼 루션 네트워크로 조정하고 세분화 작업에 [4] 미세 조정하여 학습 된 표현을 전송합니다.
We then define a novel architecture that combines semantic information from a deep, coarse layer with appearance information from a shallow, fine layer to produce accurate and detailed segmentations. 
그런 다음 깊고 거친 레이어의 의미 정보와 얕고 미세한 레이어의 모양 정보를 결합하여 정확하고 상세한 세분화를 생성하는 새로운 아키텍처를 정의합니다.
Our fully convolutional network achieves state-of-the-art segmentation of PASCAL VOC (20% relative improvement to 62.2% mean IU on 2012), NYUDv2,and SIFT Flow, while inference takes less than one fifth of a second for a typical image.
당사의 완전한 컨볼 루션 네트워크는 PASCAL VOC (2012 년 평균 IU 62.2 % 대비 20 % 상대적 개선), NYUDv2 및 SIFT Flow의 최첨단 세분화를 달성하는 반면, 추론은 일반적인 이미지의 경우 1/5 초도 채 걸리지 않습니다. 

1. Introduction
Convolutional networks are driving advances in recognition. Convnets are not only improving for whole-image classification [19, 31, 32], but also making progress on local tasks with structured output. 
컨볼 루션 네트워크는 인식의 발전을 주도하고 있습니다. Convnets는 전체 이미지 분류 [19, 31, 32]를 개선 할뿐만 아니라 구조화 된 출력으로 로컬 작업을 진행하고 있습니다.
These include advances in bounding box object detection [29, 12, 17], part and keypoint prediction [39, 24], and local correspondence [24, 9].
여기에는 경계 상자 객체 감지 [29, 12, 17], 부분 및 키포인트 예측 [39, 24], 로컬 대응 [24, 9]의 발전이 포함됩니다.
The natural next step in the progression from coarse to fine inference is to make a prediction at every pixel. 
대략적인 추론에서 정밀한 추론으로 진행하는 자연스러운 다음 단계는 모든 픽셀에서 예측을 수행하는 것입니다.
Prior approaches have used convnets for semantic segmentation [27, 2, 8, 28, 16, 14, 11], in which each pixel is labeled with the class of its enclosing object or region, but with shortcomings that this work addresses.
이전의 접근 방식은 의미 론적 분할을 위해 convnet을 사용했습니다 [27, 2, 8, 28, 16, 14, 11]. 여기서 각 픽셀은 둘러싸는 객체 또는 영역의 클래스로 레이블이 지정되지만이 작업이 해결하는 단점이 있습니다.
We show that a fully convolutional network (FCN), trained end-to-end, pixels-to-pixels on semantic segmentation exceeds the state-of-the-art without further machinery. 
의미 론적 세분화에 대한 완전 컨볼 루션 네트워크 (FCN), 훈련 된 엔드-투-엔드, 픽셀-투-픽셀이 추가 기계없이 최첨단을 능가 함을 보여줍니다.
To our knowledge, this is the first work to train FCNs end-to-end (1) for pixelwise prediction and (2) from supervised pre-training. 
우리가 아는 한, 이것은 픽셀 단위 예측을 위해 (1), (2) 감독되는 사전 훈련에서 FCN을 종단 간 훈련하는 첫 번째 작업입니다.
Fully convolutional versions of existing networks predict dense outputs from arbitrary-sized inputs. Both learning and inference are performed whole-image-ata-time by dense feedforward computation and backpropagation. 
기존 네트워크의 완전 컨볼 루션 버전은 임의 크기의 입력에서 조밀 한 출력을 예측합니다. 학습과 추론 모두 조밀 한 피드 포워드 계산과 역 전파를 통해 전체 이미지에 대한 시간에 수행됩니다.
In-network upsampling layers enable pixelwise prediction and learning in nets with subsampled pooling. 
네트워크 내 업 샘플링 레이어를 사용하면 서브 샘플링 된 풀링을 통해 네트에서 픽셀 단위 예측 및 학습이 가능합니다.
This method is efficient, both asymptotically and absolutely, and precludes the need for the complications in other works. 
이 방법은 점근 적으로 그리고 절대적으로 효율적이며 다른 작업에서 합병증이 필요하지 않습니다.
Patchwise training is common [27, 2, 8, 28, 11], but lacks the efficiency of fully convolutional training. 
패치 와이즈 훈련은 일반적이지만 [27, 2, 8, 28, 11] 완전한 컨볼 루션 훈련의 효율성이 부족합니다.
Our approach does not make use of pre- and post-processing complications, including superpixels [8, 16], proposals [16, 14], or post-hoc refinement by random fields or local classifiers [8, 16]. 
우리의 접근 방식은 슈퍼 픽셀 [8, 16], 제안 [16, 14] 또는 무작위 필드 또는 로컬 분류기 [8, 16]에 의한 사후 개선을 포함하여 전처리 및 후 처리 복잡성을 사용하지 않습니다.
Our model transfers recent success in classification [19, 31, 32] to dense prediction by reinterpreting classification nets as fully convolutional and fine-tuning from their learned representations. 
우리의 모델은 분류 망을 학습 된 표현에서 완전 컨볼 루션 및 미세 조정으로 재 해석함으로써 최근 분류 성공 [19, 31, 32]을 조밀 한 예측으로 전환합니다.
In contrast, previous works have applied small convnets without supervised pre-training [8, 28, 27].
대조적으로, 이전 연구는 감독의 사전 교육없이 소규모 convnet을 적용했습니다 [8, 28, 27].
Semantic segmentation faces an inherent tension between semantics and location: global information resolves what while local information resolves where. 
의미 론적 세분화는 의미론과 위치 사이에 내재 된 긴장에 직면합니다. 전역 정보는 무엇을 해결하고 로컬 정보는 어디에서 해결합니다.
Deep featurehierarchies jointly encode location and semantics in a localto-global pyramid. We define a novel “skip” architecture to combine deep, coarse, semantic information and shallow, fine, appearance information in Section 4.2 (see Figure 3).
Deep featurehierarchies는 로컬-글로벌 피라미드에서 위치와 의미를 공동으로 인코딩합니다. 우리는 섹션 4.2에서 깊고 거친 의미 론적 정보와 얕고 미세한 외관 정보를 결합하는 새로운 "건너 뛰기"아키텍처를 정의합니다 (그림 3 참조).
In the next section, we review related work on deep classification nets, FCNs, and recent approaches to semantic segmentation using convnets. 
다음 섹션에서는 심층 분류 네트워크, FCN 및 convnet을 사용한 의미 론적 분할에 대한 최근 접근 방식에 대한 관련 작업을 검토합니다.
The following sections explain FCN design and dense prediction tradeoffs, introduce our architecture with in-network upsampling and multilayer combinations, and describe our experimental framework. 
다음 섹션에서는 FCN 설계 및 조밀 한 예측 장단점을 설명하고, 네트워크 내 업 샘플링 및 다중 레이어 조합을 사용한 아키텍처를 소개하고, 실험 프레임 워크를 설명합니다.
Finally, we demonstrate state-of-the-art results on PASCAL VOC 2011-2, NYUDv2, and SIFT Flow.
마지막으로 PASCAL VOC 2011-2, NYUDv2 및 SIFT Flow에 대한 최신 결과를 보여줍니다.

2. Related work
Our approach draws on recent successes of deep nets for image classification [19, 31, 32] and transfer learning [4, 38]. 
우리의 접근 방식은 이미지 분류 [19, 31, 32] 및 전이 학습 [4, 38]을위한 딥넷의 최근 성공을 기반으로합니다.
Transfer was first demonstrated on various visual recognition tasks [4, 38], then on detection, and on both instance and semantic segmentation in hybrid proposalclassifier models [12, 16, 14]. 
전송은 다양한 시각적 인식 작업 [4, 38], 그 다음 감지, 그리고 하이브리드 제안 분류기 모델 [12, 16, 14]의 인스턴스 및 의미 론적 세분화에서 처음 시연되었습니다.
We now re-architect and finetune classification nets to direct, dense prediction of semantic segmentation. 
이제 우리는 의미 론적 세분화의 직접적이고 조밀 한 예측을 위해 분류 네트를 재구성하고 미세 조정합니다
We chart the space of FCNs and situate prior models, both historical and recent, in this framework.
우리는 이 프레임 워크에서 FCN의 공간을 차트 화하고 과거 모델과 최근 모델을 모두 배치합니다.
Fully convolutional networks To our knowledge, the idea of extending a convnet to arbitrary-sized inputs first appeared in Matan et al. [25], which extended the classic LeNet [21] to recognize strings of digits. 
완전 컨볼 루션 네트워크 우리가 아는 한, convnet을 임의 크기의 입력으로 확장한다는 아이디어는 Matan et al. [25], 고전적인 LeNet [21]을 확장하여 숫자 문자열을 인식합니다
Because their net was limited to one-dimensional input strings, Matan et al. used Viterbi decoding to obtain their outputs. 
그들의 그물은 1 차원 입력 문자열로 제한 되었기 때문에 Matan et al. Viterbi 디코딩을 사용하여 출력을 얻었습니다.
Wolf and Platt [37] expand convnet outputs to 2-dimensional maps of detection scores for the four corners of postal address blocks. 
Wolf and Platt [37]는 convnet 출력을 우편 주소 블록의 네 모서리에 대한 탐지 점수의 2 차원 맵으로 확장합니다.
Both of these historical works do inference and learning fully convolutionally for detection. 
이 두 가지 역사적 작업은 탐지를 위해 완전히 컨볼 루션 방식으로 추론하고 학습합니다.
Ning et al. [27] define a convnet for coarse multiclass segmentation of C. elegans tissues with fully convolutional inference. 
Ning et al. [27] 완전 컨볼 루션 추론으로 C. elegans 조직의 거친 다중 클래스 분할을위한 convnet을 정의합니다.
Fully convolutional computation has also been exploited in the present era of many-layered nets. 
완전 컨볼 루션 계산은 다층 네트워크의 현재 시대에도 활용되었습니다.
Sliding window detection by Sermanet et al. [29], semantic segmentation by Pinheiro and Collobert [28], and image restoration by Eigen et al. 
Sermanet 등의 슬라이딩 윈도우 감지. [29], Pinheiro와 Collobert [28]에 의한 의미 분할, Eigen et al.에 의한 이미지 복원.
[5] do fully convolutional inference. Fully convolutional training is rare, but used effectively by Tompson et al. [35] to learn an end-to-end part detector and spatial model for pose estimation, although they do not exposit on or analyze this method.
[5] 완전 컨볼 루션 추론을 수행합니다. 완전 컨볼 루션 훈련은 드물지만 Tompson et al. 이 방법을 설명하거나 분석하지는 않지만 포즈 추정을위한 종단 간 부품 검출기 및 공간 모델을 학습합니다.
Alternatively, He et al. [17] discard the nonconvolutional portion of classification nets to make a feature extractor. 
또는 He et al. [17] 특징 추출기를 만들기 위해 분류 망의 비 합성 곱 부분을 버립니다.
They combine proposals and spatial pyramid pooling to yield a localized, fixed-length feature for classification. 
이들은 제안과 공간 피라미드 풀링을 결합하여 분류를위한 지역화 된 고정 길이 기능을 생성합니다.
While fast and effective, this hybrid model cannot be learned end-to-end.
빠르고 효과적이지만이 하이브리드 모델은 종단 간 학습 할 수 없습니다.
Dense prediction with convnets Several recent works have applied convnets to dense prediction problems, including semantic segmentation by Ning et al. [27], Farabet et al.[8], and Pinheiro and Collobert [28]; boundary prediction for electron microscopy by Ciresan et al. [2] and for natural images by a hybrid neural net/nearest neighbor model by Ganin and Lempitsky [11]; and image restoration and depth estimation by Eigen et al. [5, 6]. 
convnet을 사용한 조밀 한 예측 Ning et al.의 의미 론적 분할을 포함하여 조밀 한 예측 문제에 convnet을 적용한 최근의 여러 연구가 있습니다. [27], Farabet 등 [8], Pinheiro와 Collobert [28]; Ciresan 등의 전자 현미경에 대한 경계 예측. [2] 그리고 Ganin과 Lempitsky [11]의 하이브리드 신경망 / 최근 접 이웃 모델에 의한 자연 이미지; Eigen et al.에 의한 이미지 복원 및 깊이 추정. [5, 6].
Common elements of these approaches include 
이러한 접근 방식의 공통 요소는 다음과 같습니다. 

• small models restricting capacity and receptive fields; 용량 및 수용 필드를 제한하는 작은 모델;
• patchwise training [27, 2, 8, 28, 11]; 패치 별 훈련 [27, 2, 8, 28, 11];
• post-processing by superpixel projection, random field regularization, filtering, or local classification [8, 2, 11];
슈퍼 픽셀 프로젝션, 랜덤 필드 정규화, 필터링 또는 로컬 분류에 의한 후 처리 [8, 2, 11];
• input shifting and output interlacing for dense output [28, 11] as introduced by OverFeat [29];
OverFeat [29]에 의해 도입 된 고밀도 출력을위한 입력 시프 팅 및 출력 인터레이스 [28, 11];
• multi-scale pyramid processing [8, 28, 11]; 다중 규모 피라미드 처리 [8, 28, 11];
• saturating tanh nonlinearities [8, 5, 28]; and 포화 tanh 비선형 성 [8, 5, 28]; 과
• ensembles [2, 11], 앙상블
whereas our method does without this machinery. 우리의 방법은이 기계없이 작동합니다.

However,we do study patchwise training 3.4 and “shift-and-stitch” dense output 3.2 from the perspective of FCNs. 
그러나 FCN의 관점에서 패치 방식 훈련 3.4 및 "시프트 앤 스티치"고밀도 출력 3.2를 연구합니다.

We also discuss in-network upsampling 3.3, of which the fully connected prediction by Eigen et al. [6] is a special case.
우리는 또한 네트워크 내 업 샘플링 3.3에 대해 논의합니다.이 중 Eigen et al. [6]은 특별한 경우입니다.
Unlike these existing methods, we adapt and extend deep classification architectures, using image classification as supervised pre-training, and fine-tune fully convolutionally to learn simply and efficiently from whole image inputs and whole image ground thruths.
이러한 기존 방법과 달리 이미지 분류를 감독 된 사전 학습으로 사용하여 심층 분류 아키텍처를 조정 및 확장하고, 전체 이미지 입력 ​​및 전체 이미지 기반 정보에서 간단하고 효율적으로 학습 할 수 있도록 완전히 컨볼 루션 방식으로 미세 조정합니다.
Hariharan et al. [16] and Gupta et al. [14] likewise adapt deep classification nets to semantic segmentation, but do so in hybrid proposal-classifier models. 
Hariharan et al. [16] 및 Gupta et al. [14] 마찬가지로 의미 론적 세분화에 심층 분류 네트를 적용하지만 하이브리드 제안 분류 자 ​​모델에서는 그렇게합니다.
These approaches fine-tune an R-CNN system [12] by sampling bounding boxes and/or region proposals for detection, semantic segmentation, and instance segmentation. 
이러한 접근 방식은 탐지, 의미 론적 분할 및 인스턴스 분할을위한 경계 상자 및 / 또는 영역 제안을 샘플링하여 R-CNN 시스템 [12]을 미세 조정합니다.
Neither method is learned end-to-end.
두 방법 모두 종단 간 학습되지 않습니다.
They achieve state-of-the-art results on PASCAL VOC segmentation and NYUDv2 segmentation respectively, so we directly compare our standalone, end-to-end FCN to their semantic segmentation results in Section 5.
이들은 각각 PASCAL VOC 세분화 및 NYUDv2 세분화에 대한 최신 결과를 얻으므로 독립형 종단 간 FCN을 섹션 5의 의미 론적 세분화 결과와 직접 비교합니다.

3. Fully convolutional networks

완전히 연결된 레이어를 컨볼 루션으로 변환 레이어를 사용하면 분류 망이 히트 맵을 출력 할 수 있습니다. 첨가 계층 및 공간 손실 (그림 1 참조)은 종단 간 고밀도 학습을위한 효율적인 기계를 생성합니다.


Each layer of data in a convnet is a three-dimensional array of size h × w × d, where h and w are spatial dimensions, and d is the feature or channel dimension. 
convnet의 각 데이터 계층은 h × w × d 크기의 3 차원 배열입니다. 여기서 h와 w는 공간 차원이고 d는 특성 또는 채널 차원입니다.
The first layer is the image, with pixel size h × w, and d color channels. Locations in higher layers correspond to the locations in the image they are path-connected to, which are called their receptive fields.
첫 번째 레이어는 픽셀 크기가 h × w이고 색상 채널이 d 인 이미지입니다. 상위 레이어의 위치는 경로가 연결된 이미지의 위치에 해당하며이를 수용 필드라고합니다.
Convnets are built on translation invariance. Their basic components (convolution, pooling, and activation functions) operate on local input regions, and depend only on relative spatial coordinates. 
Convnet은 번역 불변성을 기반으로합니다. 기본 구성 요소 (컨볼 루션, 풀링 및 활성화 함수)는 로컬 입력 영역에서 작동하며 상대 공간 좌표에만 의존합니다.
Writing xij for the data vector at location (i, j) in a particular layer, and yij for the follow-ing layer, these functions compute outputs yij by yij where k is called the kernel size, s is the stride or subsampling factor, and fks determines the layer type: a matrix multiplication for convolution or average pooling, a spatial max for max pooling, or an elementwise nonlinearity for an activation function, and so on for other types of layers.
특정 레이어의 위치 (i, j)에있는 데이터 벡터에 대해 xij를 작성하고 후속 레이어에 대해 yij를 작성하면 이러한 함수는 출력 yij를 yij로 계산합니다. 여기서 k는 커널 크기라고하며 s는 스트라이드 또는 서브 샘플링 인자입니다. fks는 레이어 유형을 결정합니다 : 컨볼 루션 또는 평균 풀링에 대한 행렬 곱셈, 최대 풀링에 대한 공간 최대 값 또는 활성화 함수에 대한 요소 별 비선형 성 등 다른 유형의 레이어에 대한 것입니다.
This functional form is maintained under composition, with kernel size and stride obeying the transformation rule fk.
이 기능적 형식은 커널 크기와 보폭이 변환 규칙 fk를 준수하는 구성에서 유지됩니다.
While a general deep net computes a general nonlinear function, a net with only layers of this form computes a nonlinear filter, which we call a deep filter or fully convolutional network. 
일반 딥 네트는 일반 비선형 함수를 계산하는 반면,이 형식의 레이어 만있는 네트는 딥 필터 또는 완전 컨벌루션 네트워크라고하는 비선형 필터를 계산합니다.
An FCN naturally operates on an input of any size, and produces an output of corresponding (possibly resampled) spatial dimensions.
FCN은 자연스럽게 모든 크기의 입력에 대해 작동하며 해당 (리샘플링 된) 공간 차원의 출력을 생성합니다.
A real-valued loss function composed with an FCN defines a task. If the loss function is a sum over the spatial dimensions of the final layer, (x; θ) = P ij 0 (xij ; θ), its gradient will be a sum over the gradients of each of its spatial components. 
FCN으로 구성된 실수 가치 손실 함수는 작업을 정의합니다. 손실 함수가 최종 레이어의 공간 차원에 대한 합인 경우(x; θ) = P ij0 (xij; θ), 그 기울기는 각 공간 구성 요소의 기울기에 대한 합이됩니다.
Thus stochastic gradient descent on computed on who imas will be the same as schic ient descent on 0 , taking all of the final layer receptive fields as a minibatch.
따라서 전체 이미지에서 계산 된      0의 확률 적 경사 하강 법과 동일하며 모든 최종 레이어 수용 필드를 미니 배치로 취합니다.
When these receptive fields overlap significantly, both feedforward computation and backpropagation are much more efficient when computed layer-by-layer over an entire image instead of independently patch-by-patch.
이러한 수용 필드가 크게 겹치는 경우 피드 포워드 계산과 역 전파 모두 패치별로 독립적으로 패치하는 대신 전체 이미지에 대해 레이어별로 계산할 때 훨씬 더 효율적입니다.
We next explain how to convert classification nets into fully convolutional nets that produce coarse output maps.
다음으로 분류 네트를 거친 출력 맵을 생성하는 완전 컨벌루션 네트로 변환하는 방법을 설명합니다.
For pixelwise prediction, we need to connect these coarse outputs back to the pixels. Section 3.2 describes a trick that OverFeat [29] introduced for this purpose. 
픽셀 단위 예측을 위해서는 이러한 거친 출력을 픽셀에 다시 연결해야합니다. 3.2 절은 이러한 목적으로 OverFeat [29]가 도입 한 트릭을 설명합니다.
We gain insight into this trick by reinterpreting it as an equivalent network modification. 
이 트릭을 동등한 네트워크 수정으로 재 해석하여이 트릭에 대한 통찰력을 얻습니다.
As an efficient, effective alternative, we introduce deconvolution layers for upsampling in Section 3.3. 
효율적이고 효과적인 대안으로 섹션 3.3에서 업 샘플링을위한 디콘 볼 루션 레이어를 소개합니다
In Section 3.4 we consider training by patchwise sampling,and give evidence in Section 4.3 that our whole image training is faster and equally effective.
3.4 절에서는 패치 별 샘플링에 의한 훈련을 고려하고 4.3 절에서 전체 이미지 훈련이 더 빠르고 동등하게 효과적이라는 증거를 제시합니다.

3.1. Adapting classifiers for dense prediction 조밀 한 예측을위한 분류기 조정
Typical recognition nets, including LeNet [21], AlexNet [19], and its deeper successors [31, 32], ostensibly take fixed-sized inputs and produce nonspatial outputs. 
LeNet [21], AlexNet [19] 및 그보다 더 깊은 후계자 [31, 32]를 포함한 일반적인 인식 네트워크는 표면적으로 고정 된 크기의 입력을 받아 비 공간 출력을 생성합니다.
The fully connected layers of these nets have fixed dimensions and throw away spatial coordinates. 
이 그물의 완전히 연결된 레이어는 고정 된 치수를 가지며 공간 좌표를 버립니다.
However, these fully connected layers can also be viewed as convolutions with kernels that cover their entire input regions. 
그러나 이러한 완전히 연결된 레이어는 전체 입력 영역을 포함하는 커널이있는 컨볼 루션으로 볼 수도 있습니다.
Doing so casts them into fully convolutional networks that take input of any size and output classification maps. 
이렇게하면 크기와 출력 분류 맵의 입력을받는 완전 컨벌루션 네트워크로 변환됩니다.
This transformatiis illustrated in Figure 2. (By contrast, nonconvolutional nets, such as the one by Le et al. [20], lack this capability.)
이 변환은 그림 2에 설명되어 있습니다. (대비 적으로 Le et al. [20]의 것과 같은 nonconvolutional net에는이 기능이 없습니다.)
Furthermore, while the resulting maps are equivalent to the evaluation of the original net on particular input patches, the computation is highly amortized over the overlapping regions of those patches. 
또한 결과 맵은 특정 입력 패치에 대한 원래 네트의 평가와 동일하지만 해당 패치의 겹치는 영역에 대해 계산이 크게 분할됩니다.
For example, while AlexNet takes 1.2 ms (on a typical GPU) to produce the classification scores of a 227 × 227 image, the fully convolutional version takes 22 ms to produce a 10 × 10 grid of outputs from a 500 × 500 image, which is more than 5 times faster than the na¨ıve approach1.
예를 들어 AlexNet은 227 × 227 이미지의 분류 점수를 생성하는 데 1.2ms (일반 GPU에서)가 걸리는 반면, 완전 컨볼 루션 버전은 500 × 500 이미지에서 10 × 10 그리드 출력을 생성하는 데 22ms가 걸립니다. 순진한 접근 방식보다 5 배 이상 빠릅니다.
The spatial output maps of these convolutionalized models make them a natural choice for dense problems like semantic segmentation. 
이러한 컨볼 루션 화 된 모델의 공간 출력 맵은 의미 론적 분할과 같은 조밀 한 문제에 대한 자연스러운 선택을 제공합니다.
With ground truth available at every output cell, both the forward and backward passes are straightforward, and both take advantage of the inherent computational efficiency (and aggressive optimization) of convolution.
모든 출력 셀에서 Ground Truth를 사용할 수 있으므로 순방향 및 역방향 패스는 모두 간단하며 둘 다 컨볼 루션의 고유 한 계산 효율성 (및 적극적인 최적화)을 활용합니다.
The corresponding backward times for the AlexNet example are 2.4 ms for a single image and 37 ms for a fully convolutional 10 × 10 output map, resulting in a speedup similar to that of the forward pass. 
AlexNet 예제에 해당하는 역방향 시간은 단일 이미지의 경우 2.4ms이고 완전 컨볼 루션 10 × 10 출력 맵의 경우 37ms이며, 결과적으로 순방향 패스와 유사한 속도 향상이 발생합니다.
This dense backpropagation is illustrated in Figure 1. 
이 고밀도 역전 파는 그림 1에 나와 있습니다.
While our reinterpretation of classification nets as fully convolutional yields output maps for inputs of any size, the output dimensions are typically reduced by subsampling.
분류 네트를 완전 컨볼 루션으로 재 해석하면 모든 크기의 입력에 대한 출력 맵이 생성되지만 출력 차원은 일반적으로 서브 샘플링에 의해 감소됩니다.
The classification nets subsample to keep filters small and computational requirements reasonable. 
분류는 필터를 작게 유지하고 계산 요구 사항을 합리적으로 유지하기 위해 서브 샘플링을 그물에 넣습니다.
This coarsens the output of a fully convolutional version of these nets, reducing it from the size of the input by a factor equal to the pixel stride of the receptive fields of the output units.
이렇게하면 이러한 네트의 완전 컨볼 루션 버전의 출력이 거칠어지고, 출력 단위의 수용 필드의 픽셀 보폭과 동일한 요소로 입력 크기가 줄어 듭니다.

3.2. Shift-and-stitch is filter rarefaction Shift-and-stitch는 필터 희박

Input shifting and output interlacing is a trick that yields dense predictions from coarse outputs without interpolation, introduced by OverFeat [29]. 
입력 이동 및 출력 인터 레이싱은 OverFeat [29]에 의해 도입 된 보간없이 거친 출력에서 ​​조밀 한 예측을 생성하는 트릭입니다.
If the outputs are downsampled by a factor of f, the input is shifted (by left and top padding) x pixels to the right and y pixels down, once for every value of (x, y) ∈ {0, . . . , f − 1} × {0, . . . , f − 1}.
출력이 f의 계수로 다운 샘플링되면 입력은 (x, y) ∈ {0,의 모든 값에 대해 한 번씩 오른쪽으로 x 픽셀, 아래쪽으로 y 픽셀 이동 (왼쪽 및 상단 패딩 기준)됩니다. . . , f − 1} × {0,. . . , f − 1}.
These f2 inputs are each run through the convnet, and the outputs are interlaced so that the predictions correspond to the pixels at the centers of their receptive fields.
이러한 f2 입력은 각각 convnet을 통해 실행되고 출력은 인터레이스되어 예측이 수용 필드의 중심에있는 픽셀에 해당합니다.
Changing only the filters and layer strides of a convnet can produce the same output as this shift-and-stitch trick. 
convnet의 필터와 레이어 보폭 만 변경하면이 시프트 앤 스티치 트릭과 동일한 결과를 얻을 수 있습니다.
Consider a layer (convolution or pooling) with input strides, and a following convolution layer with filter weights fij(eliding the feature dimensions, irrelevant here). 
입력 스트라이드가있는 레이어 (컨볼 루션 또는 풀링)와 필터 가중치가 fij (여기서는 관련없는 피처 차원 제거)가있는 다음 컨볼 루션 레이어를 고려하십시오.
Setting the lower layer’s input stride to 1 upsamples its output by a factor of s, just like shift-and-stitch. 
하위 레이어의 입력 보폭을 1로 설정하면 시프트 앤 스티치처럼 출력을 s로 업 샘플링합니다.
However, convolving the original filter with the upsampled output does not produce the same result as the trick, because the original filter only sees a reduced portion of its (now upsampled) input. 
그러나 원래 필터를 업 샘플링 된 출력과 컨볼 루션하면 트릭과 동일한 결과가 생성되지 않습니다. 원래 필터는 현재 업 샘플링 된 입력의 감소 된 부분 만보기 때문입니다.
To reproduce the trick, rarefy the filter by enlarging it as fij (with i and j zero-based). 
트릭을 재현하려면 필터를 fij (i 및 j 0 기반)로 확대하여 희소 화하십시오.
Reproducing the full net output of the trick involves repeating this filter enlargement layerby-layer until all subsampling is removed. 
트릭의 전체 순 출력을 재현하려면 모든 서브 샘플링이 제거 될 때까지이 필터 확대를 레이어별로 반복해야합니다.
Simply decreasing subsampling within a net is a tradeoff : the filters see finer information, but have smaller receptive fields and take longer to compute. 
단순히 네트 내에서 서브 샘플링을 줄이는 것은 트레이드 오프입니다. 필터는 더 미세한 정보를 보지만 수용 필드가 더 작고 계산하는 데 더 오래 걸립니다.
We have seen that the shift-and-stitch trick is another kind of tradeoff: the output is made denser without decreasing the receptive field sizes of the filters, but the filters are prohibited from accessing information at a finer scale than their original design.
우리는 시프트 앤 스티치 트릭이 또 다른 트레이드 오프라는 것을 보았습니다. 필터의 수용 필드 크기를 줄이지 않고 출력이 더 조밀 해지지 만 필터는 원래 디자인보다 더 미세한 크기로 정보에 액세스 할 수 없습니다.
Although we have done preliminary experiments with shift-and-stitch, we do not use it in our model. 
시프트 앤 스티치로 예비 실험을 수행했지만 모델에서는 사용하지 않습니다.
We find learning through upsampling, as described in the next section, to be more effective and efficient, especially when combined with the skip layer fusion described later on.
다음 섹션에서 설명하는 업 샘플링을 통한 학습이 특히 나중에 설명 할 스킵 레이어 융합과 결합 될 때 더 효과적이고 효율적이라는 것을 알게되었습니다.

3.3. Upsampling is backwards strided convolution 업 샘플링은 역방향 스트라이드 컨볼루션
Another way to connect coarse outputs to dense pixels is interpolation. 
For instance, simple bilinear interpolation computes each output yij from the nearest four inputs by a linear map that depends only on the relative positions of the input and output cells.
거친 출력을 고밀도 픽셀에 연결하는 또 다른 방법은 보간입니다
예를 들어, 단순 쌍 선형 보간은 입력 및 출력 셀의 상대적 위치에만 의존하는 선형 맵에 의해 가장 가까운 4 개의 입력에서 각 출력 yij를 계산합니다.

In a sense, upsampling with factor f is convolution with a fractional input stride of 1/f. 
어떤 의미에서 계수 f를 사용한 업 샘플링은 분수 입력 보폭이 1 / f 인 컨벌루션입니다.
So long as f is integral, a natural way to upsample is therefore backwards convolution (sometimes called deconvolution) with an output stride off.
따라서 f가 적분 인 한, 업 샘플링하는 자연스러운 방법은 출력 스트라이드를 끈 상태에서 역방향 컨볼 루션 (디컨 볼 루션이라고도 함)입니다.
Such an operation is trivial to implement, since it simply reverses the forward and backward passes of convolution.
이러한 작업은 단순히 컨볼 루션의 순방향 및 역방향 패스를 반전시키기 때문에 구현하기가 간단합니다.
Thus upsampling is performed in-network for end-to-end learning by backpropagation from the pixelwise loss.
따라서 업 샘플링은 픽셀 단위 손실로부터의 역 전파에 의해 종단 간 학습을 위해 네트워크 내에서 수행됩니다.
Note that the deconvolution filter in such a layer need not be fixed (e.g., to bilinear upsampling), but can be learned.
이러한 레이어의 디콘 볼 루션 필터는 고정 될 필요는 없지만 (예 : 이중 선형 업 샘플링) 학습 할 수 있습니다.
A stack of deconvolution layers and activation functions can even learn a nonlinear upsampling.
디콘 볼 루션 레이어와 활성화 함수의 스택은 비선형 업 샘플링을 학습 할 수도 있습니다.
In our experiments, we find that in-network upsampling is fast and effective for learning dense prediction. 
실험에서 네트워크 내 업 샘플링이 조밀 한 예측을 학습하는 데 빠르고 효과적이라는 것을 발견했습니다.
Our best segmentation architecture uses these layers to learn to upsample for refined prediction in Section 4.2.
최고의 세분화 아키텍처는 이러한 계층을 사용하여 섹션 4.2에서 개선 된 예측을 위해 업 샘플링하는 방법을 학습합니다.

3.4. Patchwise training is loss sampling Patchwise 훈련은 손실 샘플링입니다.
In stochastic optimization, gradient computation is driven by the training distribution. 
확률 적 최적화에서 기울기 계산은 훈련 분포에 의해 구동됩니다.
Both patchwise training and fully-convolutional training can be made to produce any distribution, although their relative computational efficiency depends on overlap and minibatch size. 
상대적인 계산 효율성은 중첩 및 미니 배치 크기에 따라 다르지만 패치 방식 훈련과 완전 컨볼 루션 훈련 모두 모든 분포를 생성하도록 만들 수 있습니다.
Whole image fully convolutional training is identical to patchwise training where each batch consists of all the receptive fields of the units below the loss for an image (or collection of images). 
전체 이미지 완전 컨볼 루션 훈련은 각 배치가 이미지 (또는 이미지 모음)에 대한 손실 아래 단위의 모든 수용 필드로 구성되는 패치 방식 훈련과 동일합니다.
While this is more efficient than uniform sampling of patches, it reduces the number of possible batches. 
패치를 균일하게 샘플링하는 것보다 효율적이지만 가능한 일괄 처리 수를 줄입니다.
However, random selection of patches within an image may be recovered simply. 
그러나 이미지 내에서 무작위로 선택한 패치는 간단히 복구 할 수 있습니다.
Restricting the loss to a randomly sampled subset of its spatial terms (or, equivalently applying a DropConnect mask [36] between the output and the loss) excludes patches from the gradient computation.
손실을 공간 용어의 무작위로 샘플링 된 하위 집합으로 제한 (또는 출력과 손실 사이에 DropConnect 마스크 [36]을 동등하게 적용)은 그래디언트 계산에서 패치를 제외합니다.
If the kept patches still have significant overlap, fully convolutional computation will still speed up training. 
보관 된 패치가 여전히 상당한 겹침을 가지고있는 경우 완전 컨볼 루션 계산은 여전히 ​​훈련 속도를 높입니다.
If gradients are accumulated over multiple backward passes, batches can include patches from several images.
그래디언트가 여러 역방향 패스에 누적되는 경우 일괄 처리에 여러 이미지의 패치가 포함될 수 있습니다.
Sampling in patchwise training can correct class imbalance [27, 8, 2] and mitigate the spatial correlation of dense patches [28, 16]. 
패치 방식 훈련의 샘플링은 클래스 불균형을 교정하고 [27, 8, 2] 고밀도 패치의 공간적 상관 관계를 완화 할 수 있습니다 [28, 16].
In fully convolutional training, class balance can also be achieved by weighting the loss, and loss sampling can be used to address spatial correlation.
완전 컨볼 루션 훈련에서는 손실에 가중치를 부여하여 클래스 균형을 달성 할 수 있으며 손실 샘플링을 사용하여 공간 상관 관계를 해결할 수 있습니다.
We explore training with sampling in Section 4.3, and do not find that it yields faster or better convergence for dense prediction. 
섹션 4.3에서 샘플링을 사용하여 훈련을 탐색했지만 조밀 한 예측을 위해 더 빠르거나 더 나은 수렴을 산출한다는 사실을 찾지 못했습니다.
Whole image training is effective and efficient. 
전체 이미지 훈련은 효과적이고 효율적입니다.

4. Segmentation Architecture 분할 아키텍처
We cast ILSVRC classifiers into FCNs and augment them for dense prediction with in-network upsampling and a pixelwise loss. 
ILSVRC 분류기를 FCN으로 캐스트하고 네트워크 내 업 샘플링 및 픽셀 단위 손실로 고밀도 예측을 위해이를 보강합니다.
We train for segmentation by fine-tuning. 
미세 조정을 통해 세분화를 훈련합니다.
Next, we build a novel skip architecture that combines coarse, semantic and local, appearance information to refine prediction.
다음으로, 예측을 구체화하기 위해 대략적, 의미 론적 및 로컬 모양 정보를 결합하는 새로운 스킵 아키텍처를 구축합니다.
For this investigation, we train and validate on the PASCAL VOC 2011 segmentation challenge [7]. 
이 조사를 위해 PASCAL VOC 2011 세그멘테이션 챌린지 [7]에 대해 교육하고 검증합니다.
We train with a per-pixel multinomial logistic loss and validate with the standard metric of mean pixel intersection over union, with the mean taken over all classes, including background. 
우리는 픽셀 당 다항 로지스틱 손실로 훈련하고 배경을 포함하여 모든 클래스를 차지하는 평균을 사용하여 유니온을 통한 평균 픽셀 교차의 표준 메트릭으로 검증합니다.
The training ignores pixels that are masked out (as ambiguous or difficult) in the ground truth.
훈련은 실측에서 가려진 (모호하거나 어려운) 픽셀을 무시합니다.

4.1. From classifier to dense FCN 분류기에서 고밀도 FCN으로
We begin by convolutionalizing proven classification architectures as in Section 3. 
섹션 3에서와 같이 입증 된 분류 아키텍처를 컨볼 루션 화하여 시작합니다.
We consider the AlexNet3 architecture [19] that won ILSVRC12, as well as the VGGnets [31] and the GoogLeNet4[32] which did exceptionally well in ILSVRC14. 
We pick the VGG 16-layer net5, which we found to be equivalent to the 19-layer net on this task. 
ILSVRC12에서 우승 한 AlexNet3 아키텍처 [19]와 ILSVRC14에서 예외적으로 잘 수행 된 VGGnets [31] 및 GoogLeNet4 [32]를 고려합니다.
우리는 VGG 16-layer net5를 선택하는데, 이는이 작업에서 19-layer net과 동일하다는 것을 알았습니다.
For GoogLeNet, we use only the final loss layer, and improve performance by discarding the final average pooling layer. 
GoogLeNet의 경우 최종 손실 레이어 만 사용하고 최종 평균 풀링 레이어를 삭제하여 성능을 향상시킵니다.
We decapitate each net by discarding the final classifier layer, and convert all fully connected layers to convolutions. 
최종 분류 자 ​​레이어를 폐기하여 각 네트를 잘라 내고 완전히 연결된 모든 레이어를 컨볼 루션으로 변환합니다.
We append a 1 × 1 convolution with channel dimension 21 to predict scores for each of the PASCAL classes (including background) at each of the coarse output locations, followed by a deconvolution layer to bilinearly upsample the coarse outputs to pixel-dense outputs as described in Section 3.3. 
각각의 거친 출력 위치에서 각 PASCAL 클래스 (배경 포함)에 대한 점수를 예측하기 위해 채널 차원이 21 인 1 × 1 컨볼 루션을 추가 한 다음 설명 된대로 거친 출력을 픽셀 밀도 출력으로 쌍 선형으로 업 샘플링하는 디컨 볼 루션 레이어를 추가합니다. 3.3 절.
Table 1 compares the preliminary validation results along with the basic characteristics of each net. 
표 1은 각 네트의 기본 특성과 함께 예비 검증 결과를 비교합니다.
We report the best results achieved after convergence at a fixed learning rate (at least 175 epochs). 
고정 학습률 (최소 175 epoch)에서 수렴 후 달성 된 최상의 결과를 보고합니다.
Fine-tuning from classification to segmentation gave reasonable predictions for each net. 
분류에서 세분화까지 미세 조정하여 각 네트에 대해 합리적인 예측을 제공했습니다.
Even the worst model achieved ∼ 75% of state-of-the-art performance. 
최악의 모델조차도 최첨단 성능의 약 75 %를 달성했습니다
The segmentation-equippped VGG net (FCN-VGG16) already appears to be state-of-the-art at 56.0 mean IU on val, compared to 52.6 on test [16]. 
세그멘테이션이 장착 된 VGG net (FCN-VGG16)은 이미 56.0 평균 IU on val에 대해 최첨단 인 것처럼 보입니다 [16].
Training on extra data raises performance to 59.4 mean IU on a subset of val.
추가 데이터에 대한 훈련은 val7의 하위 집합에서 성능을 59.4 평균 IU로 높입니다.
Training details are given in Section 4.3.
학습 세부 사항은 섹션 4.3에 나와 있습니다.
Despite similar classification accuracy, our implementation of GoogLeNet did not match this segmentation result.
유사한 분류 정확도에도 불구하고 GoogLeNet의 구현은이 세분화 결과와 일치하지 않았습니다.

4.2. Combining what and where 무엇과 위치 결합 

정보를 융합하여 완전 컨벌루션 네트 정제 보폭이 다른 레이어에서 세분화 세부 사항을 개선합니다. 처음 세 개의 이미지는 32, 16 및 8의 출력을 보여줍니다. 픽셀 스트라이드 네트 (그림 3 참조).

We define a new fully convolutional net (FCN) for segmentation that combines layers of the feature hierarchy and refines the spatial precision of the output. See Figure 3.
특징 계층 구조의 레이어를 결합하고 출력의 공간 정밀도를 개선하는 분할을위한 새로운 FCN (Full Convolutional Net)을 정의합니다. 그림 3을 참조하십시오.
While fully convolutionalized classifiers can be finetuned to segmentation as shown in 4.1, and even score highly on the standard metric, their output is dissatisfyingly coarse (see Figure 4). 
완전히 컨볼 루션 화 된 분류기는 4.1과 같이 세분화에 맞게 미세 조정할 수 있고 표준 메트릭에서 높은 점수를받을 수도 있지만 출력은 만족스럽지 않을 정도로 거칠다 (그림 4 참조).
The 32 pixel stride at the final prediction layer limits the scale of detail in the upsampled output. 
최종 예측 레이어의 32 픽셀 보폭은 업 샘플링 된 출력의 디테일 스케일을 제한합니다.
We address this by adding links that combine the final prediction layer with lower layers with finer strides. 
우리는 최종 예측 레이어와 더 미세한 보폭을 가진 하위 레이어를 결합하는 링크를 추가하여이 문제를 해결합니다.
This turns a line topology into a DAG, with edges that skip ahead from lower layers to higher ones (Figure 3). 
이렇게하면 라인 토폴로지가 DAG로 바뀌며 에지가 하위 레이어에서 상위 레이어로 건너 뜁니다 (그림 3).
As they see fewer pixels, the finer scale predictions should need fewer layers, so it makes sense to make them from shallower net outputs. 
픽셀 수가 적기 때문에 미세한 스케일 예측에는 더 적은 레이어가 필요하므로 더 얕은 순 출력에서 ​​만드는 것이 좋습니다.
Combining fine layers and coarse layers lets the model make local predictions that respect global structure.
미세 레이어와 거친 레이어를 결합하면 모델이 전역 구조를 고려하는 로컬 예측을 할 수 있습니다
We first divide the output stride in half by predicting from a 16 pixel stride layer. 
We add a 1 × 1 convolution layer on top of pool4 to produce additional class predictions. 
Florack et al.의 멀티 스케일 로컬 제트와 유사합니다. 
[10], 우리는 비선형 국부적 특징 계층을 딥 제트라고 부릅니다.
We fuse this output with the predictions computed on top of conv7 (convolutionalized fc7) at stride 32 by adding a 2× upsampling layer and summing6 both predictions. (See Figure 3). 
먼저 16 픽셀 스트라이드 레이어에서 예측하여 출력 스트라이드를 반으로 나눕니다. 
추가 클래스 예측을 생성하기 위해 pool4 위에 1 × 1 컨볼 루션 레이어를 추가합니다.
우리는 2x 업 샘플링 레이어를 추가하고 두 예측을 합산하여 stride 32에서 conv7 (convolutionalized fc7) 위에서 계산 된 예측과이 출력을 융합합니다. (그림 3 참조).
We initialize the 2× upsampling to bilinear interpolation, but allow the parameters to be learned as described in Section 3.3. 
2x 업 샘플링을 쌍 선형 보간으로 초기화하지만 3.3 절에 설명 된대로 매개 변수를 학습 할 수 있습니다.
Finally, the stride 16 predictions are upsampled back to the image. We call this net FCN-16s.
마지막으로, stride 16 예측은 이미지로 다시 업 샘플링됩니다. 우리는 이것을 FCN-16이라고 부릅니다.
FCN-16s is learned end-to-end, initialized with the parameters of the last, coarser net, which we now call FCN-32s. 
FCN-16s는 종단 간 학습되며, 이제는 FCN-32라고하는 마지막의 거친 네트워크 매개 변수로 초기화됩니다.
The new parameters acting on pool4 are zero-initialized so that the net starts with unmodified predictions. 
풀 4에서 작동하는 새 매개 변수는 0으로 초기화되어 네트워크가 수정되지 않은 예측으로 시작됩니다.
The learning rate is decreased by a factor of 100.
학습률이 100 배 감소합니다.
Learning this skip net improves performance on the validation set by 3.0 mean IU to 62.4. Figure 4 shows improvement in the fine structure of the output. 
이 스킵 네트를 학습하면 3.0 평균 IU에서 62.4로 설정된 유효성 검사 성능이 향상됩니다. 그림 4는 출력의 미세 구조 개선을 보여줍니다.
We compared this fusion with learning only from the pool4 layer (which resulted in poor performance), and simply decreasing the learning rate without adding the extra link (which results in an insignificant performance improvement, without improving the quality of the output).
우리는이 융합을 pool4 계층에서만 학습 (성능이 저하됨)하고 추가 링크를 추가하지 않고 학습률을 낮추는 것과 비교했습니다 (출력 품질을 개선하지 않고 성능이 크게 향상되지 않음).
We continue in this fashion by fusing predictions from pool3 with a 2× upsampling of predictions fused from pool4 and conv7, building the net FCN-8s. 
우리는 pool3의 예측을 pool4와 conv7에서 융합 된 예측의 2 배 업 샘플링과 융합하여 net FCN-8을 구축함으로써 이러한 방식을 계속합니다.
We obtain a minor additional improvement to 62.7 mean IU, and find a slight improvement in the smoothness and detail of our output. 
62.7 평균 IU로 약간의 추가 개선을 얻었으며 출력의 부드러움과 세부 사항에서 약간의 개선을 발견했습니다.
At this point our fusion improvements have met diminishing returns, both with respect to the IU metric which emphasizes large-scale correctness, and also in terms of the improvement visible e.g. in Figure 4, so we do not continue fusing even lower layers.
이 시점에서 우리의 융합 개선은 대규모 정확성을 강조하는 IU 메트릭과 가시적 인 개선 측면에서 모두 감소하는 수익을 만났습니다. 그림 4에서는 더 낮은 레이어를 계속 융합하지 않습니다.

 

Refinement by other means 다른 수단에 의한 구체화

Decreasing the stride of pooling layers is the most straightforward way to obtain finer predictions. 
풀링 레이어의 보폭을 줄이는 것이 더 정밀한 예측을 얻는 가장 간단한 방법입니다.
However, doing so is problematic for our VGG16-based net. 
Setting the pool5 layer to have stride 1 requires our convolutionalized fc6 to have a kernel size of 14 × 14 in order to maintain its receptive field size. 
그러나 그렇게하는 것은 VGG16 기반 네트워크에 문제가 있습니다. 
풀 5 레이어를 스트라이드 1로 설정하려면 컨볼 루션 화 된 fc6이 수용 필드 크기를 유지하기 위해 14 × 14의 커널 크기를 가져야합니다.
In addition to their computational cost, we had difficulty learning such large filters. 
계산 비용 외에도 이러한 대형 필터를 배우는 데 어려움이있었습니다. 
We made an attempt to re-architect the layers above pool5 with smaller filters, but were not successful in achieving comparable performance; 
one possible explanation is that the initialization from ImageNet-trained weights in the upper layers is important.
우리는 더 작은 필터로 pool5 위의 레이어를 재구성하려고 시도했지만 비슷한 성능을 달성하는 데 성공하지 못했습니다. 한 가지 가능한 설명은 상위 계층에서 ImageNet 훈련 가중치의 초기화가 중요하다는 것입니다.
Another way to obtain finer predictions is to use the shiftand-stitch trick described in Section 3.2. 
In limited experiments, we found the cost to improvement ratio from this method to be worse than layer fusion.
더 정밀한 예측을 얻는 또 다른 방법은 섹션 3.2에 설명 된 시프트 앤 스티치 트릭을 사용하는 것입니다. 
제한된 실험에서이 방법의 비용 대 개선 비율이 레이어 융합보다 더 나쁘다는 것을 발견했습니다.

4.3. Experimental framework

우리의 DAG 네트는 거칠고 높은 계층 정보와 미세한 낮은 계층 정보를 결합하는 방법을 배웁니다. 레이어는 그리드로 표시됩니다. 상대적인 공간 거칠기를 드러내십시오. 풀링 및 예측 레이어 만 표시됩니다. 중간 합성 곱 레이어 (변환 된 완전히 연결된 레이어)는 생략됩니다. 실선 (FCN-32s) : 섹션 4.1에 설명 된 단일 스트림 네트는 스트라이드 32 예측을 업 샘플링합니다. 한 단계에서 픽셀로 돌아갑니다. 파선 (FCN-16) : 최종 레이어와 풀 4 레이어의 예측을 보폭으로 결합 16, 우리의 네트워크는 높은 수준의 의미 정보를 유지하면서 더 미세한 세부 사항을 예측할 수 있습니다. 점선 (FCN-8s) : 추가 예측 8 번 보폭의 pool3은 더 높은 정밀도를 제공합니다.


Optimization 

We train by SGD with momentum. 
최적화 우리는 기세로 SGD로 훈련합니다.
We use a minibatch size of 20 images and fixed learning rates of 10−3 , 10−4 , and 5−5 for FCN-AlexNet, FCN-VGG16, and FCN-GoogLeNet, respectively, chosen by line search. 
우리는 라인 검색에서 선택한 FCN-AlexNet, FCN-VGG16 및 FCN-GoogLeNet에 대해 각각 20 개의 이미지의 미니 배치 크기와 10−3, 10−4 및 5−5의 고정 학습률을 사용합니다.
We use momentum 0.9, weight decay of 5−4 or 2−4, and doubled the learning rate for biases, although we found training to be insensitive to these parameters (but sensitive to the learning rate). 
운동량 0.9, 5-4 또는 2-4의 가중치 감소를 사용하고 편향에 대한 학습률을 두 배로 높였지만 훈련이 이러한 매개 변수에 민감하지 않은 것으로 나타 났지만 (학습률에 민감 함).
We zero-initialize the class scoring convolution layer, finding random initialization to yield neither better performance nor faster convergence. Dropout was included where used in the original classifier nets.
클래스 스코어링 컨볼 루션 레이어를 0으로 초기화하여 더 나은 성능이나 더 빠른 수렴을 제공하지 않는 임의 초기화를 찾습니다. 드롭 아웃은 원래 분류기 네트에서 사용 된 곳에 포함되었습니다.


Fine-tuning 

We fine-tune all layers by backpropagation through the whole net. Fine-tuning the output classifier alone yields only 70% of the full finetuning performance as compared in Table 2. 
미세 조정 전체 네트워크를 통한 역 전파에 의해 모든 레이어를 미세 조정합니다. 출력 분류기만 미세 조정하면 표 2와 비교하여 전체 미세 조정 성능의 70 % 만 산출됩니다.
Training from scratch is not feasible considering the time required to learn the base classification nets. (Note that the VGG net is trained in stages, while we initialize from the full 16-layer version.) 
기본 분류 네트를 학습하는 데 필요한 시간을 고려할 때 처음부터 훈련하는 것은 불가능합니다. (VGG net은 단계적으로 훈련되지만 전체 16 계층 버전에서 초기화됩니다.)
Fine-tuning takes three days on a single GPU for the coarse FCN-32s version, and about one day each to upgrade to the FCN-16s and FCN-8s versions.
미세 조정은 거친 FCN-32s 버전의 경우 단일 GPU에서 3 일이 걸리며 FCN-16s 및 FCN-8s 버전으로 업그레이드하는 데 각각 약 하루가 걸립니다.


Patch Sampling 

As explained in Section 3.4, our full image training effectively batches each image into a regular grid of large, overlapping patches. 
패치 샘플링 3.4 절에서 설명한 것처럼 전체 이미지 학습은 각 이미지를 크고 겹치는 패치의 규칙적인 그리드로 효과적으로 배치합니다.
By contrast, prior work randomly samples patches over a full dataset [27, 2, 8, 28, 11], potentially resulting in higher variance batches that may accelerate convergence [22]. 
대조적으로, 이전 작업은 전체 데이터 세트 [27, 2, 8, 28, 11]에서 패치를 무작위로 샘플링하여 잠재적으로 수렴을 가속화 할 수있는 더 높은 분산 배치를 생성합니다 [22].
We study this tradeoff by spatially sampling the loss in the manner described earlier, making an independent choice to ignore each final layer cell with some probability 1−p. 
우리는 앞서 설명한 방식으로 손실을 공간적으로 샘플링하여이 트레이드 오프를 연구하고, 어떤 확률 1p로 각 최종 레이어 셀을 무시하도록 독립적 인 선택을합니다.
To avoid changing the effective batch size, we simultaneously increase the number of images per batch by a factor 1/p. 
효과적인 배치 크기 변경을 방지하기 위해 배치 당 이미지 수를 1 / p 씩 동시에 늘립니다.
Note that due to the efficiency of convolution, this form of rejection sampling is still faster than patchwise training for large enough values of p (e.g., at least for p > 0.2 according to the numbers in Section 3.1). 
컨볼 루션의 효율성으로 인해 이러한 형태의 거부 샘플링은 p 값이 충분히 큰 경우 패치 방식 학습보다 여전히 빠릅니다 (예 : 3.1 절의 숫자에 따라 p> 0.2 이상).
Figure 5 shows the effect of this form of sampling on convergence. 
We find that sampling does not have a significant effect on convergence rate compared to whole image training, but takes significantly more time due to the larger number of images that need to be considered per batch. 
그림 5는 이러한 형태의 샘플링이 수렴에 미치는 영향을 보여줍니다. 
샘플링은 전체 이미지 훈련에 비해 수렴 률에 큰 영향을 미치지 않지만 배치 당 고려해야하는 이미지 수가 더 많기 때문에 훨씬 더 많은 시간이 걸립니다.
We therefore choose unsampled, whole image training in our other experiments.
그림 5는 이러한 형태의 샘플링이 수렴에 미치는 영향을 보여줍니다. 샘플링은 전체 이미지 훈련에 비해 수렴 률에 큰 영향을 미치지 않지만 배치 당 고려해야하는 이미지 수가 더 많기 때문에 훨씬 더 많은 시간이 걸립니다.

Class Balancing 
Fully convolutional training can balance classes by weighting or sampling the loss. 
완전 컨벌루션 훈련은 손실을 가중하거나 샘플링하여 클래스의 균형을 맞출 수 있습니다.
Although our labels are mildly unbalanced (about 3/4 are background), we find class balancing unnecessary. 
레이블이 약간 불균형 (약 3/4은 배경)이지만 클래스 균형이 필요하지 않습니다.

 

Dense Prediction 

The scores are upsampled to the input dimensions by deconvolution layers within the net. 
조밀 한 예측 점수는 네트 내의 디컨 볼 루션 레이어에 의해 입력 차원으로 업 샘플링됩니다.
Final layer deconvolutional filters are fixed to bilinear interpolation, while intermediate upsampling layers are initialized to bilinear upsampling, and then learned. 
최종 레이어 디컨 볼 루션 필터는 쌍 선형 보간으로 고정되고 중간 업 샘플링 레이어는 쌍 선형 업 샘플링으로 초기화 된 다음 학습됩니다.
Shift-andstitch (Section 3.2), or the filter rarefaction equivalent, are not used.
Shift-andstitch (섹션 3.2) 또는 동등한 필터 희박성은 사용되지 않습니다.

Augmentation 
We tried augmenting the training data by randomly mirroring and “jittering” the images by translating them up to 32 pixels (the coarsest scale of prediction) in each direction. 
우리는 이미지를 각 방향으로 최대 32 픽셀 (가장 거친 예측 스케일)로 변환하여 이미지를 무작위로 미러링하고 "지 터링"하여 훈련 데이터를 증가 시켰습니다.
This yielded no noticeable improvement. 
이로 인해 눈에 띄는 개선이 이루어지지 않았습니다.


More Training Data 

The PASCAL VOC 2011 segmentation challenge training set, which we used for Table 1, labels 1112 images. Hariharan et al. [15] have collected labels for a much larger set of 8498 PASCAL training images, which was used to train the previous state-of-the-art system, SDS [16]. 
추가 교육 데이터 표 1에 사용한 PASCAL VOC 2011 세분화 챌린지 교육 세트는 1112 개의 이미지에 레이블을 지정합니다. Hariharan et al. [15] 훨씬 더 큰 8498 PASCAL 훈련 이미지 세트에 대한 레이블을 수집했으며, 이는 이전의 최첨단 시스템 인 SDS [16]를 훈련하는 데 사용되었습니다.
This training data improves the FCNVGG16 validation score7 by 3.4 points to 59.4 mean IU. 
이 훈련 데이터는 FCNVGG16 검증 점수 7를 3.4 점으로 평균 59.4 점으로 향상시킵니다.

 

Implementation 

All models are trained and tested with Caffe [18] on a single NVIDIA Tesla K40c. 
구현 모든 모델은 단일 NVIDIA Tesla K40c에서 Caffe [18]로 교육 및 테스트되었습니다.
The models and code will be released open-source on publication.
모델과 코드는 공개시 오픈 소스로 공개됩니다.

5. Results
We test our FCN on semantic segmentation and scene parsing, exploring PASCAL VOC, NYUDv2, and SIFT Flow. 
시맨틱 분할 및 장면 구문 분석에서 FCN을 테스트하고 PASCAL VOC, NYUDv2 및 SIFT 흐름을 탐색합니다
Although these tasks have historically distinguished between objects and regions, we treat both uniformly as pixel prediction. 
이러한 작업은 역사적으로 물체와 영역을 구분 해 왔지만 둘 다 픽셀 예측으로 동일하게 취급합니다.
We evaluate our FCN skip architecture8 on each of these datasets, and then extend it to multi-modal input for NYUDv2 and multi-task prediction for the semantic and geometric labels of SIFT Flow.
이러한 각 데이터 세트에서 FCN 건너 뛰기 아키텍처 8를 평가 한 다음 NYUDv2에 대한 다중 모달 입력과 SIFT 흐름의 의미 및 기하학적 레이블에 대한 다중 작업 예측으로 확장합니다.

 

Metrics 

We report four metrics from common semantic segmentation and scene parsing evaluations that are variations on pixel accuracy and region intersection over union (IU). 
메트릭스 우리는 픽셀 정확도와 유니온을 통한 영역 교차 (IU)에 대한 변형 인 일반적인 의미 론적 분할 및 장면 분석 평가에서 4 개의 메트릭을보고합니다.
Let nij be the number of pixels of class i predicted to belong to class j, where there are ncl different classes, and let ti = Pj nij be the total number of pixels of class i. 
nij를 클래스 j에 속할 것으로 예상되는 클래스 i의 픽셀 수로, ncl 다른 클래스가있는 경우, ti = Pj nij를 클래스 i의 총 픽셀 수라고합시다.

We compute: 우리는 다음을 계산합니다.
*pixel accuracy* 픽셀 정확도
*mean accuracy* 평균 정확도
*mean IU* 평균 IU
*frequency weighted IU* 주파수 가중치 IU

PASCAL VOC 

Table 3 gives the performance of our FCN-8s on the test sets of PASCAL VOC 2011 and 2012, and compares it to the previous state-of-the-art, SDS [16], and the well-known R-CNN [12]. 
PASCAL VOC 표 3은 PASCAL VOC 2011 및 2012의 테스트 세트에 대한 FCN-8의 성능을 제공하며 이전의 최신 기술인 SDS [16] 및 잘 알려진 R-CNN과 비교합니다. [12].
We achieve the best results on mean IU9 by a relative margin of 20%. Inference time is reduced 114× (convnet only, ignoring proposals and refinement) or 286× (overall).
평균 IU9에서 상대 마진 20 %로 최상의 결과를 얻었습니다. 추론 시간은 114 배 (convnet 만, 제안 및 개선 무시) 또는 286 배 (전체)가 감소합니다.


NYUDv2 

[30] is an RGB-D dataset collected using the Microsoft Kinect. It has 1449 RGB-D images, with pixelwise labels that have been coalesced into a 40 class semantic segmentation task by Gupta et al. [13]. 
NYUDv2 [30]은 Microsoft Kinect를 사용하여 수집 한 RGB-D 데이터 세트입니다. 1449 개의 RGB-D 이미지가 있으며 Gupta et al.에 의해 40 개의 클래스 의미 분할 작업으로 통합 된 픽셀 단위 레이블이 있습니다. [13].
We report results on the standard split of 795 training images and 654 testing images. (Note: all model selection is performed on PASCAL 2011 val.) 
795 개의 훈련 이미지와 654 개의 테스트 이미지의 표준 분할에 대한 결과를보고합니다. (참고 : 모든 모델 선택은 PASCAL 2011 val에서 수행됩니다.)
Table 4 gives the performance of our model in several variations. First we train our unmodified coarse model (FCN-32s) on RGB images. 
표 4는 여러 변형에서 모델의 성능을 보여줍니다. 먼저 RGB 이미지에 대해 수정되지 않은 거친 모델 (FCN-32s)을 훈련합니다.
To add depth information, we train on a model upgraded to take four-channel RGB-D input (early fusion). 
깊이 정보를 추가하기 위해 4 채널 RGB-D 입력 (초기 융합)을 사용하도록 업그레이드 된 모델을 학습합니다
This provides little benefit, perhaps due to the difficultly of propagating meaningful gradients all the way through the model. 
이는 의미있는 기울기를 모델 전체에 전파하기 어렵 기 때문에 거의 이점을 제공하지 않습니다.
Following the success of Gupta et al. [14], we try the three-dimensional HHA encoding of depth, training nets on just this information, as well as a “late fusion” of RGB and HHA where the predictions from both nets are summed at the final layer, and the resulting two-stream net is learned end-to-end. 
굽타 외의 성공에 이어. [14] 심도의 3 차원 HHA 인코딩,이 정보에 대한 트레이닝 네트, 그리고 두 네트의 예측이 최종 레이어에서 합산되는 RGB 및 HHA의 "후기 융합"을 시도합니다. 두 스트림 네트워크는 종단 간 학습됩니다.
Finally we upgrade this late fusion net to a 16-stride version.
마지막으로이 최신 퓨전 네트를 16-stride 버전으로 업그레이드합니다.

 

SIFT Flow

완전 컨볼 루션 분할 네트는 PASCAL에서 최첨단 성능을 생성합니다. 왼쪽 열은 최고 성능의 네트 FCN-8의 출력. 두 번째 쇼 이전의 최첨단 시스템에 의해 생성 된 세분화 Hariharan et al. [16]. 복구 된 미세 구조 (먼저 행), 밀접하게 상호 작용하는 객체를 분리하는 기능 (두 번째 행), 차단기에 대한 견고 함 (세 번째 행). 네 번째 행은 실패 사례 : 그물은 보트의 구명 조끼를 사람으로 본다.

SIFT Flow is a dataset of 2,688 images with pixel labels for 33 semantic categories (“bridge”, “mountain”, “sun”), as well as three geometric categories (“horizontal”, “vertical”, and “sky”). 
SIFT Flow는 33 개의 의미 론적 범주 (“다리”,“산”,“태양”) 및 세 가지 기하학적 범주 (“수평”,“수직”및“하늘”)에 대한 픽셀 레이블이있는 2,688 개의 이미지 데이터 세트입니다.
An FCN can naturally learn a joint representation that simultaneously predicts both types of labels.
FCN은 두 가지 유형의 레이블을 동시에 예측하는 공동 표현을 자연스럽게 학습 할 수 있습니다.
We learn a two-headed version of FCN-16s with semantic and geometric prediction layers and losses. 
의미 론적 및 기하학적 예측 계층과 손실이있는 FCN-16의 양방향 버전을 배웁니다.
The learned model performs as well on both tasks as two independently trained models, while learning and inference are essentially as fast as each independent model by itself. 
학습 된 모델은 독립적으로 학습 된 두 모델로 두 작업 모두에서 잘 수행되는 반면 학습 및 추론은 기본적으로 각 독립 모델 자체만큼 빠릅니다.
The results in Table 5, computed on the standard split into 2,488 training and 200 test images,10 show state-of-the-art performance on both tasks.
2,488 개의 학습 및 200 개의 테스트 이미지로 분할 된 표준에서 계산 된 표 5의 결과는 두 작업 모두에서 최첨단 성능을 보여줍니다.

6. Conclusion
Fully convolutional networks are a rich class of models, of which modern classification convnets are a special case. 
Recognizing this, extending these classification nets to segmentation, and improving the architecture with multi-resolution layer combinations dramatically improves the state-of-the-art, while simultaneously simplifying and speeding up learning and inference.
완전 컨볼 루션 네트워크는 최신 분류 convnet이 특별한 경우 인 풍부한 모델 클래스입니다. 
이를 인식하고 이러한 분류 망을 세분화로 확장하고 다중 해상도 레이어 조합으로 아키텍처를 개선하면 최신 기술이 크게 향상되는 동시에 학습 및 추론이 단순화되고 가속화됩니다.

A. Upper Bounds on IU IU의 상한선
In this paper, we have achieved good performance on the mean IU segmentation metric even with coarse semantic prediction. 
이 백서에서는 대략적인 의미 론적 예측에서도 평균 IU 세분화 메트릭에서 우수한 성능을 달성했습니다.
To better understand this metric and the limits of this approach with respect to it, we compute approximate upper bounds on performance with prediction at various scales. 
이 측정 항목과 이와 관련된이 접근 방식의 한계를 더 잘 이해하기 위해 다양한 규모의 예측을 통해 성능에 대한 대략적인 상한을 계산합니다.
We do this by downsampling ground truth images and then upsampling them again to simulate the best results obtainable with a particular downsampling factor. 
특정 다운 샘플링 인자로 얻을 수있는 최상의 결과를 시뮬레이션하기 위해 Ground Truth 이미지를 다운 샘플링 한 다음 다시 업 샘플링하여이를 수행합니다.
The following table gives the mean IU on a subset of PASCAL 2011 val for various downsampling factors. 
다음 표는 다양한 다운 샘플링 요인에 대한 PASCAL 2011 val의 하위 집합에 대한 평균 IU를 제공합니다.
Pixel-perfect prediction is clearly not necessary to achieve mean IU well above state-of-the-art, and, conversely, mean IU is a not a good measure of fine-scale accuracy. 
최첨단의 평균 IU를 훨씬 능가하는 평균 IU를 달성하기 위해 픽셀 완벽한 예측은 분명히 필요하지 않으며 반대로 IU가 미세한 정확도의 좋은 척도가 아님을 의미합니다.

B. More Results 추가 결과
We further evaluate our FCN for semantic segmentation.
시맨틱 분할을 위해 FCN을 추가로 평가합니다.
PASCAL-Context [26] provides whole scene annotations of PASCAL VOC 2010. 
PASCAL-Context [26]는 PASCAL VOC 2010의 전체 장면 주석을 제공합니다.
While there are over 400 distinct classes, we follow the 59 class task defined by [26] that picks the most frequent classes. 
400 개가 넘는 클래스가 있지만 가장 빈번한 클래스를 선택하는 [26]에 정의 된 59 개의 클래스 작업을 따릅니다.
We train and evaluate on the training and val sets respectively. 
우리는 훈련과 val 세트를 각각 훈련하고 평가합니다.
In Table 6, we compare to the joint object + stuff variation of Convolutional Feature Masking [3] which is the previous state-of-the-art on this task. 
표 6에서 우리는이 작업에 대한 이전의 최신 기술인 Convolutional Feature Masking [3]의 조인트 객체 + 재료 변형을 비교합니다.
FCN-8s scores 35.1 mean IU for an 11% relative improvement. 
FCN-8s 점수 35.1은 11 % 상대적 개선에 대한 IU를 의미합니다.

Changelog변경 로그
The arXiv version of this paper is kept up-to-date with corrections and additional relevant material. 
이 문서의 arXiv 버전은 수정 및 추가 관련 자료를 통해 최신 상태로 유지됩니다.
The following gives a brief history of changes.
다음은 간단한 변경 내역을 제공합니다.


v2 

Add Appendix A giving upper bounds on mean IU and Appendix B with PASCAL-Context results. 
PASCAL-Context 결과와 함께 평균 IU 및 부록 B에 대한 상한을 제공하는 부록 A를 추가합니다.
Correct PASCAL validation numbers (previously, some val images were included in train), SIFT Flow mean IU (which used an inappropriately strict metric), and an error in the frequency weighted mean IU formula. Add link to models and update timing numbers to reflect improved implementation (which is publicly available).
올바른 PASCAL 유효성 검사 번호 (이전에는 일부 val 이미지가 기차에 포함됨), SIFT 흐름 평균 IU (부적절하게 엄격한 메트릭 사용), 주파수 가중치 평균 IU 공식의 오류. 모델에 대한 링크를 추가하고 개선 된 구현을 반영하도록 타이밍 번호를 업데이트합니다 (공개적으로 제공됨).