2014/02/23 CV勉強会発表資料 nksm_r

34
ICCV読み会 Anchored Neighborhood Regression for Fast Example-Based Super-Resolution nksm_r 2014/02/23 CV勉強会@関東 1

Transcript of 2014/02/23 CV勉強会発表資料 nksm_r

Page 1: 2014/02/23 CV勉強会発表資料 nksm_r

ICCV読み会

Anchored Neighborhood Regression for

Fast Example-Based Super-Resolution

nksm_r

2014/02/23 CV勉強会@関東 1

Page 2: 2014/02/23 CV勉強会発表資料 nksm_r

今日紹介する論文

Anchored Neighborhood Regression for

Fast Example-Based Super-Resolution

Radu Timofte (KU Leuven, ETH Zurich),

Vincent De Smet (KU Leuven),

Luc Van Gool (KU Leuven, ETH Zurich)

学習型超解像アルゴリズム

アピールポイント:とても高速

既存手法と同程度の品質で30倍以上高速

2014/02/23 CV勉強会@関東 3

Page 3: 2014/02/23 CV勉強会発表資料 nksm_r

超解像とは(1/2)

低解像度画像を高解像度化する

応用

低解像度の画像を高解像度ディスプレイに表示

カメラの解像度の物理的限界を超える

画像圧縮,符号化

など

入力:低解像度画像 出力:高解像度画像

2014/02/23 CV勉強会@関東 4

Page 4: 2014/02/23 CV勉強会発表資料 nksm_r

超解像とは(2/2)

何が難しいのか

サンプリング間隔が違う⇒エイリアシング

積分区間の大きさが違う⇒ぼけ

超解像:解像度の違いによる劣化を復元

x

輝度

撮像面に届く光の強さ

高解像度画像

画素サイズ

低解像度画像

2014/02/23 CV勉強会@関東 5

Page 5: 2014/02/23 CV勉強会発表資料 nksm_r

超解像の分類

再構成型超解像(複数枚超解像)

高解像度画像(未知)と低解像度画像の関係を物理的なモデルで表現

画像間にサブピクセルの位置ずれが必要

学習型超解像(1枚超解像)

高解像度画像(未知)と低解像度画像の関係を教師データから推論

※補間型超解像:劣化を復元しない

2014/02/23 CV勉強会@関東 6

Page 6: 2014/02/23 CV勉強会発表資料 nksm_r

学習型超解像

近年の主流:パッチベース手法

画像をパッチごとに処理

低解像度画像

高解像度画像

高解像度化 高解像度化 ?

パッチの

データベース

低解像度

高解像度

2014/02/23 CV勉強会@関東 7

Page 7: 2014/02/23 CV勉強会発表資料 nksm_r

学習型超解像

近年の主流:パッチベース手法

画像をパッチごとに処理

低解像度画像

高解像度画像

?

2014/02/23 CV勉強会@関東 8

Page 8: 2014/02/23 CV勉強会発表資料 nksm_r

学習型超解像

近年の主流:パッチベース手法

画像をパッチごとに処理

代表的なアプローチ

Sparse Coding (SC) の利用 [Yang 10]

Neighbor Embedding (NE) の利用 [Chang 04]

低解像度画像

高解像度画像

高解像度化 高解像度化

2014/02/23 CV勉強会@関東 9

Page 9: 2014/02/23 CV勉強会発表資料 nksm_r

提案手法の特徴

既存手法の問題点:実行時間

ほとんどの手法が数秒~数分以上

本研究:高速なパッチベース超解像

既存手法より10~100倍高速

画質は既存手法と同程度

特徴:SCとNEを組み合わせ

SCを手抜いて簡単に解く!

⇒Global Regression

NEで画質をキープ!

⇒Anchored Neighborhood Regression

2014/02/23 CV勉強会@関東 10

Page 10: 2014/02/23 CV勉強会発表資料 nksm_r

発表の流れ

従来手法1

Sparse Coding

従来手法1

Sparse Coding

提案手法1 (3.1節)

Global Regression

提案手法1 (3.1節)

Global Regression

従来手法2

Neighbor Embedding

従来手法2

Neighbor Embedding

提案手法2 (3.2節)

Anchored Neighborhood

Regression

提案手法2 (3.2節)

Anchored Neighborhood

Regression

簡単化

超高速

画質はSC, NEには劣る

高速

SC, NEと同等の画質

画質向上

2014/02/23 CV勉強会@関東 11

Page 11: 2014/02/23 CV勉強会発表資料 nksm_r

発表の流れ

従来手法1

Sparse Coding

従来手法1

Sparse Coding

提案手法1 (3.1節)

Global Regression

提案手法1 (3.1節)

Global Regression

従来手法2

Neighbor Embedding

従来手法2

Neighbor Embedding

提案手法2 (3.2節)

Anchored Neighborhood

Regression

提案手法2 (3.2節)

Anchored Neighborhood

Regression

簡単化

超高速

画質はSC, NEには劣る

高速

SC, NEと同等の画質

画質向上

① ①

2014/02/23 CV勉強会@関東 12

Page 12: 2014/02/23 CV勉強会発表資料 nksm_r

Sparse Coding Approach (1/2)

低解像度

パッチ

= 0.2 ∙ + 0 ∙ + 0 ∙ +

= 0.2 ∙ + 0 ∙ + 0 ∙ +

Sparse Coding:ほとんどの係数が0

低解像度

基底

高解像度

基底

高解像度

パッチ

2014/02/23 CV勉強会@関東 13

Page 13: 2014/02/23 CV勉強会発表資料 nksm_r

Sparse Coding Approach (2/2)

アルゴリズムを数式を使って書くと

① L1ノルム最小化でSparse Coding

② 高解像度の基底を混合

min𝜶

𝒚𝐹 − 𝑫𝑙𝜶 22 + 𝜆 𝜶 1

𝒙 = 𝑫ℎ𝜶

低解像度

パッチ

※画素をラスタスキャン順に並べてベクトル化

低解像度

基底 ⋯ Sparseな係数

正則化項

L1ノルム (lasso)

係数をSparseに

正則化項

L1ノルム (lasso)

係数をSparseに

高解像度

パッチ ⋯ 高解像度

基底

・・・遅い

2014/02/23 CV勉強会@関東 14

Page 14: 2014/02/23 CV勉強会発表資料 nksm_r

発表の流れ

従来手法1

Sparse Coding

従来手法1

Sparse Coding

提案手法1 (3.1節)

Global Regression

提案手法1 (3.1節)

Global Regression

従来手法2

Neighbor Embedding

従来手法2

Neighbor Embedding

提案手法2 (3.2節)

Anchored Neighborhood

Regression

提案手法2 (3.2節)

Anchored Neighborhood

Regression

簡単化

超高速

画質はSC, NEには劣る

高速

SC, NEと同等の画質

画質向上

② ②

2014/02/23 CV勉強会@関東 15

Page 15: 2014/02/23 CV勉強会発表資料 nksm_r

Sparse Coding Approach (2/2)

アルゴリズムを数式を使って書くと

① L1ノルム最小化でSparse Coding

② 高解像度の基底を混合

min𝜶

𝒚𝐹 − 𝑫𝑙𝜶 22 + 𝜆 𝜶 1

𝒙 = 𝑫ℎ𝜶

低解像度

パッチ

※画素をラスタスキャン順に並べてベクトル化

低解像度

基底 ⋯ Sparseな係数

正則化項

L1ノルム (lasso)

係数をSparseに

正則化項

L1ノルム (lasso)

係数をSparseに

高解像度

パッチ ⋯ 高解像度

基底

・・・遅い

2014/02/23 CV勉強会@関東 16

Page 16: 2014/02/23 CV勉強会発表資料 nksm_r

Sparse Coding Approach (2/2)

アルゴリズムを数式を使って書くと

min𝜶

𝒚𝐹 − 𝑫𝑙𝜶 22 + 𝜆 𝜶 1

𝒙 = 𝑫ℎ𝜶

2014/02/23 CV勉強会@関東 17

Page 17: 2014/02/23 CV勉強会発表資料 nksm_r

Sparse Coding Approach (2/2)

アルゴリズムを数式を使って書くと

① L1ノルム最小化でSparse Coding

② 高解像度の基底を混合

min𝜶

𝒚𝐹 − 𝑫𝑙𝜶 22 + 𝜆 𝜶 1

𝒙 = 𝑫ℎ𝜶

・・・遅い

遅い原因:L1ノルム 遅い原因:L1ノルム

L2ノルムでよくね? L2ノルムでよくね?

2014/02/23 CV勉強会@関東 18

Page 18: 2014/02/23 CV勉強会発表資料 nksm_r

提案:Global Regression

アルゴリズムを数式を使って書くと

① L2ノルム最小化

② 高解像度の基底を混合

min𝜶

𝒚𝐹 − 𝑫𝑙𝜶 22 + 𝜆 𝜶 2

𝒙 = 𝑫ℎ𝜶

L2ノルムに変更

(リッジ回帰)

L2ノルムに変更

(リッジ回帰)

2014/02/23 CV勉強会@関東 19

Page 19: 2014/02/23 CV勉強会発表資料 nksm_r

提案:Global Regression

アルゴリズムを数式を使って書くと

① L2ノルム最小化

② 高解像度の基底を混合

𝒙 = 𝑫ℎ𝜶

𝜶 = 𝑫𝑙𝑇𝑫𝑙 + 𝜆𝑰

−1𝑫𝑙

𝑇𝒚𝐹

閉じた解が求まる 閉じた解が求まる

2014/02/23 CV勉強会@関東 20

Page 20: 2014/02/23 CV勉強会発表資料 nksm_r

提案:Global Regression

アルゴリズムを数式を使って書くと

𝒙 = 𝑫ℎ𝜶

𝜶 = 𝑫𝑙𝑇𝑫𝑙 + 𝜆𝑰

−1𝑫𝑙

𝑇𝒚𝐹

2014/02/23 CV勉強会@関東 21

Page 21: 2014/02/23 CV勉強会発表資料 nksm_r

提案:Global Regression

アルゴリズムを数式を使って書くと

① 行列を掛けるだけ

𝒙 = 𝑫ℎ 𝑫𝑙𝑇𝑫𝑙 + 𝜆𝑰

−1𝑫𝑙

𝑇𝒚𝐹

低解像度

パッチ

低解像度

基底

高解像度

パッチ

⋯ 高解像度

基底

掛けるべき行列は事前に計算可能!

画質は低下(全てのパッチに同一の処理)

掛けるべき行列は事前に計算可能!

画質は低下(全てのパッチに同一の処理)

2014/02/23 CV勉強会@関東 22

Page 22: 2014/02/23 CV勉強会発表資料 nksm_r

発表の流れ

従来手法1

Sparse Coding

従来手法1

Sparse Coding

提案手法1 (3.1節)

Global Regression

提案手法1 (3.1節)

Global Regression

従来手法2

Neighbor Embedding

従来手法2

Neighbor Embedding

提案手法2 (3.2節)

Anchored Neighborhood

Regression

提案手法2 (3.2節)

Anchored Neighborhood

Regression

簡略化

超高速

画質はSC, NEには劣る

高速

SC, NEと同等の画質

画質向上

③ ③

2014/02/23 CV勉強会@関東 23

Page 23: 2014/02/23 CV勉強会発表資料 nksm_r

Neighbor Embedding Approach (1/2)

低解像度

パッチ

= 0.2 ∙ + 0.1 ∙ +

= 0.2 ∙ + 0.1 ∙ +

パッチと類似したもののみ使用

低解像度

基底

高解像度

基底

高解像度

パッチ

2014/02/23 CV勉強会@関東 24

Page 24: 2014/02/23 CV勉強会発表資料 nksm_r

Neighbor Embedding Approach (2/2)

アルゴリズム

① 基底の中から低解像度パッチの𝐾 近傍を選択

② 制約付き最小二乗で線形結合の係数を求める

② 高解像度の基底を混合

min𝜶

𝒚𝐹 − 𝑵𝑙𝜶 22 𝑠. 𝑡. 𝜶 ∈ 𝑼

𝒙 = 𝑵ℎ𝜶

低解像度

基底 ⋯

⋯ 高解像度

基底

𝑵𝑙

𝑵ℎ

制約

𝜶の和が1 [Cheng 04],

𝜶が非負 [Bevilacqua 12], etc…

制約

𝜶の和が1 [Cheng 04],

𝜶が非負 [Bevilacqua 12], etc…

2014/02/23 CV勉強会@関東 25

Page 25: 2014/02/23 CV勉強会発表資料 nksm_r

なぜ近傍のみ使う?

なぜ低解像度パッチと類似した基底のみ?

低解像度パッチの特徴空間 高解像度パッチの特徴空間

線形結合の係数=近傍の要素との位置関係 (1次元の例:ベクトルの内分)

線形結合の係数=近傍の要素との位置関係 (1次元の例:ベクトルの内分)

近傍要素との位置関係はほぼ等しい 近傍要素との位置関係はほぼ等しい

複雑な

非線形変換

2014/02/23 CV勉強会@関東 26

Page 26: 2014/02/23 CV勉強会発表資料 nksm_r

発表の流れ

従来手法1

Sparse Coding

従来手法1

Sparse Coding

提案手法1 (3.1節)

Global Regression

提案手法1 (3.1節)

Global Regression

従来手法2

Neighbor Embedding

従来手法2

Neighbor Embedding

提案手法2 (3.2節)

Anchored Neighborhood

Regression

提案手法2 (3.2節)

Anchored Neighborhood

Regression

簡単化

超高速

画質はSC, NEには劣る

高速

SC, NEと同等の画質

画質向上

④ ④

2014/02/23 CV勉強会@関東 27

Page 27: 2014/02/23 CV勉強会発表資料 nksm_r

提案:Global Regression

アルゴリズム

① 行列を掛ける

𝒙 = 𝑫ℎ 𝑫𝑙𝑇𝑫𝑙 + 𝜆𝑰

−1𝑫𝑙

𝑇𝒚𝐹

2014/02/23 CV勉強会@関東 28

Page 28: 2014/02/23 CV勉強会発表資料 nksm_r

Neighbor Embeddingを導入

アルゴリズム

① 低解像度基底𝑫𝑙𝑇の要素から𝒚𝐹の𝐾近傍を探索,

𝑵𝑙𝑇と対応する高解像度の要素𝑵ℎ

𝑇を得る

② 行列を掛ける

𝒙 = 𝑵ℎ 𝑵𝑙𝑇𝑵𝑙 + 𝜆𝑰

−1𝑵𝑙

𝑇𝒚𝐹

近傍探索の結果に依存⇒事前計算できない 近傍探索の結果に依存⇒事前計算できない

2014/02/23 CV勉強会@関東 29

Page 29: 2014/02/23 CV勉強会発表資料 nksm_r

解決策:Anchored neighborhood

𝒚𝐹の再近傍の𝐾近傍で代用

≅ 𝒚𝐹の𝐾近傍

低解像度パッチの特徴空間

低解像度

パッチ

𝒚𝐹

利点:事前に計算可能 (基底の全ての要素に対する𝐾近傍探索)

利点:事前に計算可能 (基底の全ての要素に対する𝐾近傍探索)

最近傍の

要素 𝒅𝒋

2014/02/23 CV勉強会@関東 30

Page 30: 2014/02/23 CV勉強会発表資料 nksm_r

提案:Anchored Neighborhood Regression

アルゴリズム

① 低解像度基底𝑫𝑙𝑇の要素から𝒚𝐹の最近傍を探索,

𝑵𝑙𝑇と対応する高解像度の要素𝑵ℎ

𝑇を得る

② 行列を掛ける

𝒙 = 𝑵ℎ 𝑵𝑙𝑇𝑵𝑙 + 𝜆𝑰

−1𝑵𝑙

𝑇𝒚𝐹

𝑵ℎ, 𝑵𝑙は基底の要素ごとに定まる

= 事前に計算可能

𝑵ℎ, 𝑵𝑙は基底の要素ごとに定まる

= 事前に計算可能

2014/02/23 CV勉強会@関東 32

Page 31: 2014/02/23 CV勉強会発表資料 nksm_r

提案:Anchored Neighborhood Regression

アルゴリズム

① 低解像度基底𝑫𝑙𝑇の要素から𝒚𝐹の最近傍を探索,

行列𝑷 = 𝑵ℎ 𝑵𝑙𝑇𝑵𝑙 + 𝜆𝑰

−1𝑵𝑙

𝑇を得る

② 行列を掛ける

𝒙 = 𝑷𝒚𝐹

実行速度と画質の両立! 実行速度と画質の両立!

2014/02/23 CV勉強会@関東 33

Page 32: 2014/02/23 CV勉強会発表資料 nksm_r

bicubic SC [Yang 10]

ANR NE+NNLS[Bevilacqua 12]

2014/02/23 CV勉強会@関東 34

Page 33: 2014/02/23 CV勉強会発表資料 nksm_r

他の手法との比較

画質(PSNR) ANRは2位,1位のZeydeとほぼ同等

GRは0.3dBほど悪化

実行時間 GRがダントツ1位

ANRは2位,他の手法より10倍以上高速

bicubic SC

(Yang)

SC

(Zeyde) GR ANR

NE+

LS

NE+

NNLS

NE+

LLE

PSNR

(dB) 27.54 28.31 28.67 28.31 28.65 28.59 28.44 28.60

Time

(sec) 0.01 ~90 3.51 0.01 0.27 2.73 35.46 5.66

Sparse Coding Neighbor Embedding 提案手法 補間

2014/02/23 CV勉強会@関東 35

Page 34: 2014/02/23 CV勉強会発表資料 nksm_r

まとめ

Anchored Neighborhood Regression Sparse codingの定式化を簡単化

Neighbor Embeddingで高画質化

近傍探索の代わりにAnchored Neighborhood

オフライン計算可能

高速:最近傍探索と行列の乗算のみ

画質はstate-of-the-artとほぼ同等

※第一著者のHPにてMATLABコード公開中

2014/02/23 CV勉強会@関東 36