deeply-recursive convolutional network for image super-resolution
TRANSCRIPT
Deeply-RecursiveConvolutionalNetworkforImageSuper-Resolution
北海道⼤学⼤学院 情報科学研究科 情報理⼯学専攻複雑系⼯学講座 調和系⼯学研究室
修⼠1年 桶智輝
論⽂情報
タイトル– Deeply-RecursiveConvolutionalNetwork
forImageSuper-Resolution
発表学会– CVPR2016
被参照数– 45件(2017/6/26)
著者– Jiwon Kim,JungKwonLeeandKyoung MuLee
(DepartmentofECE,ASRI,SeoulNationalUniversity,Korea)
2
概要
画像を⼤きく、輪郭をシャープに= 低解像度の画像を⾼解像度に変換!
低解像度 ⾼解像度
3
先⾏研究
VDSR[CVPR2016]– VeryDeepなCNNでSRに成功している論⽂– 同じ構造の畳込み層を20層重ねた構造
※ SR:超解像技術(Super-Resolution)
20回同じ構造の畳み込み層を繰り返し
…
低解像度 ⾼解像度Conv3x3-64/relu
4
先⾏研究
VDSR[CVPR2016]– VeryDeepなCNNでSRに成功している論⽂– 同じ構造の畳込み層を20層重ねた構造
※ SR:超解像技術(Super-Resolution)
20回同じ構造の畳み込み層を繰り返し層とパラメータを1つの層にして再帰すればいいのでは?
…
低解像度 ⾼解像度Conv3x3-64/relu
5
ネットワークの設計⽅針1
受容野が広くなるように設計– 受容野の広さ=情報量– SRにおいて情報量は⾼解像度に復元するための鍵
狭い受容野の情報量 広い受容野の情報量
6
ネットワークの設計⽅針1
受容野が広くなるように設計– 受容野の広さ=情報量– SRにおいて情報量は⾼解像度に復元するための鍵
狭い受容野の情報量 広い受容野の情報量
7
ネットワークの構成⽅針2
受容野を広くするための2つの⽅法
1 1 2 45 6 7 83 2 1 01 2 3 4
6 83 4
畳み込み層の使⽤• 層がパラメータを持つ• パラメータの増加は学習を難しくする
プーリング層の使⽤• パラメータは持たない• Max-Poolingでは最⼤値以外の情報を失う
8
ネットワークの構成⽅針2
受容野を広くするための2つの⽅法
DeepRecursiveNN ではパラメータを増やさずに畳み込み層を増やす事ができる
畳み込み層の使⽤• 層がパラメータを持つ• パラメータの増加は学習を難しくする
9
従来のDeepRecursiveNNの問題点
1. 浅い(3層が限界)2. 次元が下がる3. 過学習
Eigenetal.(ICLRWS2014),Liangetal.(CVPR2015)
本論⽂で提案するDeeplyRecursiveConvolutionalNetwork(DRCN)は上記の問題を解決
10
ベースとなるアプローチ
同じ層を再帰的(最⼤16回)に⽤いることでVeryDeepなネットワーク構造を実現– 何度も畳み込みを⾏うことで受容野を広く– パラメータを増やさずに畳み込み回数を増やしている
𝑓"#$"% 𝑔 𝑓'"()*
11
ベースとなるアプローチ
• InferenceNetwork内の畳み込み層のパラメータは共有
• ⼊出⼒マップ𝐻* 𝑛 = −1,0, . . , 𝐷 + 1のサイズは⼀定
12
学習上の問題点
DeepなRecursiveCNNを学習させるのは難しい1. 勾配発散・消失問題
2. 適切な再帰回数の決定
これらの問題を解決するように改善1. Skip-connection
• ⼊⼒画像を直接ReconstructionNetに加える2. Recursive-supervision
• InferenceNetで⾏われる再帰毎の出⼒マップを保存し、ReconstructionNetの出⼒をensembleしてFinalOutputとする
13
改善したアプローチ1 ー Skip-connection
• ⼊⼒画像を直接ReconstructionNetに⼊⼒
SRでは⼊⼒画像は正解データとの相関が⾼いため、推測に重要深い構造でも⼊⼒が消失や発散することなく、推測に利⽤可能
14
改善したアプローチ2 ー Recursive-supervision
• 再帰毎の出⼒𝐻*を保持し、ReconstructionNetに⼊⼒• 全てのOutputをensembleし、FinalOutputを決定
全ての再帰回数のOutputからFinalOutputを決定するため、適切な再帰回数を設定する必要がない
15
改善したアプローチ3 ー数式では
• 再帰回数dでの出⼒ 𝑦7%(Outputd)– 𝑦9% = 𝑓'"()* 𝑥, 𝑔 % 𝑓"#$"% 𝑥 , 𝑑 = 1,2,3, …𝐷
• 最終出⼒(FinalOutput)– 𝑦7 = Σ%@AB 𝜔% D 𝑦7%
16
誤差関数の設計
ImmidiateOutputの誤差– 𝑙A 𝜃 = Σ%@AB ΣG@AH A
IBH||𝑦 K − 𝑦7%
(K)||I
FinalOutputの誤差– 𝑙I 𝜃 = ΣG@AH ||𝑦 K − Σ%@AB 𝜔% D 𝑦7%
(K)||I
Totalの誤差– 𝐿 𝜃 = 𝛼𝑙A 𝜃 + 1 − 𝛼 𝑙I 𝜃 + 𝛽||𝜃||I
• 𝛼:中間出力の重み
• 𝛽:WeightDecayの係数
17
TrainingData
91枚の鮮明な画像データセット(Yangetal.)41x41のサイズでstrideを21取って切り取ったもの
18
TestData
4種類のデータセット– Set5,Set14,B100,Urban100
19
評価指標
⼈間の⽬で⾒たとき重要となるのは輝度• PSNR(ピーク信号対雑⾳⽐)
– 𝑃𝑆𝑁𝑅 = 10 D logAYZ[\]^
Z_`• 𝑀𝐴𝑋d:⾼解像度画像の輝度の最⼤値• 𝑀𝑆𝐸:⾼解像度画像と低解像度画像の間での輝度の平均⼆乗誤差
– 値が⼤きいほど雑⾳が少ない(=よい)• SSIM(Structuralsimilarity)
– 輝度値、コントラスト、構造の3つの変化を評価するもの
20
実験結果1
再帰回数による影響– 縦軸:PSNR– 横軸:ネットワークの再帰回数
再帰回数が多いほどPSNRは⼤きくなった
21
実験結果2
Ensembleによる影響– 縦軸:PSNR– 横軸:選択した再帰層の回数
• 問題によって最適な再帰回数は異なった• Ensembleしたものが最もPSNRが⾼くなった
点線:EnsembleしたFinalOutputのPSNR⾚:2倍のサイズ緑:3倍のサイズ⻘:4倍のサイズネットワークはすべて16回再帰する構造
22
実験結果323
実験結果424
実験結果525
実験結果626
まとめ
1. 新しいSRのネットワークDeeply-RecursiveConvolutionalNetworkを提案– 層を追加してもパラメータは増えない
2. 学習を安定させるための構造Recursive-supervisionとSkip-connectionを提案
3. State-of-the-artな性能を発揮
4. ⼊⼒や中間層の出⼒を保持したい他タスクにも簡単に適⽤可能
27