code
┣ LDM
┃ ┃ README.md
┃ ┗ ...
┣ SimSwap
┃ ┃ README.md
┃ ┗ ...
┣ pytorch_template
┃ ┗ ...
┣ sf2f
┃ ┃ README.md
┃ ┗ ...
┗ wcgan-gp
┃ README.md
┗ ...
┗ README.md
┗ requirements.txt
┗ train.sh
┗ voxceleb_download.sh
...
- 각 폴더 내부의 README 파일에 추가 설명이 있습니다.
- LDM: README.md
- SimSwap: README.md
- sf2f: README.md
- wcgan-gp: README.md
- Latent Diffusion: paper | github
- Low-Rank Adaptation: paper | github
- 기존 Speech Fusion to Face 모델의 voice encoder를 활용하여 결과 이미지의 품질 향상을 위해 Latent Diffusion model을 구현한 폴더입니다.
- 또한, Diffusion model의 원활한 학습을 위해 LoRA 구조를 추가하였고, 이를 통해 학습 시간 및 성능을 개선하였습니다.
- SimSwap: paper | github
- 음성 데이터로 부터 생성된 얼굴을 기존 영상에 합성하기 위해 사용된 모델입니다.
- 생성된 정면 얼굴을 영상 속 다양한 각도에 맞게 합성하기 위해 합성 속도보다 정확도와 품질이 보다 높은 모델을 선택하였습니다.
- 합성이 완료된 영상을 gif 혹은 mp4 형태로 생성하여 출력합니다.
- pytorch template: 참고github
- 모델 개발의 효율성과 일관성을 유지하기 위해 사용한 형식입니다.
- 개발한 모델을 팀원들이 이해하기 쉽도록 정리하여 공유하였습니다.
- Speech Fusion to Face: paper | github | page
- 음성 데이터 (.wav) 파일을 mel_spectrogram으로 변환한 후, 이를 통해 얼굴을 재생성하는 모델입니다.
scripts/convert_wav_to_mel.py
: 음성 데이터(.wav) 파일을 일정한 크기(100x150)의 mel_spectrogram으로 변환하는 전처리를 수행하고 이를 pickle 파일로 저장하는 스크립트입니다.options/data_opts
: 데이터 셋을 생성할 때 사용하는 매개 변수들을 지정하는 스크립트들을 저장해둔 폴더로, vox celeb dataset과 olkavs dataset에 대한 스크립트가 사용됩니다.options/sf2f
: train과 inference 시에 사용되는 모든 매개 변수들을 지정하는 스크립트들을 저장해둔 폴더로, sf2f with vox와 sf2f with olkavs로 나뉘어져 있고, sf2f는 모델의 방식과 이미지 데이터의 크기에 따라 분류되어 있습니다.utils/compute_metrics.py
: 모델 성능 평가를 위해 사용되는 metrics를 선언하고 계산하는 것을 통해 모델 학습의 평가 지표로 사용하기 위한 스크립트입니다.connect_mlflow.py
: mlflow를 통해 모델 학습을 모니터링하고, 최적의 성능을 보이는 모델의 weights를 사용하기 위해 mlflow 서버와 연결하는 스크립트입니다.
- Wasserstein GAN: paper | github
- Wasserstein GAN with Gradient Penalty: paper | github
- Conditional GAN: paper | github
- 본 프로젝트의 목소리를 통한 얼굴 생성 결과 이미지의 사용자 평가를 위해 구현된 비교군(목소리x, 나이/성별o) 모델입니다.
- Wasserstein GAN의 학습 안정성을 높이기 위해 gradient penalty를 추가하였고, 모델 결과를 유도하기 위한 condition을 추가하였습니다.
- 모델 자체 성능이 비교 불가능한 수준으로 학습되어, celebA dataset을 통해 사전학습을 진행하고 이후 vox celeb dataset에 finetuning을 진행하였습니다.
- Initialize and update the server
su -
source .bashrc
- Create and Activate a virtual environment in the project directory
conda create -n env python=3.8
conda activate env
- To deactivate and exit the virtual environment, simply run:
deactivate
To Install the necessary packages listed in requirements.txt
, run the following command while your virtual environment is activated:
pip install -r requirements.txt