1. 程式人生 > >Note_Fast Image Processing with Fully-Convolutional Networks

Note_Fast Image Processing with Fully-Convolutional Networks

ID 耗時 cal CQ 觀測 缺點 conf 有監督 tun

基本介紹

ICCV 2017

Fast Image Processing with Fully-Convolutional Networks

筆記

  1. 作者想建立一個神經網絡模型去近似一些圖像裏的操作,比如圖像風格遷移,圖像鉛筆畫,去霧,上色,增加細節等等。主要考慮三個方面,近似的精度、運行時間、內存占用多少。

  2. 現在加快圖像處理的一種通用的手段,是downsample-evaluate-upsample approach。這種方法的主要問題是:
    • 操作主要低分辨率圖像上,這個不利於交互式使用。
    • 主要的操作是針對低分辨率圖像的,對精度有影響。
  3. 作者想用一個模型來擬合十種圖像操作。

    All operators are approximated using an identical architecture with no hyperparameter tuning.

  4. 已經有很多中,圖片處理的加速算法,比如中值濾波器等等,但是他們的問題沒有一般性。有一般性的是上面提到的下采樣方法。

  5. 整個網絡是Context aggregation networks(CAN),核心就是:
    \[ L_i^s = \phi\left ( \psi^s(b_i^s+\sum_jL_j^{s-1}*_{r_s}K_{i,j}^s) \right) \]
    其中,\(L_i^s\)\(s\)\(L^s\)的第\(i\)個特征層,\(*_{r_s}\)代表空洞卷積操作,\(K_{i,j}^s\)代表3X3的卷積核,\(b_i^s\)是偏置項,$ \psi^s\(是自適應的歸一化函數,\)

    \phi$ 是像素級的非線性單元LReLU:\(\phi(x) = max(\alpha x,x)\) 。其中\(\alpha\)取的是0.2。

  6. 在使用batch Normalization的時候,也就是在給網絡添加了BN層,作者發現對風格遷移、鉛筆畫有幫助,在其他操作上的表現不是很好,越是提出來自適應的BN,也就是自適應歸一化函數。
    \[\phi^s(x) = \lambda_s x + \mu_s BN(x)\]
    其中,\(\lambda_s ,\mu_s \in \mathbb{R}\) 是在反向傳播中學習的參數。

  7. 訓練是時候,是輸入圖片對,進行有監督訓練,用了很多loss函數訓練,最後發現均方誤差才是最好的。
    \[\ell(\mathcal{K},\mathcal{B}) = \sum_i \frac{1}{N_i} \parallel \hat{f} (I_i;\mathcal{K},\mathcal{B}) - f(I_i)\parallel \]


    那些復雜的loss,b並沒有給實驗提高精度。

  8. 為了提高模型對分辨率的使用能力,在訓練的過程中,隨機選擇圖片的分辨率在(320p到1440p)之間。這些圖片是隨機裁剪的獲得的。訓練的采用Adam ,叠代500k次,耗時一天。

  9. 實驗進行近似模擬的十個操作如下:
    • Rudin-Osher-Fatemi:是一種圖像復原模型。
    • TV-L1 image restoration:是一種圖像復原模型。
    • L0 smoothing:L0範式的圖像平滑。
    • relative total variation:一種通過剝離細節來提取圖像結構的操作。
    • image enhancement by multiscale tone manipulation:通過多尺度進行圖像增強。
    • multiscale detail manipulation based on local Laplacian filtering:通過低級算子仿造圖像細節。
    • photographic style transfer from a reference image:圖像風格遷移。
    • dark-channel dehazing :暗通道去霧。暗通道先驗(Dark Channel Prior)是基於統計意義上的觀測得到的結果。總結了大量的室外無霧的圖像,提出基於暗通道先驗的去霧算法,在大部分無霧圖像的無天空區域,像素中至少存在一個顏色通道存在很低非常低的亮度值。這個最低的亮度值幾乎等同於0。
    • nonlocal dehazing :非局部去霧。
    • pencil drawing :鉛筆畫風格。
  10. 網絡的具體細節:
    技術分享圖片
    上圖只是演示圖,實際上的更深。圓圈表示非線性函數LReLU。除了第一層和最後一層是三個通道外,其余均是多個通道,倒數第二層使用1X1的卷積,無非線性轉化,得到最後的一層。
    CAN 32的結構(d = 10 and w = 32 )如下:
    技術分享圖片

  11. 關於橫向對比實驗。
    • 對比的網絡設計一個plain,就是將上面的網絡的空洞卷積全部換了,換成普通的卷積。作者說這樣是為了保證結構的相似性。
    • Encoder-decoder網絡。說是參考U-Net搞得一個hourglass-shaped networks (沙漏型網絡,這個形容詞不錯)。對於U-Net主要的修改是,為了減少計算量和內存,減少了一半的卷積核;縮放了最後結果輸出,使得輸出圖片和輸入一樣大。(關於這個修改,我覺得很不科學啊,既然要和它對比,為什麽要閹割之後再對比呢?)
      文章給出的理由是:

      we found that this is sufficient to get high accuracy and it matches our configuration of the other baselines.
      然後又說,能夠獲得差不多的精度,甚至更快~缺點主要是參數太多,高出兩個數量級。

    • 還有一個是FCN-8s。這個模型的問題是,參數多,精度低。
      技術分享圖片

  12. 泛化能力的訓練和測試:(每個模型,分別兩次訓練,然後兩個都數據集測試):
    • MIT-Adobe test set 和RAISE test set
    • MIT-Adobe training set 、 RAISE training set
  13. 作者另外做了關於深度和寬度(應該說是通道數)的實驗。

    ?

總結

作者工作量不少,可能也跟任務特別多有關,相當於整合了很多任務。模型最大的特點就是參考那篇ICLR 2016,大量使用空洞卷積。這個模型我也想過,只是沒想到去用來代替這麽多任務。實驗有些地方不是很好,比如Unet那塊。還是有些啟發的。2333。

Note_Fast Image Processing with Fully-Convolutional Networks