PoC 분석에서 단일 IQA 모델 교체로는 추천 문제가 안 풀린다는 사실이 정량 입증됐다. 새 접근은 "품질 단일 점수"를 버리고 멀티 신호 조합 시스템으로 간다. 핵심 신호 5가지: 중복 제거 · 얼굴/인물 · 시간 클러스터 · DPP 다양성 · memorability.
5단계 멀티 신호 조합. 각 단계는 독립 검증 가능하고 점진 도입할 수 있다.
중복 제거: 같은 컷이 3~5장 연속으로 찍힌 경우(셀카 배치 모드, 자동 연사) 한 장만 남긴다.
얼굴 검출: 인물 사진 vs 풍경/사물 사진 분류 + 인물 식별.
출력: 입력 100~500장 → 중복 제거 후 80~400장 + 각 사진의 (얼굴 수, 인물 ID, 인물 면적 비율).
PoC에서 유일하게 약한 신호 발견된 모델. 메인 점수가 아닌 "최소 품질 통과" 필터로 활용한다.
주의: 단독으로 30장을 못 정한다. 필터링 후보군 80~400장 → 50~300장 정도로 감소.
같은 행사/시퀀스의 사진을 묶어 대표컷을 뽑는다. 한 시퀀스에서 너무 많이 뽑히는 걸 방지.
장점: 내장 메타데이터(EXIF)만으로 70% 효과. 추가 모델 추론 없음.
Determinantal Point Process — 품질 × 다양성을 동시에 최적화하는 부분집합 선택 알고리즘. 영상 요약/추천 시스템에서 검증된 표준 기법.
출력: K=30 후보 (1차).
DPP만으로 풀리지 않는 인물 분포를 후처리한다.
| Phase | 목표 | 측정 지표 | 일정 |
|---|---|---|---|
| Phase 1 다양성 검증 |
Step 1 (중복/얼굴) + Step 4 (DPP) 단순 버전 PoC. 같은 3,985장에서 "사용자 30장과 얼마나 일치" | Recall@30 (사용자 수록 30장 중 추천에 포함된 개수) | 3일 |
| Phase 2 클러스터링 |
Step 3 (EXIF 시간 + CLIP 시각 클러스터) 추가. Phase 1 결과에 클러스터 제약 추가하여 재측정 | Recall@30 + 클러스터 분포 (한 클러스터당 평균 K) | 5일 |
| Phase 3 DPP 통합 |
Step 4 정식 DPP 알고리즘 + Step 2 품질 필터. 임계값 튜닝. Phase 2 대비 +N% 개선 목표 | Recall@30 + Diversity score (intra-K 평균 거리) | 5일 |
| Phase 4 운영 통합 |
image-api 또는 별도 서버에 Step 1~5 파이프라인 통합. SLA 측정 (100장 기준 목표 5초 이내). | p99 latency, qps_user, AB-test 추천 채택률 | 7일 |
이번 PoC에서 AUC가 정확한 측정 도구가 아니었다. positive/negative는 단순 binary지만 추천 문제는 ranking + 부분집합 선택이다. 새 접근에선 다음 지표 사용:
| 지표 | 정의 | 목표 |
|---|---|---|
| Recall@30 | 사용자가 실제 수록한 30장 중 추천 30장에 포함된 개수 / 30 | ≥ 0.5 (Phase 1) → 0.7 (Phase 4) |
| Diversity@30 | 추천 30장 간 평균 pairwise distance (CLIP cosine) | 사용자 실제 수록의 +10% 이상 |
| Cluster coverage | 추천에 포함된 시간 클러스터 수 / 전체 클러스터 수 | ≥ 0.8 |
| Person coverage | 등장 인물 ID 수 / 전체 인물 ID 수 | ≥ 0.9 |
| p99 latency | 100장 갤러리 → 추천 30장까지 응답 시간 | ≤ 5초 |
현재 PoC: 2일치 30 프로젝트 / 3,985장.
Phase 1 시작 전에 14일치(약 200 프로젝트, 25,000~35,000장)로 확대 권장. 이유:기존 IDC 파서(
- 샘플 사이즈 확보 (모델별 AUC 변동성 낮춤)
- 다양한 행사 유형(돌잔치/여행/일상/이벤트) 분포 확인
- 인물 식별의 정확도가 데이터 양에 의존 → 큰 데이터셋이 더 안정
extract_pos_neg.py) 재활용 — 추가 작업 1~2일.
| 구성 | 리소스 | 월 비용 |
|---|---|---|
| EC2 추론 (g6.xlarge × 1) | L4 24GB, Step 1~5 통합 | 약 $720 |
| (현행 image-api 재활용 시) | 0 추가 비용 | $0 |
| 스토리지 (사용자 임베딩 캐시) | S3 또는 ChromaDB | ~$30 |
현행 image-api에 신규 엔드포인트 /recommend/30로 통합 가능. 별도 인스턴스 없이도 운영 가능.
https://arxiv.org/abs/2507.06654 (MS-DPPs 2025) / https://github.com/mehdidc/dpp (간단 reference)https://github.com/deepinsight/insightface (얼굴 식별)https://github.com/Brain-Bridge-Lab/resmem (memorability)