MusicInfuser: 음악과 텍스트로 댄스 영상을 생성하는 모델 131

小编 ·

MusicInfuser: 음악과 텍스트로 댄스 영상을 생성하는 모델

MusicInfuser는 텍스트-비디오 확산 모델과 음악을 정렬하는 프로젝트로, 음악과 텍스트로부터 댄스 영상을 생성할 수 있습니다. 음악-비디오 크로스 어텐션 메커니즘을 도입하여 생성된 영상이 음악 리듬과 동기화되도록 합니다.

MusicInfuser: 음악과 텍스트로 댄스 영상을 생성하는 모델

MusicInfuser란 무엇인가?

MusicInfuser는 텍스트에서 비디오 확산 모델(diffusion model)을 음악에 정렬시킨 프로젝트로, 음악과 텍스트를 기반으로 댄스 영상을 생성할 수 있습니다. 음악-비디오 교차 어텐션(cross-attention) 메커니즘을 도입하여 생성된 영상이 음악의 박자에 맞게 동기화될 수 있도록 합니다.MusicInfuser:음악과 텍스트를 기반으로 댄스 영상을 생성할 수 있는 모델.jpg

MusicInfuser 기능

  • 음악 기반 댄스 비디오 생성: 입력된 음악과 텍스트 프롬프트로부터 고품질의 댄스 영상을 생성합니다.

  • 유연한 텍스트 프롬프트: 사용자는 텍스트 프롬프트를 통해 댄스 스타일, 배경, 댄서의 특징 등을 지정할 수 있습니다.

  • 장시간 시퀀스 생성 지원: 모델은 처음에 73 프레임 시퀀스로 학습되었지만, 외삽(extrapolation)을 통해 더 긴 비디오 시퀀스를 생성할 수 있습니다.

  • 랜덤 시드 제어: 랜덤 시드를 설정함으로써 사용자는 서로 다른 댄스 결과를 생성할 수 있습니다.

MusicInfuser 활용 분야

  • 창작 영상 제작: 영상 제작자에게 음악 기반 댄스 비디오 생성 도구를 제공하여 콘텐츠 제작 효율성을 높입니다.

  • 엔터테인먼트 및 퍼포먼스: 개인 맞춤형 댄스 퍼포먼스 영상을 생성하는 데 사용되며, 가상현실(VR), 증강현실(AR) 등 다양한 환경에 적용할 수 있습니다.

  • 교육 및 훈련: 생성된 영상을 통해 댄스 동작과 음악 리듬의配合(협응)을 더 잘 이해하도록 돕습니다.

MusicInfuser 사용 방법

1. 설치

1. 저장소 복제:

git clone https://github.com/SusungHong/MusicInfuser
cd MusicInfuser

2. Conda 환경 생성 및 활성화:

conda create -n musicinfuser python=3.10
conda activate musicinfuser

3. 의존성 패키지 설치:

pip install -r requirements.txt
pip install -e ./mochi --no-build-isolation

4. 모델 가중치 다운로드:

python ./music_infuser/download_weights.py weights/

2. 추론 (비디오 생성)

다음 명령어를 실행하여 비디오를 생성합니다:

python inference.py --input-file {MP3 또는 MP4 파일 경로} \
                    --prompt {텍스트 프롬프트} \
                    --num-frames {생성할 프레임 수}
  • input-file: 오디오를 추출할 입력 파일 (MP3 또는 MP4).

  • prompt: 댄스 생성을 위한 텍스트 프롬프트. 프롬프트가 구체적일수록 일반적으로 더 좋은 결과가 나오지만, 지나치게 구체적인 경우 오디오의 영향력이 줄어들 수 있습니다. 기본값은 "a professional female dancer dancing K-pop in an advanced dance setting in a studio with a white background, captured from a front view".

  • num-frames: 생성할 프레임 수. 기본값은 145.

기타 선택적 매개변수:

  • seed: 생성 결과의 무작위성을 제어하기 위한 랜덤 시드. 기본값은 None.

  • cfg-scale: 텍스트 프롬프트에 대한 Classifier-Free Guidance (CFG) 스케일. 기본값은 6.0.

3. 학습

1. 데이터 전처리:

bash music_infuser/preprocess.bash -v {데이터셋 경로} -o {전처리된 비디오 출력 디렉터리} -w {사전 학습된 Mochi 모델 경로} --num_frames {프레임 수}

2. 학습 실행:

bash music_infuser/run.bash -c music_infuser/configs/music_infuser.yaml -n 1

참고: 현재 구현은 단일 GPU 학습만 지원하며, 73 프레임 시퀀스 학습에는 약 80GB의 GPU 메모리가 필요합니다.

관련 링크

GitHub 프로젝트 페이지:https://github.com/SusungHong/MusicInfuser

논문:https://arxiv.org/abs/2503.14505