dncnn(残差网络图像去燥记录)

2023-05-16

一,生成训练数据

1,原文相关知识

we use the noisy images from a wide range of noise levels (e.g., σ ∈ [0,55])  to train a single DnCNN model。

blind Gaussian denoising, SISR, and JPEG deblocking

.the noisy image is generated by adding Gaussian noise with a certain noise level from the range of [0,55]. The SISR input is generated by first bicubic downsampling and then bicubic upsampling the highresolution image with downscaling factors 2, 3 and 4. The JPEG deblocking input is generated by compressing the image with a quality factor ranging from 5 to 99 using the MATLAB JPEG encoder. All these images are treated as the inputs to a single DnCNN model. Totally, we generate 128×8,000 image patch (the size is 50 × 50) pairs for training. Rotation/flip based operations on the patch pairs are used during mini-batch learning. 

图片大小及数量:we follow [16] to use 400 images of size 180 × 180 for training。 

The noise levels are also set into the range of [0,55] and 128×3,000 patches of size 50×50 are cropped to train the model.

——————————————————————————————————————————————————————

For increasing the training set, we segment these images to overlapping patches of size 50×50 with stride of 10. 

 

 

 

 

 

二,模型构建

1,模型知识

网络层数:

we set the size of convolutional filters to be 3 × 3 but remove all pooling layers

the receptive field of DnCNN with depth of d should be (2d+1)×(2d+1). 

high noise level usually requires larger effective patch size to capture more context information for restoration

Thus, for Gaussian denoising with a certain noise level, we set the receptive field size of DnCNN to 35 × 35 with the corresponding depth of 17. For other general image denoising tasks, we adopt a larger receptive field and set the depth to be 20.

输出代价函数:

具体结构:

Deep Architecture:

Given the DnCNN with depth D, there are three types of layers, shown in Fig. 1 with three different colors. (i) Conv+ReLU: for the first layer, 64 filters of size 3×3×c are used to generate 64 feature maps, and rectified linear units (ReLU, max(0,·)) are then utilized for nonlinearity. Here c represents the number of image channels, i.e., c = 1 for gray image and c = 3 for color image. (ii) Conv+BN+ReLU: for layers 2 ∼ (D −1), 64 filters of size 3 × 3 × 64 are used, and batch normalization [21] is added between convolution and ReLU. (iii) Conv: for the last layer, c filters of size 3×3×64 are used to reconstruct the output. 

padding:

Different from the above methods, we directly pad zeros 

———————————————————————————————————————————————————————

batch normalization当时没有封装好的包,看最新的去燥论文并没有采用batch normalization。因此对模型换坑,采用最新的2018年的图像处理模型。接下来参考2018论文Adaptive Residual Networks for High-Quality Image Restoration

 

 

 

 

三,训练记录

采用学习率0.01直接导致网络训练死,后采用leak-relu网络不会学死。

采用0.0001学习率,1000轮最后loss达到0.0008。效果不理想。认为是使用学习率下降模块,学习率下降过快导致,因此采用固定学习率。

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dncnn(残差网络图像去燥记录) 的相关文章

  • C++中vector容器的使用方式和函数调用

    include lt vector gt vector是一种顺序容器 xff0c 和数组差不多但是比数组更优越 xff0c 数组不支持动态扩展但vector容器支持动态拓展因此vector不存在浪费内存 和越界的问题 xff0c 随机访问比
  • Jetson tx2(JetPack 4.4)配置pytorch环境

    下载pytorch 下载pytorch1 7 xff1a 我的系统是JetPack4 4 xff0c 要求pytorch gt 61 1 7 安装pytorch span class token function sudo span spa
  • Zynq Cache问题的解决方法

    在进行PS PL之间的DMA传输时 xff0c 不可避免会遇到Cache问题 今天在这里讲一下Cache的解决方法 其中参考了forums xilinx com的处理方法 首先解释为什么DMA会引入Cache问题 xff08 专业名称为Ca
  • Python网络爬虫之-HTTP协议原理

    Python网络爬虫之 HTTP协议原理 1 爬虫之http基本原理2 浏览器解析概述Cookie技术 1 爬虫之http基本原理 URI 统一资源表示符 中包含 URL lt 统一资源定位符 gt URN lt 统一资源名称 gt HTT
  • Java的大端小端字节序

    在计算机中 xff0c 内存地址通常是按照地址递增的方式分配的 xff0c 也就是说 xff0c 低地址是指内存的起始位置 xff0c 高地址是指内存的末尾位置 在大多数体系结构中 xff0c 数据存储在内存中是以字节为单位进行的 例如 x
  • DSP28335 printf重定向问题调试记录

    最近几天在玩DSP28335板子 xff0c 在实现printf重定向功能时 xff0c 遇到很多问题 xff0c 最终结合网上一些人的经验和个人实践 xff0c 最终解决了问题 本文做一个简单的总结 xff0c 以便后续查阅 同时也是希望
  • C++ 绝对路径与相对路径

    对于一些第三方的SDK xff0c 一般会包含头文件 h xff0c 静态库文件 lib 和动态库文件 dll 文件位置 xff1a 为了提高程序的可移植性 xff0c 将第三库放在解决方案 sln 或者工程 vcxproj 文件所在的文件
  • C/C++ 函数与指针取地址符

    int f1 float int f2 char int f3 float int f4 float int pf float 则以下不合法的是 int p float 61 amp f1 pf 61 amp f4 pf 61 amp f2
  • C/C++编程异常处理中try和throw以及catch语句的用法

    这篇文章主要介绍了C 43 43 编程异常处理中try和throw以及catch语句的用法 包括对Catch块的计算方式的介绍 若要在 C 43 43 中实现异常处理 xff0c 你可以使用 try throw 和 catch 表达式 首先
  • c/c++中的string常用函数用法总结

    标准c 43 43 中string类函数介绍 注意不是CString 之所以抛弃char 的字符串而选用C 43 43 标准程序库中的string类 xff0c 是因为他和前者比较起来 xff0c 不必 担心内存是否足够 字符串长度等等 x
  • Convolutional Pose Machines

    本论文将 深度学习 应用于人体姿态分析 xff0c 同时用卷积图层表达纹理信息和空间信息 目前在2016年的 MPII竞赛中名列前茅 作者在github提供了 训练和测试源码 convolutional pose machines CVPR
  • OpenCV学习—01:矩阵的掩膜操作

    一 获取图像的像素指针 CV Assert srcImg depth 61 61 CV 8U Mat ptr lt uchar gt int i 61 0 获取像素矩阵的指针 xff0c 索引i表示第几行 xff0c 从0开始计数 获取当前
  • OpenCV学习—02:记录程序的运行时间

    首先 xff0c 我的电脑配置 xff1a VS2013 43 Opencv3 1 0 43 Win 64bit 有时 xff0c 我们想知道要程序一共运行了多长时间 xff0c 这个很常用 xff0c 也很简单 xff0c 仅仅需要两个函
  • OpenCV学习—03:Mat对象

    Mat对象与IplImage对象 Mat对象是OpenCV2 0之后引进的数据结构 自动分配内存 不存在内存泄漏的问题 xff0c 是面向对象的数据结构 IplImage是从2001年OpenCV发布之后就一直存在的 xff0c 是C语言风
  • 无刷电机桨叶正反桨区别

    无刷电机桨叶正反桨区别 桨叶平放面对自己 xff0c 左高右低为反桨 xff0c 反之为正桨cw xff1a 反桨ccw xff1a 正桨作用 xff1a 为了抵消单个螺旋桨的反扭矩 xff0c 所以每个桨的旋转方向是不一样的
  • matlab的mac版本注释快捷键

    注释 xff1a command 43 取消注释 xff1a command 43 T
  • matlab polyfit和polyval函数的使用

    Matlab polyfit和polyval函数的使用 pp 61 polyfit t p n 多项式拟合 n为拟合的阶数 py 61 polyval pp t 求出多项式的值
  • 谷歌浏览器网页缩放

    谷歌浏览器网页缩放 win xff1a Ctrl 43 43 或者 mac xff1a command 43 43 或者
  • mac系统传统映像必须转换解决方法

    mac系统传统映像必须转换解决方法 步骤一 xff1a 打开电脑自带的 磁盘工具 步骤二 xff1a 选择映像 gt 转换即可

随机推荐

  • ubuntu18.04 command not found: catkin_init_workspace

    使用catkin init workspace命令报错 xff1a command not found catkin init workspace 使用以下命令解决 xff1a source opt ros kinetic setup ba
  • intel realsense D400系列相机介绍(一)

    文章目录 intel realsense D42 intel realsense D400介绍2 3 立体视觉深度技术概述2 4 摄像机系统框图2 5 英特尔Intel RealSense 深度模块D400系列产品2 6 英特尔Intel
  • 宏定义(无参,有参,宏函数)(详细介绍)

    以符号 开头的命令 xff0c 如 xff1a span class token macro property span class token directive keyword define span N 10 span span cl
  • intel realsense 深度视野范围与模组硬件说明

    文章目录 4 4 距离 xff08 Z xff09 处的深度视场4 5 无效深度带4 6 最小测量深度4 7 深度质量规范4 8 深度起点 xff08 地面零点参考 xff09 4 8 1 深度原点X Y坐标 7 2 视觉处理器D4板外形7
  • jetson nano GPIO控制说明

    文章目录 一 GPIO介绍二 安装GPIO库python库C 43 43 库 三 几种常用的通信协议UARTPWMI2CI2SSPI 四 控制函数说明python xff08 参考 https pypi org project Jetson
  • jetson nano系统引导安装(无外设安装方式)

    文章目录 一 硬件设置二 系统设置 一 硬件设置 插入烧写好系统的SD卡将micro USB线接到jetson nano上 xff0c 另一端USB A接到电脑上为jetson nano插入电源 xff0c 开机等待电脑检测到如下盘符说明j
  • C中数据类型占用内存的大小

    数据类型表示存储何种类型的数据 xff0c 从内存来看 xff0c 就是占用的内存大小 C标准并未明确规定各数据类型占用多少字节的存储空间 各数据类型的内存大小与操作系统位数 编译器有关 xff0c 可以在代码中使用sizeof 进行查询
  • Linux与Windows文件系统互访

    1 概述 在软件开发过程中 xff0c 常涉及到Windows环境与Linux环境之间的切换 xff0c 实现代码的实时同步能有效提高工作效率 CIFS协议介绍 Common Internet File System CIFS xff0c
  • SDK、API、MDK、RTK有关系吗?到底是什么东西呢?

    SDK 软件开发工具包 缩写 SDK 外语全称 Software Development Kit 一般都是一些软件工程师为特定的软件包 软件框架 硬件平台 操作系统等建立应用软件时的开发工具的集合 软件开发工具包括广义上指辅助开发某一类软件
  • 大疆M3508电机使用CAN通信进行速度PID闭环控制详解

    目录 一 简介二 电机通信协议三 电机PID控制原理四 官方代码移植 中断接收五 官方代码移植 查询接收 一 简介 之前写过一篇文章STM32实现四驱小车 xff08 五 xff09 电机控制任务 电机速度PID控制算法 xff0c 其中是
  • 大疆M3508电机位置与速度PID控制及自编上位机调参

    目录 一 简介二 电机位置 速度 电流三闭环PID控制原理三 STM32实现位置 速度控制 xff08 一 xff09 电机数据接收 xff08 二 xff09 一些全局变量 xff08 三 xff09 电机PID初始化与位置 速度PID计
  • 相机内参与外参学习记录与理解

    1内参 内参 xff1a 在小孔成像模型中有一个光点P xff0c 其将光以直线的方式穿过纸板的小孔 光心 xff09 xff0c 射到显示纸板 xff08 物理成像平面 xff09 上 xff0c 其坐标系结构如下图所示 而内参的作用即是
  • 现代颜色技术原理及应用学习记录

    感谢CRFX下面分享的书 第一章
  • 【计算机网络】常见的HTTP报文头部信息

    常见的HTTP报文头部信息 HTTP首部字段根据实际用途被分为以下4种类型 1 通用首部 通用首部字段 xff08 General Header Fields xff09 请求报文和响应报文两方都会使用的首部 Cache Control x
  • imagenet 数据集读取数据速度记录

    电脑配置是固态硬盘 xff0c i7cpu xff0c 不进行计算 xff0c 只读数据 xff0c 不做数据增广 xff0c 只做resize 只看不赞不文明 xff0c 这是大约花费两天时间测试结果 目录 xff1a 1 xff0c 最
  • c++调python踩坑日志

    目录 import array 报错 矩阵互相转换 include numpy相关vs2019配置 数组太长报错 import array 报错 参考 xff1a https blog csdn net weixin 40232401 ar
  • pytorch 半精度训练

    必坑记录 这种训练直接变成nan了结果 实验结果 前者采用正常训练 后者改进为 from torch cuda amp import autocast as autocast 实验发现从一epoch44秒 xff0c 减少为35秒 但是训练
  • earth mover‘s distances学习记录

    https zhuanlan zhihu com p 145739750 后面的感觉没讲清楚 一开始我没想清楚 xff0c 为什么可以把问题转换成线性规划问题 问题转换一下 xff0c 一个工厂有A xff0c B xff0c C三个仓库
  • A Tutorial on Energy-Based Learning(机器学习能量模型)学习记录

    1 Introduction 其中Y是标签 X是输入 基于能量的机器学习模型即是寻找这样一个函数 和输入数据越接近 能量越小 给定一个输入 最好的模型即是对应的Y的值是真实值 这个真实值的能量是最小的 此模型可以做的工作有 预测 Ranki
  • dncnn(残差网络图像去燥记录)

    一 xff0c 生成训练数据 1 xff0c 原文相关知识 we use the noisy images from a wide range of noise levels e g 0 55 to train a single DnCNN