단일 인물 사진과 오디오 클립으로 3D 모션 계수에 기반한 말하는 얼굴 영상을 생성합니다(CVPR 2023).
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
conda 환경을 만들고 활성화합니다
conda create -n hallo python=3.10 && conda activate hallo - 2
pip으로 Python 패키지를 설치합니다
pip install -r requirements.txt && pip install . - 3
ffmpeg를 설치합니다(필수, Ubuntu 예시)
apt-get install ffmpeg - 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%를 차지해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
14B diffusion model 기반의 실시간 오디오 구동 아바타 영상 생성 오픈소스 연구 프레임워크
녹화한 인물 영상과 대본을 AI 음성 및 자동 립싱크가 적용된 세로형 MP4로 만드는 로컬 우선 도구입니다.
텍스트·이미지·음성 기반 영상 생성과 캐릭터 애니메이션을 지원하는 오픈소스 대규모 모델
Mochi 1은 Genmo가 Apache 2.0 라이선스로 공개한 오픈 웨이트 10B 텍스트-투-비디오 diffusion 모델입니다.
참조 이미지와 키보드·마우스 입력으로 조작 가능한 게임플레이 스타일 영상을 생성하는 오픈소스 모델입니다.