Dataset Bible
"데이터셋이 95%, 파라미터가 5%."
FPHam (500+ LoRA 제작 경험) — CivitAI, HuggingFace, Reddit/SD 커뮤니티 정론 종합
01 — Optimal Image Count
- 5장 이하 — 부족. 각도/표정 다양성 확보 불가
- 10~30장 — 최적. Flux 계열 정론. 다양성+품질 균형
- 30~50장 — 주의. 장수 늘리려고 품질 타협하면 역효과
- 50장+ — 위험. 오히려 성능 저하 보고 (CivitAI: 110장 < 16장)
원칙: 좋은 25장 > 불량 75장. 양보다 질.
02 — Golden Rule
피사체(Identity) — 골격, 이목구비, 체형 → 일관하게 유지. 캡션에 기술하지 않음.
나머지 전부 — 각도, 거리, 표정, 배경, 조명, 의상 → 다양하게 확보. 캡션에 구체적으로 기술.
다양성은 "실제 이미지"로 확보. 캡션만으로는 통계적 편향을 깨뜨릴 수 없음.
03 — 다양성 체크리스트 (5대 축)
1
각도
정면 5+ / 측면 3+ / 측후면 1~2
2
거리
클로즈업 5+ / 상반신 5+ / 전신 3~5
3
표정
3종류 이상 (웃음 / 무표정 / 진지)
4
배경
3종류 이상 (실내 / 야외 / 스튜디오)
5
조명
2종류 이상 — AI 느낌의 1등 원인!
04 — 절대 제외 목록
X
JPEG 압축
블록 노이즈를
피부 텍스처로 학습
X
뷰티 필터
고주파 디테일 파괴
밀랍 인형 학습
X
다른 사람 얼굴
Identity 혼란
누굴 학습할지 모름
05 — 화장 비율 (20장 기준)
민낯 5~8장
자연 메이크업 3~5장
풀 메이크업 2~3장
민낯 100% → "항상 민낯" 학습, 메이크업 프롬프트 무반응 /
화장 100% → 특정 패턴 baked-in /
뷰티필터 → 어떤 비율이든 절대 불가
06 — 캡셔닝 규칙
Caption O (Variable)
- 시선 방향
- 각도 / 포즈
- 의상 (구체적으로)
- 배경 (구체적으로)
- 조명 (구체적으로)
- 표정
- 화장 수준
- 헤어스타일 / 액세서리
Caption X (Fixed Identity)
- 눈 모양, 코 형태
- 얼굴형, 턱선
- 골격, 체형 비율
- 피부색 (자연 상태)
금지 캡션 단어
추상 품질어: high quality, 8k, masterpiece, detailed
추상 조명어: soft lighting, cinematic lighting
주관 평가: beautiful, attractive, pretty
매체 품질: realistic, photorealistic, sharp
캡션 디테일 수준
부족: "wearing gray suit"
적절: "wearing fitted charcoal three-piece suit with white dress shirt"
과잉: "wearing Ermenegildo Zegna 95% wool charcoal suit with 1.5cm pinstripes"
원칙: 사람 눈으로 이미지를 봤을 때 구분할 수 있는 것까지
07 — 데이터셋 구성 워크플로우
- 원본 수집 — 실제 사진 (카메라/폰), 무보정
- 1차 필터 — 절대 X 제거 (저해상도, JPEG, 뷰티필터, 다중얼굴, 워터마크)
- 품질 점수 — Laplacian variance, 얼굴 감지, 얼굴 비율, 해상도 → 하위 30% 탈락
- 톤 일관성 — LAB 색공간 z-score > 2.0 이상치 제거
- 다양성 검증 — 5대 축 체크리스트 → 부족 시 추가 촬영/수집
- 캡셔닝 — djdante 형식: trigger + 가변 요소 구체 기술
- 최종 검증 — dataset_validator.py 실행 → 문제 시 반복
08 — 학습 시작 전 검증 체크리스트
- ☐ 이미지 수 10~30장 범위?
- ☐ 절대 X 5가지 전부 제거됐는가?
- ☐ 5대 다양성 축 충족?
- ☐ 캡션에 품질어 없는가?
- ☐ 캡션에 고정 identity 기술 없는가?
- ☐ 민낯+화장 비율 적절? (민낯 100% 아닌가?)
- ☐ num_repeats x 이미지수 x steps ≈ 100,000?
- ☐ 클로즈업 5장+ 있는가? (얼굴 디테일)
Parameters
Optimal LoRA Training Parameters
Flux.2 계열 기준 — djdante / FPHam 커뮤니티 정론
Total Exposure
≈ 100,000
Formula
img x rep x steps
Images
10 – 30
Num Repeats
min (1~2)
LoRA Strategy
1 LoRA (unified)
Supplementary
IP-Adapter / CN
num_repeats 이해: 30장 x 1 repeat = 30 exposure/step (Best) — 다양성 최대. 15장 x 2 repeat = OK (차선책). 10장 x 5 repeat = 과적합 위험. repeat은 "데이터 부족을 양으로 보충하는 트릭"이며 다양성이 증가하지 않음.
과적합 vs 학습부족 판단
Underfitting
- + 특정 각도에서 안 닮음
- + Identity 약함
- + 프롬프트 무반응
- 대응: 이미지 추가, 스텝/repeat 증가
Overfitting
- - 학습데이터 복사
- - 포즈/배경 고정
- - 프롬프트 무시
- 대응: 다양성 확보, 스텝 감소, 체크포인트 비교
"AI 느낌" 원인 분해
- 조명 불일치 — 영향도 최고. 환경과 안 맞는 빛 (증명사진 플래시가 야외에?)
- 피부 밀랍감 — 뷰티 필터 제외, 무보정 원본 사용
- 표정 경직 — 표정 다양성으로 안면근육 조합 학습
- 눈의 생기 없음 — 다양한 시선 방향 + 동공 반사
- 포즈 부자연스러움 — 포즈 다양성
- 배경 부조화 — 배경 다양성