ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Deep Photo Style Transfer 리뷰
    공부(Archive)/ML DL 2021. 8. 14. 02:23

    Paper: https://arxiv.org/abs/1703.07511 (2017 CVPR, Fujun Luan)

     

    Abstract

     본 논문은 deep-learning을 이용한 회화풍의 transfer[1]를 기반으로 만든 photographic style의 transfer에 대해서 소개하고 있다. 회화풍의 transfer가 갖고 있는 문제점 중 하나는, photorealistic한 image들에선 제대로 동작하지 않는다는 점으로, content image와 style image가 모두 사진인 경우에도 여전히 회화풍의 결과물을 낸다. 논문에서는 변환이 colorspace에서의 locally affine 하도록 제한하며, 이러한 제한을 미분 가능한 energy term으로 표현했다고 한다.

    [1]: Image style transfer using convolutional neural networks(2016, CVPR, L. A. Gatys)

     

     Gatys의 논문에서 소개하고 있는 transfer의 두 가지 문제점을 지적하고 있다.

    첫 번째는 painting-like effect이다. abstract에서도 언급했듯, Gatys의 transfer의 경우 input image가 모두 사진인 경우에도 마치 회화풍의 결과를 낸다는 점이다.

    두 번째는 관련없는 object 사이에도 transfer가 일어난다는 점이다. 논문에서는 이 현상을 spill over라고 소개하고 있다.

     솔직히 말하면 논문에서 언급하고 있는 첫 번째 문제점인 painting-like effect는 잘 느끼지 못하겠다. 하지만 결과물에 왜곡이 상당히 많다는 점과, 두 번째 문제점은 spill over 현상은 확연히 느껴진다.

    Spill over

     Neural style의 결과를 보면 하늘에 마치 빌딩의 창문들에서 나온듯한 조명이 입혀진 것을 볼수 있다.

     반면 이 논문에서 나온 결과물을 보면 왜곡도 굉장히 적어보이고 Neural style의 결과만 봤을 땐 느끼지 못했던 '사진 같다'는 느낌이 확 와닿는다. 논문에서 말하고 있는 이 두 가지 문제점을 중심으로 살펴보자.

     

     먼저 painting-like effect의 경우, Matting Laplacian[2]으로부터 영감을 얻어 해결할 수 있었다고 한다. 논문에서는 Matting Laplacia에 대해 자세한 설명 없이 그냥 넘어가고 있는데 아마도 이를 정확히 이해하려면 해당 논문을 읽고 이해하는 과정이 필요하리라 생각이 된다. 궁금하여 요약된 정보를 찾아보니(이곳이 가장 큰 도움이 되었다) matting이라는 것이 image 내에서 foreground와 background를 분리하는 것이라고 한다. 이를 이용하여 photorealism regularization term을 만들고 이를 통해 photorealistic한 결과물을 얻을 수 있다고 한다.

    [2]: A closed-form solution to natural image matting(IEEE, 2007, A Levin)

     

     Spill over의 경우 이를 해결하기 위해 이전에도 여러 시도들이 있었던 것 같지만, 이 논문에서는 semantic segmentation을 이용하여 이 문제를 해결했다고 한다. Gatys의 논문에서 소개한 방법 중, Gram matrix는 reference image와 content image에 있는 element의 개수가 다른 경우 이러한 현상이 생길 수 있다고 한다. 주목할만한 점은 Semantic segmentation을 이용할 때, label들을 그대로 사용한 것이 아닌, 공통된 label들, 예를 들어 호수와 강, 물 등을 하나로 합치는 작업을 하였다는 점이다.

     

    Objective function

     전체 objective function은 위와 같다. 

     첫 번째로 살펴볼 식은, objective function의 가장 마지막 항이다. 이 항이 바로 Photorealism regularization이다. 접근 방법을 보면 input image는 이미 photorealistic한 성질을 가지고 있기 때문에, output image에 뭔가 제약을 주는 것보다, input image가 transform 과정에서 이러한 특징을 잃지 않도록 제약을 한다라고 설명한다. 위의 $\mathcal{L}_m$이 바로 image에 왜곡이 생겼을 때 패널티를 가해주는 식이라고 한다. 논문에서는 자세한 유도 과정은 원 논문을 참고하라고 코멘트를 달아두었다. 자세한건 논문을 읽어봐야 제대로 이해를 할 수 있지만, matting이라는 것 자체가 foreground와 background를 분리하는 것이고, 이는 자연스레 경계선과 연관이 되지 않을까 생각을 하였다. 이러한 경계선이 잘 보존되도록 한다면 논문에서 말하고 있는 painting-like effect를 완화하는데 큰 도움이 되지 않을까라고 생각했다.

     두 번째로 살펴볼 식은, objective function의 가장 첫 번째 항이다. 이 항은 content loss를 계산해주는 부분으로, $\mathcal{l}$은 몇 번째 layer인지를 의미한다. 한마디로 input, output 이미지의 $\mathcal{l}$번째 layer를 통과하고 나온 feature map 사이의 $L_2$ loss를 구하는 것이다. $\mathcal{L}_{total}$을 보면, 이 값을 전체 layer에 걸쳐서 계산해주고 있으며, 이를 $a_{\mathcal{l}}$을 통해 몇 번째 layer에 더 가중치를 줄 것인가를 결정하고 있다.

     마지막으로 살펴볼 식은, objective function의 두 번째 항이다. 이 항은 style loss를 계산해주는 부분으로 Gatys의 논문에서 소개하는 방법과 조금 차이가 있다. Gatys의 방법에서는 Gram matrix를 계산할 때, feature map 사이에 inner product한 값을 사용했다면, Luan의 방법에서는 segmentation 결과를 이용해 같은 channel내에서 계산하는 것으로 보인다. - 이부분도 조금 더 깊이 있게 이해해야 할 것 같다. 이렇게 세 항이 합쳐저 전체 objective function이 완성된다.

     

     실제로 논문에서 제시한 결과물을 보면 놀라울정도로 변환이 잘 일어난다. 하지만 위의 그림처럼 일부 극단적인 경우, 예를 들어 content image와 style image에 유사한 object들이 거의 없는 경우, 변환이 잘 일어나지 않는 것을 확인할 수 있다.

     이러한 경우 위의 그림처럼 manual segmentation을 이용하여 적절한 결과를 얻을 수 있다고 한다.

     

    후기

     결과물들을 보며 굉장히 신기했던 논문이다. 게다가 다른 논문들에 비해, 그리고 처음 논문을 읽기 시작했던 때와 비교한다면 확실히 더 많은 것들을 이해하고 볼 수 있는 능력이 생겼다고 느낄 수 있었다. 물론 이 논문의 기반이 된 Gatys의 논문을 겉핥기 식으로라도 읽었기 때문일지도 모르겠지만 말이다. 하지만 한계가 굉장히 명확하게 느껴진다. 기초 이론들에 대한 이해가 깊지 않기 때문인지 기초 이론에 대한 점이나 수식을 읽는 것, 이해하는 것이 굉장히 느리기에 이를 위해 많은 시간을 투자해야 한다는 것을 느꼈다. 앞으로 자주는 못하겠지만 시간이 허락한다면 블로그에 글을 남기면서 더욱 깊이 있는 이해를 위해 노력해야겠다.

    댓글

Designed by Tistory.