1、内容简介


501-可以交流、咨询、答疑

2、内容说明

clear
clc
close all
digitDatasetPath = './high_change_gray/';
imds = imageDatastore(digitDatasetPath, ...'IncludeSubfolders',true, ...'LabelSource','foldernames');
%%
imds.ReadSize = 8;
rng(0)
imds = shuffle(imds);
[imdsTrain,imdsVal,imdsTest] = splitEachLabel(imds,0.9,0.05);
dsTrainNoisy = transform(imdsTrain,@addNoiseS);
dsValNoisy = transform(imdsVal,@addNoiseS);
dsTestNoisy = transform(imdsTest,@addNoiseS);
dsTrain = combine(dsTrainNoisy,imdsTrain);
dsVal = combine(dsValNoisy,imdsVal);
dsTest = combine(dsTestNoisy,imdsTest);
%%=
dsTrain = transform(dsTrain,@Preprocess);
dsVal = transform(dsVal,@Preprocess);
dsTest = transform(dsTest,@Preprocess);
dsTrain = transform(dsTrain,@augmentImages);%%=
exampleData = preview(dsTrain);
inputs = exampleData(:,1);
responses = exampleData(:,2);
minibatch = cat(2,inputs,responses);
figure
montage(minibatch','Size',[8 2])
title('输入 (左边) 和 输出 (右边)')%%
imageLayer = imageInputLayer([400,400,1]);
% 下采样
encodingLayers = [ ...convolution2dLayer(3,64,'Padding','same'), ...reluLayer, ...maxPooling2dLayer(2,'Padding','same','Stride',2), ...convolution2dLayer(3,32,'Padding','same'), ...reluLayer, ...maxPooling2dLayer(2,'Padding','same','Stride',2)];
% 上采样
decodingLayers = [ ...UpsampleConvLayer(2,32), ...reluLayer, ...UpsampleConvLayer(2,64), ...reluLayer, ...convolution2dLayer(3,1,'Padding','same'), ...clippedReluLayer(0.9), ...regressionLayer];    layers = [imageLayer,encodingLayers,decodingLayers];options = trainingOptions('adam', ...'MaxEpochs',10, ...'MiniBatchSize',6, ...'ValidationData',dsVal, ...'Shuffle','every-epoch', ...'Plots','training-progress', ...'Verbose',false)
%%
% load("net1.mat")
net = trainNetwork(dsTrain,layers,options);
%%
% options = trainingOptions('ExecutionEnvironment','cpu');
ypred = predict(net,dsTest,'ExecutionEnvironment','cpu');
size(ypred)
inputImageExamples = preview(dsTest);
for num = 1:8figuremontage({inputImageExamples{num},ypred(:,:,:,num)});imwrite(inputImageExamples{num},FILENAME)
end
%%
imds1 = imageDatastore("./pic", ...'IncludeSubfolders',true, ...'LabelSource','foldernames');
ypred = predict(net,imds1, 'ExecutionEnvironment','cpu');
%%
num = 3;
a = inputImageExamples{num};
b = ypred(:,:,:,num);
figure
montage({a, b});
title('origin')
temp = single(b);
temp = imresize(temp,[400,400]);
temp = rescale(temp);
figure
montage({a, temp});
title('augment')
% imwrite(inputImageExamples{num},'./3_origin.jpg')
% imwrite(ypred(:,:,:,num),'./3_predict.jpg')

3、仿真分析

4、参考论文

matlab 深度学习黑暗图片画质增强相关推荐

  1. 深度学习中图片数据增强方法

    简 介: 在深度学习中需要对图像进行不同的处理.本文对比了基于Numpy以及Paddle.vision.transforms函数中对于图片处理的效果. 关键词: 图像预处理,cv2,paddle #m ...

  2. (转)Matlab深度学习工具试玩手册一:基本操作与迁移学习

    原贴博客:https://blog.csdn.net/zfrycw/article/details/80633979 目录 前言 一.利用现成网络进行分类 二.构建简单的分类网络 三.迁移学习 前言 ...

  3. 【技术综述】深度学习中的数据增强(下)

    文章首发于微信公众号<有三AI> [技术综述]深度学习中的数据增强(下) 今天带来深度学习中的数据增强方法的下篇.我们将从以下几个方向入手.1,介绍一下什么是无监督的数据增强方法.2,简单 ...

  4. [综述类] 一文道尽深度学习中的数据增强方法(上)

    今天带来一次有关于深度学习中的数据增强方法的分享. 00 什么是数据增强 在深度学习项目中,寻找数据花费了相当多的时间.但在很多实际的项目中,我们难以找到充足的数据来完成任务. 为了要保证完美地完成项 ...

  5. 深度学习为图片压缩算法赋能:节省55%带宽

    本文来自图鸭科技团队的投稿,他们用深度学习技术设计.优化图片压缩算法,在保证图像画质的情况下能节省55%带宽.本文将介绍实现方法及测试对比. 随着互联网的发展,人们对高清图片的需求也在不断增加,在保证 ...

  6. gan 总结 数据增强_深度学习中的数据增强(下)

    言有三 毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人 编辑 | 言有三 今天带来深度学习中的数据增强方法的下篇.我们将从以下几个方向入手.1,介绍一下什么是无监督的数据增强方法.2,简单 ...

  7. MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步

    MATLAB深度学习(1) --- 想要做好深度学习?数据集是第一步 创作目的 项目简介 本期重点---数据集构建 本文所使用数据集简介 用table来搭建训练集 总结 创作目的 大家好,这里是微信公 ...

  8. Matlab深度学习-手写体数字识别

    Matlab深度学习 文章目录 Matlab深度学习 前言 一.MNIST手写体数字数据 二.用到的深度学习框架-LeNet5 2-0 LeNet5的网络架构 2-1 框架实现-通过Matlab GU ...

  9. 【MATLAB深度学习工具箱】学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的数据结构】

    原文链接如下 [MATLAB深度学习工具箱]学习笔记--体脂估计Body Fat Estimation_bear_miao的博客-CSDN博客介绍本示例展示一个函数拟合神经网络如何根据解剖学测量结果估 ...

最新文章

  1. 清理系统盘遇到的问题
  2. 为什么计算机系统安全具有整体性质,操作系统全局性质的形式化描述和验证
  3. 计算机进制简称,NO.A.0007——二进制;计算机容量单位B、KB、MB、GB和TB关系
  4. VMware内虚拟机自适应及最大化窗口调整方式
  5. Django Python Web应用程序框架简介
  6. 使用dlib 进行人脸识别
  7. android studio 中怎么写aspectj代码,AndroidStudio中 AspectJ 基础使用 简介
  8. php输出带尖括号的内容
  9. OpenGL ES之GLSurfaceView学习一:介绍
  10. Layui-select 修复搜索之后上下键的bug
  11. echart 中国地图 带effectScatter和lines
  12. 在Unity3D中控制动画播放
  13. goole服务框架Android ID,GSF ID KEY(谷歌服務框架ID)作爲Android設備唯一標識符
  14. 微信 speex 高清语音文件转MP3
  15. 在MySQL中实现交叉表查询2(动态交叉表)
  16. 非常规方法彻底删除System Volume Information.exe
  17. Chrome 扩展插件:如何开始一个插件的开发
  18. 家电企业如何利用APS生产排产应对市场变化调整生产?
  19. 关于BP神经网络模型的学习思考
  20. 让人疑惑的STM32F4F7芯片

热门文章

  1. qq音乐专辑封面 api
  2. C++11 - std::shared_ptr初始化的几种方式
  3. vector 数组的用法
  4. 桌面图标上有个白框解决方案
  5. 中兴交换机查收光_广西中兴ZXR10 5250-52TS-L仅售2500元-中兴 ZXR10 5250-52TS-L_交换机行情...
  6. -ftime-trace(clang)
  7. 人工智能--贪婪算法(启发式搜索)
  8. 淘宝天猫商家运营,店铺如何抓住消费者心理做活动促销
  9. 戴尔刀片服务器型号,戴尔 PowerEdge M640 刀片式服务器:服务器 | Dell 中国大陆
  10. r5 5600g和i5 12400f哪个好 锐龙r55600g和酷睿i512400f对比