아이공의 AI 공부 도전기

[논문 Summary] 2017 ICCV "Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization" Summary

 

 

 

 

     

 

 

1. 동기

해당 논문은 StyleGAN을 읽고싶은 열망에서 시작되었습니다. StyleGAN이 메인으로 삼고 있는 Adaptive Instance Normalization을 위하여 해당 논문이 base가 됨을 확인하였고 이에 따라 해당 논문에 대한 Summary를 진행하고자 합니다.

 

해당 논문은 2017 ICCV에 발표되었고 Cornell University CS, Cornell Tech에 있는 Xun Huang, Serge Belongie이 저자로 있습니다. 2021.08.09 기준 1445회 인용이 되어있습니다.

 

https://openaccess.thecvf.com/content_iccv_2017/html/Huang_Arbitrary_Style_Transfer_ICCV_2017_paper.html

 

ICCV 2017 Open Access Repository

Xun Huang, Serge Belongie; Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2017, pp. 1501-1510 Gatys et al. recently introduced a neural algorithm that renders a content image in the style of another image, achieving so-called s

openaccess.thecvf.com

 

개인적으로 해당 논문을 읽기 전 Deep Learning을 사용한 Style Transfer의 효시 "Image Style Transfer Using Convolutional Neural Networks", CVPR 2016을 먼저 선행하는 것을 추천드립니다.

 

https://openaccess.thecvf.com/content_cvpr_2016/html/Gatys_Image_Style_Transfer_CVPR_2016_paper.html

 

CVPR 2016 Open Access Repository

Leon A. Gatys, Alexander S. Ecker, Matthias Bethge; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 2414-2423 Rendering the semantic content of an image in different styles is a difficult image processing tas

openaccess.thecvf.com

 

2. Gatys et al. Style Transfer 간단 요약

진짜 잠깐만 설명을 드리면 Image에는 Content와 Style이라는 부분으로 나뉘고 이를 분리시켜 다른 Style에 대하여 Content image를 대입시키는 것을 통해 다양한 Style의 Transfer를 진행하는 것 즉, Style Transfer를 딥러닝을 통해 처음으로 도입하여 시도한 것이 위 논문입니다.

 

 

 

Gatys et al. Figure 2

 

보이는 바와 같이 Image와 Style을 분리시키고 이를 합성하기 위한 노력을 기울이며 해당 학습을 위해 Content Loss와 Style Loss로 분리하여 가중치를 더한 값으로 Loss를 구성합니다.

 

Gatys et al. Figure 3

 

위와 같이 다양한 Style에 대하여 Image가 합성된 것을 확인할 수 있습니다.

 

그런데 위 문제는 문제점이 있습니다.

 

가장 큰 문제는 속도 즉, 효율성에 있습니다. 물론 위 논문 이후에도 다양한 방법론들이 제안되었으며 빠른 속도로 하는 제안들이 있었습니다만 고정된 Style에 대해서만 Style Transfer가 작동된다는 또 다른 문제점이 있었습니다.

 

이에 우리가 이번에 다룰 논문을 통해 어떤 Style에 대해서도 빠르게 적용할 수 있는 Style Transfer를 제안합니다. 제목에 나와있는 것처럼 Arbitrary한 Style에 대하여 Real-time으로 적용이 가능하죠. 빠르다는 것이죠. 이것이 가능한 이유는 Adaptive Instance Normalization 때문이구요.

 

3. AdaIN Style Transfer 요약

자! 이제 조금 더 풀어서 논문 Summary를 시작해봅시다.

 

(1) Batch Norm / Instance Norm / Conditional Instance Norm / Adpative Instance Norm(AdaIN)

 

 

"Group Normalization" Fig 2. 2018 ECCV

위에 보이는 바와 같이 Batch Normalization, Instance Normalization은 다음과 같은 내용을 normalize를 진행합니다. 이와 관련한 본 논문의 수식은 다음과 같이 표현합니다.

Gatys et al. 이후 Style Tranfer 논문인 Ulyanov et al.은 BN layer 대신 IN layer을 사용함으로써 상당한 향상을 달성했다고 전해집니다. 훨씬 더 빠른 속도로 적용이 가능했으나 하나의 스타일에 대해서만 Style Tranfer가 가능했습니다.

[52] D. Ulyanov, A. Vedaldi, and V. Lempitsky. Improved texture networks: Maximizing quality and diversity in feed-forward stylization and texture synthesis. In CVPR, 2017

 

이에 따라 Dumoulin et al.은 Conditional Instance Normalization(CIN)을 도입함으로써 32개의 Style Transfer가 가능하게 하였습니다. 이는 32개의 스타일에 따른 파라미터 $\gamma , \beta$를 변화시켜 사용했기 때문입니다. 그러나 여기에도 문제점은 임의의 새로운 스타일에 대해서는 재훈련없이는 불가능했다는 것입니다.

[11] V. Dumoulin, J. Shlens, and M. Kudlur. A learned representation for artistic style. In ICLR, 2017

 

그렇다면 왜 Instance Normalization이 잘 작동한 것일까요

 본 논문의 저자들은 IN이 BN과 달리 style normalization의 역할을 가능하게 하였고 이것이 IN이 Style Transfer에서 좋은 성과를 낸 이유라고 설명하고 있습니다. 즉, Style Transfer에서 generator의 feature statistics는 style normalization의 형태로 수행하였고 이는 일반적인 vision task에서의 BN을 통한 효과적 성과와 같다는 것을 의미합니다.

이를 뒷받침하는 것이 위 Figure 1입니다. 단순 이미지를 훈련시킬 때, contrast normlized 이미지를 훈련시킬 때 모두 Instance Norm이 더 빠른 Style loss 감소를 보여줍니다. 그러나 Style normalized 이미지에서의 훈련에서 BN과 IN의 Style Loss는 같습니다. 이는 BN과 IN이 영향을 주지 못했다는 것이고 이는 IN이 Style Normalization을 하는 역할을 맡았다는 것을 반증합니다.

 

이에 따라 affine parameter $\gamma , \beta$ 대신 adaptive affine parameter를 사용함으로써 다양한 임의의 스타일에 대해 적용하는 것이 가능하다 판단되고 이에 따라 Adaptive Instance Normalization이 제안되었습니다.

다른 구조와 동일하지만 차이점은 adaptive affine parameter를 스타일에 대해서 뽑아 사용한다는 점입니다. x는 content image, y는 style image로 content image와 style image에 대한 mean과 variance를 각각 구하여 위 식에 대입합니다. AdaIN layer가 style swap layer라는 역할을 맡아 진행함으로써 추가적인 computation cost 없이 임의의 style에 대해 적용 가능하게 합니다.

 

(2) Architecture / Loss / Training Dataset

Architecture

모델 구조는 위와 같으며 input으로 content image c와 style image s가 들어갑니다. encoder f는 pre-trained VGG-19를 사용합니다.

Loss

Loss는 다른 Style Transfer와 유사한 Loss를 사용합니다.

 

Training Dataset

 

content image는 MS-COCO, style image는 WikiArt를 사용합니다.

80,000의 훈련 예시를 사용합니다.

 

(3) Results

 

 

 

 

 다른 모델들에 비하여 훨씬 빠른 속도와 다양한 Style에 대한 적용이 가능한 Style Transfer를 제안하였음을 증명합니다.

 

Fig 5에서 보이듯 Enc-AdaIN-Dec가 가장 좋은 성과의 Style Transfer를 보임을 확인할 수 있습니다.

 

 weight alpha를 변화시킴에 따라 Style Transfer 정도를 조절할 수도 있습니다.

 한 가지 스타일에 한 가지 이미지가 아닌 다양한 스타일을 이미지에 적용하는 것 또한 가능합니다.

 이 역시 특정 구획에 대한 masking에서 스타일을 분리하여 적용하는 Style Transfer가 가능합니다.

 

해당 논문을 통해 다양한 응용이 가능한 논문의 variation을 확인하시고 발전시켜나가는 기회가 되었으면 합니다.

 

끝!

4. Reference

구글링을 통해 조금 더 자세한 내용을 찾아볼 수 있습니다. 그 중 제가 좋다고 판단되었던 몇 개의 영상과 블로그 링크를 아래 첨부드립니다.

 

(1) 저자 발표 영상(맨 위에 이미 첨부하였음)

https://www.youtube.com/watch?v=IIRxJvW6bE4&ab_channel=ComputerVisionFoundationVideos 

 

(2) PR-186: Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

 

차분한 설명과 훌륭하신 발표로 도움이 된 영상입니다.

 

https://www.youtube.com/watch?v=16BGnsIyh6M&ab_channel=SoyeonKim 

 

(3) Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization (꼼꼼한 딥러닝 논문 리뷰와 코드 실습)

 

알고 계신분은 아시는 포항공대 박사과정 나동빈님의 강좌

 

https://www.youtube.com/watch?v=OM-6zYYRYfg&ab_channel=%EB%8F%99%EB%B9%88%EB%82%98 

 

(4) Full Reading 직역 블로그

 

완전히는 아니지만 대부분이 직역되어있습니다. 도움이 되실 것 같습니다.

 

https://lifeignite.tistory.com/46

 

[논문 번역] 불친절한 AdaIN 논문 읽기 (Arbitrary Style Transfer in Real-Time With Adaptive Instance Normalization)

논문 정리본은 아래에서 확인하실 수있습니다. 본 포스팅은 단순 번역으로 직역한 내용들을 담았습니다. [논문 정리] AdaIN을 제대로 이해해보자 노션으로 보시면 더 편할 수 있습니다. www.notion.so

lifeignite.tistory.com

 

 

(5) 번외: 저자 구현 코드 Github 주소

 

조금 오래되서 Lua 파일로 된 것이 함정....

 

https://github.com/xunhuang1995/AdaIN-style

 

GitHub - xunhuang1995/AdaIN-style: Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization - GitHub - xunhuang1995/AdaIN-style: Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

github.com

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading