Learning Fine-grained Image Similarity with Deep Ranking 논문 정리

Posted by JudeLee on Sep 11, 2016

Learning Fine-grained Image Similarity with Deep Ranking 논문 정리

Abstract & Introduction

이미지 유사도를 비교할 때에는 between-class(ex.car, boat) 와 within-class(black car, white car) 에서의 다른점을 고려해야한다. 우리가 'black car'를 입력 쿼리문으로 설정하였다면 'dark gray car'와 같은 결과가 나오기를 원하는것처럼 같은 클래스(ex.car) 내에서도 정확히 유사한 이미지를 찾는 방법이 필요하다.

기존의 Image classification 방법으로 이미지 유사도를 고려한다고 하면 class-level 의 precision 만을 고려하기 때문에, 입력 쿼리 이미지에 대해 'white car', 'yello car' 와 같은 결과를 보여줄것이다. 이 논문에서 제시하는 Deep Ranking model 은 아래의 그림과 같이 triplet dataset 이라고 불리는 데이터를 이용하여 모델을 학습한다. 학습된 Deep Ranking model 은 유사 이미지 검색에서 hand-crafted(ex.HOG, SIFT) based model 이나 deep classification model(like CNN classifier) 보다 더 좋은 성능을 보여준다.

Preparing-triplet dataset

이 논문에서는 (Query Image, Positive Image, Negative Image) 와 같이 triplet 의 형태의 데이터셋을 구성하기 위해 online importacne sampling scheme 를 사용한다. ri,j = r(pi, pj) 인 releavance score 는 이미지 i 가 같은 클래스를 가지는 다른 이미지들과의 유사도를 나타낸다. 전체 이미지 셋에서 i 클래스 라벨값을 가지는 이미지 i 와 j 값의 total relevance score 는 아래와 같다.

Triplet sample 을 하기위해 전체 이미지 셋에서 total relevance score 를 기준으로 query 이미지를 sample 한다. 즉 전체 이미지 셋에서 query 이미지로 뽑힐 확률은 total relevance score 에 비례한다. query 이미지를 sample 한 후에는 query 이미지와 같은 클래스를 가지는 positive 이미지를 sample 하여야 한다. 이때 query 이미지와 positive 이미지간의 유사도 점수가 더 높은 positive 이미지 점수를 sample 한다. 어떤 이미지가 positive 이미지로 sample 될 확률은 아래와 같다.

마지막으로 negative 이미지를 sample 할 때에는 out-of-class(다른 클래스) 와 in-class(같은 클래스) sample 방식이 있는데, 이 논문에서의 실험 목적은 top-ranked 이미지들을 retrieval 하는것이 목적이기 때문에 위의 식(7)과 같은 분포를 가지는 in-class negative sample 방식을 이용한다. sample 이 된 triplet 이미지셋에서 positive 이미지와 negative 이미지 사이의 robust 를 보장하기 위해 아래의 식(8) 과 같은 조건을 만족하도록 positive, negative 이미지를 sample 한다.

Online triplet sampling algorithm

Deep ranking model 을 learning 하는것은 많은양의 데이터를 필요로 하지만 실제로 main memory에 많은 데이터를 로드할 수 없다. 따라서 아래 그림과 같이 fix 된 capacity 의 buffer 를 각 클래스별로 할당하는 online triplet sampling algorithm 방식을 제안한다.

Result & Conclusion

Similar image retrieval 결과를 살펴보면 ConvNet 과 OASIS 모두 같은 클래스에 대한 prediction 은 높지만 실제 주어진 쿼리 이미지에 대한 recall rate 는 낮은것을 확인할 수 있다. 이에비해 Deep Ranking model 은 주어진 쿼리에 대해 정밀하게 유사한 이미지들을 리턴해주는 결과를 확인할 수 있다.

총평

이 논문에서는 학습 데이터셋을 구성하는데에 새로운 approach 를 택하였다. 학습셋을 triplet 이라는 형태로 구성 하고 이를 이용한 Similar image retrieval model 을 생성하였다. 이 논문을 접하기 전에는 SIFT값을 이용한 비교나 이미지 분류기를 통해 추출한 특징을 이용한 비교 즉 학습셋과는 무관하게 모델 자체의 성능만을 고려하였었는데, "학습셋을 그냥 구성하는것이 아니라 어떤 방식으로 잘 구성할것인지도 중요하다" 라는 점을 깨닫게 해주는 논문이였다.

Reference

  • Learning Fine-grained Image Similarity with Deep Ranking