이 저장소는 신경 분석 별 분석을 통한 CVPR 2024 Paper 3D 얼굴 표정의 공식적 구현입니다.
Smirk는 안면 형상으로 단안 이미지에서 3D 얼굴을 재구성하여 극도의 비대칭 및 미묘한 표현을 충실하게 회복합니다.
Pytorch 및 Pytorch3d의 작업 버전이 설치되어 있어야합니다. 우리는 requirements.txt
CUDA 11.7을 사용하여 Python 3.9 설정에 필요한 종속성을 설치하는 데 사용할 수있는 파일 :
콘다 생성 -n smirk python = 3.9 PIP 설치 -R 요구 사항 .txt# 설치 Pytorch3d NowPip 설치 설치 ----o-index ---no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py39_cu117_pyt201/download.html
그런 다음 필요한 모델을 다운로드하려면 다음을 실행하십시오.
bash quick_install.sh
위의 설치에는 화염 모델 다운로드가 포함됩니다. 등록이 필요합니다. 계정이없는 경우 https://flame.is.tue.mpg.de/에 등록 할 수 있습니다.
이 명령은 또한 Google 드라이브에서도 찾을 수있는 Smirk 사회수 모델을 다운로드합니다.
우리는 두 가지 데모를 제공합니다. 단일 이미지에서 모델을 테스트하는 데 사용할 수있는 것,
Python demo.py -input_path 샘플/test_image2.png -out_path results/-checkpoint pretrained_models/smirk_em1.pt -crop
비디오에서 모델을 테스트하는 데 사용할 수있는 것,
Python demo_video.py -input_path 샘플/dafoe.mp4-out_path results/-checkpoint pretrained_models/smirk_em1.pt --crop -render_orig
Smirk는 LRS3, MEAD, Celeba 및 FFHQ의 다음 데이터 세트의 조합에 대해 교육을 받았습니다.
§§ 여기에서 LRS3 데이터 세트를 다운로드하십시오. 현재이 데이터 세트가 웹 사이트에서 제거되었음을 알고 있습니다. 다른 유사한 데이터 세트 (예 : LRS2)로 대체 할 수 있습니다.
여기에서 미드 데이터 세트를 다운로드하십시오.
여기에서 Celeba 데이터 세트를 다운로드하십시오. 정렬 된 이미지 img_align_celeba.zip
을 직접 다운로드 할 수 있습니다.
여기에서 FFHQ256 데이터 세트를 다운로드하십시오.
데이터 세트를 다운로드 한 후 미디어 파이프와 팬을 사용하여 랜드 마크를 추출해야합니다. datasets/preprocess_scripts
에서 전처리를위한 스크립트를 제공합니다. 예제 사용 :
Python DataSets/preprocess_scripts/apply_dataset.py -input_dir path_to_ffhq256/images -output_dir path_to_ffhq256/mediapipe_landmarks
그리고 팬을 위해 :
Python DataSets/preprocess_scripts/apply_fan_to_dataset.py -input_dir path_to_ffhq256/images -output_dir path_to_ffhq256/fan_landmarks
팬 랜드 마크를 얻으려면 https://github.com/hhj1897/face_alignment에서 구현을 사용합니다.
그런 다음 데이터 세트 및 해당 랜드 마크에 대한 올바른 경로로 구성 파일을 configs
파일을 업데이트하십시오.
사전 여파 단계에서, 우리는 추출 된 랜드 마크와 운모의 출력 만 사용하여 3 개의 인코더 (포즈, 모양 및 표현)를 모두 훈련시킵니다.
Python Train.py configs/config_pretrain.yaml train.log_path = "logs/pretrain"
사전 여파 후, Smirk의 핵심 단계에서, 우리는 모양을 얼리고 인코더를 포즈하고 전체 Smirk 프레임 워크 (재구성 경로 및 사이클 경로)로 표현 인코더를 훈련시킵니다.
Python train.py configs/config_train.yaml recume = logs/pretrain/first_stage_pretraind_encoder.pt train.loss_weights.emotion_loss = 1.0
이 작업이 유용하다고 생각되면 다음을 고려하십시오.
@InProCeedings {Smirk : CVPR : 2024, title = {신경-synthesis}, analysis-by-synthesis}를 통한 3D 얼굴 표정} {Retsinas, George and Filntisis, Panagiotis P. 및 Danecek, Radek and Abrevaya, Victoria F. 및 Roussos , Anastasios and Bolkart, Timo and Maragos, Petros}, Booktitle = {컴퓨터 비전 및 패턴 인식에 관한 컨퍼런스 (CVPR)}, Year = {2024}}
우리는이 작업에 사용 된 다음 저장소 및 논문을 인정합니다.
운모
에모카
자동 링크