모나리자가 마녀처럼 웃는 모습을 보고 싶나요? 아니면 진주 귀걸이를 한 소녀가 윙크하며 웃기를 바라시나요? Google은 모든 작업을 수행할 수 있는 Lumiere[1]라는 비디오 생성 모델을 출시했습니다.
주로 텍스트-비디오 모델이지만 그 이상을 수행할 수 있습니다. 프롬프트가 포함된 참조 이미지가 주어지면 참조 이미지의 스타일을 비디오에 복사하여 비디오의 스타일을 지정할 수 있습니다.
프롬프트 하나만으로 비디오를 편집할 수도 있습니다. 모델은 루미에르 입니다. 시네마그래프(Cinemagraphs)라는 기술을 사용하여 이미지에서 사용자가 지정한 영역 내의 개체에 애니메이션을 적용할 수도 있습니다.
인페인팅과 관련하여 Lumiere는 이 예에서 케이크와 같이 완전히 누락된 개체에 대해서도 추론할 수 있습니다.
이 모든 것은 새로운 시공간 U-Net 아키텍처를 갖춘 확산 모델로 귀결됩니다[3]. 이는 비디오 생성 모델에서 흔히 발생하는 시간적 일관성 문제를 해결하기 위한 U-Net 아키텍처의 사용자 정의입니다.
Lumiere 논문, 모델 아키텍처 및 결과에 대한 시각적 설명이 제공됩니다.
우리 모두는 비디오가 이미지의 연속이라는 것을 알고 있습니다. 이제 위 그림의 맨 윗줄에 표시된 일련의 이미지를 살펴보겠습니다. 왼쪽에서 오른쪽으로 녹색 선으로 표시되는 이미지의 한 행만 좁히면 시퀀스의 이미지 간 픽셀 값의 부드러운 전환을 확인해야 합니다.
전환이 원활하면 비디오를 보는 동안 점프 효과가 표시되지 않습니다.
예를 들어, Stable Video Diffusion [2]을 사용하여 달 위를 걷고 있는 우주비행사의 비디오(위)를 보면 그의 손이 프레임 사이에서 사라지는 것을 볼 수 있습니다. 즉, 프레임 간의 시간적 일관성이 부족합니다.
시간과 x 방향의 강도 사이의 이러한 종류의 시간적 불일치는 위 그림에 강조 표시된 대로 XT 슬라이스로 표시될 수 있습니다. 그리고 시간적 불일치가 있는 경우 XT 슬라이스 플롯에서 강조 표시됩니다.
Lumiere는 시공간 확산 모델과 확산 모델에 존재하는 수정된 U-Net 아키텍처를 도입하여 이 문제를 해결합니다.
세부 사항을 살펴보기 전에 텍스트-비디오 생성 모델의 일반적인 파이프라인부터 시작해 보겠습니다.
이러한 파이프라인은 매 5번째 프레임을 입력 비디오 시퀀스의 키프레임으로 샘플링하고 초당 3프레임으로 128 x 128의 낮은 해상도로 이러한 키프레임을 생성할 수 있는 기본 모델을 교육합니다.
그런 다음 임시 슈퍼 해상도를 사용하여 중간 프레임을 예측하여 프레임 속도를 높입니다. 따라서 프레임 속도는 이제 초당 16프레임이 됩니다.
그런 다음 이러한 프레임의 공간 해상도는 공간 초해상도 네트워크(SSR)에 의해 1024 x 1024로 증가되어 최종적으로 생성된 비디오로 이어집니다.
이 프레임워크에 사용되는 기본 모델은 일반적으로 내부에 U-Net이 있는 확산 모델입니다.
반면에 Lumiere의 제안된 파이프라인은 프레임 삭제 없이 모든 프레임을 한 번에 처리합니다. 모든 프레임을 처리하는 데 필요한 계산 비용을 처리하기 위해 기본 확산 모델의 아키텍처를 수정하여 시공간 UNet 아키텍처 또는 STUNet을 구현했습니다.
STUNet이 모든 입력 프레임을 처리하므로 임시 초해상도(TSR)가 필요하지 않습니다. 따라서 파이프라인에는 여전히 공간 초해상도(SSR)가 있습니다. 그러나 참신한 점은 MultiDiffusion의 도입입니다.
시공간 U-Net을 살펴보기에 앞서 U-Net에 대해 빠르게 살펴보겠습니다. U-Net에 대한 입력은 너비 W, 높이 H 및 채널 RGB를 갖는 3개의 3차원 이미지입니다. U-Net의 모든 이중 컨볼루션 단계 후에는 최대 풀링을 적용하여 특징의 공간 차원을 다운샘플링하거나 줄입니다. 이 공간 차원 축소 단계는 빨간색 화살표로 표시됩니다.
마찬가지로 디코더 단계에서는 해상도를 다시 입력 크기로 높이거나 업샘플링하기 위한 업 컨볼루션이 있습니다.
비디오의 경우 입력에 시간이라는 추가 차원이 있습니다. 그래서 시공간 U-Net은 공간적 차원뿐만 아니라 시간 T 차원에서도 비디오의 다운샘플링과 업샘플링을 제안합니다. 이것이 시간적 크기 조정의 주요 아이디어이자 본 Lumiere 논문의 주요 기여입니다.
크기 조정을 위해 입력에 이제 추가 차원이 있으므로 2D 풀링 대신 3D 풀링을 사용합니다.
나처럼 여러분도 아이디어의 단순성에 놀랄 수도 있습니다. 저자는 논문에서 다음과 같이 언급했습니다.
놀랍게도 이 설계 선택은 아키텍처에 공간 다운 및 업 샘플링 작업만 포함하고 네트워크 전체에서 고정된 시간 해상도를 유지하는 규칙을 따르는 이전 T2V 모델에서 간과되었습니다.
구현의 몇 가지 미묘한 차이를 살펴보겠습니다. 그들은 이 문서에 소개된 비디오 확산 모델(Video Diffusion Models)이라고 불리는 인수분해 컨볼루션을 사용합니다. 아이디어는 각 2D 컨볼루션을 공간 전용 3D 컨볼루션으로 변경하는 것입니다. 예를 들어 각 3x3 컨볼루션을 1x3x3 컨볼루션으로 변경합니다.
주의를 위해 각 공간 주의 블록 뒤에 첫 번째 축에 대해 주의를 수행하고 공간 축을 배치 축으로 처리하는 시간 주의 블록을 삽입합니다.
이 두 가지 변경 사항을 사용하면 인수분해된 컨볼루션 블록이 사전 훈련된 모델에 추가되고 사전 훈련된 레이어 가중치가 고정된 상태로 추가 레이어만 훈련됩니다.
논문의 두 번째 참신함은 공간 초해상도 중에 도입된 MultiDiffusion입니다. lumiere 이전에 비디오 생성 모델을 사용하는 경우 공간 초해상도 모델은 일련의 프레임을 사용합니다.
그러나 시퀀스가 겹치지 않았습니다. 예를 들어, SSR 모듈에 의해 입력되는 처음 8개 프레임과 다음 8개 프레임은 겹치지 않고 분리됩니다.
하지만 뤼미에르의 경우 처음 8개 프레임과 두 번째 8개 프레임이 2개 프레임이 겹칩니다. 이를 통해 공간 초해상도 모델은 시간적 세그먼트 간의 원활한 전환을 달성하는 것으로 보입니다. 이것이 논문에서 multiDiffusion이라고 불리는 것입니다.
Imagen Video와 같은 이전 아키텍처에서 널리 사용되는 계단식 확산 모델 아키텍처가 없다는 점과 제안된 두 가지 기술을 결합하면 매우 다양한 애플리케이션이 가능해집니다.
예를 들어:
모델을 정량적으로 평가하기 위해 사용자가 제안된 모델의 결과를 Pika, ZeroScope 또는 안정적인 비디오 확산과 같은 일부 최첨단 모델과 비교하는 사용자 연구를 통해 모델을 실행했습니다. 결과는 텍스트를 비디오로, 이미지를 비디오로 변환하는 경우 모두 사용자가 Lumiere 모델을 선호한다는 것을 나타냅니다.
따라서 결론적으로 웃는 모나리자 같은 모든 홍보용 비디오 스턴트를 제외하고 이 논문의 기여는 매우 간단합니다. 한 줄로 정리하면 이 논문에서는 시간 채널의 다운샘플링을 소개합니다.
이는 초해상도 모델에 중첩된 프레임을 공급하는 것에 불과한 MultiDiffusion과 결합되어 시간적으로 일관된 고화질 비디오를 생성합니다.
내가 보고 싶었던 것은 multiDiffusion 프로세스 유무에 따른 결과를 보여주는 논문의 절제 연구입니다.
이것으로 이 기사를 마치겠습니다. 다음에 누군가가 Lumiere에 관해 당신에게 이야기할 때, 당신은 한 줄로 무엇을 말해야 할지 알 것입니다. 이것이 Lumiere 모델에 대한 통찰력을 제공했기를 바랍니다.
다음번에 뵙겠습니다. 그때까지 몸조심하세요...
[1] Omer Bar-Tal, Hila Chefer, Omer Tov, Charles Herrmann, Roni Paiss, Shiran Zada, Ariel Ephrat, 허준화, Yuanzhen Li, Tomer Michaeli, Oliver Wang, Deqing Sun, Tali Dekel, Inbar Mosseri,
[2] Andreas Blattmann, Tim Dockhorn, Sumith Kulal, Daniel Mendelevitch, Maciej Kilian, Dominik Lorenz, Yam Levi, Zion English, Vikram Voleti, Adam Letts, Varun Jampani, Robin Rombach,
[3] Olaf Ronneberger, Philipp Fischer 및 Thomas Brox,
여기에도 게시됨