V1 로직(CLIP Prompt Embedding) - 100-hours-a-week/5-yeosa-wiki GitHub Wiki
0. 관련 배경 지식
1. 로직 설명
sharp
, good
두 필드의 점수를 추출하고, 아래 기준을 적용:
a. CLIP 기반 프롬프트 임베딩을 통해 sharp
점수 ≥ 0.4880good × 0.25 + sharp × 0.75
≥ 0.490
b. 이미지 통과 여부는 아래 4가지 중, “both”만 통과
both
: 두 기준 모두 만족sharp_only
: sharp 기준만 만족combined_only
: 결합 기준만 만족neither
: 둘 다 실패
2. 기준 설정 이유
a. 두 필드의 상관관계
sharp
과good
점수는 통계적으로 높은 상관관계를 보임- 하지만 완전히 동일하지 않고, 보완적인 특성을 가짐
sharp
: 선명도 중심good
: 종합 품질 (색감, 구도 등도 포함)
b. 단일 기준의 한계
sharp_only
→ 선명하긴 하지만 전체 품질이 낮은 이미지가 존재combined_only
→ 덜 선명하지만 품질은 좋은 이미지도 존재- 실제 실험에서
sharp_only
,combined_only
케이스가 각각 확인됨
c. 결합 기준의 정당성
combined = good × 0.25 + sharp × 0.75
는 sharp을 중심으로 하되, good이 낮을 경우 penalty를 줌- 이를 통해 sharp 기준만으로는 걸러내지 못하는 저품질 이미지를 필터링 가능
- 동시에
sharp
클래스는 100% 통과하여 정상 이미지 손실 없음
3. 로직 테스트
a. 테스트에 사용한 데이터셋
-
Blur Dataset (Kaggle)
-
구성
-
sharp
: 선명한 이미지 -
motion_blurred
: 움직임에 의해 흐릿한 이미지 -
defocused_blurred
: 초점이 맞지 않아 흐릿한 이미지각 클래스당 약 350장으로 균형 있게 구성됨
-
b. 테스트 결과
클래스 | both | combined_only | sharp_only | neither |
---|---|---|---|---|
sharp | 100% | 0% | 0% | 0% |
defocused_blurred | 82.3% | 0.3% | 2.9% | 14.6% |
motion_blurred | 65.1% | 0% | 7.7% | 27.1% |
c. 결과 분석
- False Positive는 없지만, 전체적으로 Recall이 낮은 상황
- 추후 다른 로직을 사용해 보완 필요