같은 캐릭터를 여러 이미지에서 일관되게 유지하는 기법을 알아봅니다.
일관성 유지 방법
| 방법 | 정확도 | 난이도 | 준비 시간 |
|---|---|---|---|
| 캐릭터 LoRA | ★★★★★ | 높음 | 길음 |
| 시드+프롬프트 | ★★★ | 낮음 | 없음 |
| IP-Adapter | ★★★★ | 중간 | 짧음 |
| Textual Inversion | ★★★★ | 중간 | 중간 |
시드 기반 일관성
기본 전략
시드 고정 + 상세 프롬프트:
Seed: 12345 (고정)
프롬프트:
masterpiece, best quality,
1girl, [상세한 외모 설명],
[specific hair], [specific eyes],
[specific clothing]
외모 설명을 매우 구체적으로
캐릭터 정의 템플릿
캐릭터 외모 정의:
1girl, young adult woman,
(specific facial features:1.2),
oval face, small nose,
(long straight black hair:1.3),
(bright green eyes:1.2),
pale skin, natural makeup
이 설명을 모든 이미지에 사용
포즈/배경만 변경
일관된 캐릭터 + 다른 상황:
공통 부분 (항상 동일):
1girl, [캐릭터 정의]...
변경 부분:
- standing in park
- sitting at cafe
- walking on street
시드 고정 + 공통 프롬프트 유지
LoRA 학습
캐릭터 LoRA 개요
캐릭터 전용 LoRA 학습:
장점:
- 가장 정확한 일관성
- 다양한 포즈/표정 가능
- 스타일 유지
필요한 것:
- 캐릭터 이미지 15-30장
- 학습 환경 (Kohya, LoRA-scripts)
- VRAM 8GB+ (권장 12GB+)
학습 데이터 준비
이미지 요구사항:
수량: 15-30장 권장
해상도: 512x512 또는 768x768
내용:
- 다양한 각도 (정면, 측면, 3/4)
- 다양한 표정
- 다양한 조명
- 배경 단순하게
태깅:
- 일관된 트리거 워드
- 자동 태깅 + 수동 검수
LoRA 사용
학습된 LoRA 사용:
Prompt:
[trigger_word],
1girl, [포즈/상황],
<lora:character_lora:0.8>
가중치: 0.7-1.0
트리거 워드 포함 필수
IP-Adapter
IP-Adapter란?
Image Prompt Adapter:
참조 이미지에서 캐릭터 특징 추출
해당 특징으로 새 이미지 생성
장점:
- 학습 불필요
- 빠른 적용
- 다양한 스타일 변환
단점:
- LoRA보다 정확도 낮을 수 있음
- 참조 이미지 품질 중요
IP-Adapter 설정
ControlNet Extension에서:
1. IP-Adapter 모델 설치
2. 참조 이미지 업로드
3. 가중치 설정 (0.5-1.0)
설정:
- Weight: 0.7-0.9
- Type: plus_face (얼굴 중심)
또는 plus (전체)
프롬프트 조합
IP-Adapter + 프롬프트:
프롬프트:
1girl, [새로운 포즈/상황],
[새로운 배경]
참조 이미지: 캐릭터 기존 이미지
IP-Adapter가 캐릭터 유지
프롬프트가 새 상황 정의
Textual Inversion
개요
Textual Inversion (임베딩):
캐릭터를 새로운 토큰으로 학습
프롬프트에서 토큰으로 호출
예시:
"my_character" 토큰 학습
프롬프트: my_character, standing...
임베딩 사용
학습된 임베딩 사용:
embeddings 폴더에 파일 추가
프롬프트에서 파일명 사용
Prompt:
my_character_embedding,
1girl, casual outfit,
coffee shop background
실전 워크플로우
간단한 방법 (시드 기반)
단계:
1. 상세한 캐릭터 정의 작성
2. 마음에 드는 시드 찾기
3. 시드 고정하고 상황만 변경
프롬프트 템플릿:
[품질 태그],
[고정 캐릭터 설명 - 항상 동일],
[변경 가능: 포즈, 표정, 배경]
예시:
masterpiece, 1girl, long red hair,
green eyes, freckles, oval face,
[standing in park / sitting at desk / ...]
중급 방법 (IP-Adapter)
단계:
1. 좋은 캐릭터 이미지 1장 생성
2. 해당 이미지를 참조로 사용
3. IP-Adapter로 새 이미지 생성
설정:
- IP-Adapter Weight: 0.8
- 프롬프트: 새로운 상황 설명
고급 방법 (LoRA)
단계:
1. 캐릭터 이미지 20-30장 수집/생성
2. 이미지 태깅 및 전처리
3. LoRA 학습 (약 1-2시간)
4. 학습된 LoRA로 새 이미지 생성
결과:
- 가장 일관된 캐릭터
- 다양한 상황에서 유지
팁과 주의사항
일관성 팁
1. 외모 설명 구체적으로
- 헤어스타일, 색상, 길이
- 눈 색상, 모양
- 얼굴형, 피부톤
2. 특징적 요소 강조
- (specific feature:1.2)
- 변하지 않을 요소에 가중치
3. 의상 일관성
- 같은 의상 설명 유지
- 또는 명확히 다른 의상 지정
흔한 문제
문제: 얼굴이 계속 바뀜
해결: 시드 고정 + 얼굴 설명 상세히
문제: 머리색이 불안정
해결: (hair color:1.3) 가중치 높이기
문제: 같은 포즈만 나옴
해결: 포즈 설명 먼저 배치, 가중치 높이기
팁
| 팁 | 설명 |
|---|---|
| 상세 설명 | 외모를 구체적으로 |
| 시드 고정 | 일관성의 기본 |
| 가중치 활용 | 핵심 특징 강조 |
| 참조 이미지 | IP-Adapter 활용 |
| LoRA 학습 | 최고의 일관성 |
일관된 캐릭터는 스토리텔링의 핵심입니다.