Deepfakes/FaceSwap은 얼굴을 바꾸는 Python 도구다. README의 첫인상은 유명한 데모 영상일 수 있지만, 실제 사용 흐름은 훨씬 덜 화려하고 더 구체적이다. 사진이나 영상을 모은 뒤 얼굴을 추출하고, 두 얼굴 데이터셋으로 모델을 학습한 다음, 그 모델을 원본에 적용한다. 저장소가 말하는 순서는 기능 목록이 아니라 작업 순서에 가깝다.
명령어도 이 흐름을 그대로 반영한다. `python faceswap.py extract`는 `src` 폴더의 사진에서 얼굴을 찾아 `extract` 폴더에 저장한다. `python faceswap.py train`은 두 얼굴 폴더를 읽어 학습하고 결과 모델을 `models`에 둔다. 마지막으로 `python faceswap.py convert`가 `original`의 사진에 새 얼굴을 적용해 `modified`에 결과를 만든다. GUI는 `python faceswap.py gui`로 실행할 수 있지만, 화면이 생긴다고 해서 데이터 준비와 학습 판단이 사라지는 것은 아니다.
README가 기존 모델을 재사용하면 학습이 훨씬 빨라진다고 적은 대목은 이 도구의 성격을 잘 보여준다. 모델을 고르는 일, 충분한 얼굴 데이터를 확보하는 일, 추출 결과를 확인하는 일이 결과 품질과 작업 시간에 직접 연결된다. 데이터가 부족할 때 비슷한 사람으로 시작한 뒤 데이터를 바꾸는 방법도 소개한다. 이는 클릭 한 번으로 완성되는 효과보다, 데이터와 모델을 계속 조정하는 실험 도구에 가깝다는 뜻이다.
영상 처리는 별도의 연결 과정이 필요하다. `tools.py effmpeg -h`로 변환 기능을 확인하거나, ffmpeg로 영상을 사진 프레임으로 나눠 처리한 뒤 다시 영상으로 묶을 수 있다. 따라서 영상 제작자는 얼굴 변환 자체뿐 아니라 프레임 파일의 입출력과 재조립까지 관리해야 한다. 사진과 영상이 같은 방식으로 끝나지 않는다는 점이 실전에서의 마찰이다.
성능 조건도 있다. README는 최상의 성능을 위해 CUDA를 지원하는 최신 GPU를 권장하고, Linux에서는 여러 AMD GPU를 ROCm으로 사용할 수 있다고 설명한다. 설치 전에는 `INSTALL.md`, 세부 사용법은 `USAGE.md`를 확인해야 한다.
윤리 기준은 부록이 아니다. 프로젝트는 동의 없이 얼굴을 바꾸거나 사용 사실을 숨기는 행위, 부적절하거나 불법적인 목적을 금지한다. 영화, 학습, 사회·정치적 논평처럼 책임 있는 사용을 전제로 삼는다. 그래서 이 저장소를 평가할 때는 결과 영상의 그럴듯함만 볼 수 없다. 얼굴 데이터의 출처, 당사자의 동의, 모델 재사용 방식, 영상 프레임 처리 과정을 함께 봐야 한다. FaceSwap의 핵심은 합성 버튼이 아니라, 데이터를 변환 결과까지 운반하는 파이프라인과 그 사용 조건에 있다.