convolutional neural network(cnn)による超解像

43
Learning a Convolutional Network for Image Super-Resolution 16273001 高見 玲 1 Chao Dong, Chen Change Loy, Kaiming He and Xiaoou Tang In: European Conference on Computer Vision. Springer International Publishing, p. 184-199.(2014)

Upload: rei-takami

Post on 11-Feb-2017

41 views

Category:

Technology


0 download

TRANSCRIPT

Learning a Convolutional Network for Image Super-Resolution

16273001 高見 玲

1

Chao Dong, Chen Change Loy, Kaiming He and Xiaoou TangIn: European Conference on Computer Vision. Springer International Publishing, p. 184-199.(2014)

Image Super-Resolution

• 画像の 化

• (ill-posed) : 解が存在しない逆問題

2

既存手法・提案手法

• Sparse-cording methodやexample-basedな手法では辞書

やモデルの構築法に注視[1]

• その他の手順や統合的なフレームワークに着目

• 既存のパイプラインを ( )

3

[1] Yang, J., Wright, J., Huang, T., Ma, Y.: Image super-resolution as sparse representation of raw image patches.In: CVPR, pp. 1–8, 2008

Super-Resolution Convolutional Neural Network (SRCNN)

• 畳み込みニューラルネットワークを超解像に適用

• 畳み込み演算によるマッピング• をまとめて入力

4

waifu2x

• CNNを用いた超解像サービス

5

waifu2x

[2] waifu2x, http://waifu2x.udp.jp/, (2016-11-09参照)

結果

• 既存手法より ,

• PSNR(後述)の向上

• 大きなデータセットへの適用可能性

• 最適化問題を解く必要性の不要

6

Related Works

7

既存研究(超解像)

• prediction models

• 画像の内部的な類似性を利用してパッチ生成

• どのように特徴を学習するかに依存

• nearest neighbour (NN) method

• SR method

• edge based method

• image statistical methods

• patch based(example-based)

8

既存研究(CNN)

• 画像のクラスフィケーションについての効果[3]

• GPU上での実装

• を活性化関数で用いることの有効性[4]

• 大量のデータ(ImageNetなど)の利用[5]

9

[3] Krizhevsky, A., Sutskever, I., Hinton, G.: ImageNet classification with deep convolutional neural networks. In: NIPS, pp. 1097–1105 , 2012

[4] Nair, V., Hinton, G.E.: Rectified linear units improve restricted Boltzmann machines. In: ICML, pp. 807–814 , 2010[5] Deng, J., Dong, W., Socher, R., Li, L.J., Li, K., Fei-Fei, L.: ImageNet: A large-scale hierarchical image database.

In: CVPR, pp. 248–255 , 2009

既存研究(画像再構築のためのDeep Learning)

• End-to-endでパラメータを決定

• 多層パーセプション(MLP),

全結合ネットワークのノイズ除去への利用[6]

• CNNのノイズ除去への利用[7]

• 超解像へ向けた利用については前例なし

10

[6] Burger, H.C., Schuler, C.J., Harmeling, S.: Image denoising: Can plain neural networks compete with BM3DIn: CVPR, pp. 2392–2399, 2012

[7] Jain, V., Seung, S.: Natural image denoising with convolutional networks. In: NIPS, pp. 769–776, 2008

Convolutional Neural Networks

11

畳み込みニューラルネットワーク(Convolutional Neural Network)[8]

• と (後述)を繰り返す

• を取得

• 各層で入力とバイアスを により計算

• 畳み込みにより扱う重みの数が減少

→全結合ネットワークより ,

12[8] 石橋 祟司, Caffeをはじめよう 深層学習による画像解析の実践, オライリー・ジャパン, 2016

畳み込み層[8]

• 注目画素(中心画素)と周辺を重みづけ

• が出力の画素値

• 注目画素を でずらしながら

入力全体にカーネルを適用

• カーネル: n×nで重みパラメータを保持する積分核

• padding: 端領域を0で補完

13[8] 石橋 祟司, Caffeをはじめよう 深層学習による画像解析の実践, オライリー・ジャパン, 2016

畳み込み層

[9] icoxfog417, “Convolutional Neural Networkとは何なのか”, http://qiita.com/icoxfog417/items/5fd55fad152231d706c2,

(2016-11-9参照)14

[9]

プーリング層

• 畳み込み層で得られた

• 対象領域の し, ロバストに取得

• 入力画像の一部分を特徴として出力にマッピング

• Avg-pooling, Max-Pooling

15

Sparse Coding method

• 与えられた画像を比較的少数の基底の線形和で表現

• (特徴?)を表現する必要性

• 提案手法はこれに関係

16

ReLU(Rectified Linear Unit)

• な区分線形関数

• ほかの活性化関数: シグモイド, tanh etc

→ 値の増大に対して飽和(漸近時に変化量が低下)

• :

• 飽和: 過学習の防止

• 大きいデータセットを用いる

f(x) = max(0, x)

17

誤差逆伝搬法(Backpropagation)

• ニューラルネットワークにおける学習手法

• 期待する出力と実際の出力値から損失を導出

• するように各層の重みを学習

• 損失: 損失関数から求められる精度の悪さ

18

Loss Function

・パラメータは損失関数が最小値になるように計算

・再構築された画像と対応する高品質画像間の損失を

計算, 最小化

・ , MSE(Mean Squared Error)を使用

L (Θ) = 1

𝑛σ1=1𝑛 | 𝐹 𝑌𝑖; Θ − 𝑋𝑖 |

2

19

定式化

• 前処理:

出力サイズまでバイキュービック法で入力画像を拡大

• : 低解像度画像

• に限りなく似た の取得

• 逆問題

(フィルタ適用後の画像(入力)から適用前(出力)を推定)

20

手順

1.

• 低画質画像Yからパッチを生成

• 高次元ベクトルとして表現

2.

• 低次元から高次元ベクトルへのマッピング

• ベクトルはhigh-resolution patchとして表現

3.

• パッチ画像から元画像を再構築, 生成21

22

Patch extraction and representation

•画像からのパッチの抽出, n1次元へのマッピング

F1(Y)=max(0,W1 ∗Y+B1)W1 : フィルタ, 活性化関数にはReLUを使用

W1 = c × f1 ×f1

C: 画像のチャンネル数, f1: フィルタのサイズ

B1: バイアス

n1次元の各パッチ特徴を出力

23

Non-linear mapping

• n1 次元から n2次元へのマッピング

F2(Y)=max(0,W2∗F1(Y)+B2)W1 : フィルタ

W1 = n1 × f2 ×f2

B2: バイアス(n2次元)

n1次元の各パッチ特徴を出力

24

Reconstruction

•CNNにより生成されたパッチを平坦化

F (Y) = W3∗ F2(Y) + B3

W3 : フィルタ(c次元)

W3 = n2 × f3 × f3× c

B2: バイアス(c次元)

25

Experiments

26

学習データ

•畳み込みのstrideは14

• 8 × 108回の逆誤差伝搬法の適用(3日間)

• Upscaling factorは 2, 3, 4 (倍率?)

•トレーニング時の境界効果を防ぐためpaddingなし

27

学習データ

• 各トレーニング画像を32×32のsubimageに分解• ランダムに切り取り• パッチと異なり後処理が必要ない

• (91 images)

• 24,800のsubimageに分解

• : f1 =9, f3 =5, n1 =64, n2 =32

c=1 (color画像の場合c=3)

28

結果

• (ピーク信号対雑音比)

• 信号が取りうる最大値と劣化をもたらすノイズの比率

• 高い方が高画質(再現性高い)

29

結果

SRCNN: 元画像のシャープな輪郭を保持30

結果

SRCNN: 元画像のシャープな輪郭を保持31

結果

SRCNN: 元画像のシャープな輪郭を保持32

結果

SRCNN: 元画像のシャープな輪郭を保持33

比較

Test set. The Set5 [2] (5 images), Set14 [51] (14 images) and BSD200 [32] (200 images)8

34

比較

35

Further Analyses

36

パラメータの変更

• 次元 増大

• する代わりに

• 増大

• ,

→パラメータの変化は速度の性能のトレードオフ

37

大規模データへの適用

• 大きい学習データ(395,909 images from ImageNet)

• 5,000,000のsubimageに分解

•パラメータは同様

38

大規模データへの適用

39

40

g, h : ラプラシアン/ガウスフィルタ

a - e : エッジフィルタ(異なる箇所)

f : テクスチャ抽出フィルタ

長く走らせると”死んだ”フィルタに特徴が現れる

学習されたフィルタ(第一層)

Conclusion

41

結論

• を提案, 実装

• Sparce-cording method のNNによる最定式化

→NN設計の礎石

42

結論

• , ともに従来法より

• 隠れ層の挙動やフィルタのトレーニング手法

→より高速・高品質な出力が得られる可能性

• ノイズ平滑化などの低レベルの画像処理にも適用可

43