In [1]두 조건(PiDiNet / 원본) 평가
.\.venv\Scripts\python.exe analysis\single_model_comparison\clip_pidinet\eval_clip_pidinet.py
| 항목 | 값 |
|---|---|
| 베이스 모델 | open_clip ViT-B-32-quickgelu (pretrained=openai), PiDiNet table5_pidinet 체크포인트 |
| 크기 · 변형 | CLIP ViT-B/32. 파라미터 수 [미확인] |
| 리비전 | open_clip 버전 [미확인] |
| 아키텍처 | 상품 사진 → (PiDiNet 스케치화) → CLIP 이미지 임베딩. 손그림 → CLIP 이미지 임베딩. 코사인 유사도 |
| 학습 방식 | 학습하지 않음. 사전학습 가중치로 임베딩만 추출 |
| 프롬프트 · 에이전트 구성 | 해당 없음 |
두 조건(r1, r2)은 CLIP 모델과 쿼리(손그림) 처리(pipeline.embed_user_sketch: Otsu 이진화 + 크롭)를 같게 두고 갤러리 쪽만 바꿨습니다.
| 항목 | 값 |
|---|---|
| 확보 방식 | 직접 수집 (상품 사진) + 직접 그린 손그림 |
| 출처 | 오늘의집 조명 상품 사진 data/ohou_lighting_images/(갤러리), 손그림 data/hand_sketch_targets/(쿼리) |
| 직접 수집 내용 | 오늘의집 공식 API가 없어 브라우저 콘솔 스크립트(analysis/ohou_browser_collect/)로 상품 정보를 JSON으로 모으고, Claude 스킬(ohou-collect)이 그 JSON을 CSV·이미지로 만듦. 수집 기간·손그림을 그린 사람·방법은 [미확인] |
| 이용 조건 확인 | [미확인] (오늘의집 이용약관·robots.txt 확인 여부를 확인하지 않음) |
| 규모 | 갤러리 전체 카탈로그 6,074장, 쿼리 손그림 72장 (같은 상품을 여러 장 그린 경우 각각 독립 쿼리) |
| 분할 | 학습 없음(zero-shot). 쿼리 손그림 한 장당 정답 상품 사진 하나. 같은 상품을 여러 장 그린 경우 각각 독립 쿼리 |
| 레이블·클래스 분포 | 클래스 없음. 쿼리별 정답 상품 1개 (조명 전체, 장/단스탠드 라벨은 이 비교에서 쓰지 않음) |
| 전처리 | 쿼리: Otsu 이진화 + 크롭 (두 조건 동일). 갤러리: r1 원본 그대로, r2 PiDiNet(table5)으로 스케치화 |
| 개인정보·민감정보 처리 | 해당 없음 |
학습을 하지 않았으므로 하이퍼파라미터·에폭은 해당 없음입니다.
| 항목 | 값 |
|---|---|
| 하이퍼파라미터 | 해당 없음 |
| 에폭 / 스텝 | 해당 없음 |
| 학습 시간 | 해당 없음. 갤러리 6,074장 임베딩(PiDiNet 추론 포함)은 run.log 기준 약 3.9~4.2개/초라 약 26분 (6,074 ÷ 4로 계산한 추정, 전체 시간을 직접 재지 않음) |
| 하드웨어 | GPU 사용 (device: cuda, .venv Windows). GPU 이름은 [미확인] |
| 프레임워크 | PyTorch, open_clip (버전 [미확인]) |
| 시드 · 재현 방법 | clip_pidinet/eval_clip_pidinet.py 실행. 500장마다 체크포인트(results/_gallery_checkpoint.pkl)를 저장해 중간에 끊겨도 이어서 실행 |


전체 갤러리 6,074장 · 쿼리 72장 (results/eval_clip_*_full_catalog.csv)
| 지표 | 원본 그대로 (r1) | PiDiNet 스케치화 (r2) | 테스트셋 |
|---|---|---|---|
| Top-1 | 0.0% | 0.0% | 72쿼리 |
| Top-3 | 0.0% | 2.8% | 〃 |
| Top-5 / Top-10 | 0.0% / 0.0% | 5.6% / 5.6% | 〃 |
| 평균 순위 | 1699.1 | 1589.0 | 〃 |
| 중앙값 순위 | 1790.5 | 1212.0 | 〃 |
| 쿼리별 우세 | 27 (37.5%) | 45 (62.5%) | 〃 |
측정 안 함. 지연 시간·처리량·메모리를 재지 않았습니다. infer_ms에는 넣지 않았습니다.
| 장비 | 장비 이름 | 배치 크기 | 지연 시간 (샘플당, p50 / p95) | 처리량 (샘플/초) | 메모리 사용 |
|---|---|---|---|---|---|
| CPU | - | - | 측정 안 함 | 측정 안 함 | 측정 안 함 |
| GPU | [미확인] | 1 | 측정 안 함 | 측정 안 함 | 측정 안 함 |
같은 모델을 설정·분류기를 바꿔 2번 측정한 기록입니다. ★ r2이(가) 대표 결과(맨 위 수치)입니다.
| 실행 | 날짜 | 바뀐 점 | gallery | clip | query_preprocess | Top-5 | Top-10 | mean_rank | 학습 시간 |
|---|---|---|---|---|---|---|---|---|---|
| r1 원본 그대로 | 2026-09-21 | 기준: 상품 사진을 그대로 CLIP에 넣음analysis/single_model_comparison/clip_pidinet/results/eval_clip_raw_full_catalog.csv | raw | ViT-B-32-quickgelu-openai | otsu-crop | 0.0% | 0.0% | 1699.1 | - |
| ★ r2 PiDiNet 스케치화 | 2026-09-21 | 갤러리 사진을 PiDiNet(table5)으로 스케치화한 뒤 CLIPanalysis/single_model_comparison/clip_pidinet/results/eval_clip_pidinet_full_catalog.csv | pidinet-sketch | ViT-B-32-quickgelu-openai | otsu-crop | 5.6% | 5.6% | 1589 | - |
use_raw_blend를 쓰며, 이는 스케치화와 원본 사이의 트레이드오프를 반영한 선택이다 (노트북 결론 요지).\.venv\Scripts\python.exe analysis\single_model_comparison\clip_pidinet\eval_clip_pidinet.py
굵은 이름이 이 모델입니다. 주황 테두리가 그룹 안 최고값입니다.