IPT [Kor]

Chen et al. / Pre-Trained Image Processing Transformer / CVPR 2021

1. Problem definition

이미지 처리(Image processing)는 보다 글로벌한 이미지 분석 또는 컴퓨터 비전 시스템의 low-level 부분 중 하나입니다. 이미지 처리의 결과는 이미지 데이터의 인식 및 이해를 수행하는 후속 상위 레벨 부분에 크게 영향을 미칠 수 있습니다. 최근 딥러닝은 GPU를 활용한 하드웨어 컴퓨팅 성능이 강력하게 증가했고 Pre-Trained Deep Learning Model과 대규모 데이터셋을 통하여 기존 방법보다 좋은 결과를 보여주었습니다. 또한, 이러한 딥러닝 기술은 이미지 초고해상도(super-resolution), 인페인팅(inpainting), 디레인(deraining), 채색(colorization)과 같은 낮은 수준의 비전 작업을 해결하기 위해 널리 적용되고 있습니다. 하지만 Pre-Training을 통해 여러 이미지 처리 Task들을 일반화한 연구는 거의 없습니다.

본 논문에서는 Pre-Trained Deep Learning Model인 IPT(image processing transformer)를 통해 노이즈 제거, 초고해상도 및 디레이닝와 같은 low-level 컴퓨터 비전 Task에 대해 일반화하고 현 state-of-the-art 이상의 결과(성능)를 보여줍니다. 또한 많은 양의 손상된 이미지 쌍을 실험에 사용하기 위해 잘 알려진 ImageNet 벤치마크를 활용합니다.

2. Motivation

1. Image processing

이미지 처리는 super-resolution(해상도를 높이는 작업), denoising(노이즈 제거), dehazing(연무, 안개 등 대기 중의 미세입자 노이즈 제거) , deraining(비내리는듯한 노이즈 제거), debluring(블러 제거 작업) 등을 포함한 이미지 조작으로 구성됩니다.

  • (Dong et al.) 은 초고해상도를 위해 SRCNN을 제안하였습니다. Low Resolution(저해상도) 이미지에서 High Resolution(고해상도) 이미지를 재구성하는 end-to-end 모델을 도입한 선구적인 연구입니다.

  • (Kim et al.) 은 위의 연구에서 더 깊은 컨볼루션 네트워크를 사용하여 심층 신경망의 크기을 키웠습니다.

  • (Ahn et al. & Lim et al.) 은 SR(super-resolution) Task에 Residual block 개념을 추가하였습니다.

  • (Zhang et al. & Anwar & Barnes) 는 attention의 강력한 성능을 SR Task에 활용하였습니다.

이외에도 다른 Task들에 대한 연구도 많이 있습니다.

  • (Tian et al. 이하 5개 논문)에서는 노이즈 제거와 관련된 Denoising에 대해 연구했습니다.

  • (Cai et al. 이하 4개 논문)에서는 dehazing에 대해 연구했습니다.

  • (Hu et al. 이하 6개 논문)에서는 deraining에 대해 연구했습니다.

  • (Tao et al. 이하 4개 논문)에서는 debluring에 대해 연구했습니다.

Idea 1. 위의 연구들에서는 개별적인 다른 방법을 사용하여 연구했지만, 이 논문에서는 하나의 큰 모델(pre-trained)과 대용량의 데이터를 사용하여 여러 이미지 처리 Task들에 대해서 실험하고 좋은 결과를 보여주었습니다.

2. Transformer

  • (Vaswani et al.) Transfomer는 다양한 자연어 처리 작업에서 강력한 unsupervised 또는 self-supervised pretraining framework로 성공을 입증했습니다.

  • (Radford et al.) GPTs는 거대한 텍스트 데이터 세트에서 다음 단어를 예측하는 자기회귀 방식으로 사전 훈련됩니다.

  • (Devlin et al.) BERT는 명시적인 감독 없이 데이터에서 학습하고 컨텍스트를 기반으로 마스킹 단어를 예측합니다.

  • (Colin et al.)는 여러 Downstream Task에 대한 보편적인 Pre-training Framework를 제안합니다.

NLP 분야에서 Transformer 기반 모델의 성공으로 인해 컴퓨터 비전 분야에서도 Transformer 기반 모델을 활용하려는 연구가 있습니다.

  • (Yuan et al.)에서는 이미지 분할을 위한 spatial attention을 소개합니다.

  • (Fu et al.)는 spatial attention과 channel attention을 결합하여 context 정보를 활용한 DANET을 제안했습니다.

  • (Kolesnikov et al.)은 Transformer 블록으로 이미지 분류를 수행합니다.(convolutional neural network를 self‑attention block으로 대체)

  • (Wu et al. & Zhao et al.)은 이미지 인식 작업을 위한 Transformer 기반 모델에 대한 사전 학습 방법을 제안합니다.

  • (Jiang et al.)은 Transformer를 사용하여 이미지를 생성하기 위해 TransGAN을 제안합니다.

Idea 2. 이미지 처리에 대한 연구와 Transformer를 컴퓨터 비전 분야에 활용하는 연구들을 많이 있었지만, Transformer와 같은 Pre-Training모델을 활용하여 이미지 처리와 같이 low-level vision tasks에 초점을 맞춘 관련 연구는 거의 없습니다. 따라서 이 논문에서는 이미지 처리 작업에 대한 보편적인 Pre-Training 접근 방식을 탐구합니다.

3. Method

A. Image Processing Transformer (IPT)

1. Heads

다른 이미지 처리 Task을 조정하기 위해 다중 헤드 아키텍처를 사용하여 각 Task를 개별적으로 처리합니다. 각 Head는 3개의 컨볼루션 레이어로 구성됩니다. 입력 이미지를 다음과 같이 표시합니다. xR3×H×Wx ∈ R^{3×H×W} (3 means R, G, and B) , 헤드는 C(보통 64)개의 채널을 가진 feature map fHRC×H×Wf_{H} ∈ R^{C×H×W} 을 생성합니다. 공식화하자면 fH=Hi(x)f_{H} = H^{i}(x) 이며, 여기서 Hi(i=1,...,Nt)H^{i} (i = {1, ... , N_{t}}) 는 i번째 Task의 헤드, NiN_{i} 는 task의 수로 나타냅니다.

2. Transformer encoder

3. Transformer decoder

4. Tails

Tails의 경우 Heads의 속성과 동일하며 multi tails를 사용하여 각각 다른 Task별로 처리합니다. 다음과 같이 공식화 할 수 있습니다. fT=Ti(fD)f_{T} = T^{i}(f_{D}) 여기서 Ti(i=1,...,Nt)T^{i} (i = {1, ... , N_{t}}) 는 i번째 Task의 Head를 나타내며, NtN_{t} 는 task의 갯수입니다. output ftf_{t} 는 특정 task에 의해 결정된 3×H×W3 × H' × W' 이미지 사이즈가 됩니다. 예를 들어, H=2H,W=2HH' = 2H, W' = 2H 라면 2배 확대한 super-resolution task(고해상도 작업)이 될 수 있습니다.

B. Pre-training on ImageNet

Transformer 자체의 아키텍처 외에도 성공적인 학습의 핵심 요소 중 하나는 대규모 데이터 세트를 잘 활용해야 합니다. 또한, 학습을 위해서는 정상 이미지와 손상된 이미지가 사용되므로 이에 맞는 데이터 세트가 필요합니다. ImageNet 벤치마크의 이미지는 질감 및 색상이 풍부한 100만 개 이상의 nature 이미지가 포함되어있고 1000개 이상의 다양한 카테고리를 가지고 있습니다. 따라서 레이블을 제거하고 다양한 Task에 맞게 사용될 수 있도록 이미지를 저하 모델을 사용하여 수동으로 다음 공식과 같이 손상시켜 데이터 세트를 준비할 수 있습니다. Icorrupted=f(Iclean)I_{corrupted} = f(I_{clean}) 여기서, f 는 저하(손상) 변환이라 할 수 있으며 Task에 따라 달라집니다. 지도 방식으로 IPT를 학습하기 위한 손실 함수는 다음과 같이 공식화할 수 있습니다. Lsupervised=sumi=1NtL1(IPT(Icorruptedi),Iclean)L_{supervised} = sum _{i=1} ^{N_{t}} L1(IPT(I_{corrupted}^{i}), I_{clean}) 여기서 L1은 기존 L1 손실을 나타내고 프레임워크가 여러 이미지 처리 작업으로 동시에 훈련되었음을 의미합니다. IPT 모델을 pre-training한 후에는 다양한 이미지 처리 task에 대한 고유한 feature과 변환을 캡처(weight를 저장)하므로 새로 제공된 데이터 세트를 사용하여 원하는 작업에 적용하도록 더욱 Fine-tuning할 수 있습니다. 이때, 계산 비용을 절약하기 위해 다른 Heads와 Tails는 삭제되고 남은 Heads와 Tails 및 Transformer body의 매개변수는 역전파에 따라 업데이트 됩니다.

4. Experiment & Result

A. Experimental Setup

1. DataSet

1백만 개 이상의 컬러 이미지 ImageNet 데이터 세트를 사용하며 3채널 48X48 패치들로 crop됩니다. (1천만 개 이상의 패치) 손상된 데이터는 6가지(2배, 3배, 4배 bicubic interpolation, 30, 50 level 가우시안 노이즈, rain streaks(비 내리는 노이즈))로 생성합니다. 공정한 비교를 위해 CNN 기반 모델에도 동일한 테스트 전략이 적용되었으며 CNN 모델의 결과 PSNR 값은 기준선의 값과 동일합니다.

2. Training & Fine-tuning.

NVIDIA V100 32장을 사용하여 Adam optimizer β1 = 0.9, β2 = 0.999로 300에폭 수정된 ImageNet dataset을 학습합니다. Learning rate는 5e55e^{-5} 부터 2e52e^{-5} 까지 256 배치 크기로 200 에폭 동안 줄어듭니다. 훈련 세트는 서로 다른 작업으로 구성되어 있어 단일 배치에 메모리 한계로 모든 input을 태울 수 없습니다. 따라서 각 반복에서 무작위로 선택된 작업의 이미지 배치를 쌓습니다. IPT Model을 pre-training 한 이후 원하는 task(e.g., 3배 super-resolution)를 2e52e^{-5} learning rate로 30 에폭 동안 학습합니다. SRCNN 방식 또한 ImageNet 학습방식을 사용하면 super-resolution task의 성능이 개선됨을 보여줬습니다.

B. Result

초해상도와 영상 잡음 제거를 포함한 다양한 image processing tasks 에서 pre-trained된 IPT의 성능은 state-of-the-art를 능가했습니다.

1. Super-resolution

IPT Model을 몇몇의 state-of-the-art CNN-based SR 방식과 비교했고 Table 1에서와 같이 모든 데이터셋에서 ×2, ×3, ×4 scale 성능이 가장 좋았고 ×2 scale Urban100 dataset에서 33.76dB PSNR을 달성함을 강조했습니다. 이전 모델들이 이전 SOTA보다 <0.2dB 씩 개선되었었지만 이번 모델은 ~0.4dB이나 개선되어 대규모 pre-trained Model의 우수성을 나타냈습니다.

2. Denoising

3. Generalization Ability

4. Impact of data percentage

데이터 백분율이 Transformer 및 CNN 모델의 pre-training 성능에 어떠한 영향을 주는지 실험합니다. ImageNet 데이터 세트의 20%, 40%, 60%, 80% 및 100%을 사용하여 Figure 6과 같이 결과를 확인하였습니다. 모델이 pre-training하지 않거나 소량 학습되는 경우 CNN 모델이 더 좋은 성능을 보여주지만, 대규모 데이터에선 transformer 기반 pre-trained 모델(IPT)이 성능을 압도합니다.

5. Impact of contrastive learning

5. Conclusion

이 논문에서는 NLP 분야에서 그리고 컴퓨터 비전 분야까지 발전되고 있는 Transformer 기반 Pre-training 기법을 사용하여 IPT모델을 개발하고 다양한 이미지 처리 문제에서 최신 SOTA 이상의 성능을 보여주었습니다. 원본 이미지와 손상된 이미지 데이터 쌍을 통해 IPT 모델을 사전 학습하여 각 이미지 처리 task에 따라 신속하게 미세 조정할 수 있도록 합니다. 따라서 하나의 모델로도 다양한 Task에 적용할 수 있고 일반화 될 수 있는 능력을 입증했습니다. 특히 대규모 데이터셋에서 압도적인 성능을 보여주었고 데이터의 비례하여 성능이 높아질 것이라고 판단됩니다.

A. Take home message (오늘의 교훈)

  1. 이미지 처리 Task에서도 대규모 데이터셋을 활용한 Transformer 기반 모델의 Pre-training & Fine-tuning 기법은 성능이 아주 효과적이였습니다. 또한 데이터의 양이 많으면 많을수록 비례하여 성능은 좋아집니다.

  2. NLP의 Word와 같이 이미지 input 데이터를 Patch로 변환하여 Transformer 기반의 모델을 사용할 수 있습니다.

  3. IPT 모델을 사전 학습한 후 각 Task에 맞는 고유 Feature들과 변환을 캡쳐하여 Fine-tuning 시 원하는 Task에 맞게 필요없는 매개변수는 삭제하여 비용적인 측면에서도 유리해보였습니다.

Author / Reviewer information

Author

박준형 (Junhyung Park)

  • Affiliation (KAIST AI / NAVER)

  • Machine Learning Engineer @ NAVER Shopping AI Team

Reviewer

  1. Korean name (English name): Affiliation / Contact information

  2. Korean name (English name): Affiliation / Contact information

Reference & Additional materials

Last updated