Repolode
fudan-generative-vision

fudan-generative-vision/hallo

인물 사진을 입력 오디오 클립에 맞춰 말하는 모습으로 애니메이션화해 MP4 영상을 만드는 오픈소스 연구 코드입니다.

스타
8,674
포크
1,118
열린 이슈
114
마지막 커밋
2년 전

어떤 프로젝트인가요?

Hallo는 인물 사진 한 장과 WAV 오디오 파일을 입력받아 토킹 헤드 영상을 생성합니다. 오디오에 맞춰 얼굴 표정, 머리 자세, 입 움직임을 제어하므로 정지 사진이 녹음된 음성을 말하는 것처럼 보이게 할 수 있습니다. 추론은 명령줄에서 scripts/inference.py를 실행해 진행하며, 결과는 MP4 파일로 저장됩니다.

이 프로젝트는 diffusion model을 기반으로 합니다. AnimateDiff motion module이 포함된 Stable Diffusion v1.5를 사용하고, 얼굴 분석에는 InsightFace와 MediaPipe를, 오디오 특징 추출에는 Wav2Vec을 사용합니다. 포즈, 얼굴, 입 움직임의 가중치와 얼굴 확장 비율을 조정해 결과를 원하는 대로 조절할 수 있습니다. 2단계 학습 스크립트와 데이터 전처리 도구도 포함되어 있습니다.

문서에 안내된 환경은 CUDA 12.1과 A100 GPU를 사용하는 Ubuntu입니다. 입력 이미지는 정사각형이어야 하며, 얼굴이 화면의 50%-70%를 차지하고 정면을 바라보는 것이 좋습니다. 학습 데이터가 영어로만 구성되어 있으므로, 입력 오디오는 WAV 형식의 또렷한 영어 음성이어야 합니다.

핵심 기능

  • 01이미지 한 장과 WAV 오디오 파일 하나로 말하는 인물 영상을 생성합니다.
  • 02명령줄 가중치로 포즈, 얼굴, 입 움직임의 강도를 조절합니다.
  • 032단계 학습 스크립트와 데이터 전처리 파이프라인을 포함합니다.
  • 04AnimateDiff motion module이 포함된 Stable Diffusion v1.5를 기반으로 합니다.
  • 05사전 학습 모델을 Hugging Face에서 제공합니다.

활용 사례

  • 오디오 기반 얼굴 애니메이션 및 토킹 헤드 생성 연구를 수행하는 연구자.
  • 인물 사진이 녹음된 영어 음성을 말하게 만들고 싶은 콘텐츠 제작자.
  • 자체 영상 데이터로 맞춤형 인물 애니메이션 모델을 학습하려는 개발자.

빠른 시작

  1. 1

    conda 환경을 만들고 활성화합니다

    conda create -n hallo python=3.10 && conda activate hallo
  2. 2

    pip으로 Python 패키지를 설치합니다

    pip install -r requirements.txt && pip install .
  3. 3

    ffmpeg를 설치합니다(필수, Ubuntu 예시)

    apt-get install ffmpeg
  4. 4

    사전 학습 모델을 pretrained_models 디렉터리에 다운로드한 다음, 샘플 이미지와 오디오로 추론을 실행합니다

    python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav

사용 전 알아둘 점

  • CUDA GPU가 필요합니다. README에서 테스트한 환경은 Ubuntu 20.04/22.04, CUDA 12.1, A100뿐입니다.
  • 추론을 실행하려면 사전 학습 모델을 수 GB 다운로드해야 합니다.
  • 학습 데이터가 영어뿐이므로 입력 오디오는 영어 WAV여야 합니다.
  • 입력 이미지는 정사각형의 정면 초상화여야 하며, 얼굴이 프레임의 50~70%를 차지해야 합니다.

포함된 컬렉션

토픽

#face-animation#talking-head#diffusion-model#audio-driven#video-generation#stable-diffusion#image-animation#video-animation

자주 묻는 질문

hallo은(는) 무엇인가요?
인물 사진을 입력 오디오 클립에 맞춰 말하는 모습으로 애니메이션화해 MP4 영상을 만드는 오픈소스 연구 코드입니다. Hallo는 인물 사진 한 장과 WAV 오디오 파일을 입력받아 토킹 헤드 영상을 생성합니다. 오디오에 맞춰 얼굴 표정, 머리 자세, 입 움직임을 제어하므로 정지 사진이 녹음된 음성을 말하는 것처럼 보이게 할 수 있습니다. 추론은 명령줄에서 scripts/inference.py를 실행해 진행하며, 결과는 MP4 파일로 저장됩니다.
hallo은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
hallo은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
hallo은(는) 아직 유지보수되고 있나요?
6개월 이상 커밋 없음. hallo의 마지막 커밋은 2024년 9월 14일입니다.
hallo은(는) 어디에 사용할 수 있나요?
오디오 기반 얼굴 애니메이션 및 토킹 헤드 생성 연구를 수행하는 연구자. 인물 사진이 녹음된 영어 음성을 말하게 만들고 싶은 콘텐츠 제작자. 자체 영상 데이터로 맞춤형 인물 애니메이션 모델을 학습하려는 개발자.
hallo는 어떻게 설치하나요?
conda 환경을 만들고 활성화합니다: conda create -n hallo python=3.10 && conda activate hallo pip으로 Python 패키지를 설치합니다: pip install -r requirements.txt && pip install . ffmpeg를 설치합니다(필수, Ubuntu 예시): apt-get install ffmpeg 사전 학습 모델을 pretrained_models 디렉터리에 다운로드한 다음, 샘플 이미지와 오디오로 추론을 실행합니다: python scripts/inference.py --source_image examples/reference_images/1.jpg --driving_audio examples/driving_audios/1.wav
hallo은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/fudan-generative-vision/hallo

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트