본문 바로가기
AI · 인공지능/이미지 생성 AI

「Stable Diffusion」에서 단 1장의 이미지로부터「~ 같은 ○○」를 불과 수십초만에 생성하는 방법

by 두우우부 2023. 3. 2.
반응형

 
Stable Diffusion 등의 화상 생성 AI는 자신이 생성하고 싶은 이미지를 임의의 이미지와 닮도록 하는「최적화」가 가능합니다. 텔아비브 대학의 컴퓨터 과학자인 리논 갈(Rinon Gal) 씨의 팀이 단 1장의 이미지와 5 ~ 15 스텝의 조정으로 이미지 최적화를 실현하는 방법을 발표했습니다.

[2302.12228] Designing an Encoder for Fast Personalization of Text-to-Image Models

 

Designing an Encoder for Fast Personalization of Text-to-Image Models

Text-to-image personalization aims to teach a pre-trained diffusion model to reason about novel, user provided concepts, embedding them into new scenes guided by natural language prompts. However, current personalization approaches struggle with lengthy tr

arxiv.org


Encoder-based Domain Tuning for Fast Personalization of Text-to-Image Models

 

Encoder-based Domain Tuning for Fast Personalization of Text-to-Image Models

Text-to-image personalization aims to teach a pre-trained diffusion model to reason about novel, user provided concepts, embedding them into new scenes guided by natural language prompts. However, current personalization approaches struggle with lengthy tr

tuning-encoder.github.io


Stable Diffusion으로 이미지 최적화를 가능하게 하는 기술 중 하나는 Textual Inversion입니다. 이 Textual Inversion은「Embeddings(임베디드)」라고도 불리는 기술로, Stable Diffusion의 모델 데이터와는 별도로 이미지로부터 학습한 데이터를 준비하는 것만으로, 특정 이미지와 매우 유사한 이미지를 생성할 수 있습니다. Textual Inversion은, 키워드의 벡터화에 있어서의「가중치」를 갱신할 뿐이므로, 학습에 필요한 메모리가 비교적 적다는 것이 메리트.



또한 Google의 이미지 생성 AI 'Imagen(Text-to-Image Diffusion Models)'용으로 개발된 이미지 최적화 기술이 'Dream Booth'입니다. Textual Inversion과는 달리 Dream Booth는 모델 자체에 추가 학습을 수행하여 매개변수를 업데이트합니다. 이 Dream Booth는 Stable Diffusion에도 적용할 수 있는 방법이 개발되었으며, 예를 들어「Dreambooth Gui」 같은 도구를 사용하여 누구나 쉽게 Dream Booth를 실행할 수 있습니다.

https://github.com/smy20011/dreambooth-gui

 

GitHub - smy20011/dreambooth-gui

Contribute to smy20011/dreambooth-gui development by creating an account on GitHub.

github.com



그러나 리논 갈 씨는 "기존의 이미지 최적화의 접근법은 긴 학습 시간 및 높은 스토리지 요구가 문제"라고 지적하며, 이러한 문제를 해결하기 위한 "인코더 기반 도메인 튜닝 접근법"을 제안하고 있습니다.

Stable Diffusion은 '텍스트 인코더'에 의해 입력된 텍스트를 768차원의 토큰 임베딩 벡터로 출력하고, 'U-NET 인코더'에 의해 그 토큰 임베딩 벡터를 잠재공간 내에서 노이즈 이미지 정보로 변환하고, 디코더에 의해 그 노이즈 이미지 정보를 픽셀 이미지로 출력하여 생성합니다.



리논 갈 씨의 접근법은 입력된 1장의 이미지와 그 이미지를 나타내는 단어의 조합을 텍스트 인코더에 추가하고, U-NET 인코더를 업데이트하여 벡터의 가중치를 바꾸는 2단계로 구성되어 있습니다.



실제로 Stable Diffusion에 연구자의 얼굴 사진을 읽어 들여 비슷한 이미지를 생성한 결과를 정리한 것이 아래. 

왼쪽부터 차례로 "입력 이미지", "Stable Disffusion", "Textual Inversion", "Dream Booth", "Textual Inversion+Dream Booth", "갈 씨의 접근법"입니다. 

갈 씨의 접근법으로 생성된 이미지는 입력한 인물의 얼굴을 상당히 충실하게 재현할 수 있다는 것을 알 수 있습니다.



또한 갈 씨의 접근은 인물의 얼굴 이외에도 가능하며, 화풍은 그대로 살리면서 피사체만 바꾸도록 지시하거나, 반대로 피사체는 그대로 두고 화풍을 바꾸는 것도 가능한 것으로 확인되었습니다.



다만, 갈 씨에 의하면, 이 인코더 베이스의 어프로치는 VRAM의 필요 용량이 대폭 증가한다고 합니다. 또한 텍스트 인코더와 U-NET 인코더를 동시에 튜닝해야 하므로 많은 메모리가 필요합니다.

현시점에서 갈 씨는 이 접근법을 수행하기 위한 코드를 공개하고 있지 않지만, GitHub에서 곧 공개할 예정이라고 합니다.

반응형