GCANet_Gated context aggregation network for image dehazing and deraining

2019、中科大+港科、有代碼

Chen D, He M, Fan Q, et al. Gated context aggregation network for image dehazing and deraining[C]//2019 IEEE winter conference on applications of computer vision (WACV). IEEE, 2019: 1375-1383.

GitHub - cddlyf/GCANet: Implementation of “Gated Context Aggregation Network for Image Dehazing and Deraining”

1、Absract

  1. propose an end-to-end gated context aggregation network(?)
  2. use smoothed dilation to help remove the gridding artifacts
  3. use a gated sub-network to fuse the features from different levels

BR: gated?

2、Related Work

  1. DehazeNet:[3] presents an end-to-end network to estimate the intermediate transmission map.
  2. AODNet:[22] reformulates the atmospheric scattering model to predict the final clean image through a light-weight CNN.
  3. [32] creates three different derived input images from the original hazy image and fuses the dehazed results out of these derived inputs.
  4. [42] incorporates the physical model in Equation (1) into the network design and uses two sub-networks to regress the transmission map and atmospheric light respectively.
    [3, 31, 22, 24, 42, 44]、[5]整了視頻去霧

BR:記錄并不完整,邊閱讀邊整理吧~

3、Method

given a hazy input image, we first encode it into feature maps by the encoder part, then enhance them by aggregating more context information and fusing the features of different levels without downsampling. Specifically, the smoothed dilated convolution and an extra gate sub-network are leveraged. The enhanced feature maps will be finally decoded back to the original image space to get the target haze residue. By adding it onto the input hazy image, we will get the final haze free image.

BR:P3-4 介紹了方法實現的細節,有需要深入學習的時候再補充閱讀,當前只用知道每一個結構的效果,為什么這么設計就夠了。

3.1 數據集

1、以往方法創建有霧數據集的方式:用現有的有深度信息的數據集+物理退化模型合成有霧數據集

2、[23] 提出了圖像有霧的基準數據集:RESIDE——由深度和立體數據集合成的有霧圖像對構成的大規模數據集。

3.2 損失函數

使用殘差的均方誤差(MSE)損失就能達到 SOTA 效果

4、Thinking

1、按作者的說法對去霧去雨都有效,如果是這樣的話,它真的很強。

2、文章 AblationStudy 做得不到位,我暫時不能理解,1+3+3+1=8,而它只做了四組。√

3、在深度學習之前,大家對于不適定問題好像都是利用圖像先驗信息作為恢復約束來處理。我在想選擇走深度學習的路線,拋去前期數學/物理原理的路線導向到底是什么,它解決了問題但是否遠離真理了呢,是不是讓人更懶惰了呢?TBD

4、什么是 smooth dilated convolution?和原本的 dilated convolution 有什么不同?(P3)√

5、gated 的門控如何體現?(P3)√

6、基本理解了作者的整個結構框架和實驗邏輯,下一步任務就看代碼細節+調整輸入數據自行訓練吧(20231122)

5、讀圖環節

在這里插入圖片描述
1、網絡結構:編碼器(三個卷積塊)、聚合上下文信息+減少網格偽影(七個平滑膨脹卷積層)、解碼器(解卷積+兩個卷積塊)。

2、gated fusion:以膨脹卷積的低、中、高層特征為輸入,輸出相應的權重參數進行加權求和。

在這里插入圖片描述
1、數據集:the SOTS indoor dataset from RESIDE。

2、這里的定量分析是復現了七個實驗方法得出的嗎?如果是從原論文中摘取的數據可信度再打折扣。

在這里插入圖片描述
1、文章中作者說實驗證明使用 instance norm 比 batch norm 更適合,表格中看不出來,也就是正文和實驗邏輯不夠自洽。

2、進一步理解了 gated fusion 后明白了為什么 ablation analysis 不是 8 組,因為 gated fusion 實現的前提是有 smoothed dilation 層,因此可能性要減少兩種。但是為什么沒有只用了 smoothed dilation + instance norm 的組?

在這里插入圖片描述
1、能進行這個實驗很棒,是值得學習借鑒的。它直觀的對比同一張圖在不同算法中的性能效果,但是既然對比了,如果能將 PSNR、SSIM、耗時情況都寫下來,效果更佳。

2、文章沒有說算法的耗時情況,只說了利好自己的指標,是一種寫作手段,不利于后續研究對比及項目落地,不可取。


Additional

physical corruption model(物理退化模型)

I ( x ) = J ( x ) t ( x ) + A ( 1 ? t ( x ) ) \pmb{I}(x)=\pmb{J}(x)t(x)+\pmb{A}(1-t(x)) I(x)=J(x)t(x)+A(1?t(x))

I(x):the degraded hazy image 有霧圖

J(x) :the target haze-free scene radiance 真值圖

A:the global atmospheric light 大氣光

t(x):the medium transmission map, which is dependent on the unknown depth information. 介質透射/傳輸圖

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160732.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160732.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160732.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

丟掉破解版,官方免費了!!!

哈嘍!大家好。 幾天不見,今天給大家帶來一款海外的神器,官方宣布完全免費,但僅限于個人與教育用途,切勿商用噢! 不要看這個軟件名字普普通通,實際上內蘊乾坤! 接下來看我給大家炫一…

隊列的實現和OJ練習(c語言)

目錄 概念 隊列的實現 利用結構體存放隊列結構 為什么單鏈表不使用這種方法? 初始化隊列 小提示: 隊尾入隊列 隊頭出隊列 獲取隊頭元素 獲取隊尾元素 獲取隊列中有效元素個數 檢測隊列是否為空 銷毀隊列 最終代碼 循環隊列 隊列的OJ題 …

元素清空操作clear與選擇操作check

元素清空操作clear與選擇操作check clear() 作用 清空輸入框的所有內容.clear() 等價于 .type("{selectall}{backspace}") 語法 .clear() .clear(options)option選項 元素選中操作check與uncheck check 語法 // 所有匹配到的選擇框都會被選中一遍 .check()/…

CISP模擬考試(二)

免責聲明 文章僅做經驗分享用途,利用本文章所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,作者不為此承擔任何責任,一旦造成后果請自行承擔!!! 1.DDoS攻擊主要目的是: A.破壞完整性 B.破壞機密性 C.破壞可用性 D.破壞不可抵賴性 答案:…

三、防火墻-源NAT

學習防火墻之前,對路由交換應要有一定的認識 源NAT基本原理1.1.NAT No-PAT1.2.NAPT1.3.出接口地址方式(Easy IP)1.4.Smart NAT1.5.三元組 NAT1.6.多出口場景下的源NAT 總結延伸 ——————————————————————————————…

C語言prim算法求最小生成樹

Prim算法是一種用于尋找無向帶權圖的最小生成樹的算法。該算法的基本思想是從一個源點開始,逐步向外擴展生成樹,每次找到與當前生成樹最近的未被訪問的頂點,并將其加入到生成樹中,直到所有頂點都被加入到生成樹中為止。 具體來說…

部署你的第一個應用

🗓?實驗環境 OS名稱Microsoft Windows 11 家庭中文版系統類型x64-based PCDocker版本Docker version 24.0.6, build ed223bcminikube版本v1.32.0 🤓FastAPI 構建應用 #基于fastapi快速創建一個項目 rkun1LAPTOP-TUS5FU0D MINGW64 / $ mkdir k8s-appr…

1688 API接口測試指南

本文為您提供1688 API接口的測試指南。我們將介紹1688 API的基本概念,詳解測試步驟,并為您提供一系列的最佳實踐,以確保您在與1688平臺進行API交互時能夠獲得最佳的效果和穩定性。 一、了解1688 API 1688 API是1688平臺為開發者提供的一套用…

數學建模之擬合及其代碼

發現新天地,歡迎訪問Cr不是鉻的個人網站 引言 與插值問題不同,在擬合問題中不需要曲線一定經過給定的點。擬合問題的目標是尋求一個函數(曲線),使得該曲線在某種準則下與所有的數據點最為接近,即曲線擬合…

基于跳蛛算法優化概率神經網絡PNN的分類預測 - 附代碼

基于跳蛛算法優化概率神經網絡PNN的分類預測 - 附代碼 文章目錄 基于跳蛛算法優化概率神經網絡PNN的分類預測 - 附代碼1.PNN網絡概述2.變壓器故障診街系統相關背景2.1 模型建立 3.基于跳蛛優化的PNN網絡5.測試結果6.參考文獻7.Matlab代碼 摘要:針對PNN神經網絡的光滑…

7_畫圖常用代碼

plt.figure(dpi200) # 設置 dpi 為 200(可以根據需要調整這個值)

數據結構學習筆記——多維數組、矩陣與廣義表

目錄 一、多維數組(一)數組的定義(二)二維數組(三)多維數組的存儲(四)多維數組的下標的相關計算 二、矩陣(一)特殊矩陣和稀疏矩陣(二)…

從權限跳轉看Activity的data android:scheme

在應用申請懸浮窗權限的時候,可以跳轉到相應的設置界面,并且自動切換到應用的條目,高亮顯示一下, android懸浮窗權限怎么申請 在Android中,要申請懸浮窗權限,需要以下步驟: 在 AndroidManifes…

hp惠普Victus Gaming Laptop 15-fa1025TX/fa1005tx原裝出廠Win11系統ISO鏡像

光影精靈9筆記本電腦原廠W11系統22H2恢復出廠時開箱狀態一模一樣 適用型號:15-fa1003TX,15-fa1005TX,15-fa1007TX,15-fa1025TX 鏈接:https://pan.baidu.com/s/1fBPjed1bhOS_crGIo2tP1w?pwduzvz 提取碼&#xff1a…

每天一道算法題(十一)——滑動窗口最大值_困難(中等)

文章目錄 1、問題2、示例3、解決方法(1)方法1——雙指針 總結 1、問題 給你一個整數數組 nums,有一個大小為 k 的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口內的 k 個數字。滑動窗口每次只向右移動一位。 返回 滑動窗…

c++ 函數的申明

1 一個cpp中 兩種情況 1.1 定義 使用 1.2 聲明 使用 定義 2 按 定義 后 直接使用的順序 不用 聲明 函數 #include <iostream> using namespace std;int max(int a, int b) {int max a>b?a:b;return max; }int main() {int a 1;int b 2;cout << max(a, b…

解決vue中引入天地圖顯示不全問題,設置setTimeout即可解決!

index.html中引入天地圖api <script type"text/javascript" src"https://api.tianditu.gov.cn/api?v4.0&tk你的key"></script>map.vue中初始化天地圖 //初始化天地圖 initTMap() {const T window.T;// 3.初始化地圖對象this.tMap new…

flink1.13.6版本的應用程序(maven版)

問題 想要一個指定flink版本的java計算任務hello world最簡工程。 解決 mvn archetype:generate \-DarchetypeGroupIdorg.apache.flink \-DarchetypeArtifactIdflink-quickstart-java \-DarchetypeVersion1.13.6這里直接使用官方mave模版工程&#xff0c;指…

系統架構設計:13 論基于構件的軟件開發

論基于構件的軟件開發 軟件系統的復雜性不斷增長、軟件人員的頻繁流動和軟件行業的激烈竟爭迫使軟件企業提高軟件質量、積累和固化知識財富,并盡可能地縮短軟件產品的開發周期。 集軟件復用、分布式對象計算、企業級應用開發等技術為一體的“基于構件的軟件開發”應運而生,…

LeetCode 2304. 網格中的最小路徑代價:DP

【LetMeFly】2304.網格中的最小路徑代價&#xff1a;DP 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/minimum-path-cost-in-a-grid/ 給你一個下標從 0 開始的整數矩陣 grid &#xff0c;矩陣大小為 m x n &#xff0c;由從 0 到 m * n - 1 的不同整數組成。你可以…