Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
画像処理分野における研究事例紹介
西田典起
東京大学大学院 情報理工学系研究科 創造情報学専攻
Machine Perception Group 中山英樹研究室
nishida@nlab.ci.i.u-tokyo.ac.jp
第 2 回 音響学会関西支部談話会
Match 28, 2016
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 1 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Contents
1 Convolutional Neural Networks のおさらい
2 コンピュータビジョンにおける最近の研究事例
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 2 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
コンピュータビジョンのワークフロー
▶ 伝統的なパターン認識: 予め作り込まれて fix された特徴量抽出
▶ 近年までの主な手法
▶ Deep Learning: 表現学習, 階層的な構造, end-to-end な学習
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 3 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Convolutional Neural Networks (CNNs)
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 4 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込みの例: 微分フィルタとエッジ抽出
微分フィルタ:
wv =


−1 0 1
−1 0 1
−1 0 1

 , wh =


−1 −1 −1
0 0 0
1 1 1

 (1)
これらのフィルタを画像のすべての位置について畳み込むと, エッ
ジを抽出可能
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 5 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 6 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 7 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 8 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 9 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 10 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 11 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 12 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 13 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層
http://cs231n.github.io/convolutional-networks/
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 14 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
プーリングは局所領域を代表値で集約する
▶ average poling: 局所領域の平均値を代表値とする
▶ max pooling: 局所領域の最大値を代表値とする
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 15 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
プーリングの利点と欠点: “what" と “where" の trade-off
▶ 利点
▶ 位置に関する変動を吸収
▶ 小さなフィルタで大域的な特徴を取れるようになる
▶ 欠点
▶ 位置に関する詳しい情報が失われる
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 16 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
CNN は何をしてるか? なぜ多層なのか? → composition
▶ 層が進むにつれて, CNN はより局所的で低次な情報をどんど
ん composit していき, より大局的で高次な情報を抽出する
▶ ピクセル → エッジ等 → モチーフ → 部分領域 → 物体
▶ 文字 → 単語 → フレーズ → 文 → パラグラフ → story
▶ 音楽 (先ほどの糸山先生の発表)
▶ 本当は CNN に限らず, Recursive Nets など他のモデルも同様
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 17 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
CNN がうまくいくケース
▶ 大域的な意味のある情報が, 局所的な情報の composition で表
されるようなドメイン
▶ 位置に依存しない特徴抽出が有効
▶ 画像以外のデータへの応用例:
▶ 文字レベルの CNN を用いた単語ベクトル表現の学習
▶ 単語レベルの CNN を用いた文ベクトル表現の学習
▶ 時間軸への畳み込みもする CNN を用いた映像認識
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 18 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Deep Learning を用いた研究事例の紹介
1. AttentionNet: 物体検出
2. Deep Visual Analogy-Making: 画像アナロジー
3. NeuralStyle: 画像生成
4. DCGAN: 画像生成
5. Show, Attend and Tell: 画像説明文生成
6. Spatial Transformer Network: 画像の変換
7. Fully Convolutional Network: セマンティックセグメンテー
ション
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 19 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
R-CNN [Girshick et al., CVPR’14]
物体検出への深層学習の応用ではとても有名, selective search +
CNN
1. selective search で物体の候補領域を複数検出 (約 2k 個)
2. 学習済み CNN を用いて各候補領域から特徴量抽出
3. SVM で各カテゴリについてスコア付け
selective search が遅い, 構成が複雑
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 20 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
1. AttentionNet [Yoo et al., ICML’15]
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 21 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
アプローチ
NN で徐々に物体候補領域を絞り込んでいく
1. 入力画像の左上点, 右下点の移動方向 (or 停止, 棄却) を予測
2. 予測に従って, 画像を切り取る
3. 切り取った画像を再び入力
4. 停止するまで繰り返す
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 22 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
他手法との比較
データセット: PASCAL VOC 2007
タスク: 人検出
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 23 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
2. Deep Visual Analogy-Making [Reed et al., NIPS’15]
画像のアナロジー A : B :: C : ? を解く
f: エンコーダー, g: デコーダー
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 24 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
アプローチ
▶ 従来の A : B :: C : D の解き方:
argmax
D
cos(f(D), f(B) − f(A) + f(C)) (2)
▶ CNN (with upsampling) で画像を直接生成, f(B) − f(A) 以外
の関係性抽出方法を提案
▶ 学習: ターゲット画像と生成画像との二乗誤差を最小化
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 25 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
生成した画像
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 26 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
deep neural networks による関係性抽出が有効
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 27 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
3. NeuralStyle [Gatys et al., arXiv:1508.06576]
▶ CNN によって画像の “content"に関する表現と, “style"に関す
る表現を抽出する方法を提案
▶ 二つの画像を入力として, 一方の画像の “content"と, もう一方
の画像の “style"を再現するような復元することで, それらを統
合した画像を再構築できる
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 28 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
「何が」描かれているかの復元
▶ x: ホワイトノイズ画像 (最適化対象)
▶ p: “content"について模倣したい画像
▶ Fl ∈ RNl×Dl : x から計算した第 l 層の feature maps
▶ Pl ∈ RNl×Dl : p から計算した第 l 層の feature maps
▶ Fl と Pl のフロベニウスノルムの二乗を最小化するような x
を求める
Lcontent(x, p, l) =
1
2
∥Fl
− Pl
∥2
F (3)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 29 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
「どんな風に」描かれているかの復元
▶ q: “style"について模倣したい画像
▶ feature maps そのものを復元するのではなく,
▶ feature map 間の相関に着目
▶ グラム行列 Gl ∈ RNl×Nl
Gl
i,j = (Fl
i )⊤
Fl
j (4)
▶ Fl と Ql のフロベニウスノルムの二乗を最小化するような x
を求める
Lstyle(x, q) =
L∑
l=1
wl{
1
4N2
l D2
l
∥Gl
− Ql
∥2
F } (5)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 30 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
画像 p の “content"と画像 q の “style"を同時に復元
▶ Lcontent と Lstyle の和を同時に最小化するような画像 x を求
める
▶ 損失関数
Ltotal(x, p, q) = αLcontent(x, p) + βLstyle(x, q) (6)
▶ α と β は trade-off パラメータ
▶ Back propagation と勾配降下法等によって x を最適化
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 31 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
結果
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 32 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
4. DCGAN [Radford et al., ICLR’16]
画像生成
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 33 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
基本フレーム: Generative Adversarial Nets (GAN)
▶ Generative Adversarial Nets (Goodfellow et al., NIPS’14)
× CNN
▶ generator G と discriminator D という二つのニューラルネッ
トワークから構成される
▶ G: pz からサンプリングされた z をもとにデータを生成
▶ D: リアルなデータか G によって生成されたデータかを分類
▶ GAN では, 以下の minmax 最適化問題を解く
min
G
max
D
Ex∼pdata(x)[log D(x)] + Ez∼pz(z)[log(1 − D(G(z)))]
(7)
▶ G は D を騙そうとし, D は G に騙されんとする
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 34 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Generator in DCGAN
▶ 潜在空間の次元数は 100, z ∈ R100
▶ z を 4 × 4 × 1024 次元へ変換して, 3 次のテンソルへ reshape
▶ stride 幅を 1 以下にすることで (補間を用いる), サイズを大き
くした feature maps を出力可能
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 35 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
潜在空間上でのアナロジー実験 (1)
アナロジータスク: “king" - “man" + “woman" = ? (“queen")
各コンセプトを表現してそうな z を足し引きした結果の z′ を用い
て画像を生成
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 36 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
潜在空間上でのアナロジー実験 (2)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 37 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
5. Show, Attend and Tell [Xu et al., ICML’15]
画像の説明文生成 with attention mechanism
▶ 一種の Encoder-Decoder 型
▶ Encoder: 画像から特徴量へエンコードする CNN
▶ Decoder (+ attention mechanism): エンコードされた画像情
報を文へデコードする RNN (LSTM)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 38 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Encoder: CNN
▶ CNN を用いて feature maps を抽出
V = {v1, . . . , vL}, vi ∈ RD
(8)
▶ ここで, L = height × width とする.
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 39 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Decoder: LSTM with attention mechanism (1)
1. 現在の状態 ht−1 を用いて, 画像部分 vi への attention を計算
et,i = f(vi, ht−1) (9)
αt,i =
exp(et,i)
∑L
j=1 exp(et,j)
(10)
2. attention で重み付けられた画像ベクトル集合 V の平均
(Soft Attention. Stochastic Hard Attention は割愛)
ˆzt =
L∑
i=1
αt,ivi ∈ RD
(11)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 40 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Decoder: LSTM with attention mechanism (2)
3. RNN の状態 h の更新:
ht = RNN(E[yt−1], ht−1,ˆzt) (12)
4. 単語の予測 (出力)
yt = softmax(Wo(E[yt−1] + Whht + Wzˆzt)) (13)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 41 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Attention の可視化 (1)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 42 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Attention の可視化 (2)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 43 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Attention の可視化 (3)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 44 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Attention の可視化 (4)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 45 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
6. Spatial Transformer Network [Jaderberg et al., NIPS’15]
入力画像 (or feature maps) を変換
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 46 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Grid Generator Tθ
入力 U をどうやって出力 V に変換するか
→ 出力 V の各位置の値を入力 U のどの位置を中心にサンプリング
するか決定
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 47 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
全体像
Components in Spatial Transformer:
1. Localization network
2. Grid generator
3. Image sampler
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 48 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
もうちょっと詳しく
1. ニューラルネットワークで Grid Generator Tθ のパラメータ θ
を出力
θ = f(U) (14)
2. Grid Generator Tθ を用いて, 出力側 V の位置 (xt
i, yt
i) と入力
側 U の位置 (xs
i , ys
i ) との対応を計算
e.g.,
(
xs
i
ys
i
)
= Tθ(Ui) =
(
θ11 θ12 θ13
θ21 θ22 θ23
)


xt
i
yt
i
1

 (15)
3. (xt
i, yt
i) の値は, (xs
i , ys
i ) を中心としてサンプリング
Vi =
W∑
x′=1
H∑
y′=1
Ux′,y′ max(0, 1 − |xs
i − x′
|)max(0, 1 − |ys
i − y′
|)
(16)
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 49 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
評価
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 50 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
7. Fully Convolutional Networks [Long et al., CVPR’14]
CNN を用いた セマンティックセグメンテーション
セマンティックセグメンテーション: pixel ごとのカテゴリ予測
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 51 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
畳み込み層だけ → “Fully Convolutional"
▶ 全結合層 を 1 × 1 convolution に置き換える
▶ upsampling で pixel-wise な予測を行う
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 52 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
何がうれしいのか
▶ 全結合層があると入力画像のサイズが固定される
▶ 画像を固定サイズのパッチに切って何度も実行 ← ムダ!
▶ 畳み込み層は, 任意の入力サイズをとれる
▶ 入力から出力までを畳み込み層だけで定式化できれば, 任意サ
イズの画像に対して一回の実行で予測が可能
▶ その結果, 学習・テストが高速に
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 53 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
“where" に関する details は重要
▶ 上位層では “where" に関する details が失われている
▶ しかし, セマンティックセグメンテーションでは details も重要
▶ details が残っている下位層における情報も予測時に使う
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 54 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
Skip Connection の効果
▶ 狙い通り, 下位層の情報も使うとより詳細なセグメンテーショ
ンが可能
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 55 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
まとめ
▶ Convolutional Neural Networks について簡単に解説
▶ CV を中心に最近の研究事例を紹介
1. AttentionNet: 物体検出
2. Deep Visual Analogy-Making: 画像アナロジー
3. NeuralStyle: 画像生成
4. DCGAN: 画像生成
5. Show, Attend and Tell: 画像説明文生成
6. Spatial Transformer Network: 画像変換
7. Fully Convolutional Network: セマンティックセグメンテー
ション
▶ 今後: 物体間の関係性認識, 詳細カテゴリ分類 (FGVC), 映像タ
スクへの拡張, unsupervised learning, one-shot learning
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 56 / 57
Convolutional Neural Networks のおさらい コンピュータビジョンにおける最近の研究事例
参考文献
Girshick, R., Donahue, J., Darrell, T., & Malik, J. Rich feature hierarchies for accurate object detection and semantic
segmentation. In CVPR, 2014.
Yoo, D., Park, S., Lee, J. Y., Paek, A. S., & So Kweon, I. AttentionNet: Aggregating Weak Directions for Accurate
Object Detection. In ICCV, 2015.
Reed, S. E., Zhang, Y., Zhang, Y., & Lee, H. Deep Visual Analogy-Making. In NIPS, 2015.
Gatys, L. A., Ecker, A. S., & Bethge, M. A neural algorithm of artistic style. arXiv:1508.06576, 2015.
Radford, A., Metz, L., & Chintala, S. Unsupervised Representation Learning with Deep Convolutional Generative
Adversarial Networks. In ICLR, 2016.
Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. Generative
adversarial nets. In NIPS, 2014.
Xu, K., Ba, J., Kiros, R., Courville, A., Salakhutdinov, R., Zemel, R., & Bengio, Y. Show, attend and tell: Neural image
caption generation with visual attention. In ICML, 2015.
Jaderberg, M., Simonyan, K., & Zisserman, A. Spatial transformer networks. In NIPS, 2015.
Long, J., Shelhamer, E., & Darrell, T. Fully convolutional networks for semantic segmentation. In CVPR, 2015.
西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 57 / 57

画像処理分野における研究事例紹介

  • 1.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 画像処理分野における研究事例紹介 西田典起 東京大学大学院 情報理工学系研究科 創造情報学専攻 Machine Perception Group 中山英樹研究室 nishida@nlab.ci.i.u-tokyo.ac.jp 第 2 回 音響学会関西支部談話会 Match 28, 2016 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 1 / 57
  • 2.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Contents 1 Convolutional Neural Networks のおさらい 2 コンピュータビジョンにおける最近の研究事例 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 2 / 57
  • 3.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 コンピュータビジョンのワークフロー ▶ 伝統的なパターン認識: 予め作り込まれて fix された特徴量抽出 ▶ 近年までの主な手法 ▶ Deep Learning: 表現学習, 階層的な構造, end-to-end な学習 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 3 / 57
  • 4.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Convolutional Neural Networks (CNNs) http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 4 / 57
  • 5.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込みの例: 微分フィルタとエッジ抽出 微分フィルタ: wv =   −1 0 1 −1 0 1 −1 0 1   , wh =   −1 −1 −1 0 0 0 1 1 1   (1) これらのフィルタを画像のすべての位置について畳み込むと, エッ ジを抽出可能 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 5 / 57
  • 6.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 6 / 57
  • 7.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 7 / 57
  • 8.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 8 / 57
  • 9.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 9 / 57
  • 10.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 10 / 57
  • 11.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 11 / 57
  • 12.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 12 / 57
  • 13.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 13 / 57
  • 14.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層 http://cs231n.github.io/convolutional-networks/ 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 14 / 57
  • 15.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 プーリングは局所領域を代表値で集約する ▶ average poling: 局所領域の平均値を代表値とする ▶ max pooling: 局所領域の最大値を代表値とする 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 15 / 57
  • 16.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 プーリングの利点と欠点: “what" と “where" の trade-off ▶ 利点 ▶ 位置に関する変動を吸収 ▶ 小さなフィルタで大域的な特徴を取れるようになる ▶ 欠点 ▶ 位置に関する詳しい情報が失われる 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 16 / 57
  • 17.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 CNN は何をしてるか? なぜ多層なのか? → composition ▶ 層が進むにつれて, CNN はより局所的で低次な情報をどんど ん composit していき, より大局的で高次な情報を抽出する ▶ ピクセル → エッジ等 → モチーフ → 部分領域 → 物体 ▶ 文字 → 単語 → フレーズ → 文 → パラグラフ → story ▶ 音楽 (先ほどの糸山先生の発表) ▶ 本当は CNN に限らず, Recursive Nets など他のモデルも同様 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 17 / 57
  • 18.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 CNN がうまくいくケース ▶ 大域的な意味のある情報が, 局所的な情報の composition で表 されるようなドメイン ▶ 位置に依存しない特徴抽出が有効 ▶ 画像以外のデータへの応用例: ▶ 文字レベルの CNN を用いた単語ベクトル表現の学習 ▶ 単語レベルの CNN を用いた文ベクトル表現の学習 ▶ 時間軸への畳み込みもする CNN を用いた映像認識 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 18 / 57
  • 19.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Deep Learning を用いた研究事例の紹介 1. AttentionNet: 物体検出 2. Deep Visual Analogy-Making: 画像アナロジー 3. NeuralStyle: 画像生成 4. DCGAN: 画像生成 5. Show, Attend and Tell: 画像説明文生成 6. Spatial Transformer Network: 画像の変換 7. Fully Convolutional Network: セマンティックセグメンテー ション 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 19 / 57
  • 20.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 R-CNN [Girshick et al., CVPR’14] 物体検出への深層学習の応用ではとても有名, selective search + CNN 1. selective search で物体の候補領域を複数検出 (約 2k 個) 2. 学習済み CNN を用いて各候補領域から特徴量抽出 3. SVM で各カテゴリについてスコア付け selective search が遅い, 構成が複雑 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 20 / 57
  • 21.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 1. AttentionNet [Yoo et al., ICML’15] 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 21 / 57
  • 22.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 アプローチ NN で徐々に物体候補領域を絞り込んでいく 1. 入力画像の左上点, 右下点の移動方向 (or 停止, 棄却) を予測 2. 予測に従って, 画像を切り取る 3. 切り取った画像を再び入力 4. 停止するまで繰り返す 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 22 / 57
  • 23.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 他手法との比較 データセット: PASCAL VOC 2007 タスク: 人検出 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 23 / 57
  • 24.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 2. Deep Visual Analogy-Making [Reed et al., NIPS’15] 画像のアナロジー A : B :: C : ? を解く f: エンコーダー, g: デコーダー 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 24 / 57
  • 25.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 アプローチ ▶ 従来の A : B :: C : D の解き方: argmax D cos(f(D), f(B) − f(A) + f(C)) (2) ▶ CNN (with upsampling) で画像を直接生成, f(B) − f(A) 以外 の関係性抽出方法を提案 ▶ 学習: ターゲット画像と生成画像との二乗誤差を最小化 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 25 / 57
  • 26.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 生成した画像 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 26 / 57
  • 27.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 deep neural networks による関係性抽出が有効 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 27 / 57
  • 28.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 3. NeuralStyle [Gatys et al., arXiv:1508.06576] ▶ CNN によって画像の “content"に関する表現と, “style"に関す る表現を抽出する方法を提案 ▶ 二つの画像を入力として, 一方の画像の “content"と, もう一方 の画像の “style"を再現するような復元することで, それらを統 合した画像を再構築できる 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 28 / 57
  • 29.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 「何が」描かれているかの復元 ▶ x: ホワイトノイズ画像 (最適化対象) ▶ p: “content"について模倣したい画像 ▶ Fl ∈ RNl×Dl : x から計算した第 l 層の feature maps ▶ Pl ∈ RNl×Dl : p から計算した第 l 層の feature maps ▶ Fl と Pl のフロベニウスノルムの二乗を最小化するような x を求める Lcontent(x, p, l) = 1 2 ∥Fl − Pl ∥2 F (3) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 29 / 57
  • 30.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 「どんな風に」描かれているかの復元 ▶ q: “style"について模倣したい画像 ▶ feature maps そのものを復元するのではなく, ▶ feature map 間の相関に着目 ▶ グラム行列 Gl ∈ RNl×Nl Gl i,j = (Fl i )⊤ Fl j (4) ▶ Fl と Ql のフロベニウスノルムの二乗を最小化するような x を求める Lstyle(x, q) = L∑ l=1 wl{ 1 4N2 l D2 l ∥Gl − Ql ∥2 F } (5) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 30 / 57
  • 31.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 画像 p の “content"と画像 q の “style"を同時に復元 ▶ Lcontent と Lstyle の和を同時に最小化するような画像 x を求 める ▶ 損失関数 Ltotal(x, p, q) = αLcontent(x, p) + βLstyle(x, q) (6) ▶ α と β は trade-off パラメータ ▶ Back propagation と勾配降下法等によって x を最適化 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 31 / 57
  • 32.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 結果 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 32 / 57
  • 33.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 4. DCGAN [Radford et al., ICLR’16] 画像生成 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 33 / 57
  • 34.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 基本フレーム: Generative Adversarial Nets (GAN) ▶ Generative Adversarial Nets (Goodfellow et al., NIPS’14) × CNN ▶ generator G と discriminator D という二つのニューラルネッ トワークから構成される ▶ G: pz からサンプリングされた z をもとにデータを生成 ▶ D: リアルなデータか G によって生成されたデータかを分類 ▶ GAN では, 以下の minmax 最適化問題を解く min G max D Ex∼pdata(x)[log D(x)] + Ez∼pz(z)[log(1 − D(G(z)))] (7) ▶ G は D を騙そうとし, D は G に騙されんとする 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 34 / 57
  • 35.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Generator in DCGAN ▶ 潜在空間の次元数は 100, z ∈ R100 ▶ z を 4 × 4 × 1024 次元へ変換して, 3 次のテンソルへ reshape ▶ stride 幅を 1 以下にすることで (補間を用いる), サイズを大き くした feature maps を出力可能 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 35 / 57
  • 36.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 潜在空間上でのアナロジー実験 (1) アナロジータスク: “king" - “man" + “woman" = ? (“queen") 各コンセプトを表現してそうな z を足し引きした結果の z′ を用い て画像を生成 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 36 / 57
  • 37.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 潜在空間上でのアナロジー実験 (2) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 37 / 57
  • 38.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 5. Show, Attend and Tell [Xu et al., ICML’15] 画像の説明文生成 with attention mechanism ▶ 一種の Encoder-Decoder 型 ▶ Encoder: 画像から特徴量へエンコードする CNN ▶ Decoder (+ attention mechanism): エンコードされた画像情 報を文へデコードする RNN (LSTM) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 38 / 57
  • 39.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Encoder: CNN ▶ CNN を用いて feature maps を抽出 V = {v1, . . . , vL}, vi ∈ RD (8) ▶ ここで, L = height × width とする. 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 39 / 57
  • 40.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Decoder: LSTM with attention mechanism (1) 1. 現在の状態 ht−1 を用いて, 画像部分 vi への attention を計算 et,i = f(vi, ht−1) (9) αt,i = exp(et,i) ∑L j=1 exp(et,j) (10) 2. attention で重み付けられた画像ベクトル集合 V の平均 (Soft Attention. Stochastic Hard Attention は割愛) ˆzt = L∑ i=1 αt,ivi ∈ RD (11) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 40 / 57
  • 41.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Decoder: LSTM with attention mechanism (2) 3. RNN の状態 h の更新: ht = RNN(E[yt−1], ht−1,ˆzt) (12) 4. 単語の予測 (出力) yt = softmax(Wo(E[yt−1] + Whht + Wzˆzt)) (13) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 41 / 57
  • 42.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Attention の可視化 (1) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 42 / 57
  • 43.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Attention の可視化 (2) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 43 / 57
  • 44.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Attention の可視化 (3) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 44 / 57
  • 45.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Attention の可視化 (4) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 45 / 57
  • 46.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 6. Spatial Transformer Network [Jaderberg et al., NIPS’15] 入力画像 (or feature maps) を変換 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 46 / 57
  • 47.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Grid Generator Tθ 入力 U をどうやって出力 V に変換するか → 出力 V の各位置の値を入力 U のどの位置を中心にサンプリング するか決定 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 47 / 57
  • 48.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 全体像 Components in Spatial Transformer: 1. Localization network 2. Grid generator 3. Image sampler 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 48 / 57
  • 49.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 もうちょっと詳しく 1. ニューラルネットワークで Grid Generator Tθ のパラメータ θ を出力 θ = f(U) (14) 2. Grid Generator Tθ を用いて, 出力側 V の位置 (xt i, yt i) と入力 側 U の位置 (xs i , ys i ) との対応を計算 e.g., ( xs i ys i ) = Tθ(Ui) = ( θ11 θ12 θ13 θ21 θ22 θ23 )   xt i yt i 1   (15) 3. (xt i, yt i) の値は, (xs i , ys i ) を中心としてサンプリング Vi = W∑ x′=1 H∑ y′=1 Ux′,y′ max(0, 1 − |xs i − x′ |)max(0, 1 − |ys i − y′ |) (16) 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 49 / 57
  • 50.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 評価 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 50 / 57
  • 51.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 7. Fully Convolutional Networks [Long et al., CVPR’14] CNN を用いた セマンティックセグメンテーション セマンティックセグメンテーション: pixel ごとのカテゴリ予測 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 51 / 57
  • 52.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 畳み込み層だけ → “Fully Convolutional" ▶ 全結合層 を 1 × 1 convolution に置き換える ▶ upsampling で pixel-wise な予測を行う 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 52 / 57
  • 53.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 何がうれしいのか ▶ 全結合層があると入力画像のサイズが固定される ▶ 画像を固定サイズのパッチに切って何度も実行 ← ムダ! ▶ 畳み込み層は, 任意の入力サイズをとれる ▶ 入力から出力までを畳み込み層だけで定式化できれば, 任意サ イズの画像に対して一回の実行で予測が可能 ▶ その結果, 学習・テストが高速に 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 53 / 57
  • 54.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 “where" に関する details は重要 ▶ 上位層では “where" に関する details が失われている ▶ しかし, セマンティックセグメンテーションでは details も重要 ▶ details が残っている下位層における情報も予測時に使う 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 54 / 57
  • 55.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 Skip Connection の効果 ▶ 狙い通り, 下位層の情報も使うとより詳細なセグメンテーショ ンが可能 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 55 / 57
  • 56.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 まとめ ▶ Convolutional Neural Networks について簡単に解説 ▶ CV を中心に最近の研究事例を紹介 1. AttentionNet: 物体検出 2. Deep Visual Analogy-Making: 画像アナロジー 3. NeuralStyle: 画像生成 4. DCGAN: 画像生成 5. Show, Attend and Tell: 画像説明文生成 6. Spatial Transformer Network: 画像変換 7. Fully Convolutional Network: セマンティックセグメンテー ション ▶ 今後: 物体間の関係性認識, 詳細カテゴリ分類 (FGVC), 映像タ スクへの拡張, unsupervised learning, one-shot learning 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 56 / 57
  • 57.
    Convolutional Neural Networksのおさらい コンピュータビジョンにおける最近の研究事例 参考文献 Girshick, R., Donahue, J., Darrell, T., & Malik, J. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014. Yoo, D., Park, S., Lee, J. Y., Paek, A. S., & So Kweon, I. AttentionNet: Aggregating Weak Directions for Accurate Object Detection. In ICCV, 2015. Reed, S. E., Zhang, Y., Zhang, Y., & Lee, H. Deep Visual Analogy-Making. In NIPS, 2015. Gatys, L. A., Ecker, A. S., & Bethge, M. A neural algorithm of artistic style. arXiv:1508.06576, 2015. Radford, A., Metz, L., & Chintala, S. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. In ICLR, 2016. Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. Generative adversarial nets. In NIPS, 2014. Xu, K., Ba, J., Kiros, R., Courville, A., Salakhutdinov, R., Zemel, R., & Bengio, Y. Show, attend and tell: Neural image caption generation with visual attention. In ICML, 2015. Jaderberg, M., Simonyan, K., & Zisserman, A. Spatial transformer networks. In NIPS, 2015. Long, J., Shelhamer, E., & Darrell, T. Fully convolutional networks for semantic segmentation. In CVPR, 2015. 西田典起 画像処理分野における研究事例紹介 東京大学 情報理工学系研究科 57 / 57