自然言語でコーディネートを検索する「CLIP4Outfit」
書誌情報
タイトル:Lost Your Style? Navigating with Semantic-Level Approach for Text-to-Outfit Retrieval
掲載元 :WACV
掲載年 :2024
著者 :Junkyu Jang, Eugene Hwang, Sung-Hyuk Park
何をしている論文?
自然言語でコーディネートを検索する手法「CLIP4Outfit」の提案
コーディネート = ファッションアイテム画像の集合(事前に組み合わされたもの)
手法の概要
入力:自然言語クエリ、出力:コーディネート
例えば、「夏と秋の季節の変わり目に着るオフィスコーデ」というクエリに対し、薄手のジャケット、半袖ブラウス、タイトスカート、ハイヒールで構成されたコーディネートを出力
クエリに対し、コーディネートとの類似度を計算し、最も類似度の高いコーディネートを出力
コーディネートとテキストクエリの類似度を計算可能なマルチモーダルエンコーダを学習
CLIPをベースに、大量の「コーディネートとテキストのペアデータ」で学習
工夫している点
3段階のマルチモーダル学習
アイテムレベル、スタイルレベル、コーディネートレベルのベクトルを出力し、それぞれで損失計算をおこなうことで、個々のアイテムと単語の関係、スタイルを表す語(カジュアルなど)とアイテムの組み合わせの関係を学習
アイテムレベルの損失計算
CLIPのエンコーダで、コーディネートとテキストクエリをそれぞれベクトル化
コーディネート内のアイテムとクエリ内のトークンの類似度を総当たりで計算
各アイテムとトークンのベクトルには、学習可能な重みを付与→どのアイテムとトークンを結び付ければ良いかを学習
最大類似度を「コーディネートとテキストの類似度」とし、InfoNCE損失を計算
スタイルレベルの損失計算
コーディネート内の構成要素の集合を「スタイル」とし、アイテムとトークンのそれぞれでクラスタを作成
クラスタの中心を「スタイルベクトル」とし、アイテムレベルと同様に、クラスタ間の類似度を総当たりで計算
各クラスタのベクトルに、学習可能な重みを付与→どのアイテム集合とトークン集合を結び付ければよいかを学習
最大類似度を「コーディネートとテキストの類似度」とし、InfoNCE損失を計算
コーディネートレベルの損失計算
コーディネートとテキストのそれぞれのスタイルベクトルを、さらにTransformer Encoderでエンコードし、平均プーリング
単純なInfoNCE損失を計算
最終的に、アイテムレベル、スタイルレベル、コーディネートレベルの損失の重み付き和でモデル全体を学習
評価実験の方法と結果
自動評価
Recall@k(K=5, 10, 30, 50)で評価
Text-to-VideoモデルのSoTA手法と比較
全手法の精度を上回る
被験者評価
①検索結果の満足度評価
クエリごとに検索結果上位5件を提示し、それぞれに10段階の満足度を付与
全5,000種類のテキストクエリは、ChatGPTで生成←現代っぽくて面白い
被験者評価の平均値は7.619
9割以上の被験者が検索結果に対し満足な評価
②グラウンドトゥルースとの比較評価
データセット内の正解と、提案手法による検索結果1位のどちらがよりクエリにマッチするかを評価
被験者の内、約52%が「提案手法による検索結果の方が良い」と評価
グラウンドトゥルースよりも、人間の感性に合うコーディネートを検索可能に(=データセット内の正解が必ずしも人間の感性にマッチしない可能性あり)
データセット
Maryland Polyvore
Polyvore Outfit
面白いと感じた点
個々のアイテムとトークンの関係、アイテム集合とトークン集合の関係を考慮したマルチモーダル学習
そのほかの感想
検索意図に関しては考慮されていないため、改良の余地あり
被験者評価の実験設定や評価結果の詳細に関してはもう少し説明が欲しい