[3주차/논문리뷰/김지윤] Image Style Transfer Using Convolutional Neural Networks
이미지 처리 분야에서 이미지를 다른 스타일로 변환하는 작업의 어려움과 이를 해결하기 위한 접근 방법에 대해 다룬다. 기존의 방법은 이미지와 콘텐츠를 효과적으로 분류할 수 있는 표현(representations)의 부족으로 인해 어려움이 있었지만, 이 연구에서는 객체 검출(Object Detection)을 위한 CNN 기반 이미지 표현을 활용하여 높은 수준의 이미지 정보를 활용하는 방법을 제안한다. 이를 통해 유명 작가의 스타일과 이미지를 성공적으로 결합하여 새로운 이미지를 생성할 수 있다.
스타일 변환은 주어진 소스 이미지의 콘텐츠를 유지하면서 다른 텍스쳐를 합성하여 타겟 이미지를 생성하는 것을 목표로 한다. 이를 위해 소스 텍스쳐의 픽셀을 다시 샘플링하여 원본 사진에 학습하는 비파라미터(non-parametric) 알고리즘들이 존재하며, 콘텐츠 정보를 보존하는 다양한 방법들이 개발되어 왔다. 하지만 기존 알고리즘들의 공통적인 한계는 낮은 수준의 이미지 특징(feature)에만 적용 가능하다는 점이다. 따라서 의미 있는 콘텐츠 정보를 보존하기 위해서는 더 나은 이미지 표현 방법이 필요하고, 이를 위해 이미지 안에서 콘텐츠와 스타일을 독립적으로 표현하는 이미지 representations이 필요하다.
기존에는 이미지에서 콘텐츠와 스타일을 분리하는 것이 매우 어려웠지만, CNN 의 등장으로 가능해졌다. 특히 객체 인식과 같은 특정 작업에 충분한 양의 라벨이 부여된 데이터로 학습된 CNN은 높은 수준의 이미지 콘텐츠를 추출할 수 있게 되었다. 스타일 변환은 최신 CNN에서 얻은 feature representations를 활용하여 텍스쳐를 합성하는 알고리즘이다. 이 텍스쳐 모델은 딥러닝을 기반으로 하며, 신경망에서 최적화 문제를 해결하는 방식으로 학습된다.
아래에 제시된 결과는 VGGNet을 기반으로 한 Object Detection과 Localization 모델에 대한 것이다. 해당 모델은 VGG19의 16개 레이어와 5개의 풀링 레이어로 구성된 정규화된 feature space를 사용했다. 이미지와 위치에 대한 평균 액티베이션을 1이 되도록 정규화하여 처리했다. 또한, feature map에 대해 풀링하거나 정규화하지 않고 선형 활성화 함수를 조절하여 출력이 변경되지 않도록 하였다. FCN(Fully Convolutional Network)은 사용되지 않았으며, 개발에는 Caffe 프레임워크를 사용하고, 성능이 더 좋았던 average pooling을 채택했다.
일반적으로 비선형 필터를 쌓은 레이어들을 Neural Network에 배치하여 복잡성을 높인다. 이러한 구조에서 입력 이미지 x는 CNN의 각 레이어에서 인코딩되어 N_l개의 레이어에서 M_l = H x W 크기의 N_l feature map을 갖게 된다.
이 층 구조에서 이미지 정보를 시각화하기 위해 white noise 이미지가 원본 이미지와 대응되도록 Gradient Descent를 실행한다. 여기서 p은 원본 이미지이고, x는 생성된 이미지라고 할 때, P^l과 F^l을 각각 l 레이어에서 얻은 feature representations로 정의한. 이를 Squared Error를 취하여 다음과 같은 Loss 함수를 사용한다.
임의의 이미지 x를 특정 레이어의 원본 p와 대응하도록 학습한다. 객체 인식으로 학습된 모델은 층을 지날수록 객체 정보를 잘 표현하여 물체의 배치를 잘 잡지만, 픽셀 단위로 정확한 위치를 얻지는 못한다. 반면에 lower layer일 때는 원본 이미지와 비교해 픽셀 단위로 정확하게 새로운 이미지를 생성하지만, 콘텐츠적 의미는 크게 유사하지 않다.
결론적으로, layer가 깊어질수록 물체의 배치가 더 잘 표현되지만 정확한 외관을 보여주지는 않고, layer가 얕아질수록 물체의 배치는 떨어지지만 정확한 외관을 보여준다.
이미지에서 스타일 표현을 얻기 위해 텍스처 정보를 추출하는 feature space을 디자인한다. feature space는 네트워크의 어느 레이어에도 이미지가 필터를 통과한 후 적용될 수 있고, 서로 다른 필터를 통과한 결과의 상관 관계에 기반하여 구성된다. 이 상관 관계는 feature map의 공간적 범위에 따라 형성된다. 이러한 특성 상관 관계는 Gram matrix를 사용하여 레이어 l에 있는 벡터화된 피쳐맵 i와 j의 내적으로 얻어진다.
여러 레이어들의 특성 상관 관계를 이용하여 이미지의 multi-scale 표현 정보를 얻는데, 이는 전체적인 배치보다는 텍스처 정보를 포함한다. 즉, 입력 이미지의 스타일 표현과 대응하는 이미지를 생성하는 네트워크에서 다르게 구성된 레이어인style feature space에서 얻은 정보를 시각화할 수 있다. 화이트 노이즈 이미지를 Gradient Descent를 통해 생성된 이미지의 Gram matrices와 원본 이미지의 Gram matrices의 평균 제곱이 최소화되도록 한다.
이미지 p에 이미지 a의 스타일을 적용하려면, 이미지 p의 콘텐츠 표현과 이미지 a의 스타일 표현을 동시에 대응하는 새로운 이미지를 합성해야 한다. 이를 위해 한 레이어에서 이미지의 콘텐츠 표현과 다른 레이어에서 이미지의 스타일 표현으로부터 화이트 노이즈의 특성 표현을 최소화하는 방식으로 학습을 진행한다.
이를 위해 총 Loss 함수는 다음과 같이 정의된다.
여기서 α와 β는 콘텐츠와 스타일의 상대적인 가중치 요소로, 이미지 정보를 추출하기 전에 두 이미지를 같은 크기로 조절하기 위해 리사이즈를 수행한다. 또한, 네트워크의 구조나 최적화 알고리즘에 따라 이미지 합성 결과에 차이가 발생할 수 있다.
CNN을 사용하여 콘텐츠와 스타일의 표현이 잘 분리된다는 것이 요점이다. 두 가지 표현을 독립적으로 이용하여 새롭고 현실적인 의미있는 이미지를 생성할 수 있다. 이를 입증하기 위해 두 개의 소스 이미지의 콘텐츠 표현과 스타일 표현을 섞어서 이미지를 합성하는 실험을 수행했고, 독일의 Tubingen의 Neckar 강가 지역을 묘사한 이미지의 콘텐츠 표현과 잘 알려진 유명한 예술작품의 스타일 표현을 대응시켜서 이미지를 생성했다.
스타일과 콘텐츠는 완벽하게 섞이기 어렵기 때문에 상대적으로 어떤 측면에 집중할지 선택해야 한다. 콘텐츠에 집중하면 텍스쳐의 성능은 떨어지지만, 스타일에 집중하면 텍스쳐의 성능이 향상된다. 따라서 두 요소는 trade-off 관계에 있다.
네트워크의 다른 레이어를 선택하는 것도 중요하다. 스타일 표현은 여러 레이어에서 다양한 스케일로 표현되며, 레이어의 숫자와 위치에 따라 다른 결과가 나타난다. 상층 레이어까지 스타일 표현을 포함하면 더 큰 규모의 로컬 이미지 구조를 보존하고 더 자연스럽고 부드럽게 시각적인 결과를 얻을 수 있다. 따라서 시각적으로 매력적인 결과를 얻기 위해 conv1_1부터 conv5_1까지의 레이어들의 style features를 사용한다.
종합적으로, 하층 레이어를 사용하면 그림에 텍스쳐를 섞은 느낌이 나타나며 디테일한 픽셀 정보를 보존한다. 반면 상층 레이어를 사용하면 그림과 텍스쳐가 더 잘 합쳐지며 디테일한 픽셀 정보는 사라진다. 따라서 좋은 구조는 그림의 콘텐츠가 유지되면서 작품의 스타일링이 선과 칼라맵 등으로 대체되어야 한다.
gradient descent의 초기화에 대해 다양한 접근 방식을 시도했다. 시작 이미지로는 화이트 노이즈를 사용했지만, 콘텐츠나 스타일 이미지를 시작 이미지로 사용하는 것도 가능하다. 결과 이미지는 시작 이미지의 영향을 받아서 해당 이미지의 공간에 약간 치우쳐질 수 있었지만, 큰 차이는 없어 보였다. 즉, 화이트 노이즈로 시작했을 때 임의의 새 이미지를 생성하는 것이 가능하며, 이미 정해진 시작 이미지를 사용하더라도 SGD 과정 때문에 같은 결과를 얻을 수 있었다.
예술 작품의 스타일 변경뿐만 아니라 임의의 두 그림에도 스타일 변환을 적용할 수 있다는 가능하다.뉴욕의 밤과 런던의 아침과 같은 사진들에도 스타일 변환을 시도해 보았습니다. 결과적으로 사진의 원래 감성은 완벽하게 보존되지는 않았지만, 스타일 이미지의 색상과 빛을 어느 정도 잘 합쳐서 새로운 이미지를 생성해냈다. 이를 통해 스타일 변환 기술이 예술 작품뿐만 아니라 다양한 종류의 이미지에 적용 가능함을 입증했다.
이 논문은 임의의 사진에 스타일을 바꾸는 기술을 CNN을 활용하여 제시했다. 높은 수준의 결과를 보여주었지만 해상도 문제와 노이즈 문제가 일부 존재하며, 성능 개선이 필요하다. 작품 스타일링은 컴퓨터 그래픽스에서 다른 개념으로 공부되었으며, 콘텐츠와 스타일을 분리하는 것은 복잡하고 정확한 기준이 없는 어려운 작업이지만 이미지의 콘텐츠와 스타일을 분류하는 Neural system은 매력적이며, 인공 신경망과 생물학적 시각은 비슷한 기능을 가지고 있어 예술을 즐길 수 있는 가능성이 있다.
댓글 영역