개요
단 한 장의 사진만으로도 실시간으로 얼굴을 교체할 수 있는 오픈소스 툴 Deep-Live-Cam을 소개한다. 복잡한 설정 없이 웹캠·동영상·라이브 방송에 즉시 적용 가능하며, Windows·macOS·Linux 모두 지원한다.
특징
- 3-스텝 워크플로우: 원본 얼굴 선택 → 대상 소스 지정 → Live/Start 버튼 클릭
- 지연 없는 실시간 렌더링: 30 FPS 이상 유지(GPU 가속 시)
- 입 모양 보존 옵션: 원본 입술 움직임 유지로 자연스러운 대화 표현
- 다중 얼굴 동시 처리: 한 화면 내 여러 인물을 개별적으로 스왑 가능
- 모델 경량화: 2개의 핵심 모델(GFPGAN v1.4, inswapper 128-fp16)만으로 동작
설치
-
소스 클론
git clone https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam cd Deep-Live-Cam -
의존성 설치
python -m venv env source env/bin/activate # Windows: env\Scripts\activate pip install -r requirements.txt -
모델 다운로드
- GFPGANv1.4.pth →
models/ - inswapper_128_fp16.onnx →
models/
- GFPGANv1.4.pth →
-
실행
python run.py
하드웨어 가속 옵션
| 플랫폼 | 명령어 |
|---|---|
| NVIDIA | python run.py --execution-provider cuda |
| Apple Silicon | python3.11 run.py --execution-provider coreml |
| Windows DirectML | python run.py --execution-provider directml |
| Intel CPU | python run.py --execution-provider openvino |
사용 팁
- 원본 사진 품질: 512×512 이상, 균등 조명, 정면 각도 권장
- 성능 튜닝: 해상도를 720p로 제한하면 저사양 GPU에서도 25 FPS 유지 가능
- 입술 마스크 강도: UI 슬라이더로 0.0~1.0 범위에서 미세 조정
- 배치 모드:
--batch플래그로 여러 영상을 한 번에 처리
활용 예시
- 라이브 스트리밍: OBS 가상 카메라로 연결해 실시간 방송에 적용
- 온라인 수업: 역사 인물 얼굴로 강의 진행
- 마케팅 콘텐츠: 브랜드 모델 대신 가상 캐릭터로 제작
- 독립 영화: 초기 스토리보드용 페이스 테스트
모듈 구조
modules/
├── face_analyser.py # 얼굴 감지 및 랜드마크 추출
├── face_swapper.py # 인스왑 모델 래퍼
├── face_enhancer.py # GFPGAN 기반 디테일 복원
├── processors/frame/ # 프레임 단위 후처리 파이프라인
└── ui.py # Gradio 기반 GUI 정의
윤리 가이드라인
- 실존 인물 사용 시 반드시 본인 동의 획득
- 콘텐츠 공개 시 "딥페이크" 표기 의무화
- 사기·명예훼손 목적 사용 금지
- 커뮤니티 포럼에서 건전한 사용 사례 공유 권장
트러블슈팅
- 초기 로딩 속도 느림
- 모델 캐시를 SSD에 저장하고,
--max-memory 4옵션으로 메모리 제한 설정 - 얼굴이 끊기며 깜빡임
- 웹캠 30 FPS 고정,
--face-recognition threshold 0.65로 감지 임계값 완화 - macOS에서 coreml 지원 오류
- Xcode CLI 도구 재설치:
xcode-select --install
다음 단계
코드베이스를 직접 열어보며 processors/frame/face_swap.py의 루프를 수정하면 커스텀 필터를 추가할 수 있다. 또한 tests/benchmark.py로 하드웨어 성능을 측정해 최적화 지점을 찾아보자.