IP-to-Portrait

SDXL Inpainting + IP-Adapter FaceID Plus v2 기반 얼굴 합성 파이프라인

Project Prometheus 2025-2 Team_diffusers
SDXL IP-Adapter BiSeNet InsightFace GFPGAN Gemini

Abstract

IP-to-Portrait는 레퍼런스 이미지의 얼굴을 교체하면서 원본 배경, 포즈, 조명을 완벽하게 보존하는 AI 기반 얼굴 합성 파이프라인입니다. 최신 디퓨전 모델(RealVisXL V4.0 Inpainting)과 아이덴티티 보존 어댑터(IP-Adapter FaceID Plus v2)를 결합하여 사실적인 얼굴 합성을 수행합니다.

본 시스템은 정밀한 얼굴 파싱(BiSeNet), 얼굴 임베딩 추출(InsightFace), Face Swap(InsightFace inswapper_128), Face Enhance(GFPGAN v1.4), 자동 프롬프트 생성(Gemini 2.5 Flash)을 통합하여 사용자가 쉽게 고품질의 얼굴 합성 결과를 얻을 수 있도록 지원합니다. 또한 병렬 처리와 실시간 미리보기 기능을 통해 빠르고 직관적인 사용자 경험을 제공합니다.

주요 기능

Generation Screen

노드 기반 워크플로우로 직관적인 얼굴 합성

AI Pipeline

AI 파이프라인 구조 (5단계: INPUT → PREPROCESSING → GENERATION → POST-PROCESSING → OUTPUT)

Parameters Node

인페인팅 파라미터 설정 노드 (IP-Adapter 모드, Diffusion, Mask, Pre-paste, POST-PROCESSING)

Auto Prompt

Gemini 2.5 Flash를 활용한 자동 프롬프트 생성

Generation Control

생성 제어 및 실시간 Latent 이미지 미리보기

History

생성 히스토리 관리 (파라미터 리콜 기능)

Report

상세 생성 리포트 (모든 파라미터 및 다운로드 가능한 결과)

AI 파이프라인 구조

파이프라인 흐름 (5단계)

  1. INPUT (입력): 레퍼런스 이미지(배경/포즈), 얼굴 이미지(정체성 소스), 프롬프트(텍스트 가이드)
  2. PREPROCESSING (전처리):
    • Face Detection: InsightFace (buffalo_l)로 얼굴 위치 및 랜드마크 감지
    • Face Parsing: BiSeNet으로 얼굴 영역 세그멘테이션 (피부, 눈, 코, 입, 머리카락, 목)
    • Mask Generation: 인페인팅 영역 정의 (확장, 블러, 패딩 적용)
    • Embedding Extraction: InsightFace (512D 얼굴 임베딩) + CLIP ViT-H/14 (257x1280 이미지 임베딩)
  3. GENERATION (생성):
    • IP-Adapter Injection: FaceID Plus v2로 얼굴 임베딩을 SDXL 어텐션 레이어에 주입
    • Inpainting: RealVisXL V4.0로 마스크 영역 재생성 (배경 보존, Stop-At 파라미터 적용)
  4. POST-PROCESSING (후처리):
    • Face Swap: InsightFace (inswapper_128) 또는 Ghost로 생성된 얼굴을 소스 얼굴로 교체
    • Refinement (선택): Face Swap 경계 블렌딩 인페인팅
    • Face Enhance: GFPGAN v1.4로 얼굴 화질 향상/복원
  5. OUTPUT (출력): 최종 합성 결과 생성 및 WebSocket 실시간 업데이트

모델 구성

모델 용도 크기
RealVisXL V4.0 Inpainting 기본 디퓨전 모델 (SDXL 기반, 포토리얼리스틱) ~6GB
IP-Adapter FaceID Plus v2 얼굴 정체성 주입 ~100MB
CLIP ViT-H/14 이미지 임베딩 추출 ~2GB
InsightFace (buffalo_l) 얼굴 임베딩 + Face Swap ~300MB
BiSeNet 얼굴 파싱/세그멘테이션 ~50MB
GFPGAN v1.4 얼굴 화질 향상 ~350MB
Gemini 2.5 Flash 자동 프롬프트 생성 (API) Cloud

Stop-At 기능

Stop-At 파라미터는 IP-Adapter FaceID가 생성에 영향을 미치는 것을 언제 중단할지 제어합니다. 예를 들어 stop_at=0.7로 설정하면 생성 과정의 70% 지점까지는 FaceID가 강하게 정체성과 구조를 가이드하고, 이후 30%는 FaceID 영향 없이 프롬프트만으로 자연스러운 디테일을 완성합니다.

Stop-At 값 효과 사용 시점
1.0 전체 과정에서 FaceID 적용 최대 정체성 보존
0.85-0.95 85-95%에서 FaceID 중단 권장 균형점
0.7-0.8 70-80%에서 FaceID 중단 프롬프트 영향력 증가

하이퍼파라미터

IP-Adapter 모드

모드 정체성 스타일 설명
Simple Inpainting 없음 없음 IP-Adapter 없이 순수 인페인팅 (Pre-paste와 함께 사용)
Standard (CLIP) 낮음 중간 CLIP 기반 이미지 임베딩만 사용
FaceID 높음 낮음 InsightFace 얼굴 임베딩만 사용
FaceID Plus v2 ⭐ 높음 높음 얼굴 임베딩 + CLIP 이미지 결합 (권장)
CLIP Blend 중간 높음 CLIP 임베딩에 얼굴 특징 블렌딩

Diffusion 파라미터

파라미터 범위 기본값 권장값 설명
steps 1-100 50 30-50 디퓨전 스텝 수 (높을수록 품질↑, 속도↓)
guidance_scale 1-20 3.0 2.5-5.0 CFG 스케일 - 낮을수록 자연스러움
denoise_strength 0.0-1.0 0.92 0.85-0.95 생성 강도 - 높을수록 더 많이 재생성
face_strength 0.0-1.5 0.85 0.7-0.9 IP-Adapter 얼굴 가이드 강도
stop_at 0.0-1.0 1.0 0.85-0.95 FaceID 영향 중단 시점 (조기 종료)

Mask 파라미터

파라미터 범위 기본값 설명
include_hair bool true 마스크에 머리카락 영역 포함
include_neck bool true 마스크에 목 영역 포함
mask_expand 0.0-1.0 0.3 마스크 확장 비율 (1.0 = 30% 확장)
mask_blur 0-100 15 마스크 경계 블러 (픽셀)
mask_padding -100-100 10 추가 마스크 확장/축소 (픽셀)

Pre-paste 파라미터

파라미터 범위 기본값 설명
use_pre_paste bool false Pre-paste 모드 활성화
pre_paste_denoising 0.0-1.0 0.65 붙여넣기 후 디노이징 강도 (낮을수록 원본 유지)

POST-PROCESSING 파라미터

Face Swap

파라미터 범위 기본값 설명
use_face_swap bool false Face Swap 활성화
face_swap_model string "insightface" 모델 선택 ("insightface", "ghost")
use_swap_refinement bool false Face Swap 후 블렌딩 인페인팅
swap_refinement_strength 0.0-1.0 0.3 블렌딩 인페인팅 강도

Face Enhance

파라미터 범위 기본값 설명
use_face_enhance bool false GFPGAN 얼굴 향상 활성화
face_enhance_strength 0.0-1.0 0.8 향상 강도 (1.0 = 최대 복원)

권장 세팅 가이드

섹션 파라미터 권장값 설명
IP-Adapter Mode FaceID Plus v2 얼굴 유사도 + 자연스러움 최적 균형
Diffusion Stop At 85-95% 낮출수록 프롬프트 영향↑ (얼굴 윤곽 조정 가능)
Mask Include Hair ✅ On 헤어스타일 변경 허용
Mask Include Neck ✅ On 목까지 자연스럽게 블렌딩
Pre-paste 활성화 ❌ Off 비정상적 얼굴 생성 가능성 있음
Face Swap 활성화 ✅ On 얼굴 유사도 대폭 향상
Face Swap Model InsightFace 128 안정적이고 빠름
Face Swap Refinement ❌ Off (기본) 얼굴이 비정상일 때만 활성화
Face Enhance 활성화 ✅ On 화질 개선 필수
Face Enhance Strength 80-95% 높여도 무방, 얼굴 변화 시 낮춤

팀원

홍지연

홍지연 (팀장)

@hongjiyeon56

임병건

임병건

@byungkun0823

이성민

이성민

@danlee-dev

최서연

최서연

@seoyeon-eo

기술 스택

AI / ML

Python PyTorch Hugging Face Diffusers OpenCV RealVisXL V4.0 IP-Adapter FaceID Plus v2 BiSeNet InsightFace GFPGAN v1.4 CLIP ViT-H/14 Gemini 2.5 Flash

Backend

FastAPI Uvicorn Celery SQLAlchemy Alembic JWT WebSocket

Frontend

Next.js React TypeScript Tailwind CSS

Database & Infrastructure

PostgreSQL Redis Docker Docker Compose

참고 문헌

BibTeX

@misc{diffusionplanet2025ipportrait,
  title={IP-to-Portrait: SDXL Inpainting + IP-Adapter FaceID Plus v2 Face Synthesis Pipeline},
  author={Hong, Jiyeon and Lim, Byungkun and Lee, Seongmin and Choi, Seoyeon},
  year={2025},
  howpublished={\url{https://github.com/Diffusion-planet/ip-to-portrait}},
  note={Project Prometheus 2025-2 Demo Day - Team 4}
}