《ODE-inspired Network Design for Single Image Super-Resolution》(CVPR 2019)

————————————————

本篇博客爲我寫的第一篇原創博客,以此開始我的超分辨學習之旅。。

(該博客僅爲個人對於此篇論文的理解,如有不當之處希望和大家多多交流)

本篇論文以常微分方程(ordinary differential equation ,ODE)的思想來設計殘差網絡,改變了以往殘差網絡設計中固定的Conv和ReLU的連接方式。
基本思想如下:
將歐拉系統描述爲ODE的形式,如下:
在這裏插入圖片描述
通過該公式可以得到如下的映射:
在這裏插入圖片描述
其中Φ\Phi表示SISR中的映射關係,也對應公式1中的解。
When the system is nonlinear, in many cases, there is no simple formula de-scribing the map, we have to turn to numerical methods.比如,利用歐拉方法來近似它:(可以直接從該公式開始看)
(4)在這裏插入圖片描述
它可以看做一個ODE,也是(first-order method),which使用y′在寬度h的區間上的積分的近似值:
在這裏插入圖片描述
而對於殘差模塊,有:
在這裏插入圖片描述
因此,我們可以建立:
(6)在這裏插入圖片描述
進而實現了歐拉方法和殘差塊之間的映射。
在本文中,利用歐拉方法設計兩個類型的網絡結構:LF-block and RK-block,which correspond to the Leapfrog method and Runge-Kutta method in numeri-cal ordinary differential equations。

LF-block:(second-order linear 2-step method)
rewrite the approximation of y′ in the form of
在這裏插入圖片描述
then derive the following equation
在這裏插入圖片描述
(也就是說,LF不僅僅設計殘差塊G,也改變了前邊的y,使得n+1次的y不僅僅與n次的y有聯繫,還與n-1次的y有聯繫)which can be directly interpreted into CNN diagram using the definition in formula (6)。
In order to retain flexibility and obtain a block architecture, every three formulas above are grouped into a block as
在這裏插入圖片描述

RK2-Block: (two-stage second-order)
在這裏插入圖片描述
and replace ˜yn+1 with its first-order approximation (4), we will obtain the following equations:
在這裏插入圖片描述
Compared with ResNet, there are multiple branches in RK2-block, which is commonly used in recent popular networks.
(該RF僅僅是對殘差塊G進行設計,沒有改變前邊的y)

RK3-Block:
The knowledge of numerical ODEs suggest that higher-order methods (e.g., with order p) obtain a smaller local truncation error (e.g., O(hp+1)). This fact inspires us to explore higher stages Runge-Kutta methods.
Formally, explicit iterative Runge-Kutta methods can be extended to arbitrary n stages by using the following formulas
在這裏插入圖片描述
In particular, 3-stage Lunge-Kutta with third order can be described as:
在這裏插入圖片描述
不同的殘差塊的設計如下圖所示:
在這裏插入圖片描述
The overall architecture is a Convolution-PixelShuffle framework:
在這裏插入圖片描述
(也就是說,將圖1中的模塊來帶入到圖2中的OISR-Blocks,就形成了本文所提出的OISR網絡)

根據公式(4) 在這裏插入圖片描述可知,通過自適應的調整 h(in this case, learned parameter α in ParametricReLU ),可以同時提高算法的效率和穩定性。此外,對於α的初始化對應於數值常微分方程的精度與步長hn 有關,如果不是有限精度算法,截斷誤差會隨着 hn 變爲0而變爲0。(可以先忽略這一段)
G(·) : There is a large searching space to search G. Here, we only choose three different forms to illustrate the general effectiveness of ODE-inspired schemes. Each of these designs keeps at least one activation function and one convolutional layer, thus promising the nonlinearity.
在這裏插入圖片描述
依據上述理論,本文設計了三種不同規模的網絡:
(1) small-scale networks: using LF-block and RK2-block for each G. Since different forms of G vary in computation overhead, these networks are developed using different numbers of building blocks but maintaining comparable computation and parameters. This ensures us to have a fair comparison with other lightweight models.
(2)middle-scale networks: using LF-block and RK2-block with a similar size and computing cost as the state-of-the-art MSRN . This also enables us to verify that the performance will not degrade as the networks become larger.
(3)deep network: using RK3-blocks.

實驗部分:
在這裏插入圖片描述
將 OISR-RK2表現最差的 G-v2 使用到OISR-RK3中.部分仿真結果如下:
在這裏插入圖片描述
個人理解:
1.本篇論文中公式(4)的ODE方式實際上就是Resnet的基本形式。因此,利用該方程來設計網絡,實際上主要是對於殘差塊的設計。LF在設計殘差塊的同時對前一部分進行相應的改動,使得網絡的n+1次不僅與n次有聯繫,還與n-1次有聯繫。RF只對殘差塊進行設計,改變爲二階和三階的方式(據說高階的誤差更小)。
2.雖然該網絡是基於ODE的超分辨網絡,但是論文設計重點實際上是網絡的前半部分,而不是重點設計網絡的超分辨部分。
問題: 該論文將殘差塊用G表示,但是ODE中的G主要是對於**h的選擇和微分的計算,這與其設計的G模塊(PReLU+Conv)有何聯繫?**論文中說PReLU是用來選擇h,但是微分呢?該論文程序沒有看懂。
程序:https://github.com/HolmesShuan/OISR-PyTorch

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章