[논문 소개] (ECCV2022) IntereStyle
이번에 소개드릴 논문은 저희 클레온 연구팀이 ECCV2022에 제출해 심사 통과를 받은 논문입니다.
논문 소개에 앞서, IntereStyle로 만들 수 있는 다양한 재밌는 결과물들을 한 번 살펴보겠습니다.
위 이미지와 같이, 특징을 잘 추출해 정교하게 편집하는 것을 이미지 편집(Image Editing)이라고 하며, 이미지 편집은 대부분 아래와 같은 과정을 통해서 이루어집니다.
1. 방대한 데이터를 활용한 Generator 학습
우선 Generator를 학습합니다. 이때, generator는 label이 필요 없는 비지도 학습(Unsupervised Learning 방법을 사용하기 때문에, 많은 양의 데이터를 활용할 수 있습니다.
- 실제로 현재 가상 인물 사진 생성에 널리 쓰이고 있는 StyleGAN[1]은 대략 70,000장의 인물 사진을 활용하여 학습을 진행했습니다.
이렇게 학습된 generator는 512 차원의 임의의 벡터로부터 사람 얼굴을 생성할 수 있는 능력을 가지게 됩니다.
2. 실제 이미지를 벡터로 변환
그렇다면 실제 이미지를 편집하고, generator을 활용한 다양한 작업을 해보고 싶다면 어떻게 해야 할까요? 우선은 해당 이미지에 해당하는 벡터 값을 찾아야 합니다.
- 앞서 말한 것처럼, 학습된 generator는 512차원의 벡터로부터 임의의 사람 얼굴을 생성할 수 있습니다.
- 어떠한 벡터가 우리가 편집하고 싶은 이미지에 해당하는 벡터 값인지를 찾아내야 합니다.
이 과정을 image inversion이라고 합니다[2].
3. 이미지 벡터 편집
2번 과정에서 얻어낸 이미지 벡터를 원하는 방향으로 바꿈으로써 우리가 원하는 대로 이미지를 편집해 볼 수 있습니다. 이를 타겟하는 연구로 InterFaceGAN, StyleCLIP 등 여러 유명한 논문들이 존재합니다.
이번 포스트에서는 이미지 편집을 위한 정교한 image inversion을 주로 설명할 예정이니, 상세한 타겟 연구는 참고만 해주시면 좋을 듯합니다.
- 아래 이미지들은 클레온의 대표 가상 인물 ‘우주’를 활용해 편집한 다양한 이미지입니다.
- 왼쪽부터 원본 — inversion 결과 — 나이 듦 — 웃음 — 포즈 변경을 한 결과입니다.
Image Inversion? What is the Problem?
실제 인물 이미지는 굉장히 다양합니다. 생김새와 헤어스타일과 같은 인물의 속성은 물론이고 배경, 각도 등의 외부 조건에 따라 정말 다양성의 범위가 넓어집니다.
우리는 image inversion을 통해 언제든지 이러한 다양한 이미지에 대한 적합한 벡터를 찾을 수 있을까요?
애석하게도 아직까지는 불가능합니다. 애당초 generator는 학습된 데이터의 분포와 유사한 출력값만을 생성하도록 설계가 되어 있습니다.
- 즉, 70,000장의 다양한 인물 사진을 통해 다양한 생김새와 헤어스타일에 대해서는 어느 정도 학습이 되었지만 이것만으로 옷, 배경과 같은 얼굴 외 부분의 모든 분포를 학습하기에는 무리가 있다는 것입니다.
- 그리고 실제 사진에서는 얼굴 위에 마이크와 같은 사물이 겹쳐있는 경우도 많습니다. 이러한 경우에 어떻게 해야 하는지 지금의 inversion model이나 generator는 학습하지 못했다고 볼 수 있습니다.
이러한 예상치 못한 변수들은 inversion 성능을 엄청나게 떨어뜨리기도 합니다.
IntereStyle의 아이디어는 여기서부터 시작됩니다.
해당 논문은 이러한 성능 저하가 inversion이 얼굴에 집중되지 못하기 때문이라고 주장합니다.
따라서, 다양한 방법을 통해 inversion이 얼굴에 집중되도록 해야 한다고 말하고 있습니다.
Interest Disentanglement (InD)
기존의 Encoder-Based 모델 중 가장 좋은 성능을 내던 Restyle[3] 계열의 모델들은 한 쌍의 이미지를 받고, 이 둘 사이의 차이를 벡터 공간 상에 투영하는 것을 목표로 합니다.
그러다 보니, 배경 부분의 차이를 계산하느라 이러한 부분이 벡터에 반영되고, 이는 결국 얼굴 부분의 품질을 저하시키는 데에 일조하게 됩니다. StyleGAN이 벡터를 활용해 스타일을 적용하는 방식인 Adaptive Instance Normalization 방법이 공간학적인 정보 없이 균일하게 모든 이미지 특성을 정규화하기 때문입니다.
따라서, 배경 부분의 차이가 얼굴 부분의 품질을 떨어뜨리지 않도록 별도의 조치를 취해야 합니다.
이를 저희는 Interest Disentanglement라 하기로 했습니다.
- 아래 그림과 같이, 얼굴 외 부분을 까맣게 처리한 이미지와 inversion된 이미지를 함께 넣어줍니다. inversion이 완벽하다면 이 두 이미지는 배경을 제외한 부분이 모두 동일해야 합니다.
- 두 이미지의 차이를 계산하여 벡터화한 delta_b의 경우, 이론적으로는 배경에 관련된 정보만을 담고 있어야 합니다.
- 즉, delta_b를 N번의 iteration을 거쳐서 만들어진 W_N과 더해 generator의 입력으로 넣는다고 하더라도, 생성된 이미지의 얼굴 부분은 기존의 inversion된 얼굴에서 변하지 않아야 합니다.
- 이를 활용해 배경의 변화가 얼굴 부분에 영향을 주지 않도록 regularize 해줄 수 있게 됩니다.
위 방법은 배경의 영향을 줄이는 가장 대표적인 방법으로 소개되고 있고, 논문에는 이를 포함한 더 다양한 방법들을 소개하고 있습니다. 궁금하신 분들은 논문을 참고해 주세요.
Results
얼굴에 노이즈가 있는 경우 IntereStyle은 기존의 모델에 비해서 훨씬 좋은 inversion 결과를 보입니다.
다른 모델들이 단순히 얼굴에 대한 지식 없이 기존 이미지와 비슷한 픽셀을 출력하려고만 하다 보니 이미지 속 마이크 부분에 수염을, 글자 부분에 노이즈를 생성하는 등 원치 않는 왜곡을 보이고 있는 반면 IntereStyle은 이를 잘 해결하고 있습니다.
이러한 특징은 image editing에서도 두드러집니다.
이미지 편집에서 다른 baseline 모델들을 Inversion 시 눈 화장 등 얼굴의 특징을 잃어버리거나, 특정 방향에 대해서 이미지 편집을 잘 해내지 못하는 것을 확인할 수 있습니다. 그러나 intereStyle은 얼굴 부분에 집중하는 특성을 활용해 좋은 inversion 결과와 editing 결과를 보여주고 있습니다.
Conclusion
이번 포스트에서는 클레온에서 ECCV2022에 발표한 논문 IntereStyle에 대해서 알아봤습니다.
해당 논문에서 이야기한 기술은 클레온의 서비스 내 가상 인물 합성, 메이크업 합성 등의 기능에 활용되고 있습니다. IntereStyle의 빠른 처리 속도와 높은 성능은 클레온의 많은 서비스에 도움을 주고 있습니다.
현재 클레온에서는 GAN Inversion 관련 연구도 활발히 진행되고 있습니다. 유의미한 연구 결과가 나오면 발 빠르게 공유드리도록 하겠습니다.
References
[1] MLAKarras, Tero, et al. “Analyzing and improving the image quality of stylegan.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020.
[2] Tov, Omer et al., ‘Designing an encoder for stylegan image manipulation’, 2021
[3] Alaluf, Yuval., ‘Restyle: A residual-based stylegan encoder via iterative refinement’., ICCV 2021