CVPR2019で発表された、元画像と元画像をターゲット画像に変換するためのクエリ文を組み合わせた画像検索方式。以下、論文について簡単にまとめてみます。
目的
これは図を見ると理解しやすいと思います。エッフェル塔の画像と「人が写ってない、夜間」というクエリ文を組み合わせて検索すると、塔がズームされた夜のエッフェル塔画像が結果として得られるようにする。
こういった検索をしたいケースというのは、結構あるように思います。新しいコートを買おうとして検索、画像検索結果を眺めていると良さそうな物を見つける。色は良いけど丈がもう少し短ければなぁと思って「丈短め」と検索、みたいなことが出来ると望んだ結果を得ることが容易になりそうです。
提案方式
これも図を見て全体像を把握するとわかりやすいと思います。まず最初に、ResNet-17を用いてクエリ画像(参照画像)の特徴マップを得ます。また、クエリ文もLSTMを用いて特徴ベクトルに変換します。そして、この二つを統合した特徴を用いてターゲット画像を検索するのですが、ここでTIRGという新しい統合方式を提案しています。
TIRG(Text Image Residual Gating)
特徴ベクトルの統合は、以下のように計算されます。
とは図中のgated featureとresidual featureに対応していて、とは学習により得られるパラメータです。
この数式の直感的な理解には、ResNetのResidual Blockを考えると良いようです。求めたいクエリ画像に対する変換結果(ResBlockで言うに相当)は、クエリ画像に基づいた特徴マップ(Identity mappingのに相当)をReferenceとして、クエリ文に基づいた特徴マップ(残差のに相当)で補正することで得られるというのが提案方式のアイデアです。
また、とは次のように計算されます。
はシグモイド関数、はelement wiseの積、は2d convolutionとbatch normalizationを表し、は3x3のconv filterです。の方は、クエリ画像の特徴マップを変換するのではなく、シグモイド関数のゲートで元画像の情報をどの程度保持するかを制御するようになっています(0に近いと元画像の特徴マップをほとんど残さないが、1だとそのまま)。
学習
TIRGを使って求めた特徴ベクトルとターゲット画像の特徴ベクトルを近づけ、非類似画像の特徴ベクトルから遠ざけるように学習する。学習に用いるのは、Softmax Cross-Entropy Loss。
はmini batchのサイズで、は少しわかりにくいですが、mini batchの中で1つのpositiveなサンプルと個のnegativeなサンプルを持つ集合を作成するプロセスの繰り返し回数となっています。あと、類似度カーネルですが、内積とnegative L2ノルムを使ったそうです。
Experiments
3つのデータセットを使った評価が行われています。メインの評価指標はrecall at rank k(R@K)。R@Kは、こちらのPDFを見るとわかりやすいです。
https://ils.unc.edu/courses/2013_spring/inls509_001/lectures/10-EvaluationMetrics.pdf
数値比較の詳細は論文を参照。
Fashion200k
画像につけられたdescription文が、1語違いになっているペアをクエリ画像とターゲット画像とし、異なる1語をクエリ文とする。
method | R@1 | R@10 | R@50 |
---|---|---|---|
TIRG | 14.1 | 42.5 | 63.8 |
既存手法と比べて、R@1で8pt近く向上。TIRG以外の統合方式に対して比較した場合でもR@1、R@10、R@50のいずれにおいてもBestな結果となった。結果画像の一部は以下の通り。
MIT-States
60k枚の画像と、"red tomato"や"new camera"のような物体に対する名詞と形容詞のラベルがついたデータセット。Image retrievalのタスクにおける評価では、同じ物体ラベルで異なる形容詞を持つペアをクエリ画像とターゲット画像とし、ターゲット画像の形容詞をクエリ文として評価。
method | R@1 | R@10 | R@50 |
---|---|---|---|
TIRG | 12.2 | 31.9 | 43.1 |
R@1ではBestではなかったが、R@10とR@50ではTIRG以外の統合方式の中でBestな値となった。
CSS
この論文で新しく導入されたデータセット。既存データセットにはない、複雑な修正クエリ文を含む。ちなみに、データセットはコードと併せて公開する予定だそう。
method | 3D to 3D | 2D to 3D |
---|---|---|
TIRG | 73.7 | 46.6 |
最後に
実際に検索システムに導入されると、ユーザーが本当に検索したい情報に辿り着く可能性が高まる、面白いアイデアだと思いました。クエリ画像とクエリ文からターゲット画像を検索するというものですが、例えば洋服を探しているときは、最初に「グレーのコート」などと検索して、その結果を見ながら、修正クエリ文を入れるというステップになると思うので、一連の検索のコンテキストや、「ボタンは黒」みたいな空間的な修正対象の位置なども使えるとより良い結果が得られるかもしれません。(空間的な情報の有無は論文内でもAblation studyで論じられてます)