아이공의 AI 공부 도전기

PR-123 "Partial Convolution based Padding" Review (2018 Technical Report)(Conv Padding)

 

 

     

 

 

 

1. Citations & Abstract 읽기

Citations : 2022.01.10 기준 49회

저자

Guilin Liu, Kevin J. Shih, Ting-Chun Wang, Fitsum A. Reda, Karan Sapra, Zhiding Yu, Andrew Tao, Bryan Catanzaro - NVIDIA Corporation


Technical Report (Technical Report) 2018

Abstract

 

 

 

2. 발표 정리

https://youtu.be/IKHzc7sGCxQ

 

공식 논문 링크

 

 

https://arxiv.org/abs/1811.11718

 

Partial Convolution based Padding

In this paper, we present a simple yet effective padding scheme that can be used as a drop-in module for existing convolutional neural networks. We call it partial convolution based padding, with the intuition that the padded region can be treated as holes

arxiv.org

Presentation Slide

없음

Contents

 

padding에 대한 이야기가 많이 없었음.

 

CNN에서 padding을 쌓음으로써 결과의 사이즈가 입력과 동일하도록 맞출 수 있음.

 

padding 3가지

1) zero padding : 모든 pad에 0을 넣는 것

2) Replication Padding : 주변 사각형의 pad value가 값을 가지도록 넣는 것

3) Reflection Padding : padding이 옆 value 기점으로 좌우가 같게 padding을 넣는 것

 

zero padding이 가장 간단하고 계산에 효율적

 

 

padding이 가지는 한계점

pad에 우리가 임의의 값으로 채워넣었기 때문에 비현실적인 이미지 패턴이 만들어짐

네트워크가 여백에 대해 똑같은 대우를 하기 때문에 혼란이 있을 수 있음.

padding을 noise로 인식 

 

 

Zero padding과 비교했을 때 모든 아키텍처에서 본인들의 모델이 높은 정확도를 보임.

구현의 overhead 없이 코드 활용 가능. 

 

https://github.com/NVIDIA/partialconv/blob/master/models/partialconv2d.py

 

GitHub - NVIDIA/partialconv: A New Padding Scheme: Partial Convolution based Padding

A New Padding Scheme: Partial Convolution based Padding - GitHub - NVIDIA/partialconv: A New Padding Scheme: Partial Convolution based Padding

github.com

 

PR-107 "Image Inpainting for Irregular Holes Using Partial Convolutions", 2018 ECCV에서 제안된 Partial Convolution이 그 시초

 

https://aigong.tistory.com/317

 

PR-107 "Image Inpainting for Irregular Holes Using Partial Convolutions" Review (2018 ECCV)(Image Inpainting)

PR-107 "Image Inpainting for Irregular Holes Using Partial Convolutions" Review (2018 ECCV)(Image Inpainting) 1. Citations & Abstract 읽기 Citations : 2021.12.16 기준 1008회 저자 Guilin Liu, Fitsu..

aigong.tistory.com

 

 Partial Convolution

 

 

Motivation

 Image Inpainting할 때 Masking 되었던 부분을 Hole로 0을 사용했는데 Padding 역시도 0으로 되어있으니 이를 Partial Conv에 활용하면 어떨까

 

Case of Big Padding Size

1) 이미지 사이즈가 다 다른 경우 -> Padding 필요

2) 가장자리에서의 Conv가 유효하지 않음

 

Results

Pytorch에 사용

Experiments - Image Classification

 항상 partial이 zero에 비해 좋은 결과를 보임

평균값이 항상 좋았음, std도 낮아짐

Fast Convergence & Stability

 

Figure 5는 Figure 4에서 안정적으로 생성한 것을 layer별로 확인한 것

실제로 zero padding이 가지는 noise가 영향을 끼친 것으로 판단됨

 

zero padding을 훈련시킨 후 Inference를 partial로 한 경우 정확도가 급격하게 떨어짐.

다만 partial로 훈련시킨다면 Inference에서 zero/partial에 상관없이 비교적 안정적인 정확도를 얻을 수 있음 

 

Experiments - Semantic Segmentation

 

Encoder & Decoder Model인 Semantic Segmentation

padding이 중요함

 

Dilated convolution를 활용하여 큰 receptive field를 성취함.

 

 DeepLab V3 + model (Dilated conv) on the CityScapes dataset

 partial이 성능이 더 좋았음.

올바른 segmentation 결과가 생성됨을 확인

 

 

결론

 

Partial Convolution based Padding outperforms the widely adopted zero padding on Image classification and Semantic Segmentation in terms of accuracy and fast convergence.

 

참조

GitHub

https://github.com/NVIDIA/partialconv

 

GitHub - NVIDIA/partialconv: A New Padding Scheme: Partial Convolution based Padding

A New Padding Scheme: Partial Convolution based Padding - GitHub - NVIDIA/partialconv: A New Padding Scheme: Partial Convolution based Padding

github.com

 

블로그

https://big-dream-world.tistory.com/78

 

Partial Convolution based Padding

< 목차 > 용어정의 요약 연구배경 우수성 학습방법 Partial Convolution Partial Convolution based Padding Case of Big Padding size 결과분석 Running time Task 1: Image classification network Task 2: Sema..

big-dream-world.tistory.com

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading