Hugging Face AI WebTV: 자동화된 비디오 및 음악 합성 스트림 구축
Hugging Face는 오픈소스 텍스트-비디오 및 음악 합성 모델의 통합을 보여주는 자동 방송 스트림을 만드는 실험적인 시연인 AI WebTV를 도입했습니다. 이 프로젝트는 짧은 합성 비디오 시퀀스와 동반 오디오를 생성하는 현재 생성형 AI의 능력을 보여주는 기술 데모 및 쇼리얼 역할을 합니다.
시스템 아키텍처 및 파이프라인
AI WebTV는 높은 수준의 인간 아이디어를 비디오와 오디오의 연속 스트림으로 변환하는 파이프라인을 활용합니다. 이 과정은 인간이 제공하는 기본 테마와 아이디어로 시작되며, 이는 Large Language Model(LLM), 구체적으로 ChatGPT에 의해 처리되어 특정 비디오 샷을 위한 다양한 개별 프롬프트를 생성합니다.
비디오 생성 체인
핵심 비디오 합성은 ModelScope 기반인 Zeroscope V2 모델로 구동됩니다. 생성 프로세스는 일반적으로 두 단계 체인을 따릅니다:
- 초기 생성:
zeroscope_v2_576모델은 576x320 해상도의 비디오 클립을 생성합니다. - 업스케일링:
zeroscope_v2_XL을 사용하는 선택적 두 번째 패스로 비디오를 1024x576으로 업스케일합니다. 이 단계에서는 초기 생성에 사용된 동일한 프롬프트를 적용해야 합니다.
후처리 및 오디오
시각적 출력을 정제하고 청각적 요소를 추가하기 위해 파이프라인은 두 가지 추가 도구를 사용합니다:
- 프레임 보간: FILM(대규모 움직임에 대한 프레임 보간) 알고리즘은 전환을 부드럽게 하고 작은 렌더링 오류를 복구하는 데 사용되며, 특히 카메라 팬 또는 회전 중에 유용합니다.
- 오디오 합성: MusicGen 가족의
musicgen-melody모델을 사용하여 음악이 생성됩니다.
방송 인프라
이 시스템은 NodeJS와 TypeScript를 사용하여 구현됩니다. Hugging Face Spaces를 활용하여 모델을 호스팅하고, @gradio/client NPM 패키지를 통해 호출합니다. 최종 방송에서는 FFmpeg를 사용하여 .mp4 비디오 및 .m4a 오디오 파일 재생 목록을 읽고, 이를 FLV 스트림으로 변환하여 RTMP 서버(구체적으로 node-media-server)로 전송합니다.
기능 및 관찰
AI WebTV 데모는 텍스트-비디오 모델이 실제 생활의 물리적 현상을 모방하고 다양한 예술적 스타일을 구현할 수 있는 능력을 강조합니다.
동적 장면 시뮬레이션
텍스트-비디오 모델은 유체, 동물, 차량의 움직임을 합성할 수 있습니다. 프로젝트의 예시는 다음과 같습니다:
- 부드러운 보케 배경을 가진 꽃 주변을 날아다니는 벌.
- 물이 튀는 급류에서 연어를 잡는 그리즐리 베어.
- 일출 중에 암석 해안에 부딪히는 파도.
스타일링 및 구성
이 시스템은 포토리얼리스틱 시네마틱 샷(예: 새벽의 우주인과 라마)에서부터 픽사 또는 스튜디오 지브리 스타일의 3D 렌더링 애니메이션에 이르기까지 시각적 스타일의 다양성을 보여줍니다.
기술적 한계 및 실패 사례
성공에도 불구하고, 프로젝트는 현재 텍스트-비디오 합성에서 여러 가지 반복되는 실패 모드를 식별했습니다:
- 방향 오류: 모델은 이동 방향에 어려움을 겪을 수 있으며, 때때로 역방향으로 재생되는 것처럼 보이는 클립을 생성할 수 있습니다.
- 렌더링 아티팩트: 현실적인 장면에서는 가끔 수직선이나 물결 모양의 아티팩트가 나타날 수 있습니다.
- 프롬프트 누출: 모델은 프롬프트의 단어를 이미지에 실제로 삽입할 수 있습니다. 예를 들어, "IMAX" 또는 "Canon EOS"를 언급하면 해당 단어나 객체가 장면 내에서 물리적으로 나타날 수 있습니다.
- 속성 간과: 특정 수정자(예: 색상 "green))는 모델에 의해 간과될 수 있습니다.
텍스트-비디오 프롬프팅 모범 사례
AI WebTV 실험을 바탕으로, Hugging Face는 출력 품질을 향상시키기 위한 다음과 같은 전략을 권장합니다:
- 비디오 특정 키워드 사용: 무작위 또는 역방향 애니메이션을 피하기 위해 카메라 이동, 캐릭터 방향, 속도 및 방향을 명시적으로 지정하세요.
- 장 간 일관성 보장: 비디오 시퀀스를 만들 때, 색상과 같은 요소의 일관성을 유지하기 위해 모든 프롬프트에 exhaustive detail(포괄적인 세부 사항)을 포함하세요.
- 프레임 보간 활용: FILM과 같은 도구를 사용하여 애니메이션을 부드럽게 하고 슬로우 모션 효과를 만들어, 렌더링 결함을 허용 가능한 스타일적 기능으로 전환할 수 있습니다.
Sources
- OriginalBuilding an AI WebTV