AlexeyAB DarkNet YOLOv3框架解析与应用实践(四)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(四)
Nightmare
从前,在一所大学的大楼里,西蒙尼亚、维达第和齐瑟曼有一个很好的主意,几乎和你现在坐的大楼完全不同。他们想,嘿,我们一直在向前运行这些神经网络,它们工作得很好,为什么不也向后运行呢?这样我们就能知道电脑在想什么。。。
由此产生的图像是如此恐怖,如此怪异,以至于他们的尖叫声可以听到一路坦普顿。

许多研究人员已经扩大了他们的工作范围,包括谷歌一篇广为人知的博客文章。 这是我抄袭那些抄袭那些有好主意的人。
与Darknet做恶梦
如果没有安装Darknet,请先安装!我们将使用VGG-16预训练模型来做噩梦。但是,我们不需要整个模型,只需要卷积层,所以我们可以使用vgg-conv.cfg文件(应该已经在cfg/子目录中有了这个文件)。你需要在这里下载预训练重量(57MB)。
现在我们可以生成您在第一段中看到的尖叫图像:
./darknet nightmare cfg/vgg-conv.cfg vgg-conv.weights data/scream.jpg 10
命令分解如下:首先是可执行的子例程,./darknet nightmare,然后是配置文件和权重文件cfg/vgg-conv.cfg vgg-conv.weights。最后,我们得到了要修改的图像和要瞄准的配置文件层data/scream.jpg 10。
这可能需要一段时间,特别是如果您只使用CPU。在我的机器上大约需要15分钟。我强烈建议让CUDA更快地产生噩梦。启用CUDA后,在泰坦X上大约需要7秒。
你可以尝试较低的层次,以获得更艺术的感觉:
./darknet nightmare cfg/vgg-conv.cfg vgg-conv.weights data/dog.jpg 7

或者用更高的层次来获得更复杂的紧急行为:
./darknet nightmare cfg/vgg-conv.cfg vgg-conv.weights data/eagle.jpg 13

Special Options
你可能会注意到你的尖叫家伙看起来和我的不太一样。那是因为我有一些特别的选择!我实际使用的命令是:
./darknet nightmare cfg/vgg-conv.cfg vgg-conv.weights \
data/scream.jpg 10 -range 3 -iters 20 -rate .01 -rounds 4
Darknet在连续的回合中生成图像,上一轮的输出将进入下一轮。每一轮的图像也被写入磁盘。每一轮由若干次迭代组成。在每次迭代中,Darknet都会对图像进行修改,以在一定比例上增强选定的层。音阶是从一组八度音阶中随机选取的。该层是从一系列可能的层中随机选择的。修改此过程的命令包括:
--rounds n:更改轮数(默认为1)。多轮意味着生成的图像越多,通常对原始图像的更改也越多。
-iters n:更改每轮的迭代次数(默认为10)。更多的迭代意味着每轮图像的更多更改。
-range n:更改可能图层的范围(默认值1)。如果设置为1,则每次迭代时仅选择给定层。否则,一个层将在比范围内随机选择(例如10-范围3将在层9-11之间选择)。
-八度音阶n:更改可能的音阶数(默认为4)。在一个倍频程下,只检查全尺寸图像。每增加一个八度音阶,图像就会增加一个更小的版本(前一个八度音阶的3/4大小)。
-rate x:更改图像的学习速率(默认值为.05)。越高意味着每次迭代对图像的更改越多,但也有一些不稳定性和不精确性。
-thresh x:更改要放大的特征的阈值(默认值为1.0)。在目标层中,仅放大偏离平均值超过x个标准差的特征。较高的阈值意味着放大的特征较少。
-zoom x:更改每一轮后应用于图像的缩放(默认为1.0)。您可以选择添加放大(x<1)或缩小(x>1)以在每一轮后应用于图像。
-rotate x:更改每一轮后应用的旋转(默认为0.0)。每轮后可选旋转。
A Smaller Model
VGG-16是一个非常大的模型,如果内存不足,请尝试使用这个模型!
cfg文件在cfg/子目录中(或者这里),您可以下载权重(72mb)。
./darknet nightmare cfg/jnet-conv.cfg jnet-conv.weights \
data/yo.jpg 11 -rounds 4 -range 3

Comparison With Deep Dream and GoogleNet
这些例子使用VGG-16网络。虽然古格伦似乎专注于狗和蛞蝓,但VGG喜欢生产獾,一种啮齿动物和猴子之间的奇怪杂交:

VGG也没有GoogleNet所拥有的本地响应规范化层。因此,它的梦魇经常被彩色的星光暴过度饱和。

AlexeyAB DarkNet YOLOv3框架解析与应用实践(四)的更多相关文章
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(六)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(六) 1. Tiny Darknet 听过很多人谈论SqueezeNet. SqueezeNet很酷,但它只是优化参数计数.当大多数高 ...
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(五)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(五) RNNs in Darknet 递归神经网络是表示随时间变化的数据的强大模型.为了更好地介绍RNNs,我强烈推荐Andrej K ...
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(三)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(三) ImageNet分类 您可以使用Darknet为1000级ImageNet挑战赛分类图像.如果你还没有安装Darknet,你应该 ...
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(二)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(二) 版本3有什么新功能? YOLOv3使用了一些技巧来改进训练和提高性能,包括:多尺度预测.更好的主干分类器等等.全部细节都在我们的 ...
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(一)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(一) Darknet: C语言中的开源神经网络 Darknet是一个用C和CUDA编写的开源神经网络框架.它速度快,易于安装,支持C ...
- mybatis 3.x源码深度解析与最佳实践(最完整原创)
mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...
- iScroll框架解析——Android 设备页面内 div(容器,非页面)overflow:scroll; 失效解决(转)
移动平台的活,兼容问题超多,今儿又遇到一个.客户要求在弹出层容器内显示内容,但内容条数过多,容器显示滚动条.按说是So easy,容器设死宽.高,CSS加属性 overflow:scroll; -we ...
- nodejs 实践:express 最佳实践(四) express-session 解析
nodejs 实践:express 最佳实践(四) express-session 解析 nodejs 发展很快,从 npm 上面的包托管数量就可以看出来.不过从另一方面来看,也是反映了 nodejs ...
- .NET Core 多框架支持(net45+netstandard20)实践中遇到的一些问题总结
.NET Core 多框架支持(net45+netstandard20)实践中遇到的一些问题总结 前言 本文主要是关于.NET Standard 代码 在多框架 和 多平台 支持自己实践过程中遇到的一 ...
随机推荐
- 基于dalvik模式下的Xposed Hook开发的某加固脱壳工具
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77966109 这段时间好好的学习了一下Android加固相关的知识和流程也大致把A ...
- Linux中常见的150个命令(干货)
目录 线上查询及帮助命令 文件和目录操作命令 查看文件和内容处理命令 文件压缩及解压缩命令 信息显示命令 搜索文件命令 进程管理相关命令 用户管理命令 基础网络操作命令 深入网络操作命令 有关磁盘与文 ...
- 我为Dexposed续一秒——论ART上运行时 Method AOP实现
转载于:http://weishu.me/2017/11/23/dexposed-on-art/ 两年前阿里开源了 Dexposed 项目,它能够在Dalvik上无侵入地实现运行时方法拦截,正如其介绍 ...
- POJ1988(带权并查集,搬砖块)
题意: 可以这样理解,有n快方形积木,一开始都是单独的放到哪,然后有两种操作 1 M a b 把a所在的那一堆落到b所在那一堆的上面(一开始自己是一堆) 2 C a 问a下面有多少个积木 ...
- Python数模笔记-Sklearn(1) 介绍
1.SKlearn 是什么 Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包. Sklearn 主要用Python编写,建立在 Numpy.Scipy.Pa ...
- CentOS安装Redis报错[server.o] Error 1
原因 准备安装的Redis服务版本为6.0.8, gcc的版本为4.8.5,可能是gcc版本过低到导致的 解决办法 安装低版本Redis或者安装高版本gcc
- PHP + JQuery 实现多图上传并预览
简述 PHP + JQuery实现 前台:将图片进行base64编码,使用ajax实现上传 后台:将base64进行解码,存储至文件夹,将文件名称入库 效果图 功能实现 html <!DOCTY ...
- 一、jmeter基础介绍及http请求取样器
jmeter的下载安装这里不再赘述,百度都有, 1.jmeter是以线程的方式来运行的:2.通过非GUI运行对负载机的资源消耗更小:3.控制机.负载机 安装JDK时jdk路径与jmeter路径避免有中 ...
- 接口测试原理及Postman详解
接口测试定义 接口是前后端沟通的桥梁,是数据传输的通道,包括外部接口.内部接口.内部接口又包括:上层服务与下层服务接口,同级接口 生活中常见接口:电脑上的键盘.USB接口,电梯按钮,KFC下单 接口测 ...
- Django(2)python虚拟环境virtualenvwrapper
python虚拟环境 虚拟环境(virtual environment),它是一个虚拟化,从电脑独立开辟出来的环境.通俗的来讲,虚拟环境就是借助虚拟机来把一部分内容独立出来,我们把这部分独立出来的东西 ...