본문으로 건너뛰기

전체 연구 기록

기법

Veridion 오픈셋 보정: 규모에 따라 판정선을 바꾸고, 측정할 수 없으면 멈추기

캐릭터 검색을 고정 코사인 임계값이 아닌 1:N 오픈셋 식별 문제로 다뤘습니다. 갤러리 규모와 입력 리전 수에서 오탐 예산을 역산하고, 경험적 분포가 요구 수준을 측정하지 못하면 판정을 보류합니다. whole-frame과 crop을 분리 보정하고 불균형 갤러리는 round-robin으로 병합합니다.

판정선은 모델 상수가 아니라 갤러리·리전 수·검토 예산의 함수
1:N · FPIR
경험적 오탐 꼬리의 측정 해상도 밖에서는 외삽하지 않고 판정 보류
ABSTAIN

질문 — 캐릭터 임베딩의 cosine score를 카탈로그가 커지거나 입력이 여러 crop으로 바뀌어도 같은 임계값으로 읽을 수 있는가?

관찰 — 고정 임계값의 1:N 오탐률은 검색 항목 수와 함께 증가했습니다. 캐릭터 crop은 whole-frame과 다른 impostor 분포를 만들었고, 두 캐릭터를 한 번에 임베딩하면 어느 쪽도 아닌 혼합 지점이 만들어졌습니다.

결정 — Veridion은 갤러리 크기와 허용 FPIR에서 판정선을 역산합니다. 경험적 오탐 분포가 그 요구를 측정할 수 없으면 외삽하지 않고 결론을 보류합니다.

캐릭터 IP 검토에는 서로 다른 질문이 섞여 있습니다. “같은 이미지가 압축·crop·변형돼 다시 쓰였는가”와 “그림체와 포즈가 달라도 같은 캐릭터인가”는 같은 문제가 아닙니다. 전자는 복제 탐지이고 후자는 시각적 정체성 검색입니다. 여기에 한국어 문장, 서사, 말투와 설정의 유사성까지 더해지면, 하나의 점수로 침해 여부를 자동 판정하려는 설계는 근거의 종류와 한계를 가립니다.

Veridion에서 제가 한 일은 새 임베딩 모델을 발명하는 것이 아니었습니다. 요구사항 분석·시스템 아키텍처·풀스택 개발을 100% 단독 수행하고, 기존 모델을 검토 가능한 증거 시스템으로 조합했습니다. 핵심은 검색 결과와 법적 결론을 분리하고, 규모·입력 형태·측정 해상도·사람의 검토 예산을 하나의 판정 계약으로 묶은 것입니다.

이미지·텍스트·캐릭터·서사 신호를 분리한 뒤 갤러리 규모에 맞춰 보정하고, 근거가 부족하면 판정을 보류해 출처 기록과 사람 검토로 보내는 Veridion 구조

1. 먼저 “무엇이 같은가”를 분리하다

시각 경로는 두 모델 계열을 서로 다른 증거로 유지합니다.

경로 묻는 질문 실패 모드
근접 중복 검색 같은 파일이나 그 변형인가 재작화·포즈 변화에 약함
캐릭터 정체성 검색 다른 장면에서도 같은 캐릭터인가 같은 작품의 화풍·팔레트를 공유한 castmate 혼동

모델 선택은 240개 이미지의 leave-one-out 연구로 시작했습니다. 14개 캐릭터는 각 11개 이미지를 갖고, 86개 단일 이미지 캐릭터는 distractor 역할을 했습니다. 저장소에는 28,680개 pair를 비교한 다음 결과가 기록돼 있습니다.

모델 ROC-AUC best F1 top-1
CCIP v2 caformer_s36 0.9852 0.723 94.2%
SigLIP2-base 0.9488 0.522 89.6%
SSCD 0.6906 0.320 55.2%
DINOv2-base 0.6873 0.226 52.6%

이 표는 저장소에 기록된 과거 clean benchmark이며, 이번 기록을 작성하며 재실행한 결과가 아닙니다. 보존된 소스 스냅샷에는 입력 이미지·임베딩 캐시·원 출력이 없었습니다. 따라서 이 수치는 해당 anime/manga 표본에서 모델을 고른 근거이지, 임의의 웹툰이나 운영 트래픽에서 94.2%를 보장한다는 주장이 아닙니다.

L2 정규화한 feature와 exact inner-product 검색은 후보의 순위를 만들기에 충분했습니다. 그러나 높은 cosine을 사용자에게 보여줄 판정으로 바꾸는 일은 별도의 문제였습니다.

2. 고정 cosine은 갤러리가 커질수록 다른 뜻이 된다

한 query와 항목 하나의 잘못된 통과 확률을 FMR, 같은 query가 N개 항목을 검색했을 때 하나라도 잘못 통과할 확률을 FPIR이라고 두면 다음 관계가 성립합니다.

FPIR(τ) = 1 − (1 − FMR(τ))^N

pairwise FMR이 작아도 검색 항목 수가 커지면 FPIR은 증가합니다. 그래서 임계값은 모델에 붙은 상수가 아니라 다음 값의 함수여야 합니다.

  • 어떤 모델과 query cohort를 측정했는가
  • 실제로 몇 번 비교하는가
  • 검토 시스템이 허용하는 FPIR은 얼마인가

Veridion은 목표 FPIR과 유효 검색 수 N_effective에서 허용 가능한 pairwise FMR을 역산하고, empirical impostor curve에서 그 요구를 만족하는 가장 낮은 cosine을 찾습니다.

required FMR = 1 − (1 − FPIR_target)^(1 / N_effective)

즉 판정선은 배포 설정에 복사한 숫자가 아니라 model × cohort × 검색 규모 × 검토 예산의 결과입니다.

3. 측정할 수 없는 꼬리는 외삽하지 않는다

낮은 오탐률을 주장하려면 충분한 impostor comparison이 필요합니다. P개의 오탐 pair에서 임계값을 넘은 관측이 0개여도 95% 상한은 대략 3/P보다 작다고 말할 수 없습니다. Veridion은 이 rule of three를 empirical curve의 측정 바닥으로 사용합니다.

목표 FMR이 그 바닥보다 낮으면 threshold를 만들지 않습니다. 정규분포 꼬리를 맞추거나 마지막 관측값을 임의로 늘리지 않고 다음처럼 동작합니다.

  • similarity와 검색 순위는 유지합니다.
  • 사용자 판정과 threshold는 비워 둡니다.
  • 비교 횟수와 판정을 보류한 이유를 기록합니다.
  • second-stage 검증 또는 사람 검토로 전달합니다.

curve가 없거나 손상된 경우에도 고정 threshold로 돌아가지 않습니다. 특히 cropped-query curve가 없을 때 더 쉬운 whole-frame curve를 대신 쓰지 않습니다. 측정 불가능한 오탐률에 작은 숫자를 붙이지 않는 것이 이 시스템의 정상 동작입니다.

4. whole-frame과 crop을 별도로 보정하다

crop은 캐릭터를 크게 보여줘 genuine similarity를 높일 수 있지만, 배경과 주변 맥락도 제거합니다. 그 맥락이 같은 작품의 다른 캐릭터와 거리를 벌려주고 있었다면 impostor similarity도 함께 올라갑니다.

query 경로 보정 cohort 유효 비교 수
single-region whole-frame impostor curve N
multi-region cropped-query impostor curve regions × N

여러 영역에서 얻은 최고 점수는 한 번의 N개 검색 결과가 아닙니다. R × N번 비교한 값의 최댓값이므로 판정기도 같은 비교 부하를 사용해야 합니다. 영역은 실제 캐릭터를 찾을 기회와 우연한 최대값을 만날 기회를 동시에 늘립니다.

cropped curve는 held-out source image에서 만든 query region과 실제 index entry를 비교하도록 설계했습니다. 한 composite가 캐릭터 A와 B를 포함하면 두 identity를 모두 impostor set에서 제외합니다. 이 제외가 틀리면 자기 이미지에 가까운 pair가 오탐 꼬리에 들어가 cosine 1에 가까운 가짜 오탐을 만듭니다.

5. 두 캐릭터를 찾으려면 crop뿐 아니라 공정한 병합이 필요했다

한 이미지에 한 캐릭터가 있다는 가정의 모델에 두 캐릭터를 동시에 넣으면, 어느 identity에도 속하지 않는 blended embedding이 생길 수 있습니다. Veridion은 검출한 영역마다 독립적으로 임베딩하고 검색합니다. 유효한 영역을 찾지 못하면 빈 결과를 내는 대신 whole-frame 경로로 돌아갑니다.

초기 max-fusion은 모든 영역의 결과를 합쳐 similarity 순으로 다시 정렬했습니다. 하지만 캐릭터별 reference 수가 다르면 이미지가 많은 한 identity가 상위 목록을 채워, 다른 영역의 1위 정답조차 보이지 않을 수 있었습니다. 그래서 각 영역의 1위, 각 영역의 2위 순으로 교차 배치하는 round-robin merge를 적용했습니다.

저장소에는 239-image gallery와 held-out source로 만든 240개 two-character composite, 480개 constituent에 대한 다음 과거 측정이 남아 있습니다. 아래 수치는 endpoint row가 아니라 중복 제거한 character identity 순위입니다.

조건 R@1 R@2 R@5 R@10 두 캐릭터 모두 top-5
crop off 47.5% 56.0% 66.2% 75.6% 32.9%
multi_only + crop 49.0% 86.2% 94.6% 96.9% 89.6%

기록된 paired R@2 차이는 +30.2pp이고 constituent bootstrap 95% 구간은 [+25.8, +34.4]입니다. 다만 constituent가 같은 source와 character를 공유하므로 완전히 독립된 표본이 아닙니다. 또한 합성 composite는 실제 웹툰 패널의 공통 조명·가림·말풍선·작은 인물을 재현하지 않습니다. 방법의 방향은 지지하지만 효과 크기를 real-panel 성능으로 옮기지 않습니다.

6. 실패 실험을 reliability state로 남기다

높은 점수 하나만 보면 같은 작품의 castmate를 정답으로 확정하거나, 스타일화된 입력에서 자신 있게 틀릴 수 있습니다. 저장소의 과거 실험에서는 stencil 변환 뒤 character top-1이 100.0%에서 57.1%로 하락했지만 cosine은 평범해 보이는 범위에 남았습니다. 시각적 속성을 identity score에 단순 융합한 실험도 회귀를 만들었습니다.

이 결과를 숨기거나 threshold만 올리지 않았습니다.

  • 같은 영역에서 서로 다른 identity가 높은 band를 공유하면 ambiguity로 표시합니다.
  • stylisation과 측정 population 밖의 입력은 score와 별도의 reliability state로 둡니다.
  • 시각적 속성은 자동 판정 점수에서 빼고 사람 검토용 설명 근거로 남깁니다.
  • 한 캐릭터의 여러 reference가 top-k를 채우지 못하도록 identity 단위로 중복을 제거합니다.

검색 UI가 “가장 가까운 행”을 보여주는 것과, 식별 시스템이 “이 점수가 한 identity를 구분했는가”를 묻는 것은 다릅니다.

7. 멀티모달 결과를 검토 가능한 증거로 바꾸다

Veridion은 이미지 점수를 저작권 침해 결론으로 취급하지 않습니다. 근접 중복, 캐릭터 정체성, 한국어 축자·의미 유사성, 서사·말투·설정은 서로 다른 evidence channel로 유지합니다.

LLM도 온톨로지에 자유 형식 Turtle을 직접 쓰지 않습니다. 고정 JSON 계약으로만 후보 주장을 내고, 서버가 allowlist를 통과한 RDF triple을 만듭니다. 모델 유래 주장은 추출기별 named graph에 격리하고 PROV-O 출처를 붙여, 어떤 입력과 분석 경로에서 생겼는지 추적하고 필요하면 묶음 단위로 철회할 수 있게 했습니다.

따라서 시스템의 출력은 “침해/비침해”가 아니라 다음을 연결한 검토 자료입니다.

  1. 어떤 원본과 권리 주장을 비교했는가
  2. 어떤 탐지기가 어떤 후보를 만들었는가
  3. 각 신호의 범위와 reliability state는 무엇인가
  4. 사람이 어떤 근거를 확인해야 하는가

8. 재현성과 주장 범위

이 기록은 2026년 8월 10일 기준으로 보존된 소스 스냅샷을 검토해 작성했습니다. 구현과 평가 하니스는 남아 있지만 입력 corpus, vector index, curve artifact와 raw 결과는 포함되지 않았습니다.

항목 상태
판정·검색·온톨로지 구현 소스에서 구조와 계약 확인
모델 선택·오픈셋·crop 평가 하니스 소스에서 확인
입력 이미지·vector index·curve JSON 보존된 소스 스냅샷에 없음
본문의 성능 수치 저장소에 기록된 과거 측정, 이번 기록 작성 시 재실행하지 않음
현재 운영 규모·성능 주장하지 않음

그래서 이 글은 알고리즘과 의사결정 구조를 설명할 수 있지만, 표의 수치를 bitwise 재현 가능한 benchmark release로 제시하지 않습니다. 시각적 유사도는 저작권 침해 그 자체도 아닙니다. 보호되는 표현, 접근·의거성, 이용 맥락과 예외는 사람이 별도로 판단해야 합니다.

다음 검증은 공개 가능한 frozen subset과 curve artifact를 함께 보존하고, calibration identity와 test identity를 분리해 Korean webtoon과 실제 multi-character panel에서 수행하는 것입니다. whole-frame/crop별 FPIR–TPIR curve, identity-cluster bootstrap, latency와 reviewer workload도 함께 보고해야 합니다.

그 전까지 Veridion의 가장 강한 주장은 자동 판정 정확도가 아닙니다. 규모나 입력 형태가 점수의 의미를 바꾸면 요구하는 근거도 함께 바꾸고, 그 근거를 측정할 수 없으면 멈추도록 설계했다는 것입니다.

무엇을 측정한 것인가

  • Veridion

    이미지 임베딩을 중심으로 텍스트·서사·캐릭터 정체성을 분리 분석하고, 온톨로지와 출처 기록으로 근거를 조립하는 저작권 침해 탐지·검토 지원 시스템