← 모델 목록
개인 실험 2026-09-21 · sketch-based-image-retrieval
CLIP 계열 (이미지-텍스트 대조학습 ViT)

CLIP ViT-B-32-quickgelu (openai) + PiDiNet table5

CLIP ViT-B/32 손그림 검색 (상품 사진 PiDiNet 스케치화 vs 원본)
모델
OpenAI CLIP ViT-B/32 이미지 임베딩으로 검색하고, 상품 사진을 PiDiNet 엣지 검출로 스케치화해 손그림과 도메인을 맞추는 방식
사용 목적
상품 사진을 스케치화(PiDiNet)하는 게 CLIP 손그림 검색에 실제로 도움이 되는지 단독 비교로 확인
코드
Subeen2/FurniSketch
가중치
없음
Top-55.6%
Top-105.6%
mean_rank1589
실험2회 · 대표 r2
학습 시간없음
추론 CPU / GPU측정 안 함

데이터

  • 갤러리 6,074장 · 손그림 72장
  • 직접 수집 · 오늘의집 조명
  • 쿼리 전처리는 두 조건 동일

학습

  • 학습 없음 · CLIP openai + PiDiNet table5
  • GPU · 갤러리 임베딩 약 4개/s
  • CLIP 모델 동일, 갤러리만 변경

결과

  • PiDiNet Top-5 5.6% · 원본 0.0%
  • 평균 순위 1589.0 vs 1699.1
  • 72쿼리 중 PiDiNet 우세 45 (62.5%)

배운 점

  • 둘 다 Top-1 0%로 CLIP 단독은 매우 약함
  • 스케치화가 원본보다 낫지만 차이는 작음
  • DINOv3는 반대로 원본 사진이 유리
개요용도 의도한 용도: 최종 파이프라인이 CLIP 갈래에서 상품 사진을 PiDiNet으로 스케치화하는데, 그 효과를 CLIP 단독…

용도

  • 의도한 용도: 최종 파이프라인이 CLIP 갈래에서 상품 사진을 PiDiNet으로 스케치화하는데, 그 효과를 CLIP 단독·전체 갤러리·72쿼리에서 실제로 확인
  • 대상 사용자: 프로젝트 팀 내부 의사결정용
  • 의도하지 않은 용도: 최종 파이프라인 성능으로 보는 것. 앙상블·속성 필터·원본 혼합(raw_blend)이 빠진 CLIP 단독 측정

모델 정보

항목 값
베이스 모델 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_im…
항목 값
확보 방식 직접 수집 (상품 사진) + 직접 그린 손그림
출처 오늘의집 조명 상품 사진 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)를 저장해 중간에 끊겨도 이어서 실행
결과전체 카탈로그 비교: PiDiNet vs 원본 쿼리별 승패와 순위 차이 분포 전체 갤러리 6,074장 · 쿼리 72장 ( re…
전체 카탈로그 비교: PiDiNet vs 원본
전체 카탈로그 비교: PiDiNet vs 원본
쿼리별 승패와 순위 차이 분포
쿼리별 승패와 순위 차이 분포

전체 갤러리 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%) 〃

추론 성능 (CPU / GPU)

측정 안 함. 지연 시간·처리량·메모리를 재지 않았습니다. infer_ms에는 넣지 않았습니다.

장비 장비 이름 배치 크기 지연 시간 (샘플당, p50 / p95) 처리량 (샘플/초) 메모리 사용
CPU - - 측정 안 함 측정 안 함 측정 안 함
GPU [미확인] 1 측정 안 함 측정 안 함 측정 안 함
  • 측정 방법: 해당 없음
실험 기록2회 측정 · 대표 r2

같은 모델을 설정·분류기를 바꿔 2번 측정한 기록입니다. ★ r2이(가) 대표 결과(맨 위 수치)입니다.

직전 실행에서 바뀐 설정지표 최고값
실행날짜바뀐 점galleryclipquery_preprocessTop-5Top-10mean_rank학습 시간
r1
원본 그대로
2026-09-21기준: 상품 사진을 그대로 CLIP에 넣음
analysis/single_model_comparison/clip_pidinet/results/eval_clip_raw_full_catalog.csv
rawViT-B-32-quickgelu-openaiotsu-crop0.0%0.0%1699.1-
★ r2
PiDiNet 스케치화
2026-09-21갤러리 사진을 PiDiNet(table5)으로 스케치화한 뒤 CLIP
analysis/single_model_comparison/clip_pidinet/results/eval_clip_pidinet_full_catalog.csv
pidinet-sketchViT-B-32-quickgelu-openaiotsu-crop5.6%5.6%1589-
Top-5 변화 실행 순서대로 · 높을수록 좋음
r1 · 원본 그대로
0.0%
r2 · PiDiNet 스케치화
5.6%
한계 · 배운 점한계 알려진 실패 유형: 두 조건 모두 Top-1이 0%. CLIP 단독으로는 손그림 → 상품 사진 검색이 거의 안 됨 편향 …

한계

  • 알려진 실패 유형: 두 조건 모두 Top-1이 0%. CLIP 단독으로는 손그림 → 상품 사진 검색이 거의 안 됨
  • 편향 / 공정성 이슈: [미확인]
  • 성능이 떨어지는 입력 조건: 27개(37.5%) 쿼리에서는 원본이 더 높은 순위였음. 효과가 일정하지 않고, 이 수치는 앙상블·속성 필터·raw_blend가 빠진 CLIP 단독이라 최종 파이프라인과 직접 비교할 수 없음

배운 점

  • CLIP 갤러리는 PiDiNet 스케치화가 원본보다 평균 순위가 낫다 (1699.1 → 1589.0, 중앙값 1790.5 → 1212.0). 다만 차이는 작고 쿼리의 62.5%에서만 우세했다
  • 같은 방식으로 본 DINOv3는 원본 사진이 유리해 모델마다 스케치화 효과가 다르다 (노트북 결론. 최종 파이프라인은 CLIP 갈래만 스케치화)
  • 최종 파이프라인은 상품 원본 임베딩을 20% 섞는 use_raw_blend를 쓰며, 이는 스케치화와 원본 사이의 트레이드오프를 반영한 선택이다 (노트북 결론 요지)
사용 방법코드 셀 1개
In [1]두 조건(PiDiNet / 원본) 평가
.\.venv\Scripts\python.exe analysis\single_model_comparison\clip_pidinet\eval_clip_pidinet.py

같은 과제·데이터셋 비교 sketch-based-image-retrieval · 직접 수집: 오늘의집 조명 상품 사진 6,074장 + 손그림 72장 · 3개

굵은 이름이 이 모델입니다. 주황 테두리가 그룹 안 최고값입니다.