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(1t(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.mzph.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 的不同整数组成。你可以…