cvpr2011 reading-tsubosaka

37
14回コンピュータビジョン勉強会 発表資料 tsubosaka

Upload: masashi-tsubosaka

Post on 05-Jul-2015

1.928 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cvpr2011 reading-tsubosaka

第14回コンピュータビジョン勉強会

発表資料

tsubosaka

Page 2: Cvpr2011 reading-tsubosaka

紹介する論文

Hierarchical Semantic Indexing for Large Scale Image Retrieval

Jia Deng, Alexander C. Berg and Li Fei-Fei

ImageNet (http://www.image-net.org/) プロジェクトのメンバ

論文の概要

類似画像検索において、直接画像の類似度を計算するのではなく、一旦カテゴリに変換することにより精度を高くすることができる

Page 3: Cvpr2011 reading-tsubosaka

発表の内容

既存の画像の類似度計算の手法と提案手法について

カテゴリによる特徴量表現

類似度検索のためのハッシュ法

実験

まとめ

Page 4: Cvpr2011 reading-tsubosaka

類似画像検索

紹介する論文では類似度計算の部分に焦点をあてる

クエリ画像

DB画像

特徴抽出

類似度計算

Page 5: Cvpr2011 reading-tsubosaka

類似度計算

2つの画像から得られる特徴ベクトルを𝑥, 𝑦 ∈ 𝑅𝐹とすると2つの画像の類似度はナイーブには内積計算によって行える

𝑆𝑖𝑚 𝑥, 𝑦 = 𝑥𝑇𝑦

しかし

かならずしもすべての特徴ベクトルの要素が類似性に効いてくるとは限らない

特徴ベクトルの要素間の関係が無視されている

Page 6: Cvpr2011 reading-tsubosaka

類似度計算 (Learning-to-rank アプローチ)

現在の類似度計算のstate-of-the-artな方法としてOASIS (Online Algorithm for Scalable Image Similarity)がある (Gal Checchik+, JMLR 2010)

2つの画像の類似度を行列𝐿を使って

𝑆𝑖𝑚 𝑥, 𝑦 = 𝑥𝑇𝐿𝑦 とあらわす

行列𝐿は画像𝑎に対して画像𝑏が画像𝑐よりも類似しているという教師データを使って 𝑆𝑖𝑚 𝑎, 𝑏 > 𝑆𝑖𝑚 𝑎, 𝑐 + 1

となるように学習する

類似しているという情報は主に画像にアノテーションされているカテゴリ情報を使う

Page 7: Cvpr2011 reading-tsubosaka

類似度計算 (Semantic アプローチ)

画像を一旦与えられたカテゴリ体系の下でカテゴライズを行い、その上で類似度を計算する

類似度行列は”馬”カテゴリと”ロバ”カテゴリの類似度が”馬”カテゴリと”キーボード”カテゴリの類似度よりも高いといった事前情報から構成する

特徴量空間だけで考えているとvisual word 1とvisual word 2の類似度が0.4というような結果は機械学習的手法に頼らざる得なかったが、一度カテゴリに落とすことにより人間の事前知識を類似度に使うことができる

紹介論文ではこのアプローチを提案している

Page 8: Cvpr2011 reading-tsubosaka

Semantic情報を使った検索の例 Semantic情報を使わない場合、クエリと意味的に無関係なものが上位にでることがある

Semantic情報を使った場合、形状が類似してなくても意味的に類似した画像がとれる

紹介論文Figure 1より

Page 9: Cvpr2011 reading-tsubosaka

Semantic情報を使ってできるかもしれないこと

与えられたテキストをSemanticなカテゴリにマッピングすることにより、テキストを使った類似画像検索が可能になる

Page 10: Cvpr2011 reading-tsubosaka

夢は広がる

Corpus-Guided Sentence Generation of Natural Images, EMNLP 2011より

Page 11: Cvpr2011 reading-tsubosaka

発表の内容

既存の画像の類似度計算の手法と提案手法について

カテゴリによる特徴量表現

類似度検索のためのハッシュ法

実験

まとめ

Page 12: Cvpr2011 reading-tsubosaka

タクソノミー

平たくいうとカテゴリ体系が階層構造をなしているもの

ex: /Sport,atheltics/Skating/Roller, /Sport,atheltics/racing

from http://www.image-net.org/

Page 13: Cvpr2011 reading-tsubosaka

タクソノミー上のカテゴリの近さ

カテゴリ𝑖とカテゴリ𝑗の近さを最小共通先祖(least common ancestor) 𝜋(𝑖, 𝑗)によって決める すなわち𝑆 𝑖, 𝑗 = 𝜉(𝜋 𝑖, 𝑗 )

最小共通先祖とは𝑖と𝑗の共通の親で高さ最少のもの

/Sport/Skating/Rollerと/Sport/racingでは/Sport

/Sport/Skating/Rollerと/Sport/Skating/Iceでは/Sport/Skating

𝜉の定義はいくつか考えられるが、実験ではタクソノミーの高さから決める方法を採用

高さはその下にあるリーフノードからの最長路と定義する

𝜉 𝜋 = 1 − 𝑕(𝜋)/𝑕∗ (𝑕∗はrootノードの高さ, ILSVRCデータセットにおいては19)

これはILSVRCの評価方法と同じである

カテゴリはすべてリーフノードにあることが前提のよう

Page 14: Cvpr2011 reading-tsubosaka

高さ 0 高さ 0

高さ 1 高さ 0

高さ 2

Page 15: Cvpr2011 reading-tsubosaka

画像のカテゴリによる特徴量表現

いまカテゴリの数を𝐾とする

画像𝑎が与えられたとき画像を𝑠 𝑓 𝑎 = 𝑥 ∈ 𝑅𝐾と変換

する

ここで𝑥𝑖は画像𝑎がカテゴリ𝑖に所属する確率を表す

/animal/bird/turkey 85% /animal/mammal 45% ... /structure/foutain 3% ...

Page 16: Cvpr2011 reading-tsubosaka

カテゴリへの分類

各カテゴリごとに1-vs-allな分類器をlinear SVM(論文の実験ではLIBLINEARを使っている)を使って構成する

分類器の出力は確率を表すようにシグモイド関数を使って[0,1]に変換する (Platt, In Advances in Large Margin Classifiers, 2000)

この処理は各カテゴリごとに容易に並列化可能

Page 17: Cvpr2011 reading-tsubosaka

発表の内容

既存の画像の類似度計算の手法と提案手法について

カテゴリによる特徴量表現

類似度検索のためのハッシュ法

実験

まとめ

Page 18: Cvpr2011 reading-tsubosaka

類似度検索

クエリ画像𝑥に対して、DB画像中の画像𝑦の中で類似度𝑥𝑇𝑆𝑦が大きいものを取り出す必要がある

𝑆が対角でない場合、通常の転置インデックスによる方法は非効率となる 例えば𝑥の1次元目の成分が非ゼロのとき、𝑦の1次元目だけではなく𝑆1𝑖が非ゼロな次元についても考慮する必要があるため

論文では𝑆が特殊な条件を満たすときに使えるLSHベースの方法を提案した 𝑆の要素が非負かつ対角要素が相対的に大きい場合

𝑆が前述の階層構造を考慮した類似度で構成されてる場合

Page 19: Cvpr2011 reading-tsubosaka

Hashable

以下の議論では𝑥, 𝑦が𝐾 − 1次元単体ΔK−1上にあることを仮定する 𝑥 ∈ Δ𝐾−1 ≝ 𝑥 ∈ 𝑅𝐾 , 𝑥𝑖 = 1, 0 ≤ 𝑥𝑖 ≤ 1𝑖

なお後で 𝑥𝑖 = 1𝑖 の部分はなくすことができる

行列𝑆 ∈ 𝑅𝐾×𝐾がhashableであるとは (Definition 1.2)

∃𝜆𝑠 > 0, ∀𝜖 > 0に対してハッシュ関数の族𝐻が存在して、任意の𝑥, 𝑦 ∈ Δ𝐾−1に対して

0 ≤ 𝑃 𝑕1 𝑥; 𝑆, 𝜖 = 𝑕2 𝑦; 𝑆, 𝜖 − 𝜆𝑠𝑥𝑇𝑆 𝑦 ≤ 𝜖

であることをいう(𝑕1, 𝑕2は𝐻からの独立なサンプル)

実質的には𝑃 𝑕1 𝑥 = 𝑕2 𝑦 = 𝑆𝑖𝑚(𝑥, 𝑦)

Page 20: Cvpr2011 reading-tsubosaka

Hashableの性質

線形性 𝑆1, 𝑆2がHashableであれば𝑆1 + 𝑆2もHashable (Lemma 1.11)

𝑆がHashableであれば𝑎𝑆 (𝑎 > 0)もHashable (Lemma 1.10)

すべての要素が1の行列はHashable (Lemma 1.6)

𝑆がHashableのとき、Sのzero padded extensionである𝑄もHashable (Lemma 1.9)

zero padded extentionとはSの要素の行及び列の置換における同一性を除いて順序を替えずに拡大後の要素を0で埋めた物 (Definition 1.7)

𝑎 𝑏𝑐 𝑑

→𝑏 0 𝑎0 0 0𝑑 0 𝑐

ex:

Page 21: Cvpr2011 reading-tsubosaka

𝑆1 + 𝑆2がHashableであることの証明

𝑆1, 𝑆2がHashableであれば𝑄 = 𝑆1 + 𝑆2もHashable

今z =1

𝜆𝑆1

+1

𝜆𝑆2

, 𝜃𝑙 =1

𝑧

1

𝜆𝑠𝑙

とする

ハッシュ関数𝑔(𝑥; 𝑄, 𝜖)を次のように構成する

Sample 𝛼 ∈ 1,2 ∼ 𝑚𝑢𝑙𝑡𝑖(𝜃)

return (𝛼, 𝑕𝛼(𝑥; 𝑆𝛼,𝜖

2))

実際

𝑃 𝑔 𝑥; 𝑄, 𝜖 = 𝑔 𝑦; 𝑄, 𝜖 ≤ 𝜃12 𝜆𝑆1

𝑥𝑇𝑆1𝑦 +𝜖

2+ 𝜃2

2(𝜆𝑆2𝑥𝑇𝑆2𝑦 +

𝜖

2)

=1

𝑧2 𝑥𝑇𝑄𝑦 +𝜖(𝜃1

2+𝜃22)

2

≤1

𝑧2 𝑥𝑇𝑄𝑦 + 𝜖

Page 22: Cvpr2011 reading-tsubosaka

Sの対角成分が大きいとき(1/2)

𝑆が対称行列かつ非負で𝑠𝑖𝑖 ≥ 𝑠𝑖𝑗𝑗≠𝑖 のとき𝑆はHashable

(Lemma 1.4)

𝐾 × (𝐾 + 1)行列Θの要素を以下のように定義する

ここで𝑆 = 𝜆𝑆 ⋅ 𝑆で𝜆𝑆は𝜃𝑖,𝐾+1 ≥ 0となるように定める

Page 23: Cvpr2011 reading-tsubosaka

Sの対角成分が大きいとき(2/2)

𝑁 ≥ 1/𝜖なるNを一つ選ぶ

ハッシュ関数𝑕(𝑥; 𝑆, 𝜖)を次のように構成する

Sample 𝛼 ∈ 1, … , 𝐾 ∼ 𝑚𝑢𝑙𝑡𝑖(𝑥)

Sample 𝛽 ∈ 1, … , 𝐾 + 1 ∼ 𝑚𝑢𝑙𝑡𝑖(𝜃𝛼)

If 𝛽 ≤ 𝐾 , return *𝛼, 𝛽+

else pick 𝛾 from 𝐾, … , 𝐾 + 𝑁 , return *𝛾+

特にSが単位行列の場合は𝑚𝑢𝑙𝑡𝑖(𝑥)に従って𝛼 ∈ 1, … , 𝐾 をサンプリングするだけでよい

Page 24: Cvpr2011 reading-tsubosaka

𝑆に階層性がある場合

与えられたrooted-tree G=(V,E)に対して、リーフノード集合Ω𝑟のノードi,j間の類似度がそのLCAの関数𝑆𝑖𝑗 = 𝜉(𝜋𝑖𝑗)となっており、𝜉が

𝜉 𝑞 ≥ 0

ノードqがノードpの子供の場合𝜉 𝑞 ≥ 𝜉(𝑝)

を満たすような関数であればSはHashable

Page 25: Cvpr2011 reading-tsubosaka

Generally hashable

Hashableの定義で 𝑥, 𝑦が𝐾 − 1次元単体上になく、𝑥 ∈ 𝑅𝐾 , 0 ≤ 𝑥𝑖 ≤ 1を満たすというように条件を緩めたときGenerally hashableという (Definition 1.14)

そして次が成り立つ

𝑆がHashableであればGenerally hashable (Lemma 1.15)

Page 27: Cvpr2011 reading-tsubosaka

発表の内容

既存の画像の類似度計算の手法と提案手法について

カテゴリによる特徴量表現

類似度検索のためのハッシュ法

実験

まとめ

Page 28: Cvpr2011 reading-tsubosaka

実験データ

Caltech256とImageNetのsubsetであるILSVRCを利用

Caltech256は既存の類似度学習手法との比較のために用い

ILSVRCは大規模なデータによる性能を見るために用いる

またILSVRCに関しては公開されているSIFTベースの1000種類のVisual word codebookからthree level SPMにより21000次元の特徴量を作成

この特徴量を使ってLIBLINEARで各カテゴリごとの識別器を作成する

Caltech 256についてはOASISの論文で利用されている特徴量を利用

Page 29: Cvpr2011 reading-tsubosaka

ベースライン手法

SPM: 生の特徴量をそのまま利用

Hard-Assign: クエリを単一のクラスにカテゴライズして、DB画像の内そのクラスの確率が高い順にソート

Cosine-Nocal: 分類器の出力をそのまま使い、コサイン類似度を計算

Cosine-Flat: Cosine-Nocalと同じだが、出力が[0,1]におさまるように補正

Cosine-Hie: 類似度行列に階層性を使ったものを利用するがDB画像のノルムが1になるように規格化

B-Flat: 類似度行列に対角行列を採用

Page 30: Cvpr2011 reading-tsubosaka

実験結果

ILSVRCデータセットにおけるprecision-rank

Page 31: Cvpr2011 reading-tsubosaka

実験結果から読み取れること

1. SPMの精度が低い-> カテゴリ情報を使うことが重要

2. B-Flatの方がHard-Assignよりも良い->確率的表現が効いている

3. Cosine-NoCalの精度が低い->分類器のスケールを合わせることが重要

4. コサイン類似度を使った結果はあまり良くない

5. B-HieとB-Flatの結果を比較->階層構造を使うことが重要

Page 32: Cvpr2011 reading-tsubosaka

他手法との比較

OASISよりも提案手法の方が高い性能になっている

Page 33: Cvpr2011 reading-tsubosaka

未知のカテゴリが存在する場合

ILSVRCの1000カテゴリのうち、100カテゴリを選択 それのみで識別器を構成した場合(seen in training)

残り900カテゴリのみで識別器を構成(unseen in training)

評価は100カテゴリのみで行う

unseenでもSPMよりよかったといってるけどtop-10ぐらいが一番重要では?

Page 34: Cvpr2011 reading-tsubosaka

Indexing efficiency

[Charikar, STOC, 2003]のコサイン類似度が近いものを求めるRandom Hyperplane LSHと比較 比較を公正にするためflat retrievalなものだけ考える

論文中では階層性を使ったハッシュ法については実験してない

そもそもB-FlatとCosine-Flatの性能が違うから比較がfairじゃない?

linear scan(B-Flat)

linear scan(Cosine-Flat)

Page 35: Cvpr2011 reading-tsubosaka

発表の内容

既存の画像の類似度計算の手法と提案手法について

カテゴリによる特徴量表現

類似度検索のためのハッシュ法

実験

まとめ

Page 36: Cvpr2011 reading-tsubosaka

まとめ

類似画像検索に事前知識である階層性を使うことにより精度を高めることができた

また階層性を使った類似検索においてハッシングを使った高速な検索方法について述べた

Page 37: Cvpr2011 reading-tsubosaka

感想

retrievalの評価にカテゴリ情報を使っているので、カテゴリに一旦落とすと性能が高くなるというのは当然な気がする

人手による評価などが必要な気がする

ソーシャルタギングと合わせて何かできそう

商用的なことを考えると大量の人手でのタグ付けでもコスト的に釣り合うかも

cf: A Semantic Approach to Contextual Advertising (SIGIR 2007)

表示ページから類似した広告を検索

ページと広告の両方を商業用にメンテナンスされている6000カテゴリ(各カテゴリには平均で100個のクエリが登録されている)のタクソノミーにマッピング