🎯 최종 목표
- 다양한 이미지 데이터를 분류하여 각 세부 영역에 특화된 SLM(Small Language Model) 기반 이미지 생성 모델을 학습하고,
- 태그 기반 컨트롤러 또는 앙상블 구조로 통합하여 고성능 이미지 생성 파이프라인 구축
1️⃣ 데이터 분류 및 사전 준비
✅ 왜 분류가 필요한가?
- 다양한 이미지 유형이 혼합되어 있을 경우 학습 비효율 초래
- 스타일, 주제, 해상도 등 기준에 따라 SLM을 나누면 학습 속도/정확도 개선
✅ 그룹핑 기준 예시
| 기준 | 예시 |
|---|---|
| subject | cat, landscape, human, food |
| style | watercolor, anime, 3D, pixel |
| tone | pastel, dark, monochrome |
| source | web, user-upload, dataset |
groupby()등 pandas 연산으로 분류 및 통계 가능
2️⃣ 컨트롤러 + SLM 구조 설계
✅ 방식 A: LLM 기반 컨트롤러 (태그 → SLM 선택)
- 사용자 프롬프트를 분석하여 style/subject/mood 등 태그 추출
- 태그에 맞는 SLM을 자동 선택 및 호출
✅ 방식 B: 앙상블 구조
- style SLM, subject SLM 각각 호출 후 latent-space에서 결합 또는 스타일 전이
- ControlNet 등으로 attention 기반 부분적 조합 가능
3️⃣ 프롬프트 분해 전략
✅ 방식
- Rule-based: 키워드 매칭
- LLM-based: LLM을 사용하여 태그 추출 (예: style, subject, mood, tone)
- CLIP embedding 등과 병행 사용 가능
✅ 태그 예시 JSON
{
"style": "watercolor",
"subject": "flower_field",
"mood": "warm",
"tone": "pastel",
"season": "spring"
}
4️⃣ SLM 선택 및 조합 구조
✅ 단일 선택 방식
- (style, subject) 쌍으로 SLM 딕셔너리 매핑
✅ 다중 조합 방식
- subject 모델 + 스타일 전이 모델 (2단계 처리)
- latent space blending (ex. Stable Diffusion 기반)
- ControlNet으로 attention masked 조합
5️⃣ 이미지 생성 후처리 및 저장
✅ 품질 보정
- Real-ESRGAN, SwinIR 업스케일링
- denoising, color correction
✅ 메타데이터 저장 구조 예시
{
"filename": "img_001.png",
"prompt": "수채화 느낌의 들판",
"tags": {"style": "watercolor", "subject": "field"},
"model_used": "watercolor_field_v1",
"timestamp": "2025-08-19"
}
✅ UI/UX 구조
- Gradio / Streamlit로 테스트 UI
- React + FastAPI로 서비스 확장
- API 응답 형식 정의
6️⃣ 방어 전략 (SLM 분류 신뢰성 확보)
| 전략 | 설명 |
|---|---|
| Top-k 태그 + confidence 점수 | 태그 신뢰도 기반 SLM 선택 조절 |
| CLIP 유사도 검증 | 생성 결과와 프롬프트 의미 일치 검증 |
| fallback 모델 | 실패 시 다용도 SLM 사용 |
| 유저 수동 태그 조정 UI | 자동 추출이 부정확할 경우 수동 수정 |
| 태그 불일치 탐지 | style vs tone 간 충돌 등 이상 상황 탐지 |
| human QA loop | 주기적 수작업 검수 또는 검토 도구 구축 |
🔄 전체 파이프라인 요약
[User Prompt 입력]
↓
[프롬프트 분석 (LLM or Rule)]
↓
[Top-k 태그 + confidence 추출]
↓
[SLM 선택 or 조합 결정]
↓
[이미지 생성 (단일/조합)]
↓
[CLIP 유사도 검증 + 보정]
↓
[최종 저장 + 메타 기록 + 응답 전송]
이 노트를 바탕으로, 추후 설계서 / 제안서 / 실험 환경 문서로 발전 가능함.