하이라이트 사진 추천 후보 모델 검토 - 100-hours-a-week/5-yeosa-wiki GitHub Wiki
1. NIMA vs CLIP 기반 Aesthetic Score 예측 모델 비교
항목 | NIMA (Neural Image Assessment) | CLIP 기반 모델 |
---|---|---|
주요 목적 | 이미지의 미적 품질을 정량적으로 평가 | 이미지와 텍스트를 동일한 임베딩 공간에 매핑하여 다양한 태스크에 활용 |
입력 데이터 | 이미지 | 이미지 및 텍스트 쌍 |
출력 | 미적 점수 분포 및 평균 점수 | 이미지 임베딩 (텍스트 임베딩과의 유사도 기반) |
학습 데이터 | AVA 등 미적 평가 데이터셋 | 대규모 웹 이미지-텍스트 쌍 |
활용 분야 | 이미지 미적 품질 평가, 사진 선택, 이미지 향상 | 이미지 분류, 검색, 생성 등 다양한 비전-언어 태스크 |
장점 | 미적 평가에 특화된 구조 | 다양한 태스크에 활용 가능하며, 텍스트 기반의 유연한 미적 평가 가능 |
제한 사항 | 고정된 태스크에 최적화되어 확장성 제한 | 미적 평가에 특화된 구조는 아니며, 추가 학습 필요 |
2. NIMA (Neural Image Assessment) 요약
a. 참고 자료
b. 모델 구조 및 동작 원리
- NIMA는 Inception-v2, MobileNet 등 기존 CNN 백본 위에 1개의 Fully Connected Layer를 추가하여 구성됨
- 입력 이미지를 CNN으로 처리한 후, 출력층에서는 **10개의 aesthetic score 클래스(1~10점)**에 대해 softmax 분포를 예측
- 예측된 분포로부터 mean score, standard deviation 등 통계적 지표를 계산함
c. 학습 방식
- AVA Dataset과 같은 사람들의 미적 평가 점수가 포함된 라벨을 사용
- 정답 라벨은 정수 하나가 아닌 1~10점 사이의 분포(label distribution) 형태
- 예측 분포와 실제 분포 간의 **Earth Mover’s Distance (EMD)**를 최소화하도록 학습함
- EMD는 누적 분포 간 차이를 측정하여 미적 감성의 미묘한 차이까지 반영 가능
- EMD란?
- 두 개의 분포 간의 누적 차이를 기반으로 얼마나 "많은 양의 분포"를 "얼마나 멀리" 옮겨야 하나를 측정하는 거리함수.
- 직관적으로는, 한 분포에서 다른 분포로 흙을 옮기는 최소 작업량을 의미.
d. 성능 요약
가. 강점
- 정교한 aesthetic 감성 평가 : 단일 점수 예측이 아닌 1~10 점 분포 예측을 통해 사용자 평가와 유사한 결과 제공
- 정량적 평가 지표 확보 : AVA, TID2013 등의 이미지 미학 평가 benchmark에서 사람의 평균 점수와 높은 상관관계
- 다양한 backbone 사용 가능 : Inception-v2 외에도 MobileNet, NASNet 등 다양한 CNN 구조와 호환됨
- 정리 기준이 명확 : aesthetic score 자체가 명확한 기준으로 활용 가능 (예: top N 추출, thresholding 등)
나. 한계
- CNN 기반이라 최신 ViT, CLIP 기반 모델에 비해 표현력/확장성에서 제약이 있음
- Aesthetic Score에 특화된 모델로, 다양한 분야에서 활용하기 어려움
- AVA dataset은 예술사진 위주로, 데이터에 따른 편향 가능성이 존재
- 비슷한 색감/조도/피사체 구조를 가진 사진의 aesthetic 차별이 어려울 수 있음
다. 모델 크기 및 구조
- CNN 백본을 기준으로 모델 크기 상이
- 예: Inception-v2 + FC → 약 13.5M 파라미터
- MobileNet 기반 NIMA는 약 4.2M 수준으로 경량
- 최종 layer는 10-dim softmax 출력 (점수 분포)
3. CLIP in Image Aesthetic Assessment 요약
a. 참고 자료
b. CLIP 모델이 활용될 수 있는 이유
-
기존 IAA 모델은 ImageNet 분류 모델을 기반으로 하는데, 이들은 미적 요소(조명, 구도 등)에 둔감함.
→ CLIP은 자연어 기반 supervision을 받았기 때문에, 더 넓은 시각적 특성을 학습했을 가능성이 있음.
-
가설: CLIP의 시각 인코더는 aesthetic feature(예: beautiful, balanced 등)를 자연스럽게 학습했을 것이다.
c. CLIP으로 Aesthetic Score를 매기는 방식
단계 | 설명 | 특징 |
---|---|---|
1. Prompting | 자연어 프롬프트로 미적 품질을 추론 | zero-shot, 훈련 없음 |
2. Linear Probing | CLIP의 이미지 임베딩 + 선형 회귀 | 일부 학습 (경량) |
3. Fine-tuning | 전체 CLIP 인코더 미세조정 | 성능 최상, 학습량 최대 |
가. Prompting (훈련 없이 CLIP만으로 예측)
- "a beautiful picture" vs. "a horrible picture" 등의 프롬프트로 이미지 평가
- Weighted cosine similarity를 통해 연속적 aesthetic score 도출
- 예시 프롬프트:
a [adjective] picture
a [adjective] picture of a [object]
← context-aware
- 결과: 단순 프롬프트만으로도 baseline보다 높은 정확도 (Accuracy ~0.75, Spearman ~0.54)
나. Linear Probing (CLIP 이미지 임베딩 + 선형 회귀)
- CLIP 이미지 인코더로부터 768D 벡터 추출 → 선형 회귀
- AVA 데이터셋의 평균 aesthetic score를 예측
- CLIP이 ImageNet 모델보다 정확도, Spearman, Pearson 모두 우수
- 특히 CLIP은 다양한 feature를 고르게 활용하는 반면, ImageNet은 특정 feature에 편중됨
다. Fine-tuning (CLIP 전체 미세조정)
- AVA 데이터셋에 대해 CLIP 이미지 인코더 전체 fine-tuning
- 출력: 10개 점수 분포, softmax, EMD loss 사용
- Fine-tuned CLIP은 기존 SOTA 모델들보다 빠르게 수렴하고 높은 정확도 달성
- Accuracy: 0.816, Spearman: 0.731, Pearson: 0.741 → NIMA, MUSIQ 등과 비슷하거나 더 우수
d. 성능 요약
모델 | Accuracy | Spearman | Pearson |
---|---|---|---|
NIMA (Inception-V2) | 0.815 | 0.612 | 0.636 |
NIMA (MobileNet, 재현) | - | 0.626 | 0.609 |
Fixed Prompt (CLIP) | 0.725 | 0.435 | 0.453 |
Context-aware Prompt (CLIP) | 0.737 | 0.539 | 0.554 |
Ensembling Prompt (CLIP) | 0.756 | 0.539 | 0.554 |
Linear Probing (CLIP) | 0.800 | 0.683 | 0.694 |
Fine-tuned CLIP | 0.816 | 0.731 | 0.741 |