-
[논문 리뷰] Conditioned and composed image retrieval combining and partially fine-tuning CLIP-based features (CVPR 2022 Workshop)Paper Review/Computer Vision 2022. 12. 20. 20:59
Content-Based Image Retrieval with User Feedback Information
Content-Based Image Retrieval (CBIR)은 query로 이미지를 받아 <query feature ,DB에 저장되어 있는 features>간의 distance를 구하는 문제이다. 이전에는 query로 단순히 image만을 입력받았다면 최근에는 user feedback 정보를 같이 활용하여 CBIR을 하는 연구들이 제안되고 있다. 가령 아래와 같이 첫번째 검색된 결과를 기반으로 유저가 해당 이미지와 유사하지만 Korn이라는 logo를 갖고있는 이미지를 검색해달라고 user feedback 정보를 제공하면 해당 조건들을 부합하는 이미지를 검색해주는것이다. 해당 연구에서는 user feedback을 text information으로만 제한한다. 본 연구는 FashionIQ, CIRR benchmark dataset에서 다음에 다룰 ARTEMIS, CIRPLATN와 같은 모델들보다 높은 성능을 나타내며 SOTA를 달성하였다.
Proposed Method
본 연구에서 제안하는 방법은 크게 CLIP 모델을 기반으로 하고있으며, large-corpus에서 pre-trained된 CLIP의 dual encoder (image, text encoder)의 강점을 활용한다. 근데 저자들이 한가지 point out하는 부분이 있는데 그 내용은 다음과 같다.
가령 an image of a black dress (x), and the relative caption "is blue (y)"라는 이미지와 text caption이 있다고 가정하자.
해당 이미지와 캡션을 통해 유저가 원하는것은 blue dress를 찾고 싶은것일텐데, 여기서 문제는 CLIP의 image and text encoder를 통해 $$ \phi_I(x) + \phi_T(y) \approx \phi_I(z) $$ 라는 보장을 할 수 없다.
저자들은 "Ideally, we would like to have a textual embedding space that contains displacement vectors in the image embedding space since the conditioned image retrieval task consists of moving between two points in image space using textual information." 라고 언급하며 이를 위해 아래와 같이 두 단계의 training method를 제안한다.
Text encoder fine-tuning
본 과정은 대용량의 image-text 데이터로 pre-training시킬때와 downstream task에서 fine-tuning할때의 text encoder의 misatch problem을 최소화 하기 위한 과정이다. 학습 과정은 simple한데,
(1) pre-trained된 image & text encoder를 이용하여 reference image & caption feature를 추출하고
(2) simple summation & L2 normalization을 통해 combined feature를 구성한다.
(3) combined feature와 positive target images and negative images의 triplet을 구성하고, Contrastive Loss (해당 연구에서는 batch-based classification)를 통해 text-encoder를 학습한다. (image encoder의 weight는 freeze)
Combiner network training
앞선 step에서 Text encoder를 추가적으로 학습시켰다면, 이 단계에서는 text와 image feature를 더 잘 fusion하기 위한 combiner network를 학습한다. 단순히 image & text feature를 summation하는것만으로는 이미지와 부분적으로 수정할 포인트를 directly 요구하는 텍스트 information을 충분히 표현하기에 한계가 있기 때문이다.
아래의 combiner 구조를 살펴보면 image & text representation으로부터 linear projection & RELU & concat하고 3개의 branch의 입력으로 concat된 feature를 사용한다. 맨위 & 아래 barnch는 image와 text간의 coefficients of a convex combination를 계산하기 위함이고, 가운데 branch는 mixture of text and image features를 위해 사용된다. 최종적으로 3가지 branch의 representation들은 summation되어 combined features를 형성한다.
이전 스텝과 마찬가지로 Combiner Network를 학습하기 위해 contrastive Loss를 이용한다.
Experiments
Table1은 FT, CF의 여부 & type에 따른 성능 비교를 나타낸다. 실험 결과 text encoder를 추가적으로 Fine-tuning하고, combiner를 학습하는것이 최종적으로 제일 높은 성능을 나타낸다.
Table 3 and Table4는 다른 SOTA 모델들과의 비교를 나타내며, 본 연구에서 제안한 모델이 제일 높은 성능을 나타내는것을 알 수 있다.
마지막으로 combiner network을 이용하는것과 단순히 text & image feature를 summation하는것과의 cosine 유사도를 통한 비교 결과는 Figure 6와 같다. 분석해보면,
(1) Fine-tuning을 진행하면 sum and combiner 방식 모두 target and non-target 간의 gap이 더 커지고
(2) Combiner가 Summation보다 target and non-target 사이의 gap을 더 늘린다
라는 점을 알 수 있다.
마치며
본 연구의 method는 간단하지만 높은 성능을 나타내고, 해당 benchmark dataset에서 시도했던 다른 모델들과는 달리 pre-trained CLIP을 직관적으로 어렵지않게 잘 활용했다는 점에서 리뷰를 진행하였다.