Artifiction은 딥페이크(Deepfake)와 스타일 트랜스퍼(Style Transfer) 기술을 결합하여, 관객이 실시간으로 명화 속 주인공이 되는 경험을 제공하는 인터랙티브 미디어 아트 프로젝트입니다. 관객은 웹캠 앞에 서면 자신의 얼굴이 명화 속 인물과 합성되고, 동시에 해당 명화의 화풍이 적용되어 마치 자신이 실제 명화의 일부가 된 듯한 몰입감 있는 경험을 하게 됩니다.
- 언어: Python 3.10+
- 딥러닝 프레임워크: PyTorch, ONNX Runtime
- 영상 처리: OpenCV, MediaPipe
- 스타일 트랜스퍼: Fast Style Transfer (PyTorch 구현)
- 딥페이크: InsightFace, GFPGAN
- 게임 엔진: Unity (3D 환경 구축)
- GUI: Gradio
- 멀티프로세싱: multiprocessing
- 멀티스레딩: threading
- 실시간 얼굴 스왑: 웹캠으로 촬영한 관객의 얼굴을 사전 제작된 영상 속 인물의 얼굴과 실시간으로 교체
- 다중 스타일 적용: 고흐, 모네, 피카소 등 다양한 명화 스타일을 실시간으로 영상에 적용
- 고품질 얼굴 복원: GFPGAN을 활용한 딥페이크 결과물의 품질 향상
- Unity 3D 환경 연동: 명화를 3D 공간으로 재해석한 몰입형 환경 제공
- 생성 파이프라인 최적화: fps를 낮추는 방향(기본 30fps → 7.5~11fps)으로 처리 프레임 수를 조절해 고화질 출력과 생성 시간 1분 내를 확보 (배치 생성 방식, 실시간 변환은 향후 과제)
- 직관적인 UI: Gradio를 활용한 사용자 친화적 인터페이스
- 스타일 학습 단계: Style Transfer Network에 다양한 명화 스타일을 사전 학습
- 3D 환경 구축: Unity로 명화 배경을 3D 맵으로 재구성하고 인물 영상 배치
- 실시간 얼굴 감지: MediaPipe를 통한 관객 얼굴 실시간 감지 및 추적
- 딥페이크 적용: InsightFace 모델을 활용한 실시간 얼굴 스왑
- 스타일 변환: 선택된 명화 스타일을 딥페이크 결과물에 실시간 적용
- 최종 출력: 변환된 영상을 대형 스크린에 실시간 송출
⚠️ 저장소 상태: 이 저장소는 전시 프로젝트의 소개 문서 아카이브입니다. 실행 코드는 전시용 로컬 환경에서 개발되어 아직 저장소에 포함되어 있지 않으며(팀 동의·오픈소스 라이선스 정리 후 공개 예정), 아래 구조와 실행 방법은 실제 프로젝트 기준의 참고 정보입니다.
ARTIFICTION/
├── src/ # 스타일 트랜스퍼 핵심 모듈
│ ├── transform.py # 스타일 변환 로직
│ ├── optimize.py # 모델 최적화
│ ├── vgg.py # VGG 네트워크 구현
│ └── utils.py # 유틸리티 함수
├── modules/ # 딥페이크 및 얼굴 처리 모듈
│ ├── core.py # 핵심 처리 로직
│ ├── face_analyser.py # 얼굴 분석 모듈
│ ├── capturer.py # 웹캠 캡처 모듈
│ ├── ui.py # Gradio UI 구현
│ └── processors/ # 각종 처리 모듈
├── final/ # 스타일 및 결과물 저장
│ ├── styles/ # 명화 스타일 이미지
│ ├── targets/ # 타겟 영상
│ └── outputs/ # 변환 결과물
├── models/ # AI 모델 파일 (Git에서 제외)
├── run.py # 메인 실행 파일
├── style.py # 스타일 적용 실행 파일
└── transform_video.py # 비디오 변환 유틸리티
# 저장소 클론
git clone https://github.com/jkwltx177/artifiction.git
cd Artifiction
# 가상환경 생성 및 활성화
python -m venv venv
source venv/bin/activate # Linux/macOS
# 또는
.\venv\Scripts\activate # Windows
# 의존성 설치
pip install -r requirements.txt다음 모델들을 다운로드하여 models/ 폴더에 저장:
# 기본 실행
python run.py
# GPU 가속 실행 (CUDA)
python run.py --execution-provider cuda
# 스타일 트랜스퍼만 실행
python style.py --style [스타일명] --content [입력영상]- 오픈소스 통합: deep-live-cam과 fast-style-transfer를 결합한 통합 파이프라인 구현
- 품질-시간 트레이드오프 설계: 전시 UX 기준(관객 대기 1분 내)에 맞춰 fps·화질 균형점을 탐색, 대기 시간은 교육용 숏폼 상영으로 흡수
- Unity 연동: Python-Unity 소켓 통신을 통한 실시간 데이터 스트리밍
- 모델 학습: 10개 이상의 명화 스타일 학습 및 최적화
- 레이턴시 문제: 멀티스레딩과 프레임 큐잉으로 처리 파이프라인 병렬화
- 환경 통합의 한계 기록: 두 오픈소스의 GPU 가상환경(의존성) 차이로 동시 가속 통합은 미완 — 원인 분석과 함께 향후 과제로 남김
- 품질 vs 속도: GFPGAN 후처리를 선택적으로 적용하여 성능과 품질 균형 유지
- Deep-Live-Cam - 실시간 딥페이크 베이스
- Fast Style Transfer - 스타일 트랜스퍼 구현
- GFPGAN - 얼굴 복원 모델
