DNF Style LoRA · 더 알아보기

생성 이미지 품질 평가
— 사람 검수 없이 자동으로 거르기

최종 추론 결과의 약 50%는 품질이 충분치 않았습니다. 226장을 일일이 보는 대신, 분포 기반 1차 필터(DINOv2)VLM 2차 스타일 검수(Gemini 3 Pro)직교(orthogonal) 축으로 결합해 고신뢰 셋을 자동 선별했습니다.

던파 그림체 LoRA 포트폴리오 · 품질 평가 섹션

226
생성 전체
최종 추론 결과
161
71.2%
1차 DINOv2 통과
95
42.0%
2차 VLM 통과
90
39.8%
교집합 · 최종 채택

1. 왜 자동 품질 필터가 필요했나

최종 모델(Anima)에서도 약 50%는 품질 미달이었습니다 — 비율 붕괴, 스타일 이탈, 디테일 뭉개짐. 라이브 아트 증량 파이프라인이라면 매번 사람이 보는 것은 비현실적이므로 자동 게이트가 필요합니다.

단, 단일 지표는 신뢰하기 어렵습니다. 그래서 분포 기반 DINO 의미 기반 VLM 두 축을 모두 두고 교집합만 채택하는 구조로 설계했습니다.

2. 1차 필터 — DINOv2 임베딩 분포 매칭 DINO

원본 DNF 현대 그림체 522장으로 레퍼런스 분포를 만들고, 생성 이미지가 그 군집 안에 들어오는지로 거른다.

항목
모델facebook/dinov2-base (ViT-B/14, 768-d, 정규화 CLS 토큰)
레퍼런스modern_style 522장
지표 ① Centroid sim생성 이미지 ↔ 레퍼런스 평균 임베딩 cosine
지표 ② Top-5 NN mean가장 가까운 레퍼런스 5장 평균 유사도
합격선centroid ≥ mean − 1σ = 0.726 − 0.110 = 0.616

레퍼런스 분포는 centroid 0.726 ± 0.110, top-5 NN 0.762 ± 0.076. 합격선을 평균 − 1σ로 두면 "원본 그림체 군집에서 1σ 이상 벗어난" 이미지를 자동 배제합니다. 결과: 226장 중 161장 통과 (71.2%).

설계 의도 — 임베딩 1회로 끝나는 빠르고 재현 가능한 1차 게이트. 분포의 평균−1σ라는 통계적 기준이라 임의 임계값이 아님.

2-B. 분포 점검 — 3그룹 통제 비교 DINO

"LoRA가 그림체를 정말 학습했는가"를 분포로 검증. 같은 학습 캡션을 써서 seed를 쌍으로 고정하고 세 그룹을 비교한다.

그룹구성N
① 원본 던파학습 데이터 (modern_style)522
② anima base학습 캡션에서 트리거워드 제거 → Anima 단독 생성24
③ lorassw_dnf 트리거 + 동일 캡션 → Anima + DNF LoRA24

②와 ③은 같은 캡션·같은 seed의 쌍이라, 둘의 차이는 오직 "트리거워드 + LoRA 적용" 여부입니다. DINOv2(768-d) 임베딩을 PCA·UMAP 두 방식으로 2D 투영해 비교합니다.

3그룹 분포 (DINOv2 PCA·UMAP)
회색=원본 던파 522장 · 🔵 anima base 24장 · ⭐ lora 24장 — 좌: PCA(원본에 fit), 우: UMAP(cosine)
의미 — "그림체를 학습했다"가 정성적 인상이 아니라, 임베딩 분포가 원본 군집 쪽으로 이동(평균 ↑)하고 더 좁게 모인다(분산 ↓)는 것으로 정량 확인된다. base도 Anima가 애니풍이라 출발점은 나쁘지 않으나, LoRA가 그 위에서 원본 그림체 쪽으로 끌어당긴다.

3. 2차 필터 — Gemini VLM 스타일 검수 VLM

DINO가 못 잡는 렌더링 기법 · 라이팅 · 마감도 같은 고수준 요소를 VLM으로 판정한다.

Phase A — 레퍼런스 스타일 정의 (5장 → 통합 가이드)
gemini-3-pro-preview에 레퍼런스 5장을 넣고 "캐릭터·포즈 말고 화풍만 서술"하도록 요청한 뒤, 5개 서술을 합성해 단일 스타일 정의를 만듭니다. 핵심: semi-realistic painterly + anime, 컬러 컨투어(검은 외곽선 없음), 고채도 보석톤, 드라마틱 멀티 라이팅 + 림라이트, 정밀한 재질 묘사.

Phase B — 226장 개별 판정
이미지 1장씩 호출해 {match, confidence, reasoning(<25단어)} JSON을 받습니다. 결과: 95장 통과 (42.0%), confidence(match=True) 0.891 ± 0.097.

관찰 — match=True/False의 confidence 차이가 크지 않습니다(0.875 vs 0.860). 스타일 적합도가 이산이 아니라 연속적임을 시사하며, 단일 임계값의 한계를 보여줍니다.

4. 교집합 — 두 축을 합쳐 최고 신뢰 셋 교집합

두 필터의 판정을 2×2로 교차하면, 서로 다른 실패 모드가 드러난다.

Gemini PASS
Gemini FAIL
DINO PASS
9039.8% · 최종 채택
7131.4% · DINO만
DINO FAIL
52.2% · Gemini만
6026.5% · 둘 다 거부
핵심 인사이트 — 두 축 일치율이 66%에 그친다는 것 자체가 결론입니다. DINO(군집 거리)와 VLM(고수준 미학)은 직교합니다. 한 축만 썼다면 각각 71장·5장의 오판을 그대로 안고 갔을 것입니다.
DINO만 통과한 경계 샘플
DINO만 통과 (VLM 기각) — 렌더링이 평탄하거나 마감이 부족한 경계 사례
Gemini만 통과한 경계 샘플
Gemini만 통과 (DINO 기각) — 분포 밖이지만 스타일은 충족한 사례

5. 부가 — Cross-base 정량 평가 (CLIP / DINO Sim)

5 LoRA × 6 Base × 5 프롬프트 = 150장에 두 정량 지표를 자동 계산.

지표모델의미전체 분포
CLIP Scoreopen_clip ViT-L/14프롬프트–이미지 일치도0.257 ± 0.023
DINO Style Simdinov2-base원본 522장 평균과의 유사도0.689 ± 0.154
CLIP Score 히트맵
CLIP Score 5×6 매트릭스 (LoRA × Base)
DINO Style Similarity 히트맵
DINO Style Similarity 5×6 매트릭스 (LoRA × Base)
평가 방법론 교훈 — metric 단독으로는 V-Pred 호환 실패가 거의 안 잡힙니다(CLIP Δ 0.011, DINO는 오히려 V-Pred가 약간 높음). 정성 + 정량 두 트랙을 같이 봐야 진짜 품질·호환성 판정이 가능합니다.

6. 결론

관점증명
운영 자동화226장 → 자동 90장 선별, 사람 검수 최소화
보완적 설계DINO(분포) + VLM(의미) 직교 → 일치율 66.4%가 보완성의 근거
의사결정 투명성경계 폴더(71/5장)에 "왜 떨어졌는지" reasoning 보존
평가 방법론정량 단독의 한계(V-Pred)를 스스로 드러내고 정성 병행으로 보강