네이버웹툰 오리지널 IP 이직로그(오피스 로맨스, 55화)의 캐릭터와 대화하는 멀티모달 챗 시스템. 캐릭터가 ① 자기 말투로 ② 설정(배경)에 근거해 ③ 현재 상황을 알고 답하며 ④ 이미지로 반응한다.
대부분의 캐릭터 챗봇은 작품 전체를 이미 알고 답한다. 이 프로젝트는 독자의 진도(회차)까지만 지식·상황을 게이팅해, 아직 안 읽은 전개를 발설하지 않는다. 회차별로 인덱싱된 corpus가 이 가드의 핵심이며, 웹툰 IP의 연재 경험을 해치지 않으면서 몰입형 인터랙션을 제공하는 차별점이다.
화자 귀속된 대사 라인을 모은 few-shot 뱅크로 캐릭터 고유 어투 재현.
VLM이 모은 상황·대사를 LLM이 캐릭터 프로필로 합성(나무위키 빈약 보완).
패널별 장면을 회차로 게이팅 — 진도까지의 사건만 인지.
그림체+인물 LoRA로 캐릭터가 감정에 맞는 그림으로 응답.
공통 출발점 panels_raw(의미단위 패널, 대사 보존)에서 두 트랙으로 분기. 두 트랙은
같은 패널 번호를 공유해 "그림 ↔ 의미"가 매핑된다.
전처리 진행은 라이브 모니터에서 실시간 확인. 인페인팅 모델 비교 근거는 인페인팅 벤치마크, 패널 분할 재설계는 2단계 처리 참고.
대사만 뽑으면 맥락이 죽으므로 맥락 보존 4층으로 분리한다. Qwen2.5-VL이 패널마다
{장면·인물·감정·대사(OCR)·화자}를 구조화한다.
| corpus | 출처 | 역할 |
|---|---|---|
| 말투 | 화자귀속 대사 라인 | few-shot 어투 뱅크 |
| 현재 상황 | 패널별 장면(동적) | 회차 게이팅 — 스포일러 가드 |
| 배경(설정) | 상황+대사 집계 → LLM 합성 | 캐릭터 프로필 |
VLM 분석 샘플은 모니터 → 텍스트 트랙 탭에서 확인. 최대 난관 = 화자 귀속과 조이/에스터 시각 혼동(둘 다 긴머리) — 여기에 검증을 집중한다.
영어 전용 Raon-OpenTTS(크래프톤, F5-TTS DiT 0.3B)를 AIHub 한국어 451시간으로 continual fine-tune → 한국어 CER 0.94→0.16(오류 83%↓). 캐릭터 음성은 성우 레퍼런스 zero-shot 클로닝. → 음성 합성 갤러리
| 항목 | 상태 | 비고 |
|---|---|---|
| 컷 수집 / 패널 분할 | 완료 | 55화 · 4,002 의미단위 패널(중앙절단 2단계) |
| clean(LaMa) / 트리밍 | 완료 | 4,002패널 풍선·텍스트 제거 + 학습용 타이트 크롭 |
| 그림체 LoRA (3베이스 대조) | 완료 | Anima 채택 |
| VLM 패널 분석 | 완료(재정렬 필요) | 55회차 · 중앙절단으로 31회차 번호 재매핑 예정 |
| 음성 TTS | 완료 | 한국어 전이 + zero-shot 클로닝 |
| 캐릭터 분류 / 인물 LoRA | 예정 (MVP) | 조이 데모 캐릭터 — 클러스터+라벨 1회 후 학습 |
| RAG 챗 웹앱 | 예정 | FastAPI · 말투+상황 corpus + LoRA 결합 |
말풍선·효과음이 남으면 LoRA가 텍스트 덩어리를 그림체로 학습한다(round1 NoobAI 실증). 검출 임계값 인하는 치비 얼굴 오검출 역효과 → 마스크 팽창+LaMa로 접근.
FLUX Fill은 텍스트 지운 자리에 가짜 글씨 환각, Kontext는 인물을 재생성. 학습 데이터엔 치명적 → 충실한 LaMa 유지.
키워드 방식은 캐릭터가 섞인다. 그림체는 전체 클린 패널, 인물은 배경 제거(persononly) 크롭으로 독립 학습.
대사만 뽑으면 맥락이 죽는다. 지식/말투/상황/페르소나 4층으로 나눠 RAG 검색 품질을 확보.