2 분 소요

📌 논문 리뷰
📌 논문 리뷰 2
📌 논문 리뷰 3
📌 유튜브 링크

Style Transfer 요약

  • 이전까지의 방식들은 low-level feature들만 사용이 가능, 이미지를 변형시켰을 때 결과 이미지에서 high-level feature들에는 변화가 없었다.
  • CNN 필터를 사용하여 얻은 high-level feature들을 사용할 것이다.

Style Transfer

  • 스타일 전송을 위해서 pre-trained CNN 모델(VGG19) 사용
  • 가중치를 업데이트 하는 것이 학습이 아니라 두 개의 이미지를 사용하여 한 개의 이미지를 업데이트 하는 것이 학습
  • CNN의 가중치를 고정시키고 noise 이미지를 업데이트하는 방식

그림
이렇게 손실함수가 정의가 되고, 손실값이 작아지는 방향으로 이미지를 업데이트를 한다. -> 여기서 style image와 content image의 강도조절은 알파, 베타로 진행을 한다.

논문의 핵심 내용

  • 이미지의 style을 어떻게 정의할 것인가?
  • content와 style을 어떻게 reconstruction 할 것인가?

CNN 모델의 특징맵/Activation Map

  • 일반적으로 CNN에서 레이어가 깊어질수록 채널의 수가 많아지고 너비와 높이는 줄어든다.
  • 컨볼루션 레이어의 서로 다른 필터(커널)들은 각각 적절한 특징 값을 추출하도록 학습된다.

Content Loss

content 이미지를 reconstruction하기 위해 content loss 함수를 정의한다.
이미지
노이즈 이미지(x)가 CNN 네트워크를 거쳐 특정한 피처 맵이 됨 -> 콘텐츠 이미지도 CNN 네트워크를 거쳐 피처 맵이 됨 (❗입력 이미지만 다를 뿐이지 동일 네트워크 사용.)

Lcontent의 기호 보기

  • l: 레이어의 인덱스
  • i: 피처맵상 채널의 위치
  • j: 벡터상 활성화 값의 위치/하나의 피쳐맵에서의 구체적인 위치값
    예를 들어서 F*ij^l은 l번째 레이어의 i번째 채널의 j번째 활성화 값을 뜻한다.
    노이즈 이미지와 콘텐츠 이미지 각가에 대하여 같은 레이터에서 같은 채널에서의 같은 활성화 값(F*ij^l - P_ij^l)이 content loss 함수가 된다.
    이 활성화 값의 최소가 되는 값을 찾는다는 것은 결국 노이즈 이미지가 콘텐츠 이미지와 비슷해진다.

Style Loss

스타일은 서로 다른 특징들간의 상관관계로 정의를 한다.
두 피처 간의 스타일이 비슷하다는 말은 상관관계가 높다는 뜻. 상관관계는 두 피처의 내적을 통해서 나타낼 수 있다.
내적 값이 크면 두 피처의 패턴이 비슷하다는 뜻이고, 내적이 작으면 패턴이 다르다는 뜻이다.

이미지
output 피쳐맵의 채널 수는 4이므로 네트워크에서 사용하였던 커널의 개수 역시 4임을 알 수 있다. 각각의 피쳐는 다른 커널을 사용하였으므로 추출된 특징이 다른 4개의 피쳐맵이 있다.

각 피쳐들(특징들) 간의 상관관계가 높다는 것은 feature1에서의 벡터값과 feature2에서의 벡터값이 유사하게 높다는 것을 의미한다.

Lstyle 기호 보기

  • i, j: 서로다른 피쳐값
  • k: 피쳐내의 특정 픽셀 위치

이 G Matrix는 이미지의 스타일이라고 볼 수 있다.

이미지
네트워크의 output인 feature map을 통해서 Gram Matrix를 구할 수 있다.

  • G: x 벡터로부터 얻은 스타일 특징
  • A: style 이미지 벡터로부터 얻은 스타일 특징
  • E: 특정 레이어에 대한 G-A 값
    결론적으로 G와 A의 특징이 유사하도록 된다.

Style/Content Reconstruction

이미지
단순하게 style만 recontruction 해보고, content만 recontruction 해본 경우이다.

  • style reconstruction
    (a) → conv1_1,
    (b) → conv1_1, conv2_1
    (c) → conv1_1, conv2_1, conv3_1
    (d) → conv1_1, conv2_1, conv3_1, conv4_1
    (e) → conv1_1, conv2_1, conv3_1, conv4_1, conv5_1
    깊은 레이어로 갈수록 화풍에 대한 특징을 잘 가져오는 것을 확인할 수 있다.
    그림 중 위쪽 부분을 보게되면 초반 레이어의 경우는 채널수는 작고, 너비와 높이는 크기 때문에 이로부터 얻은 gram matrix는 작은 것을 확인할 수 있다.
    뒤쪽으로 갈수록 채널값이 커지기 때문에 gram matrix 역시 커지는 것을 확인할 수 있다.
  • content reconstruction
    (a) → conv1_2
    (b) → conv2_2
    (c) → conv3_2
    (d) → conv4_2
    (e) → conv5_2
    뒤로갈수록 디테일한 픽셀에 대한 정보는 소실되는 것을 확인할 수 있다.

Style Transfer Model 요약

이미지

a로부터 스타일을 가져오고 p로부터 컨텐트를 가져온다.
style loss를 구하기 위해서는 각 레이어 별로 gram matrix를 구하게 되는데 노이즈 이미지에서도 역시 5개의 레이어에 대한 gram matrix를 구해서 E를 구하게 된다.
content loss의 경우에는 1개의 레이어로만 구해서 L_style과 L_content의 값이 최소가 될 수 있도록 업데이트를 시키는 방식이다.

태그:

카테고리:

업데이트:

댓글남기기