Computer Vision/Semantic Segmentation 6

DeepLab V3+ Xception

이전 글에서 소개한 Xception, Depth-wise Separable Convolution 등을 토대로 DeepLab V3+ Xception을 소개한다. DeepLab V3+ Xception에서 사용하는 Xception BackBone은 이전글에서 소개한 Xception과는 구조가 약간 다르다. Middle flow를 기존에 8번 반복하던 것에서 16번으로 바꾸어 더 깊은 구조를 형성 Max Pooling을 Depth-wise Separable Convolution(stride=2)로 바꾸어 사용 3 * 3 Depth-wise Convolution 후에 Batch Normalization과 ReLU를 사용하였다. 다음과 같이 수정된 Xception을 BackBone으로 이용한다. 여기서 BackBo..

Inception & Xception (for DeepLab V3+ Xception)

이번 글에서는 DeepLab V3+ Xception의 BackBone이 되는 Xception과 Xception의 이전 버전 모델인 Inception에 대해 소개한다. Inception Inception은 2014년 IRSVRC에서 1등한 모델로 GoogLeNet이라고도 부른다. Inception은 노드 간의 연결을 줄이면서(Sparse Connectivity), 행렬연산은 Dense하도록 처리한다. Inception의 기본 가정은 채널과 공간의 convolution을 분리하는 것이다. 위의 그림을 보면 모두 1 * 1 conv를 진행한 후 각자 다른 conv를 이용해 convolution을 수행하고 결과를 concatenation한다. 이 과정으로 채널과 공간의 convolution을 분리하게 된다. X..

Depth-wise Separable Convolution (for DeepLab V3+ Xception)

DeepLab V3+ Xception은 Xception model을 BackBone으로 이용한 DeepLab V3+ 아키텍처이다. 이번 글에서는 DeepLab V3+ Xception을 이해하기 위해 필요한 개념인 Depth-wise Separable convolution에 대해 소개한다. Depth-wise Convolution 기본적인 convolution 연산은 R, G, B 3개의 채널에 대하여 모두 같은 kernel을 이용하여 각각의 feature map을 뽑아낸 후 이를 합연산하여 하나의 feature map을 생성한다. 이렇게 convolution 할 경우 모든 채널에 같은 filter를 적용해야 하므로 해당 채널에 특이적인 filter를 만들 수 없다. 반면 Depth-wise Convolu..

DeepLab V3+

이전 글에서 DeepLab V3+를 이해하기 위해 필요한 Atrous Convolution, ASPP에 대해 소개하였다. 이를 이용하여 이번 글에서는 DeepLab V3+에 대해 소개한다. 위의 그림은 전체적인 DeepLab V3+의 구조이다. DeepLab V3+는 Encoder - Decoder 구조로 이루어져 있다. Encoder에서는 먼저 Atrous Conv를 이용하여 feature map을 형성한다. 그 후 ASPP를 이용하여 최종 feature map을 형성한다(ASPP를 이용하면 다양한 receptive field를 이용하여 feature map을 형성할 수 있다). Decoder의 시작은 Encoder에서 생성한 Low-Level Features로부터 시작한다. Encoder의 featu..

Atrous Convolution, Atrous Spatial Pyramid Pooling(ASPP) (for DeepLab V3+)

DeepLab v1~v3는 대표적인 segmentation 모델이다. 이번 글에서는 가장 최신 segmentation model 중 하나인 DeepLab V3+를 이해하기 위해 필요한 Atrous Convolution, Atrous Spatial Pyramid Pooling(ASPP)를 설명한다. Atrous Convolution Atrous Convolution은 기존 covolution과 동일한 parameter, 연산량을 유지하면서 receptive field(convolution kernel이 인지하는 영역)는 크게 만드는 covolution이다. 중심 pixel의 최근접 이웃 pixel이 아닌 더 먼 거리의 이웃 pixel을 이용하여 convolution을 진행하면 더 큰 영역을 인식하는 fea..

Segmentation Metric(Pixel Accuracy, Intersection over Union)

1. Pixel Accuracy(PA) 픽셀을 올바르게 예측한 비율 위의 식에서 K는 foreground class의 수이며 실제로는 background가 존재하기 때문에 총 K+1개의 class이다. pij는 i인 class에 대하여 j로 예측한 것을 나타낸다. 즉 모든 예측 결과에서 pii인 경우(i를 i로 옳게 예측한 경우)의 비율을 나타낸 것이다(accuracy와 비슷한 원리). 2. Intersection over Union(IoU) 예측한 segmentation map과 ground truth(실제 label)의 교집합을 합집합으로 나누어 구한다. semantic segmentation에서 자주 사용된다.