Upload
masashi-tsubosaka
View
1.928
Download
0
Embed Size (px)
Citation preview
第14回コンピュータビジョン勉強会
発表資料
tsubosaka
紹介する論文
Hierarchical Semantic Indexing for Large Scale Image Retrieval
Jia Deng, Alexander C. Berg and Li Fei-Fei
ImageNet (http://www.image-net.org/) プロジェクトのメンバ
論文の概要
類似画像検索において、直接画像の類似度を計算するのではなく、一旦カテゴリに変換することにより精度を高くすることができる
発表の内容
既存の画像の類似度計算の手法と提案手法について
カテゴリによる特徴量表現
類似度検索のためのハッシュ法
実験
まとめ
類似画像検索
紹介する論文では類似度計算の部分に焦点をあてる
クエリ画像
DB画像
特徴抽出
類似度計算
類似度計算
2つの画像から得られる特徴ベクトルを𝑥, 𝑦 ∈ 𝑅𝐹とすると2つの画像の類似度はナイーブには内積計算によって行える
𝑆𝑖𝑚 𝑥, 𝑦 = 𝑥𝑇𝑦
しかし
かならずしもすべての特徴ベクトルの要素が類似性に効いてくるとは限らない
特徴ベクトルの要素間の関係が無視されている
類似度計算 (Learning-to-rank アプローチ)
現在の類似度計算のstate-of-the-artな方法としてOASIS (Online Algorithm for Scalable Image Similarity)がある (Gal Checchik+, JMLR 2010)
2つの画像の類似度を行列𝐿を使って
𝑆𝑖𝑚 𝑥, 𝑦 = 𝑥𝑇𝐿𝑦 とあらわす
行列𝐿は画像𝑎に対して画像𝑏が画像𝑐よりも類似しているという教師データを使って 𝑆𝑖𝑚 𝑎, 𝑏 > 𝑆𝑖𝑚 𝑎, 𝑐 + 1
となるように学習する
類似しているという情報は主に画像にアノテーションされているカテゴリ情報を使う
類似度計算 (Semantic アプローチ)
画像を一旦与えられたカテゴリ体系の下でカテゴライズを行い、その上で類似度を計算する
類似度行列は”馬”カテゴリと”ロバ”カテゴリの類似度が”馬”カテゴリと”キーボード”カテゴリの類似度よりも高いといった事前情報から構成する
特徴量空間だけで考えているとvisual word 1とvisual word 2の類似度が0.4というような結果は機械学習的手法に頼らざる得なかったが、一度カテゴリに落とすことにより人間の事前知識を類似度に使うことができる
紹介論文ではこのアプローチを提案している
Semantic情報を使った検索の例 Semantic情報を使わない場合、クエリと意味的に無関係なものが上位にでることがある
Semantic情報を使った場合、形状が類似してなくても意味的に類似した画像がとれる
紹介論文Figure 1より
Semantic情報を使ってできるかもしれないこと
与えられたテキストをSemanticなカテゴリにマッピングすることにより、テキストを使った類似画像検索が可能になる
夢は広がる
Corpus-Guided Sentence Generation of Natural Images, EMNLP 2011より
発表の内容
既存の画像の類似度計算の手法と提案手法について
カテゴリによる特徴量表現
類似度検索のためのハッシュ法
実験
まとめ
タクソノミー
平たくいうとカテゴリ体系が階層構造をなしているもの
ex: /Sport,atheltics/Skating/Roller, /Sport,atheltics/racing
from http://www.image-net.org/
タクソノミー上のカテゴリの近さ
カテゴリ𝑖とカテゴリ𝑗の近さを最小共通先祖(least common ancestor) 𝜋(𝑖, 𝑗)によって決める すなわち𝑆 𝑖, 𝑗 = 𝜉(𝜋 𝑖, 𝑗 )
最小共通先祖とは𝑖と𝑗の共通の親で高さ最少のもの
/Sport/Skating/Rollerと/Sport/racingでは/Sport
/Sport/Skating/Rollerと/Sport/Skating/Iceでは/Sport/Skating
𝜉の定義はいくつか考えられるが、実験ではタクソノミーの高さから決める方法を採用
高さはその下にあるリーフノードからの最長路と定義する
𝜉 𝜋 = 1 − (𝜋)/∗ (∗はrootノードの高さ, ILSVRCデータセットにおいては19)
これはILSVRCの評価方法と同じである
カテゴリはすべてリーフノードにあることが前提のよう
高さ 0 高さ 0
高さ 1 高さ 0
高さ 2
画像のカテゴリによる特徴量表現
いまカテゴリの数を𝐾とする
画像𝑎が与えられたとき画像を𝑠 𝑓 𝑎 = 𝑥 ∈ 𝑅𝐾と変換
する
ここで𝑥𝑖は画像𝑎がカテゴリ𝑖に所属する確率を表す
/animal/bird/turkey 85% /animal/mammal 45% ... /structure/foutain 3% ...
カテゴリへの分類
各カテゴリごとに1-vs-allな分類器をlinear SVM(論文の実験ではLIBLINEARを使っている)を使って構成する
分類器の出力は確率を表すようにシグモイド関数を使って[0,1]に変換する (Platt, In Advances in Large Margin Classifiers, 2000)
この処理は各カテゴリごとに容易に並列化可能
発表の内容
既存の画像の類似度計算の手法と提案手法について
カテゴリによる特徴量表現
類似度検索のためのハッシュ法
実験
まとめ
類似度検索
クエリ画像𝑥に対して、DB画像中の画像𝑦の中で類似度𝑥𝑇𝑆𝑦が大きいものを取り出す必要がある
𝑆が対角でない場合、通常の転置インデックスによる方法は非効率となる 例えば𝑥の1次元目の成分が非ゼロのとき、𝑦の1次元目だけではなく𝑆1𝑖が非ゼロな次元についても考慮する必要があるため
論文では𝑆が特殊な条件を満たすときに使えるLSHベースの方法を提案した 𝑆の要素が非負かつ対角要素が相対的に大きい場合
𝑆が前述の階層構造を考慮した類似度で構成されてる場合
Hashable
以下の議論では𝑥, 𝑦が𝐾 − 1次元単体ΔK−1上にあることを仮定する 𝑥 ∈ Δ𝐾−1 ≝ 𝑥 ∈ 𝑅𝐾 , 𝑥𝑖 = 1, 0 ≤ 𝑥𝑖 ≤ 1𝑖
なお後で 𝑥𝑖 = 1𝑖 の部分はなくすことができる
行列𝑆 ∈ 𝑅𝐾×𝐾がhashableであるとは (Definition 1.2)
∃𝜆𝑠 > 0, ∀𝜖 > 0に対してハッシュ関数の族𝐻が存在して、任意の𝑥, 𝑦 ∈ Δ𝐾−1に対して
0 ≤ 𝑃 1 𝑥; 𝑆, 𝜖 = 2 𝑦; 𝑆, 𝜖 − 𝜆𝑠𝑥𝑇𝑆 𝑦 ≤ 𝜖
であることをいう(1, 2は𝐻からの独立なサンプル)
実質的には𝑃 1 𝑥 = 2 𝑦 = 𝑆𝑖𝑚(𝑥, 𝑦)
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:
𝑆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 𝑥𝑇𝑄𝑦 + 𝜖
Sの対角成分が大きいとき(1/2)
𝑆が対称行列かつ非負で𝑠𝑖𝑖 ≥ 𝑠𝑖𝑗𝑗≠𝑖 のとき𝑆はHashable
(Lemma 1.4)
𝐾 × (𝐾 + 1)行列Θの要素を以下のように定義する
ここで𝑆 = 𝜆𝑆 ⋅ 𝑆で𝜆𝑆は𝜃𝑖,𝐾+1 ≥ 0となるように定める
Sの対角成分が大きいとき(2/2)
𝑁 ≥ 1/𝜖なるNを一つ選ぶ
ハッシュ関数(𝑥; 𝑆, 𝜖)を次のように構成する
Sample 𝛼 ∈ 1, … , 𝐾 ∼ 𝑚𝑢𝑙𝑡𝑖(𝑥)
Sample 𝛽 ∈ 1, … , 𝐾 + 1 ∼ 𝑚𝑢𝑙𝑡𝑖(𝜃𝛼)
If 𝛽 ≤ 𝐾 , return *𝛼, 𝛽+
else pick 𝛾 from 𝐾, … , 𝐾 + 𝑁 , return *𝛾+
特にSが単位行列の場合は𝑚𝑢𝑙𝑡𝑖(𝑥)に従って𝛼 ∈ 1, … , 𝐾 をサンプリングするだけでよい
𝑆に階層性がある場合
与えられたrooted-tree G=(V,E)に対して、リーフノード集合Ω𝑟のノードi,j間の類似度がそのLCAの関数𝑆𝑖𝑗 = 𝜉(𝜋𝑖𝑗)となっており、𝜉が
𝜉 𝑞 ≥ 0
ノードqがノードpの子供の場合𝜉 𝑞 ≥ 𝜉(𝑝)
を満たすような関数であればSはHashable
Generally hashable
Hashableの定義で 𝑥, 𝑦が𝐾 − 1次元単体上になく、𝑥 ∈ 𝑅𝐾 , 0 ≤ 𝑥𝑖 ≤ 1を満たすというように条件を緩めたときGenerally hashableという (Definition 1.14)
そして次が成り立つ
𝑆がHashableであればGenerally hashable (Lemma 1.15)
証明に関して
なおこれらの証明はすべてSupplementary Materialにのっている
http://vision.stanford.edu/documents/DengBergFei-Fei_CVPR2011_supp.pdf
発表の内容
既存の画像の類似度計算の手法と提案手法について
カテゴリによる特徴量表現
類似度検索のためのハッシュ法
実験
まとめ
実験データ
Caltech256とImageNetのsubsetであるILSVRCを利用
Caltech256は既存の類似度学習手法との比較のために用い
ILSVRCは大規模なデータによる性能を見るために用いる
またILSVRCに関しては公開されているSIFTベースの1000種類のVisual word codebookからthree level SPMにより21000次元の特徴量を作成
この特徴量を使ってLIBLINEARで各カテゴリごとの識別器を作成する
Caltech 256についてはOASISの論文で利用されている特徴量を利用
ベースライン手法
SPM: 生の特徴量をそのまま利用
Hard-Assign: クエリを単一のクラスにカテゴライズして、DB画像の内そのクラスの確率が高い順にソート
Cosine-Nocal: 分類器の出力をそのまま使い、コサイン類似度を計算
Cosine-Flat: Cosine-Nocalと同じだが、出力が[0,1]におさまるように補正
Cosine-Hie: 類似度行列に階層性を使ったものを利用するがDB画像のノルムが1になるように規格化
B-Flat: 類似度行列に対角行列を採用
実験結果
ILSVRCデータセットにおけるprecision-rank
実験結果から読み取れること
1. SPMの精度が低い-> カテゴリ情報を使うことが重要
2. B-Flatの方がHard-Assignよりも良い->確率的表現が効いている
3. Cosine-NoCalの精度が低い->分類器のスケールを合わせることが重要
4. コサイン類似度を使った結果はあまり良くない
5. B-HieとB-Flatの結果を比較->階層構造を使うことが重要
他手法との比較
OASISよりも提案手法の方が高い性能になっている
未知のカテゴリが存在する場合
ILSVRCの1000カテゴリのうち、100カテゴリを選択 それのみで識別器を構成した場合(seen in training)
残り900カテゴリのみで識別器を構成(unseen in training)
評価は100カテゴリのみで行う
unseenでもSPMよりよかったといってるけどtop-10ぐらいが一番重要では?
Indexing efficiency
[Charikar, STOC, 2003]のコサイン類似度が近いものを求めるRandom Hyperplane LSHと比較 比較を公正にするためflat retrievalなものだけ考える
論文中では階層性を使ったハッシュ法については実験してない
そもそもB-FlatとCosine-Flatの性能が違うから比較がfairじゃない?
linear scan(B-Flat)
linear scan(Cosine-Flat)
発表の内容
既存の画像の類似度計算の手法と提案手法について
カテゴリによる特徴量表現
類似度検索のためのハッシュ法
実験
まとめ
まとめ
類似画像検索に事前知識である階層性を使うことにより精度を高めることができた
また階層性を使った類似検索においてハッシングを使った高速な検索方法について述べた
感想
retrievalの評価にカテゴリ情報を使っているので、カテゴリに一旦落とすと性能が高くなるというのは当然な気がする
人手による評価などが必要な気がする
ソーシャルタギングと合わせて何かできそう
商用的なことを考えると大量の人手でのタグ付けでもコスト的に釣り合うかも
cf: A Semantic Approach to Contextual Advertising (SIGIR 2007)
表示ページから類似した広告を検索
ページと広告の両方を商業用にメンテナンスされている6000カテゴリ(各カテゴリには平均で100個のクエリが登録されている)のタクソノミーにマッピング