2014/12/06 CV勉強会@関東 ECCV2014読み会発表資料 
takmin
自己紹介 
2 
テクニカル・ソリューション・アーキテクト 
皆川卓也(みながわたくや) 
フリーエンジニア(ビジョン&ITラボ) 
「コンピュータビジョン勉強会@関東」主催 
博士(工学) 
略歴: 
1999-2003年 
日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリ セールス、プロジェクトマネジメント、サポート等の業務に従事 
2004-2009年 
コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事 
2007-2010年 
慶應義塾大学大学院後期博士課程にて、コンピュータビジョンを専攻 
単位取得退学後、博士号取得(2014年) 
2009年-現在 
フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事
紹介する研究 
“Large-Scale Object Classification Using Label Relation Graphs” 
JiaDeng*1,2, JNanDing*2, YangqingJia*2, Andrea Frome*2, Kevin Murphy*2, SamyBengio*2, Yuan Li*2, HartmutNeven*2, and HartwigAdam*2 
*1 University of Michigan 
*2 Google 
Best Paper Award
一般物体認識 
今までの一般物体認識 
単語ラベル間の意味関係を考慮せず
一般物体認識 
提案する新しい枠組み 
単語ラベル間の意味関係を考慮
目的 
ラベル(単語)同士の意味 的な関係性を考慮した新し い物体認識の枠組みを提 案する。
概要 
ラベル間の意味関係をグラフで定義 
Hierarchy and Exclusion (HEX) Graph 
HEXグラフに基づいた識別モデル 
条件付き確率場(CRF)によるモデル化 
学習方法 
効率的な推論 
グラフが取り得る状態空間の算出 
推論しやすいようにグラフを変形 
実験
Hierarchy and Exclusion(HEX) Graph 
ノードは単語(ラベル) 
「犬(Dog)」に対する「ハスキー(Husky)」や「子犬 (Puppy)」など包含関係を表す場合は有向エッジ 
「犬(Dog)」と「猫(Cat)」など排他的な関係を表す場合は 無効エッジ 
エッジの存在しない箇所は両方のラベルを取り得る
Hierarchy and Exclusion(HEX) Graph 
定義1: 
HEX Graph:푮=푽,푬ℎ,푬푒 
ノード(単語ラベル):푽=푣1,⋯,푣푛 
有向エッジ(包含関係):푬ℎ⊆푽×푽 
無向エッジ(排他関係):푬푒⊆푽×푽 
ただし푮ℎ=푽,푬ℎは有向非循環グラフ、푮푒=푽,푬푒は 自己ループのない無向グラフ
Hierarchy and Exclusion(HEX) Graph 
定義2: 
HEX Graph푮=푽,푬ℎ,푬푒の푽の状態퐲∈0,1풏が以下 を満たす時、푮は正しい(legal) 
푦푖,푦푗=1,1⟹푣푖,푣푗∉푬푒 
(푦푖,푦푗)=(0,1)⟹(푣푖,푣푗)∉푬ℎ 
Dog 
Cat 
Husky 
Puppy
Hierarchy and Exclusion(HEX) Graph 
定義2: 
HEX Graph푮=푽,푬ℎ,푬푒の푽の状態퐲∈0,1풏が以下 を満たす時、푮は正しい(legal) 
푦푖,푦푗=1,1⟹푣푖,푣푗∉푬푒 
(푦푖,푦푗)=(0,1)⟹(푣푖,푣푗)∉푬ℎ 
Dog 
Cat 
Husky 
Puppy 
1 
1 
「犬」かつ「猫」の状態はありえない
Hierarchy and Exclusion(HEX) Graph 
定義2: 
HEX Graph푮=푽,푬ℎ,푬푒の푽の状態퐲∈0,1풏が以下 を満たす時、푮は正しい(legal) 
푦푖,푦푗=1,1⟹푣푖,푣푗∉푬푒 
(푦푖,푦푗)=(0,1)⟹(푣푖,푣푗)∉푬ℎ 
Dog 
Cat 
Husky 
Puppy 
0 
1 
「ハスキー」なのに「犬」ではない状態はありえない
Hierarchy and Exclusion(HEX) Graph 
定義3: 
HEX Graph푮=푽,푬ℎ,푬푒の任意のラベル풗풊∈푽が2つ の状態y푖∈0,1を取り得る時、푮は一貫している (consistent) 
0 
0 
1 
0 
0しか取れない 
(consistentではない)
Hierarchy and Exclusion(HEX) Graph 
定理1: 
HEX Graph푮=푽,푬ℎ,푬푒の任意のラベル풗풊∈푽と すると、푬푒∩ 훼풗풊× 훼풗풊≠ퟎの時においてのみ、푮は 一貫している(consistent)。ただし 훼풗풊はノード풗풊とその 先祖ノード。 
あるノードとその先祖ノードを排他リンクで結んだら consistentではない
HEXグラフによる識別モデル 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
(1) 
Dog 
Cat 
Husky 
Puppy 
条件付き確率場(CRF)
HEXグラフによる識別モデル 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
ある入力画像푥のラベルが状態풚を とる(正規化してない)確率 
(1) 
状態の例: 
풚=0,1,0,1 
Dog 
Cat 
Husky 
Puppy 
条件付き確率場(CRF) 
Cat 
Dog 
Husky 
Puppy
HEXグラフによる識別モデル 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
(1) 
Dog 
Cat 
Husky 
Puppy 
条件付き確率場(CRF) 
ラベルiの画像識別器 
(ex. DeepCNN) 
i番目のラベルが1になる (正規化されていない)確率 
識別器のパラメータ
HEXグラフによる識別モデル 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
(1) 
Dog 
Cat 
Husky 
Puppy 
条件付き確率場(CRF) 
このケースが含まれる풚は 0になる 
0 
1
HEXグラフによる識別モデル 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
(1) 
Dog 
Cat 
Husky 
Puppy 
条件付き確率場(CRF) 
このケースが含まれる풚は 0になる 
1 
1
HEXグラフによる識別モデル 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
(1) 
Dog 
Cat 
Husky 
Puppy 
条件付き確率場(CRF) 
1 
0 
0 
1 
例:풚=0,1,0,1 
푃풚푥 =exp푓푑표푔푥;풘+푓푝푢푝푝푦푥;풘
例1:排他リンクだけの場合 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
条件付き確率場(CRF) 
푃풚푥= 11+ 푗푒푓푗 푖 푒푓푖푥;풘[푦푖=1] 
Softmax関数
例2:リンクがない場合 
푃풚푥 = 푖 푒푓푖푥;풘[푦푖=1] (푣푖,푣푗)∈푬ℎ (푦푖,푦푗)≠(0,1) (푣푖,푣푗)∈푬푒 (푦푖,푦푗)≠(1,1) 
条件付き確率場(CRF) 
푃풚푥= 푖 11+푒−푓푖푥;풘[푦푖=1] 
Logistic関数 の積
識別モデルの学習 
確率的勾配降下法(SGD)で識別モデルのパラメータ풘 を学習する 
1.訓練画像を識別モデルで認識し、各ラベルの状態確率を算 出 
2.出力した状態確率と実際のラベルとの誤差を損失関数で計 算する 
3.誤差が小さくなるように損失関数の勾配を用いてパラメータ 풘を更新する。 
4.1から学習を逐次的に繰り返す
識別モデルの学習 
確率的勾配降下法(SGD)で識別モデルのパラメータ풘 を学習する 
ℒ푫,풘=− 푙 logPr풚 품(푙) (푙)푥(푙);풘 
損失関数:負の対数尤度 
푫=푥(푙),풚(푙),품(푙), 푙=1,⋯,푚 
学習サンプル 
画像 
教師ラベル 
観測されたラベル のインデックス集合 
学習サンプル数 
(2)
効率的な推論 
知りたいこと: 
画像に各ラベルのオブジェクトが含まれている確率 
Dog 
Cat 
Husky 
Puppy 
ex. PrDog=1푥 
HuskyかPuppyかは、 とりあえずどうでもいい 
PrPuppy=1푥 
Huskyかは、とりあえずど うでもいい(Dogは自明)
効率的な推論 
知りたいこと: 
画像に各ラベルのオブジェクトが含まれている確率 
Dog 
Cat 
Husky 
Puppy 
ex. PrDog=1푥 
Cat 
0 
1 
0 
0 
0 
0 
Dog 
0 
0 
1 
1 
1 
1 
Husky 
0 
0 
0 
1 
0 
1 
Puppy 
0 
0 
0 
0 
1 
1 
取り得る状態 
この範囲の状態の確率の和を求める 
(周辺化) 
周辺分布
効率的な推論 
知りたいこと: 
画像に各ラベルのオブジェクトが含まれている確率 
各ラベルの周辺分布を効率的に計算したい! 
積和アルゴリズム
積和アルゴリズム 
 木構造のグラフがあった時に、端から順にメッセージを 
伝搬していくことで、効率的に周辺分布の計算を行うア 
ルゴリズム 
1x 3x 
2 x 
5x 
4 x 
1 f 
2 f 3 f 
x5f3  
x1f1  
f1x1  
f3x4  
f2x3  
x2f2  
x4f2 
HEX Graphの積和アルゴリズム 
巨大なネットワークにおける積和アルゴリズムを効率的 に計算するために 
1.効率的な積分計算のために取り得る状態空間をリストアップ する 
2.余計なリンクを省いてグラフをできるだけシンプルにする 
1.密なHEX Graphを利用 
2.疎なHEX Graphを利用
HEXグラフの変形 
定義4: 
HEX Graph푮と푮′の状態퐲,퐲′∈0,1풏が取り得る状態空 間をそれぞれ푺푮、푺푮′とした場合、푺푮=푺푮′の時푮と푮′は等 価(equivalent) 
等価なHEXグラフ
HEXグラフの変形 
定義5: 
HEX Graph푮=푽,푬ℎ,푬푒が与えられた時、有向 /無向エッジe∈푽×푽が以下のいずれかの条件を満たす 場合、eは冗長(redundant)であるとする 
푮′=푽,푬ℎ∖{푒},푬푒と푮′′=푽,푬ℎ∪{푒},푬푒が共に푮 と等価 
푮′=푽,푬ℎ,푬푒∖{푒}と푮′′=푽,푬ℎ,푬푒∪{푒}が共に푮 と等価 
要は、足しても引いても状態空間に影響しないエッジは冗長
HEXグラフの変形 
定義6: 
グラフ푮に冗長なエッジが存在しない場合、最も疎 (minimallysparce)であるとする。 
グラフ푮が全ての冗長なエッジを含む場合、最も密 (maximallydense)であるとする。
状態空間の算出 
密なグラフは状態空間を算出しやすい 
例:E=1ならば、B=1, A=1, F=0がすぐに求まる
状態空間の算出 
1. 適当なノードを1つ選び、状態を1にする。 
1
状態空間の算出 
2. 親ノードを1、排他ノードを0にする。 
1 
0 
1
状態空間の算出 
3. 残ったノードをサブグラフとして、状態空間算出の関数 に渡す(再帰呼び出し) 
0 
1 
1
状態空間の算出 
4. 同じように今度は適当なノードを0にして、子ノードを0に する。 
0 
0 
0
状態空間の算出 
5. 残ったノードをサブグラフとして、状態空間算出の関数 に渡す(再帰呼び出し)。 
0 
0 
0
HEX Graphの推論 
積和アルゴリズムは、最も疎なグラフに対して適用する 
メッセージの数が少なくて済む
HEX Graphの推論 
ループしている排他エッジについてはジャンクションツ リーアルゴリズムによって木構造に直す 
A 
B 
E 
D 
C 
G 
F 
A 
B 
F 
B 
E 
D 
C 
G 
F 
B 
C 
F
A 
B 
F 
B 
E 
D 
C 
G 
F 
B 
C 
F 
HEX Graphの推論:まとめ 
A 
B 
E 
D 
C 
G 
F 
A 
B 
E 
D 
C 
G 
F 
A 
B 
E 
D 
C 
G 
F 
A 
B 
F 
B 
E 
D 
C 
G 
F 
B 
C 
F 
2.Build Junction Tree(offline)
実験 
実験環境 
Deep Neural Networkを用いて、ラベルのスコア풇(푥;풘)を算 出 
パラメータ풘は誤差逆伝播法で(2)式より学習 
グラフの構築、状態空間の算出、ジャンクションツリーの構築 などはオフラインで行った
実験1:ImageNet 
ILSVRC2012のデータセットを用いて評価 
1.2Mの訓練画像 
1000オブジェクトクラス 
排他関係 
WordNetを使用してHEX Graphを作成 
葉ノードではなく、内側のノードのラベルに対応した訓練画像 がないため、一部を親ノードのラベルに付け替えた
実験1:結果 
Convolutional Neural Networkの最後の層の出力を 様々に変えて比較実験(カッコ内はトップ5での精度) 
試験では葉ノードのラベルのみ使用 
葉ノードのラベルのみ で学習したSoftmax 
全てのラベルで学習 したSoftmax
実験2:Zero-Shot Recognition 
物体と属性間の関係性をHEX Graphで学習できるか確 認するのが目的 
Animal with Attributes (AWA)データセットを使用 
50種類の動物 
85種類の属性 
40種類の動物で属性について学習させ、残り10種類の 動物に対して認識試験を行った 
HEXグラフで各動物の属性を関連付け 
動物の種の間は排他リンク 
属性は包含リンク 
正しくない属性(ex.「シマウマ」は「魚を食べる」)は排他リンク
実験2:Zero-Shot Recognition 
DAP(Lampertet al.) 
IAP(Lampertet al.) 
Ours 
40.5% 
27.8% 
38.5% 
HEXグラフによる属性の定義の例: 
結果
まとめ 
意味的な関係を考慮した識別のためのフレームワークを 提案 
HEXグラフにより、包含関係と排他関係を定義 
実験から高い精度を確認 
推定速度も効率的 
ISLSVRC2012の実験でSoftmaxの約6倍程度の処理時間 
様々なタスクに応用可能 
属性認識、シーン認識、行動認識など

Large-Scale Object Classification Using Label Relation Graphs