프로젝트 소개

FaceSwap는 딥러닝을 사용하여 사진과 비디오에서 얼굴을 교체하는 오픈 소스 Python 애플리케이션입니다. 이는 다단계 파이프라인을 구현합니다: 소스 자료에서 얼굴을 추출하고, 쌍으로 된 얼굴 데이터에 신경망 모델을 학습시키며, 학습된 모델로 대상 미디어를 변환합니다. 이 프로젝트는 명령줄 인터페이스와 그래픽 인터페이스를 모두 지원합니다. 최적의 성능을 위해서는 CUDA 지원을 갖춘 현대적 GPU가 필요합니다. AMD GPU는 Linux에서 ROCm을 통해 지원됩니다. 작업 흐름은 이미지에서 얼굴을 추출하여 추출 폴더에 저장하고, 두 개의 얼굴 소스에 대해 별도 모델을 학습시킨 다음, 학습된 변환을 적용하여 교체된 출력을 생성하는 것입니다. 주요 기능으로는 여러 지원 모델 아키텍처(Villain, Phaze-A, DFL-H128, Unbalanced, OHR), 비디오 변환 도구, FAN을 사용한 얼굴 정렬 및 MTCNN을 사용한 얼굴 감지, 훈련 가속화를 위한 사전 학습 모델 재사용 등이 있습니다. 이 프로젝트는 Discord와 전용 포럼을 통해 활발한 커뮤니티를 유지하며, 문서는 ReadTheDocs에서 제공됩니다. 개발자들은 이 도구가 학습, 실험, 사회 비판, 영화 제작 및 합법적인 창작 목적에 사용된다고 강조하며 윤리적 사용을 강조합니다.