本文主要讲解如何使用预训练的卷积神经网络AlexNet生成Deep Dream图像

2015年Google发布了一个比较有意思的东西,Deep Dream,关于Deep Dream,可参考查看如下文章

Sherlock:一文理解Deep Dream

Google 开发的 Deep Dream 是如何用算法作画的?

Deep Dream是深度学习的一种特征可视化技术,能够生成强烈激活网络层的图像。通过可视化Deep Dream图像,可以突出显示深层网络学习到的图像特征,这些图像特征对于理解和调试网络非常有用

本文使用MATLAB的Neural Network Toolbox™, Neural Network Toolbox Model for AlexNet Network 来生成Deep Dream图像。

加载预训练网络

加载预训练的AlexNet 网络。如果Neural Network Toolbox Model _for AlexNet Network_没有安装,则MATLAB会提供下载链接。

net = alexnet;

生成图像

选择最后一个全连接层。首先查看网络层

net.Layers

ans =

25x1 Layer array with layers:

1 'data' Image Input 227x227x3 images with 'zerocenter' normalization
2 'conv1' Convolution 96 11x11x3 convolutions with stride [4 4] and padding [0 0 0 0]
3 'relu1' ReLU ReLU
4 'norm1' Cross Channel Normalization cross channel normalization with 5 channels per element
5 'pool1' Max Pooling 3x3 max pooling with stride [2 2] and padding [0 0 0 0]
6 'conv2' Convolution 256 5x5x48 convolutions with stride [1 1] and padding [2 2 2 2]
7 'relu2' ReLU ReLU
8 'norm2' Cross Channel Normalization cross channel normalization with 5 channels per element
9 'pool2' Max Pooling 3x3 max pooling with stride [2 2] and padding [0 0 0 0]
10 'conv3' Convolution 384 3x3x256 convolutions with stride [1 1] and padding [1 1 1 1]
11 'relu3' ReLU ReLU
12 'conv4' Convolution 384 3x3x192 convolutions with stride [1 1] and padding [1 1 1 1]
13 'relu4' ReLU ReLU
14 'conv5' Convolution 256 3x3x192 convolutions with stride [1 1] and padding [1 1 1 1]
15 'relu5' ReLU ReLU
16 'pool5' Max Pooling 3x3 max pooling with stride [2 2] and padding [0 0 0 0]
17 'fc6' Fully Connected 4096 fully connected layer
18 'relu6' ReLU ReLU
19 'drop6' Dropout 50% dropout
20 'fc7' Fully Connected 4096 fully connected layer
21 'relu7' ReLU ReLU
22 'drop7' Dropout 50% dropout
23 'fc8' Fully Connected 1000 fully connected layer
24 'prob' Softmax softmax
25 'output' Classification Output crossentropyex with 'tench', 'goldfish', and 998 other classes

全连接层为第23层

layer = 23;

通过设置channels选择要可视化的类

channels = [9 188 231 563 855 975];

类名存储在输出层的ClassNames属性中

net.Layers(end).ClassNames(channels)ans =6×1 cell array{'hen'              }{'Yorkshire terrier'}{'Shetland sheepdog'}{'fountain'         }{'theater curtain'  }{'geyser'           }

使用deepDreamImage函数生成图像

I = deepDreamImage(net,layer,channels);

显示图像

figure
montage(I)

生成更加细节的图像

增加所谓的“金字塔级别”(pyramid levels)的数量和每个pyramid levels的迭代次数可以生成更加细节的图像。

将迭代次数设置为100,强烈激活“hen”类别(通道 9)

设置pyramid levels为4

levels = 4;

强烈激活“pot”类(通道 739)

详细代码

https://mianbaoduo.com/o/bread/Y5malZxp

MATLAB环境下基于AlexNet网络的Deep Dream图像生成相关推荐

  1. matlab 图像矢量量化,MATLAB环境下基于矢量量化的说话人识别系统(1)

    第21卷第6期湖 北 工 业 大 学 学 报2006年12月 Vol.21No.6 Journal of Hubei Univer sity of Technology Dec.2006 [收稿日期] ...

  2. Deep Dream图像生成案例实践

    Deep Dream图像生成案例实践: 按课程案例,生成DeepDream图像. 提交要求: 1.你认为按评分标准能得分最高的一次带运行结果的源代码文件(.ipynb 格式) 2.作为附件上传 评分标 ...

  3. 自动驾驶之-MATLAB环境下基于深度学习的目标检测(停车标志检测)

    深度学习,一个大号的,现代的,黑箱的,信号/图像处理器,本文程序运行环境为MATLAB R2018A. 本文简要讲解如何使用深度学习(R-CNN网络)来训练一个停车标志检测器.R-CNN是一种目标检测 ...

  4. MATLAB环境下基于电机电流特征分析的齿轮故障检测

    做多了基于机器学习和深度学习的机械故障诊断,感觉没意思了,换个口味,写一下基于现代信号处理的齿轮故障检测.本例来源于Mathworks公司的某一个大佬,主要讲解如何利用电机的电流信号识别齿轮系中的故障 ...

  5. MATLAB环境下基于包络谱和谱峭度的一维振动信号分析

    依旧是信号处理相关的东西,本文再次讲解如何应用包络谱和谱峭度分析一维振动信号进而诊断轴承故障,运行环境为MATLAB R2021B. 面包多第三方代码:

  6. MATLAB环境下基于深度学习的JPEG图像去块(Image Deblocking)

    之前主要研究现代信号处理,深度学习嘛,一个大号/深层的,现代的,黑箱的,信号/图像处理器,所以,作为一个研究现代信号处理的,顺便搞些深度学习也是顺理成章的.本文程序运行环境为MATLAB R2018A ...

  7. MATLAB环境下基于振动信号的轴承状态监测和故障诊断

    做多了基于机器学习和深度学习的机械故障诊断,感觉实在没意思,换个口味,写一下基于现代信号处理的轴承状态监测和故障诊断.本文主要讲解如何从滚动轴承的振动信号中提取特征.进行状态监测和故障诊断. 完整代码 ...

  8. MATLAB环境下基于迁移学习的滚动轴承故障诊断

    这篇文章主要讲解一下如果迁移学习对滚动轴承进行故障诊断,但是文中所用的微调预训练的 SqueezeNet 卷积神经网络是自然图像训练出来的,与轴承故障诊断中所使用的时频谱图相距甚远,虽然分类精度较高, ...

  9. 可持续5G环境下基于机器学习的网络分片框架

    Machine Learning-Based Network Sub-Slicing Framework in a Sustainable 5G Environment 5G环境下的物联网框架 5G切 ...

最新文章

  1. VMware Identity Manager 与CAS, Keycloak的集成
  2. 机器人防火墙:人机识别在应用安全及风控领域的一点实践
  3. 什么是 SAP HANA XS JavaScript
  4. 光纤收发器不同品牌之间的兼容性互通
  5. android5.1.1移植教程,iTOP4412开发板Android5.1.1移植教程
  6. Hive(6)-DML数据操作
  7. 华为、三星都崴了脚:石墨烯充电还有戏吗
  8. html的document操作
  9. OkHttp RouteSelector代理解析
  10. 基于HTML5的WebGL结合Box2DJS物理应用 1
  11. Android:BaseAdapter简单应用
  12. 超频导致声卡不能正常使用
  13. FPGA | PYNQ-Z2使用语音播报模块
  14. 「程序猿 DD」星球活动第一期,将在 7 月 9 日晚 20:00 整开放!
  15. 基于dragonboard 410c的智能魔镜设计(7)——UI原型设计
  16. 用什么c语言语句直接跳出if,C语言中怎样跳出if语句
  17. Flutter调用JSON序列化出现type ‘String‘ is not a subtype of type ‘MapString, dynamic‘
  18. Python 预测孩子身高
  19. rpc error: code = Unavailable desc = connection error: desc = “transport: Error while dialing readin
  20. CVPR 2022 Oral | 人大高瓴AI学院提出:面向动态视音场景的问答学习机制

热门文章

  1. ctfshow web入门 php特性
  2. Ashampoo.UnInstaller.5.v5.00-TE
  3. 证件身份证识别设备SDK
  4. 会员卡管理系统c语言代码,路西牌会员管理系统。
  5. 编程界神级人物聚于这里,带你领略什么叫聪明的脑袋不长毛
  6. 数字电路基础与Quartus-II入门之——安装Quartus-II软件和Modelsim仿真软件
  7. Python破解WiFi密码Demo
  8. 2920集五福_2020年支付宝集五福攻略之6张特殊福字爆敬业福和全家福
  9. 人工智能之机器学习-逻辑回归、回归(Regression)-Pytorch快速实现
  10. 唤醒手腕 - 微信小程序、QQ小程序、抖音小程序学习笔记(更新中)