Login

FaceSwap은 딥러닝 기반의 얼굴 교체 도구로, 사진 및 비디오에서 얼굴을 인식하고 교체할 수 있습니다.

GPL-3.0Python 54.3kdeepfakesfaceswap Last Updated: 2025-07-11

FaceSwap - 딥러닝 얼굴 교체 도구

프로젝트 개요

FaceSwap은 딥러닝 기술을 활용하여 사진 및 비디오에서 얼굴을 인식하고 교체하는 도구입니다. 이 프로젝트는 오픈 소스이며 Windows, Linux 및 MacOS와 같은 다양한 운영 체제에서 실행할 수 있습니다.

프로젝트 취지

FaceSwap 프로젝트는 명확한 윤리적 기준과 사용 취지를 가지고 있습니다.

긍정적 용도

  • AI 기술 실험 및 발견
  • 사회 또는 정치적 논평
  • 영화 제작
  • 기타 합법적이고 합리적인 용도
  • AI를 직접 배우고 싶어하는 모든 사람에게 교육 및 경험 제공

금지 용도

  • 부적절한 콘텐츠 제작에 사용 불가
  • 동의 없이 또는 사용 의도를 숨긴 채 얼굴 교체 불가
  • 불법, 비윤리적 또는 의심스러운 목적으로 사용 불가

기술 특징

시스템 요구 사항

  • Python 프로그램
  • 다중 운영 체제 지원 (Windows, Linux, MacOS)
  • 최적의 성능을 위해 최신 GPU 및 CUDA 지원 필요
  • DirectML (Windows) 및 ROCm (Linux)을 통해 많은 AMD GPU 지원

주요 기능 모듈

  1. 얼굴 추출: 원본 사진에서 얼굴 추출
  2. 모델 훈련: 추출된 얼굴을 기반으로 모델 훈련
  3. 얼굴 변환: 훈련된 모델을 사용하여 얼굴 교체
  4. GUI 인터페이스: 그래픽 사용자 인터페이스 제공

사용 절차

기본 단계

  1. 자료 수집: 사진 및/또는 비디오 준비
  2. 얼굴 추출: 원본 사진에서 얼굴 추출
  3. 모델 훈련: 추출된 얼굴로 모델 훈련
  4. 변환 적용: 모델을 사용하여 원본 자료 변환

명령줄 조작

얼굴 추출

python faceswap.py extract

이 명령은 src 폴더에서 사진을 추출하고 얼굴을 extract 폴더에 추출합니다.

모델 훈련

python faceswap.py train

이 명령은 두 얼굴 이미지가 포함된 폴더를 사용하여 훈련하고 훈련된 모델은 models 폴더에 저장됩니다.

얼굴 변환

python faceswap.py convert

이 명령은 original 폴더에서 사진을 가져와 새 얼굴을 modified 폴더에 적용합니다.

GUI 인터페이스

python faceswap.py gui

비디오 처리

다음과 같은 방법으로 비디오를 처리할 수 있습니다.

python tools.py effmpeg -h

또는 ffmpeg를 사용하여 비디오를 사진으로 변환하고 이미지를 처리한 다음 이미지를 다시 비디오로 변환합니다.

프로젝트 아키텍처

주요 모델

  • Phaze-A 모델
  • Villain 모델
  • Unbalanced 모델
  • OHR 모델
  • DFL-H128 모델
  • DFaker 모델

핵심 구성 요소

  • FAN 정렬기
  • MTCNN 감지기
  • GUI 인터페이스

도움말 얻기

문서 자료

  • INSTALL.md: 전체 설치 설명
  • USAGE.md: 자세한 사용 설명
  • 모든 스크립트에는 -h/--help 옵션이 있습니다.

머신러닝 원리

FaceSwap은 딥러닝 및 신경망 기술을 기반으로 작동합니다. 간단히 말해서 다음과 같은 방식으로 작동합니다.

  • 훈련 데이터 + 시행 착오 = 학습 과정

컴퓨터는 대량의 훈련 데이터를 통해 얼굴을 인식하고 형성하는 방법을 학습하며, 이는 신경망의 심층 훈련과 관련된 복잡한 머신러닝 과정입니다.

기술 배경

얼굴 교체 기술이 처음 개발 및 출시되었을 때 획기적이었으며 AI 발전의 큰 발걸음이었습니다. "deepfakes" 이전에는 이러한 기술이 마치 흑마법과 같아서 모든 내부 작동 원리를 이해할 수 있는 사람만이 실천할 수 있었습니다. FaceSwap의 등장은 수학, 컴퓨터 이론, 심리학 등의 박사 학위 없이도 누구나 AI 개발에 참여할 수 있도록 모든 것을 바꾸었습니다.

주의 사항

  • 기존 모델을 재사용하는 것이 처음부터 훈련하는 것보다 훨씬 빠릅니다.
  • 훈련 데이터가 부족하면 비슷한 사람부터 시작하여 데이터를 전환할 수 있습니다.
  • 이 프로젝트는 윤리적 기준을 엄격히 준수하며 부적절한 사용에 대해 무관용 정책을 취합니다.
  • 관련된 모든 실행 코드 문제는 FaceSwap 포럼에 제기해야 합니다.

Star History Chart