논문링크 : https://arxiv.org/abs/1703.07511
Style transfer 중에서 가장 최근에 나온 논문이고,
성능도 사진수준까지 올라간 논문이다.
왜 그런지 모르겠으나, 나는 이미지쪽에 관심이 많이가고 계속적으로 연구를 하고있다.
그래서 정말 재밌게 읽은 논문이다.
이번에도 정리하면서 이 논문을 뽀개러 가봐야겠다.
원래의 style transfer의 문제점이 여러가지가 존재하였다.
하나는 optimization 문제였다.
이는 우리가 style transfer를 할때마다 학습을 그때그때 시켜야함을 의미했다.
그런데 우리의 최고형인 Justin Johnson이 이 문제를 하나의 네트워크로 만들면서 해결해버렸다.
킹왕짱인 우리형이다.
이 논문도 한번 정리를 해볼 생각이다.
또 다른 문제는 photorealism에 관한 문제이다.
style transfer는 처음에 봤을때 이쁘기는 하나 생각보다 뭔가 부족하다.
style을 내가 마음먹은대로 만들수도 없고, 그래서 네트워크가 만들어주는대로 바라만 보고 있어야 한다.
그러다보면 content와 style사이에서 trade-off관계가 생겨버리는데 우리는 이걸 제대로 컨트롤 할수가 없게되어
하늘content에 다른 건물style이 입히고 막 이러하다. 그렇기에 이번에 소개할 논문이 나오는 것이다.
style transfer의 성능을 사진수준까지 올리게 되는데 본격적으로 들어가기에 앞서서 한번 그 결과물을 보고 가는것도 흥미유발에 큰 도움이 될 것 같다.
왼쪽이 content이미지 그리고 가운데가 style Image, 그리고 마지막이 결과물이다.
진짜 content 이미지의 원래의 모습을 그대로 유지하면서 스타일 결과물을 만들어 내는 것이다.
놀랍다 진심이다.ㅎㄷㄷ
그러면 본격으로 논문뽀개기에 들어가보자.
이 논문은 두가지의 contribution을 가지고 있다.
첫번째는 style transfer를 하고 나서도, 컨텐츠 이미지의 구조가 그대로 살아 있어야 되는것.
두번째는 style transfer를 하더라도, 관계있는 style이 tranfer (semantic style transfer)가 그 목표가 된다.
첫번째 문제는 matting laplacian 알고리즘에서 영감을 받아서 해결을 가능하게 하였고,
두번째 문제는 semantic segmentation 방법을 이용해서 해결을 하였다.
matting laplcian은 regularization term으로 구현을 하였다.
논문에는 진짜로 제대로 설명이 안되어 있어서 아마도 이건 원래의 본 논문을 보고 제대로 이해를 해야되지 않을까 싶다
Our
solution is to seek an image transform that is locally affine in color
space, that is, a function such that for each output patch, there is an
affine function that maps the input RGB values onto their output
counterparts.
Each patch can have a different affine function, which allows for spatial variations.
To gain some intuition, one can consider an edge patch.
The
set of affine combinations of the RGB channels spans a broad set of
variations but the edge itself cannot move because it is located at the
same place in all channels.
번역 :
우리의 해결책은 색 공간에서 로컬 affine 인 이미지 변환, 즉 각 출력 패치에 대해 입력 RGB 값을 출력 상대에 매핑하는 affine 함수가있는 함수를 찾는 것입니다.
각각의 패치는 상이한 어파 인 (affine) 기능을 가질 수 있으며, 이는 공간적 변화를 허용한다.
직감을 얻으려면 에지 패치를 고려해야합니다.
RGB 채널의 아핀 조합 세트는 광범위한 변형 세트에 걸쳐 있지만 에지 자체는 모든 채널의 동일한 위치에 있기 때문에 이동할 수 없습니다
위의 term을 regularization으로 넣어주는데
Mi는 Input Image의 laplacian Matting matrix이고 ,
Vc[O]는 Output Image의 채널 c에 대한 vertorized version 이다.
(그런데 왜 이걸 써주는지는...본 논문을 봐야겠다. 이건 추후에..)
첫번째 문제는 regularization term을 이용해서 해결했고,
그다음 문제는 style transfer를 할때 예기치 않은 style들이 transfer 되는것을 좀 막고 싶다.
그래서 해결책이 뭐냐면 Neural Doodle이나 semantic segmentation 처럼 입력이미지에다 segmentation mask를 입혀서 label를 정하는 방식을 택합니다
위는 StyleLoss 수정판인데, 특이한게 gram Matrix를 기존에는 레이어꺼면 했다면, 여기서는 레이어와 채널별로 나눠서 해결을 했다.
그런데 자세히 읽어보면 C의 갯수도 semantic segmentation mask의 채널의 갯수이다. segmentic segmentation 별로 그 스타일을 맞추겠다는 굳은 의지를 보인다.
입력 이미지에 존재하는 " 고아 의미 라벨"을 피하기 위해, 우리는 기준 스타일 이미지의 라벨에서 선택할 수 있는 입력 의미론을 제약한다.
이것이 의미하는 바는 의미론적인 관점에서 잘못된 라벨을 야기할 수 있지만, 선택한 라벨은 "호수"와 "바다"와 같은 맥락에서 일반적으로 동등하다.
또한 결과가 우리의 regularization에 의해 제한되므로 분할이 픽셀 정확도가 낮아질 필요가 없다는 점도 관찰했습니다.
그래서 최종적으로 나온 Loss Function은 위와 같다.
이렇게 해서 학습을 시키면 우리가 원하는 결과물이 나올것이다.
'딥러닝 > 논문' 카테고리의 다른 글
[논문] DiscoGan (Learning to Discover Cross-Domain Relations with Generative Adversarial Network) (0) | 2017.08.04 |
---|---|
[논문] DeepLab v2 (0) | 2017.08.04 |
[논문] A closed form solution to Natural Image Matting (2) | 2017.08.03 |
[논문] 코드분석 - Multi-Scale Context Aggregation by dilated convolutions (0) | 2017.08.02 |
[논문] Multi-Scale Context Aggregation by dilated convolutions (0) | 2017.08.02 |