본문 바로가기

머신러닝

[머신러닝] 스타일을 바꿔주는 Style Transfer

1. Style Transfer란?

요즘 사진 편집 앱들을 보면 프리즈마라는 앱이 있다. 이 애플리케이션은 자신이 찍은 사진들을 그림같은 스타일로 바꿔주는 앱이다.



이런식으로 이미지를 바꿔준다. 이 기술을 스타일 트랜스퍼(Style Transfer) 라고 한다. 스타일 트랜스퍼의 핵심은 콘텐츠 이미지와 스타일 이미지가 있을때 콘텐츠 이미지의 콘텐츠를 유지하면서 스타일 이미지의 스타일로 스타일을 변환하는 것이다. 

2. 스타일과 콘텐츠

스타일 트랜스퍼의 논문은 이 스타일 트랜스퍼를 신경 알고리즘이라고 하고 있다. 즉, 신경망을 이용하여 원 이미지의 콘텐츠를 유지하며 스타일을 바꾸는 것을 구현할 수 있다는 것이다.


CNN(합성곱 신경망)은 비전 분야에서 강세를 보이는 신경망이다. CNN은 이미지에서 최적의 feature를 추출하며 분류를 효과적으로 수행한다.

결과적으로 CNN은 이미지에 대한 feature map을 추출하게 된다. feature map은 이미지의 정보들을 요약해서 담고 있고 스타일 트랜스퍼는 이 feature map을 사용하여 스타일과 콘텐츠를 추출한다.

다음은 CNN에서 각 레이어에 대해 style reconstruction과 content reconstruction을 수행한 결과이다.


아래쪽은 content reconstructon이고 윗쪽은 style reconstruction을 수행한 결과이다.


CNN은 레이어가 깊어질 수록 심층적인 정보를 가지게 된다.

style reconstruction은 레이어가 얕을수록 콘텐츠를 무시하고 스타일을 복원하는 경향이 있다. 이것은 style을 feature map들 간의 상관관계로 정의하기 때문이다.


content reconstruction은 레이어가 얕을 때는 원본 이미지 자체를 보존하지만 레이어가 깊어질수록 부가적인 정보는 소실되지만 이미지 자체의 심층적인 content를 보존하는 것을 알 수 있다.


즉, 같은 CNN이라도 content와 style이 분리가 되어 있어 다른 이미지끼리의 content와 style을 섞을 수 있다는 것이며 스타일 트랜스퍼는 content와 style을 입력으로 받아 content와 style의 feature map을 추출해 output의content와 style에 대해 각각 optimization을 수행하는 것이다.


3. Loss 함수

Loss 함수는 크게 Style loss와 Content loss로 나눌 수 있다. 

Content Loss인 L content는 우리가 비교하고자 하는 두가지 이미지를 각각 p와 x라고 하고 각각의 feature map을 계산해 p의 feature representation을 , x의 feature representation을  이라 할 때 각각의 레이어에 대한 피쳐맵간의 차에 대한 Frobenius Norm의 제곱이다.


이 때 심층적인 정보만 남은 깊은 층의 feature map을 사용하며 loss를 최소화하는 x를 찾음으로써 content reconstruction을 해결할 수 있다.


Style Loss인 L style은  Feature map에 대해 Gram Matrix를 구한 후 Frobenius Norm의 제곱을 한 후 가중치를 곱한 Sum이다. 여기서 Gram Matrix를 사용하는 이유는 Style이 Feature map들 간의 상관관계라고 정의하기 때문이다. 


여기서도 비교하고자 하는 두가지 이미지를 각각 a와 x라고 하면 각각의 feature map에 대해 Gram matrix를 구한 값을 각각  이라고 하면  전체 손실에 대한 해당 레이어의 영향 은 다음과 같이 정의된다.



을 활용한 최종 L style은 다음과 같으며 loss를 최소화하는 x를 찾는 것으로 style reconstruction 문제를 풀 수 있다



 두가지 loss를 모두 활용하여  x를 찾기 위해 최소화할 최종적인 loss는 다음과 같으며 각각 주어진 alpha와 beta는 content와 style의 반영 가중치를 조절하는 인수이다.



#REFERENCES