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()/…

三、防火墙-源NAT

学习防火墙之前,对路由交换应要有一定的认识 源NAT基本原理1.1.NAT No-PAT1.2.NAPT1.3.出接口地址方式(Easy IP)1.4.Smart NAT1.5.三元组 NAT1.6.多出口场景下的源NAT 总结延伸 ——————————————————————————————…

部署你的第一个应用

🗓️实验环境 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…

数学建模之拟合及其代码

发现新天地,欢迎访问Cr不是铬的个人网站 引言 与插值问题不同,在拟合问题中不需要曲线一定经过给定的点。拟合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合…

基于跳蛛算法优化概率神经网络PNN的分类预测 - 附代码

基于跳蛛算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于跳蛛算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于跳蛛优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

数据结构学习笔记——多维数组、矩阵与广义表

目录 一、多维数组(一)数组的定义(二)二维数组(三)多维数组的存储(四)多维数组的下标的相关计算 二、矩阵(一)特殊矩阵和稀疏矩阵(二)…

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…

解决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…

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

redis五种基本数据类型

redis存储任何类型的数据都是以key-value形式保存&#xff0c;并且所有的key都是字符串&#xff0c;所以讨论基础数据结构都是基于value的数据类型 常见的5种数据类型是&#xff1a;String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的类型&#xff0c;v…

地图导航测试用例,你get了吗?

地图导航是我们经常使用的工具&#xff0c;能帮助我们指引前进的方向。 接下来&#xff0c;会从功能测试、UI测试、兼容测试、安全测试、网络测试、性能测试、易用性测试、文档和国际化语言测试8个方面来编写地图导航测试用例。 一 功能测试 输入起点和终点&#xff0c;验证…

优先级队列(priority_queue)

文章目录 优先级队列的定义定义&#xff1a;接口头文件优先队列和堆的关系使用&#xff1a;排序的规则容器 仿函数应用 队列存指针问题&#xff1a; 优先级队列的定义 定义&#xff1a; 黄色部分是仿函数 接口 头文件 这里不需要包含其他的头文件只需要使用队列的头文件就可以…

LeetCode算法题解(动态规划)|LeetCode343. 整数拆分、LeetCode96. 不同的二叉搜索树

一、LeetCode343. 整数拆分 题目链接&#xff1a;343. 整数拆分 题目描述&#xff1a; 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入…

​极氪,中国传统汽车品牌电动化的样板间

这篇文章早就想写了&#xff0c;因为太忙的原因就一直跳票&#xff0c;正好最近两件事的出现&#xff0c;又触发了想写这篇文章的冲动。 两件事主要是&#xff1a; 一&#xff0c;10 月份各家陆续公布了单月销量以及累计销量&#xff1b; 二&#xff0c;极氪在北京正式发布了 …

【GUI】-- 10 贪吃蛇小游戏之静态面板绘制

GUI编程 04 贪吃蛇小游戏 4.1 第一步&#xff1a;先绘制一个静态的面板 首先&#xff0c;需要新建两个类&#xff0c;一个StartGame类作为游戏的主启动类&#xff1b;一个GamePanel类作为游戏的面板类。此外&#xff0c;再新建一个Data类作为数据中心(存放了小蛇各部分图像的…

微信朋友圈全新玩法,轻松互动,引爆你的社交圈

随着社交媒体的普及&#xff0c;越来越多的人开始利用朋友圈来展示自己的生活和与朋友互动。而在这个数字时代&#xff0c;定时发圈、跟圈和朋友圈互动已经成为了一种社交习惯。本文将介绍这些功能的概念和一键转发朋友圈的实现方法。 什么是定时发圈、跟圈、朋友圈互动和一键转…

Embedding技术与应用(4): Embedding应用工程探析

编者按&#xff1a;随着互联网内容数量的急剧增长&#xff0c;个性化推荐已成为各大科技公司的核心竞争力之一。那么&#xff0c;如何构建一个可靠、高效的基于嵌入技术的推荐系统&#xff0c;使其能够在实际生产环境中正常运行呢&#xff1f;这是所有从业者都关心的问题。 本文…

git的实验:cherry-pick,github对比代码的两种方式

某个commit&#xff0c;比如 c1&#xff0c;&#xff0c;最早是在a分支做的&#xff0c;当被cherry-pick到b分之后&#xff0c;还是一样的revision吗&#xff1f; 实验1&#xff1a;c1被cherry-pick到别的分支后&#xff0c;revision不变对吗&#xff1f;&#xff08;答案是变…