그림 그리는 AI, 아이펠에서 직접 만들어 보세요!
#인공지능 

초상화가 노래부른다고? 알리바바의 EMO 분석!

알리바바에서 그림이 노래를 부르는 비디오를 생성하는 모델인 EMO를 공개했습니다. EMO는 Stable Diffusion을 백본으로 두고 있고 음성, 얼굴 움직이는 속도등을 개선해 정교하게 움직이는 것이 특징입니다.

2024-03-04 | 이영빈

2023년은 챗봇의 시대라고 불러도 과언이 아니었습니다. OpenAI에서 2022년 챗GPT가 나온 이후로 2023년에는 GPT-4가 나왔습니다. 이외에도 앤트로픽에서 Claude 2가 나왔고 Google에서는 Gemini 시리즈를 발표했습니다. 뿐만 아니라 하반기부터는 기존에 있던 LLM에 그림 생성기능까지 넣는 시도가 성공적으로 되면서 MultiModal LLM의 시대로 점차 향했습니다. 그렇다면 2024년은 어떠할까요? 2024년은 단언컨대 비디오생성의 시대라고 불러야될것 같습니다. 2024년 2월15일에 OpenAI에서는 고화질로 비디오를 생성하는 Sora가 등장했습니다. Sora의 등장은 RunwayML 이전부터 있었던 비디오 생성모델 기업에 큰 자극을 주었습니다. 그리고 알리바바에서 그야말로 충격적인 비디오 생성 모델인 EMO를 공개했습니다..!! 먼저 데모영상부터 구경하고 오시죠!

No Title

No Description

EMO(Emote Portrait Alive) 모델을 분석해보자!

알리바바 연구원이 EMO를 만들때 가장 심혈을 기울인 부분은 소리와 입모양의 싱크를 맞추는 것이었습니다. 기존 다른 모델들의 경우 영상을 만들거나 그것에 맞는 배경음악까지는 잘 만들어냈습니다. 그러나 그림이 직접 움직이면서 노래를 부를 때는 입모양과 소리가 싱크가 안맞거나 얼굴이 무너지는 부작용들이 있었습니다. 이번 EMO에서는 오디오뿐만 아니라 얼굴 위치, 머리가 움직이는 속도까지 학습하는 방식으로 보완했습니다. 아래 그림은 EMO 모델 구성입니다. 아래 그림을 하나씩 살펴보도록 하겠습니다.

emo-model-architecture

EMO의 Backbone Network

EMO의 Backbone Network로 활용된 모델은 Stable Diffusion 1.5입니다. 다만 일반적인 Stable Diffusion은 Text-to-Image 모델인데 우리가 활용하는 모델은 Image-to-Video 모델이기에 들어가는 입력값이 다릅니다. 그렇기에 이전에 Stable Diffusion 1.5에서 사용한 프롬프트 임베딩을 생략합니다. 대신 이미지를 비디오로 바꿔주는 모델이기에 이미지는 나중에 설명할 ReferenceNet에서 나온 Reference 피쳐를 활용하게 됩니다.

EMO의 Audio Layers

EMO의 Audio Layer는 기존에 사전학습된 Wav2Vec를 활용해서 프레임단위로 임베딩을 진행합니다. 그러나 기존 방식을 그대로 활용하면 모션이 제대로 적용되지 못해 음성 layer를 구축할 때 근처 프레임에 있는 피쳐를 concat하는 방식을 취하고 있습니다. 이 과정을 거친 다음 Backbone Network에 들어갈 때 latent 코드와 크로스 어텐션하는 방식으로 layer를 구성합니다.

EMO의 ReferenceNet

EMO의 ReferenceNet은 Backbone Network와 구조가 동일합니다. 그렇기에 ReferenceNet도 이미지를 생성할 수 있습니다. 그런데 ReferenceNet에서 나온 이미지는 바로 결과값으로 사용하는 것이 아닌 Backbone Model이 조금 더 자연스러운 비디오 프레임을 생성하기 위한 역할로써 존재합니다. 그렇기에 다른 layer처럼 Backbone Network에서 크로스 어텐션하는 방식으로 구성하게 됩니다.

EMO의 Temporal Modules

EMO의 Temporal Module은 Image-to-Video 모델에서 가장 중요한 모듈입니다. Temporal Module은 생성된 비디오 프레임간 시간적 관계를 쉽게 이해할 수 있도록 인코딩할 수 있게 주어진 텍스트와 이미지간 혼합 layer를 추가합니다. 많은 비디오 생성 모델에서 Temporal Module을 사용하고 있지만 EMO에서는 클립간 일관성을 강화하기 위해 프레임을 n개씩 통합하는 방식을 취합니다. 이 방식을 사용한다면 프레임의 연속성을 유지하는 동시에 클립간 부드러운 화면전환이 일어납니다.

EMO의 Face Locator & Speed Layers

EMO의 Temporal Modules는 프레임의 연속성과 부드러운 화면전환을 보장할 수 있지만 클립 전체를 관통하는 캐릭터의 모션 일관성과 안정성을 보장할 수 없습니다. 이를 보완하기 위해 나온 방식이 Face Locator와 Speed Layer입니다. Face Locator는 얼굴을 찾아 바운딩 박스 영역을 포함시킵니다. 이 방식을 하기 위해 경량화된 Convolution 레이어를 사용합니다. 그러나 연속된 비디오 특성상 얼굴의 움직임 변화가 빠르기 때문에 클립 간에 부드러운 모션으로 만드는 것이 매우 어렵습니다. 연구진은 여기에 모션 속도를 반영하는 Speed Layer를 만들어서 임베딩을 처리하는 방식을 택했습니다.

 

Sora와 비교하면?

Introducing Sora – OpenAI’s text-to-video model

No Description

공교롭게도 2월에 OpenAI가 고품질 비디오 생성모델인 Sora를 공개했습니다. Sora는 장혜정님께서 작성해놓으신 블로그에 잘 설명되어 있으니 일독을 추천합니다. Sora의 경우 텍스트 프롬프트를 작성하면 고품질의 비디오가 프롬프트에 맞춰서 생성되는 모델입니다. EMO는 텍스트 프롬프트가 들어가지 않고 이미지와 보이스가 들어가 그것에 맞춰 초상화가 움직이는 모델입니다. 동작방식만 비추어볼 때 Sora는 DALL-E에서 비디오 파트까지 확장된 모델이면 EMO는 그림이 노래를 부르는 모델이라 볼 수 있습니다. 조금 더 직관적으로 이야기하면 Sora는 소원을 빌면 그 소원을 영상화시키는 마법램프라고 하면 EMO는 해리포터에 나오는 말하는 초상화라 볼 수 있습니다.

 

앞으로의 비디오 생성은?

2023년까지만하더라도 생성모델의 선두로 활동하고 있는 스타트업들이 이 부분을 많이 연구했습니다. 대표적인 회사의 프로덕트는 Runway의 Gen-2가 있습니다. 2024년이 들어서자 비디오 생성모델들이 점차 정교해지고 있으며 빅테크에서도 좋은 결과물이 나오고 있습니다. 이전에 소개했던 Sora나 오늘 소개한 EMO뿐만 아니라 Google에서도 Luimiere라는 모델을 공개했습니다. 점차적으로 비디오 생성 모델도 고수준까지 올라올 것이라고 예측합니다. 다만 비디오가 정교화되면 될수록 가짜정보에 더 취약해질 수 있습니다. 예를 들어 정치인이 혐오발언을 하는 비디오 생성 영상은 여론에 영향을 주고 사회적 부작용이 매우 심할 수 있다고 생각합니다. 그렇기에 현재 비디오 생성 모델의 경우 기존 모델들과 동일하게 혹은 더 강력하게 safety 기준을 만들어야 한다는 생각이 듭니다.