【图像去模糊】Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring论文笔记

2023-11-04

一.论文概述

  • 一般因动态场景造成的非均匀模糊是图像去模糊中一个具有挑战性的问题,这类模糊由相机抖动、场景深度以及多个对象运动造成。
  • 消除这类复杂运动模糊,传统的基于简单假设的方法不在适用
  • 在本文中,作者提出了一种多尺度卷积神经网络,以端到端的方式恢复由多种原因造成的模糊图像,作者还提出了多尺度损失函数来模拟传统的由"粗糙到精细"的方法。
  • 此外,作者还提出了一个新的大规模数据集(仅由模糊和清晰图像对组成),通过该数据集对新提出的模型进行训练,通过实验表明,作者的方法不仅在质量上而且在数量上都使得动态场景去模糊取得最新的性能。

二.论文提出的背景

  • 在估计清晰图像前,得到模糊核是很有必要的。但是核估计通常涉及如下几点问题:
    1.假设简单的核卷积并不能解决复杂的模糊问题。
    2.核估计过程对噪声和饱和度较敏感,除非是精心设计的模糊模型。
    3.估计的模糊核不正确会导致清晰图像存在伪影。
    4.为动态场景中的每个像素寻找空间变化的核需要大量的计算和内存。

基于以上核估计出现的问题,作者在新数据集的生成和去模糊的过程中采用了无核(“kernel-free”,后面就简称无核)的方法。在对清晰图像进行估计时,不假设模糊源(我认为就是模糊核),仅在模糊和清晰的图像对上训练模型。因此,作者提出的方法在去模糊时不会产生与核相关的问题。

三.论文中提出的网络模型

大多数采用由"粗糙到精细"方法的网络使用单个输入和输出。在作者提出的模型中,由更粗糙的尺度特征辅助更精细的尺度图像去模糊,而为了在保留精细级别信息的同时更充分地利用粗糙和中级特征信息,作者的网络的输入和输出都采用了高斯金字塔形式。

3.1 网络的Building Block

  • 除了多尺度框架,作者将稍微修改的残差结构作为模型的Building block。这里采用残差结构除了老生常谈的使用残差结构可以实现更深层次的架构,解决网络退化问题外,还有一个重要的不常见的原因,作者给出的解释是:由于模糊和清晰的图像对在像素值上是相似的,因此让参数仅学习差异是有效的。
    如下图所示,为作者使用的修改后的残差结构与原始残差结构对比:
    在这里插入图片描述
    注释:
    1.(a)为原始残差结构,(b)为修改后的残差结构,本文中的ResBlock。
    2.修改的残差结构中,删除了BN层,因为作者使用的批处理为2的小批量训练。
    3.删除了输出之前的ReLU激活函数,增加了训练时的收敛速度。

3.2 网络的整体框架

如下图所示,为网络的整体框架:
在这里插入图片描述

注释:

  • 原文中有一词"the coarsest level network",翻译过来就是最粗糙级网络。我理解为作者将总模型划分为了三个单个模型,分别处理不同分辨率的图像,处理最粗糙图像的模型就是这里所谓的最粗糙级网络。
  • 在原文中也说了共划分三个分辨率分别是64 * 64,128 * 128以及256 * 256
  • 从下往上看,网络最开始输入的是最粗糙的图像,这里的单个模型也就是最粗糙级网络。第一个卷积层将分辨率为64*64的输入图像转换为64个特征图(即卷积核个数为64),然后堆叠19个ResBlock,最后通过卷积层将特征图转换为输入的维数,并产生最粗糙的潜在清晰图像。
  • 产生的最粗糙的潜在清晰图像的信息会被传递到更精细级的网络作为输入,当然该信息要经过上卷积层的处理以匹配下一个更精细级的网络的输入大小。
  • 为什么要采用上卷积层处理,(改变大小的方法还有上采样法和图像resize等)作者也给了一定的解释:由于清晰和模糊的图像块共享低频信息,学习上卷积层的合适特征有助于消除冗余。而通过实验也确实证明了使用上卷积层的性能确实比上采样更好。
  • 单个模型总共有40个卷积层,所以总模型具有120个卷积层(我在上图中已经给了推导),各单个模型的结构基本相同,除第一个模型(最粗糙级网络)外,其他模型的第一个卷积层都采用串联的方式将前一阶段获得的清晰特征作为输入。

3.3 损失函数

在优化网络参数的过程中,作者将两个损失的组合在一起进行训练,分别是多尺度内容损失和对抗性损失。

3.3.1 多尺度内容损失

多尺度内容损失定义如下:
在这里插入图片描述

3.3.2 对抗性损失

对抗性损失定义如下:
在这里插入图片描述
注释:

  • D表示鉴别器,G表示生成器,也就是作者提出的多尺度去模糊网络。其中,生成器的结构如下图所示:

    鉴别器的结构示意图,每一个卷积层的激活函数都是LeakyReLU激活函数
  • 当训练时,生成器模块尝试去最小化对抗性损失,而鉴别器模块尝试去最大化对抗性损失。

最后,通过组合多尺度内容损失和对抗性损失,联合训练生成网络和鉴别网络。因此,最终的损失定义如下:
L total  = L cont  + λ × L a d v \mathcal{L}_{\text {total }}=\mathcal{L}_{\text {cont }}+\lambda \times \mathcal{L}_{a d v} Ltotal =Lcont +λ×Ladv
其中权重常数 λ = 1 × 10−4。

四.实验部分

作者在不同数据集上进行了实验,以证明提出模型的性能

4.1 GOPRO 数据集

  • 测试数据由1111个模糊和清晰图像对组成,大约占据整个数据集的1/3。
  • 作者将自己提出的模型与当时最新的技术进行了定量和定性的比较。
  • 正如在本文第二部分所说的一样,由于作者提出的是无核的方法,因此,作者的结果没有那些核估计相关的问题,而其他方法可能会由于运动边缘或非线性形状的模糊区域导致去模糊效果不好,等等。
  • 下表对比显示了作者提出的模型和当时最新方法的比较:
    在这里插入图片描述
    其中k表示尺度等级

4.2 Kohler 数据集

  • Kohler 数据集由4个清晰潜像和12个不同的模糊图像组成。
  • 下表对比显示了作者提出的模型和当时最新方法的比较:
    在这里插入图片描述
    当K = 3时,作者的模型在PSNR方面的结果最好,而当K = 2时,模型的MSSIM结果最好。

4.3 Lai等人的数据集

  • 在该数据集下,作者直接给出了模型的定性比较结果,如下图所示:

在这里插入图片描述
通过上下图的对比,可以看出作者提出的模型去模糊效果更加好。

五.总结

  1. 作者通过无核的方法,来避免那些核估计相关的问题。
  2. 所提出的模型遵循从粗糙到精细的方法,并在多尺度空间中训练。
  3. 提出了一个新的数据集:GOPRO 数据集,实现了有效的监督学习和严格的评估。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【图像去模糊】Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring论文笔记 的相关文章

  • 深度学习图像处理之VGG网络模型 (超级详细)

    VGG介绍 由牛津大学著名研究所VGG提出 斩获该年ImageNet竞赛中Localization Task 定位任务 第一名和Classification Task 分类任务 第二名 VGG网络的配置 VGG 16是许多模型中的主干网络
  • AOI的实际应用

    使用AOI检测LED固晶焊线的支架产品 产品结构 使用远心光学镜头 高分辨率 高景深 低畸变以及独有的平行光设计等 被测元件清晰成像 且无斜视 保证不良检出 1 缺陷检测原理 通过模板匹配法 这是一种基本的识别方法 研究某一特定对象物的图案
  • c#图像几何特征匹配

    using System using System Collections Generic using System Linq using System Text using System Threading Tasks using Ope
  • windows8.1 vs2015 dlib库cpu 版本编译以及应用 library is 90, caller expects 80

    近期由于要做一个关于人脸计数的项目 因此对dlib库进行了编译和使用 其中遇到了不少问题 下面请听我一一道来 第一步 从dlib官网下载dlib源码 链接地址 https github com davisking dlib 第二步 采用cm
  • Qt创建一个自定义按钮

    1 概述 案例 编写一个自定义按钮 要求 1 给按钮添加自定义背景 2 监听按钮点击事件 2 代码案例 1 创建一个类让其继承QWidget 点击下一步下一步最后完成 2 打开MyPushButton 让其继承QPushButton 如下所
  • matlab中 hold on 与 hold off,figure作用

    hold on是当前轴及图像保持而不被刷新 准备接受此后将绘制的图形 多图共存 即启动图形保持功能 当前坐标轴和图形都将保持 从此绘制的图形都将添加在这个图形的基础上 并自动调整坐标轴的范围 hold off使当前轴及图像不再具备被刷新的性
  • 图像处理 --- 一、认识图像处理

    声明 本系列文档由学习哔站视频总结而得 后续会逐渐添加相对应的示例代码 python 1 什么是图像与图像处理 百闻不如一见 图像是客观对象的一种相似性的 生动性的描述或写真 是人类社会活动中最常用的信息载体 或者说图像是客观对象的一种表示
  • 辐射强度、辐亮度、辐照度——一文搞定

    先写定义 上图是从网上看到的并重写的 其中我们最容易混淆的就是辐射强度 辐亮度 辐照度的关系 如果我们没有接触专业领域 那么我们可能接触最多的就是辐射强度 而这种现象是不对的 因为我们一般考虑的均为这光好强呀 照得屋里特别亮 这里的光亮 我
  • python批量处理

    python opencv图像二值化批量处理 from skimage import data dir io transform color filters import numpy as np import cv2 def convert
  • 图像处理_Ostu算法(大律法、最大类间方差法)

    一 算法简述 Otsu算法是一种用于二值化最佳阈值的选取方法 基本原理是根据阈值T将图像中的像素点分为C1和C2两类 不断的调整阈值T之后若此时两类之间存在最大的类间方差 那么此阈值即是最佳阈值 二 算法理论 1 基础公式 1 2 3
  • 使用python实现简单全连接神经网络

    最近在学习神经网络的相关知识 特在此做一个笔记 python语言的功能很强大 可以使用很少的代码实现很多功能 因此大家如果想研究深度学习的话 一定要懂得python语言 这篇笔记记录我的第一次使用python编写神经网络代码的过程 其中代码
  • 最大似然估计【MLE】与最大后验概率【MAP】

    最大似然估计 Maximum likelihood estimation 简称MLE 和最大后验概率估计 Maximum a posteriori estimation 简称MAP 是很常用的两种参数估计方法 如果不理解这两种方法的思路 很
  • 【Python-利用动态二维码传输文件(二)】实现文件二进制读取、利用base64编码把文件拆分成多张二维码、重组拆分后的文件并验证。

    为了使用二维码传输文件 上一篇文章已经实现了获取信息存入二维码并打印 由于单个二维码存储的信息量是有限的 而且文件一般也比较大 所以必须把文件先进行拆分 拆分后一块一块信息存入多张二维码中 最后通过图像识别 把所有二维码信息准确读取后再重新
  • 【matlab图像处理笔记2】【图像变换】(一)图像的算术运算与几何变换、图像插值算法

    文章目录 前言 图像的算术运算 图像相加 图像差分 图像乘法 图像除法 图像的线性组合 图像的几何变换 图像平移 图片镜像 图片转置 图像旋转 图像缩放 图像插值算法 最近邻插值算法 双线性插值算法 单线性插值 双线性插值 双三次插值算法
  • 九宫格人车识别

    一 原理 通过霍夫检测圆的个数来识别小人位置 二 过程 1 二值图像 2 去掉宫格内容 便于分割 3 对二值图填补 减少纹理 4 分割九宫格 依次检测每个宫格中圆个数 5 最终显示小人所在宫格图片 在img6 jpg中 详细程序运行结果 三
  • 【OpenCV】车辆识别 C++ OpenCV 原理介绍 + 案例实现

    目录 前言 一 图像处理 二值化处理 膨胀 腐蚀 开运算 闭运算 二 案例实现 Step1 灰度处理 Step2 对视频进行帧差处理 Step3 二值化处理 Step4 腐蚀处理 Step5 膨胀处理 Step6 标记 框选目标 完整代码
  • 无监督低照度图像增强网络ZeroDCE和SCI介绍

    目录 简介 Zero DCE 算法介绍 模型代码 无监督loss介绍 小结 Self Calibrated Illumination SCI 模型介绍 无监督loss介绍 小结 总结 简介 当前有较多深度学习的方法来做图像效果增强 但多数都
  • EPI distortion correction形变矫正, eddy, fieldmap等五种不同方法

    EPI distortion correction形变矫正 1 topup eddy 2 fieldmap eddy 2 1 对mag做去脑壳 2 2 基于去过脑壳的mag 1volume bet nii gz数据 对fieldmap进行预
  • pil_openvcv_scikit-image_tensorflow四种读图方式对比

    文章目录 1 四种不同的库读取jpg图显示 2 评估所读图片的差异 3 简单说明有差异原因 4 同样的流程对png图片进行处理 5 png图片转jpg 5 1 使用PIL进行转换 5 2 使用Opencv进行转换 5 3 使用Tensorf
  • 【图像压缩】QOI图像格式详解

    最近听说一种图像格式比较流行 想起我曾经是做图像压缩的emmmm 就来研究一下 QOI Quite OK Image Format 很好的图像格式 git链接 能快速地无损压缩图像 原理也非常简单 没有各种变换 直接空域处理 而无损压缩 自

随机推荐

  • ajax请求图片_带你完成第一个爬虫,简单爬取百度图片

    大家好 我是润森 什么是爬虫 网络爬虫 又被称为网页蜘蛛 网络机器人 在FOAF社区中间 更经常的称为网页追逐者 是一种按照一定的规则 自动地抓取万维网信息的程序或者脚本 另外一些不常使用的名字还有蚂蚁 自动索引 模拟程序或者蠕虫 来源 百
  • 华为数据之道

    由华为董事 质量与流程IT总裁 CIO陶景文 作序推荐 华为质量与流程IT 华为云 华为大学 联合出品 总结华为公司数据治理 数字化转型方面的实践经验 从技术 流程 管理等多个维度系统讲解华为数据治理和数字化转型的著作 华为是一家超大型企业
  • CTFHub

    0x00 前言 CTFHub 专注网络安全 信息安全 白帽子技术的在线学习 实训平台 提供优质的赛事及学习服务 拥有完善的题目环境及配套 writeup 降低 CTF 学习入门门槛 快速帮助选手成长 跟随主流比赛潮流 0x01 题目描述 过
  • QDockWidget详解(二)

    上次在 QDockWidget详解文章中介绍了一些有关QDockWidget的基础用法 今天继续来讲QDockWidget的用法 自定义标题栏 如果不想使用QDockWidget自带的标题栏 那么可以通过 void QDockWidget
  • 阿里云原生大数据计算服务maxcompute学习体验

    这两天有兴趣学习了下阿里的maxcompute大数据 随便谈谈自己的感受 一 感受 阿里云相关的产品线太多了 热门产品一页已经放不下了 正因为东西太多给人一种杂乱的感觉 也可能这是给技术人员用的 所以不用太讲客户体验 反正给我的体验就不太好
  • 五、数据仓库详细介绍(建模)实践篇

    1 数仓建模在数仓建设过程中的位置 这张截图源自之前从 0 到 1 建设数据仓库的经验总结 采用的是瀑布模式的展现方式 但实际操作中经常会使用螺旋迭代模式 因为很难有人能够一步到位的考虑清楚所有细节 通过业务调研我们熟悉了相关业务过程 需求
  • 2023-Python实现巨潮资讯网数据采集

    目录 1 目标网址 2 接口分析调试 3 代码实现 学习记录 巨潮资讯网数据采集 1 目标网址 网页 深证信数据服务平台 巨潮资讯 gt 网行情中心 网页 http webapi cninfo com cn marketDataDate 数
  • 寒假小复习5

    插入排序 public class Insert public static void main String args int nums 12 4 6 2 66 1 4 for int i 1 i lt nums length i int
  • 【华为OD机试 python】新员工座位安排系统【 2023 Q1 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 工位由序列F1 F2 Fn组成 Fi值为0 1或2 其中0代表空置 1代表有人 2代表障碍物 1 某一空位的友好度为左右连续老员工数之和 2 为
  • vue3 element-plus 表格中必填项展示的星号的前后位置设置

    情况一 必填项的星号在前面 情况图片展示 实现方法 直接使用表单规则校验来实现 注意 规则校验一定要绑定prop 代码展示 html
  • Scrapy入门

    文章目录 Scrapy入门 1 目标 2 准备工作 3 创建项目 4 创建 Spider 5 创建 Item 6 解析 Response 7 使用Item 8 后续Request 9 运行 10 保存到文件 11 使用Item Pipeli
  • filebeat+kafka简单使用

    filebeat6 3 1 kafka1 1 0简单使用 前提 kafka1 1 0版本集群搭建和常用命令 下载 下载页面 https www elastic co cn downloads past releases filebeat 6
  • Java语言开发在线新闻推荐网 新闻推荐系统 基于用户、物品的协同过滤推荐算法 环球日报新闻爬虫 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、机器学习、人工智能开发

    Java语言开发在线新闻推荐网 新闻推荐系统 基于用户 物品的协同过滤推荐算法 环球日报新闻爬虫 SSM Spring SpringMVC Mybatis 开发框架 大数据 机器学习 人工智能开发NewsRecommendOnline 一
  • 图像/视频超分之降质过程

    点击上方 计算机视觉工坊 选择 星标 干货第一时间送达 图像 视频超分领域近期并无突破性的方法出现 故近期计划将图像 视频超分相关方法进行一次综述性汇总 计划从不同点出发对图像 视频超分进行一次 反思 之旅 本文是该旅程的第一站 图像降质过
  • 【入侵检测】5.27quiz

    入侵检测 5 27 课上quiz1 3 今天两门课上一共发了4个quiz 属实难顶 quiz1 quiz1是对XTP文件的信息内容进行读取查找 找到相应的flag信息 题目 请输入Linux XTP文件中包含的Flag信息 直接将文件 li
  • 在 Windows 下搭建 Appium + Android 自动化测试环境

    前言 本来并不打算写这么一篇文章 但是实践下来发现网上的各种教程里大致有两个问题 一是文章有些跟不上时代 目前android开发和测试的技术更新都比较快 内容有些过期 二是细节部分不是太完整 拼拼凑凑也能完成 但对新手来说就比较痛苦 那么
  • 【带限制的完全背包】Educational Codeforces Round 133 (Rated for Div. 2) D. Chip Move

    题意 给定 n n n 和 k k k 初始步长为 k k k 每次可以走
  • 逆向python生成的可执行文件

    先安装pyinstaller pip install pyinstaller i https pypi douban com simpl 写一个简单的脚本 print hello world pyinstaller基本用法 常用的可选参数如
  • (纯干货,看完不懂你找我)Python+Pytest+Allure+Git+Jenkins接口自动化框架

    Python Pytest Allure Git Jenkins接口自动化框架 一 接口基础 二 项目说明 四 项目功能 五 代码设计与功能说明 六 后期优化 七 感想 一 接口基础 接口测试是对系统和组件之间的接口进行测试 主要是效验数据
  • 【图像去模糊】Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring论文笔记

    一 论文概述 一般因动态场景造成的非均匀模糊是图像去模糊中一个具有挑战性的问题 这类模糊由相机抖动 场景深度以及多个对象运动造成 消除这类复杂运动模糊 传统的基于简单假设的方法不在适用 在本文中 作者提出了一种多尺度卷积神经网络 以端到端的