- 博客(41)
- 资源 (1)
- 收藏
- 关注
转载 Fast R-CNN论文详解
&创新点规避R-CNN中冗余的特征提取操作,只对整张图像全区域进行一次特征提取;用RoI pooling层取代最后一层max pooling层,同时引入建议框信息,提取相应建议框特征;Fast R-CNN网络末尾采用并行的不同的全连接层,可同时输出分类结果和窗口回归结果,实现了end-to-end的多任务训练【建议框提取除外】,也不需要额外的特征存储空间【R
2016-12-29 00:22:28 672
转载 Caffe学习系列(17):模型各层数据和参数可视化
cifar10的各层数据和参数可视化 先用caffe对cifar10进行训练,将训练的结果模型进行保存,得到一个caffemodel,然后从测试图片中选出一张进行测试,并进行可视化。In [1]:#加载必要的库import numpy as npimport matplotlib.pyplot as plt%matplotl
2016-12-29 00:05:05 941
转载 Faster rcnn相关文章研究
一、效果简介1 多类目标检测,基于VOC2012数据集 MAC :The number of adds andmultiplications mAP:Mean average precision GPU:NVIDIA Titan X 我们目前的人脸检测模型是:Faster R-CNN + VGG_CNN_M_10
2016-12-29 00:04:41 586
转载 【目标检测大集合】R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记转自:https://ask.julyedu.com/question/7490R-FCNpaper:https://arxiv.org/abs/1605.06409作者代码:https://github.com/daijifeng001/R-FCN #matlab版本这里使用pyt
2016-12-29 00:04:23 6478 2
转载 在matlab中实现PCA算法
function [V,S,E]=princa(X)[m,n]=size(X); %计算矩阵的行m和列n %-------------第一步:标准化矩阵-----------------%mv=mean(X); %计算各变量的均值st=std(X); %计算各变量的标准差X=(X-repmat(mv,m,1))./repmat(st,m,1); %标准化矩阵X %-
2016-12-29 00:04:07 5398 2
转载 利用matlab求图像均值和方差的几种方法
一、求均值% 求一副灰度图像的均值close all;clear;clc;i=imread('d:/lena.jpg'); %载入真彩色图像i=rgb2gray(i); %转换为灰度图i=double(i); %将uint8型转换为double型,否则不能计算统计量% avg1=mean(i,1); %列向量均值% avg2=mean(i,2); %行向量均值% a
2016-12-29 00:03:50 47653
转载 Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model。这个model将图片分为1000类,应该是目前为止最好的图片分类model了。假设我现在有一些自己的图片想进行分类,但样本量太小,可能只有几百张,而一般深度学习都要求样本量在1万以上,因此训练出来的model精度太低,根本用不上,那怎么办呢?那就用caffe团队提供给我们的model吧。因为训练好的m
2016-12-29 00:03:32 1429
转载 Caffe学习系列(22):caffe图形化操作工具digits运行实例
经过前面的操作,我们就把数据准备好了。一、训练一个model右击右边Models模块的” Images" 按钮 ,选择“classification"在打开页面右下角可以看到,系统提供了一个caffe model,分别为LeNet, AlexNet, GoogLeNet, 如果使用这三个模型,则所有参数都已经设置好了,就不用再设置了。在下面,系统为我们列举出了本机所带的显卡,我
2016-12-29 00:03:24 447
转载 Caffe学习系列(21):caffe图形化操作工具digits的安装与运行
经过前面一系列的学习,我们基本上学会了如何在linux下运行caffe程序,也学会了如何用python接口进行数据及参数的可视化。如果还没有学会的,请自行细细阅读: caffe学习系列:http://www.cnblogs.com/denny402/tag/caffe/也许有人会觉得比较复杂。确实,对于一个使用惯了windows视窗操作的用户来说,各种命令就要了人命,甚至会非常抵触命令
2016-12-29 00:03:15 356
转载 Caffe学习系列(20):用训练好的caffemodel来进行分类
caffe程序自带有一张小猫图片,存放路径为caffe根目录下的 examples/images/cat.jpg, 如果我们想用一个训练好的caffemodel来对这张图片进行分类,那该怎么办呢? 如果不用这张小猫图片,换一张别的图片,又该怎么办呢?如果学会了小猫图片的分类,那么换成其它图片,程序实际上是一样的。开发caffe的贾大牛团队,利用imagenet图片和caffenet模型训练好了
2016-12-29 00:03:06 438
转载 Caffe学习系列(19): 绘制loss和accuracy曲线
如同前几篇的可视化,这里采用的也是jupyter notebook来进行曲线绘制。 In [1]:#加载必要的库import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport sys,os,caffe#设置当前目录caffe_root = '/home/bnu/c
2016-12-29 00:03:00 448
转载 Caffe学习系列(18): 绘制网络模型
python/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。在绘制之前,需要先安装两个库1、安装GraphViz# sudo apt-get install GraphViz注意,这里用的是apt-get来安装,而不是pip.2 、安装pydot# sudo pip install pydot
2016-12-29 00:02:51 322
转载 Caffe学习系列(16):caffemodel可视化
通过前面的学习,我们已经能够正常训练各种数据了。设置好solver.prototxt后,我们可以把训练好的模型保存起来,如lenet_iter_10000.caffemodel。 训练多少次就自动保存一下,这个是通过snapshot进行设置的,保存文件的路径及文件名前缀是由snapshot_prefix来设定的。这个文件里面存放的就是各层的参数,即net.params,里面没有数据(net.blo
2016-12-28 21:01:30 732
转载 Caffe学习系列(15):计算图片数据的均值
图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。一、二进制格式的均值计算caffe中使用的均值数据格式是binaryproto, 作者为我们提供了一个计算均值的文件compute_
2016-12-28 21:01:18 569
转载 Caffe学习系列(14):初识数据可视化
首先将caffe的根目录作为当前目录,然后加载caffe程序自带的小猫图片,并显示。图片大小为360x480,三通道In [1]:import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport caffecaffe_root='/home/xxx/caffe/'im
2016-12-28 21:00:50 468
转载 Caffe学习系列(13):数据可视化环境(python接口)配置 jupyter notebook
caffe程序是由c++语言写的,本身是不带数据可视化功能的。只能借助其它的库或接口,如opencv, python或matlab。大部分人使用python接口来进行可视化,因为python出了个比较强大的东西:ipython notebook, 现在的最新版本改名叫jupyter notebook,它能将python代码搬到浏览器上去执行,以富文本方式显示,使得整个工作可以以笔记的形式展现、存储
2016-12-28 21:00:33 3029
转载 Caffe学习系列(12):训练和测试自己的图片
学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中。因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程。一、准备数据有条件的同学,可以去imagenet的官网http://www.image-net.org/download-images,下载imagenet图片来训练。但是我没有下载,一个原因是注册账号的时候,验证码始终出不来(
2016-12-28 20:59:53 360
转载 Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件
在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件?在caffe中,作者为我们提供了这样一个文件:convert_imageset.cpp,存
2016-12-28 20:59:27 236
转载 Caffe学习系列(10):命令行解析
caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在这个文件夹内。经过编译后,这些文件都
2016-12-28 20:59:08 251
转载 Caffe学习系列(9):运行caffe自带的两个简单例子
为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了。注意:在caffe中运行所有程序,都必须在根目录下进行,否则会出错1、mnist实例mnist是一个手写数字库,由DL大牛Yan LeCun进行维护。mnist最初用于支票上的手写数字识别, 现在
2016-12-28 20:58:53 400
转载 Caffe学习系列(8):solver优化方法
上文提到,到目前为止,caffe总共提供了六种优化方法:Stochastic Gradient Descent (type: "SGD"),AdaDelta (type: "AdaDelta"),Adaptive Gradient (type: "AdaGrad"),Adam (type: "Adam"),Nesterov’s Accelerated Gradient (type: "Ne
2016-12-28 20:58:41 245
转载 Caffe学习系列(7):solver及其配置
solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为# caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有解析解,我们需要通过优化方法来求解。solver的主要作用就是交替调用前向(forward)
2016-12-28 20:58:17 257
转载 Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写
深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描述了信息是如何存储的,以及如何在层之间通讯的。1、blobBlobs封装了运行时的数据信息,
2016-12-28 20:58:07 270
转载 Caffe学习系列(5):其它常用层及参数
本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置。1、softmax-losssoftmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算的是类别的概率(Likelihood),是Logistic Regression 的一种推广。Logist
2016-12-28 20:57:47 240
转载 Caffe学习系列(4):激活层(Activiation Layers)及参数
在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。输入:n*c*h*w输出:n*c*h*w常用的激活函数有sigmoid, tanh,relu等,下面分别介绍。1、Sigmoid对每个输入数据,利用sig
2016-12-28 20:57:30 237
转载 Caffe学习系列(3):视觉层(Vision Layers)及参数
所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数本文只讲解视觉层(Vision Layers)的参数,视觉层包括Convolution, Pooling, Local Response Normalization (LRN), im2col等层。1、Convolution层:
2016-12-28 20:57:26 338
转载 Caffe学习系列(2):数据层及参数
要运行caffe,需要先创建一个模型(model),如比较常用的Lenet,Alex等, 而一个模型由多个屋(layer)构成,每一屋又由许多参数组成。所有的参数都定义在caffe.proto这个文件中。要熟练使用caffe,最重要的就是学会配置文件(prototxt)的编写。层有很多种类型,比如Data,Convolution,Pooling等,层之间的数据流动是以Blobs的方式进行。
2016-12-28 20:57:11 306
转载 Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn
一、版本linux系统:Ubuntu 14.04 (64位)显卡:Nvidia K20ccuda: cuda_7.5.18_linux.runcudnn: cudnn-7.0-linux-x64-v4.0-rc二、下载Ubuntu 14.04下载地址:http://www.ubuntu.com/download/desktop (64bit)cuda7.5下载地址:ht
2016-12-28 20:56:52 404
转载 图像处理中滤波(filtering)与卷积(convolution)的区别
图像处理中滤波和卷积是常用到的操作。很多人认为卷积就是滤波,两者并无区别,其实不然。两者在原理上相似,但是在实现的细节上存在一些区别。这篇博文主要叙述这两者之间的区别。1、滤波简单来说,滤波操作就是图像对应像素与掩膜(mask)的乘积之和。比如有一张图片和一个掩膜,如下图:那么像素(i,j)的滤波后结果可以根据以下公式计算:其中G
2016-12-28 18:53:39 32267 3
转载 ipython notebook使用教程
最近在使用jupyter notebook,感觉非常舒爽。特别是在本地的浏览器上就可以利用jupyter实现在服务器上编程,更是爽歪歪了。关于如何实现本地浏览器上进行服务器上编程参照了这篇文章:Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问.另外,亲测发现ipython运行速度比使用pycharm快(这是为什么呢?)***
2016-12-28 18:39:51 1329
转载 【DBN】Deep Belief Network简介
1. 多层神经网络存在的问题 常用的神经网络模型, 一般只包含输入层, 输出层和一个隐藏层: 理论上来说, 隐藏层越多, 模型的表达能力应该越强。但是, 当隐藏层数多于一层时, 如果我们使用随机值来初始化权重, 使用梯度下降来优化参数就会出现许多问题[1]:如果初始权重值设置的过大, 则训练过程中权重值会落入局部最小值(而不是全局最小值)。如果
2016-12-28 18:39:24 569
转载 caffe中网络结构参数详解
prototxt文件是caffe的配置文件,用于保存CNN的网络结构和配置信息。prototxt文件有三种,分别是deploy.prototxt,train_val.prototxt和solver.prototxt。1. solver.prototxtsolver.prototxt是caffe的配置文件。里面定义了网络训练时候的各种参数,比如学习率、权重衰减、迭代次数等等。下面详细
2016-12-28 18:38:57 6077
转载 caffe的python接口学习(8):caffemodel中的参数及特征的抽取
如果用公式 y=f(wx+b)来表示整个运算过程的话,那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。f是激活函数,有sigmoid、relu等。x就是输入的数据。数据训练完成后,保存的caffemodel里面,实际上就是各层的w和b值。我们运行代码:deploy=root + 'mnist/deploy.prototxt
2016-12-19 01:23:20 790
转载 caffe的python接口学习(7):绘制loss和accuracy曲线
使用python接口来运行caffe程序,主要的原因是python非常容易可视化。所以不推荐大家在命令行下面运行python程序。如果非要在命令行下面运行,还不如直接用 c++算了。推荐使用jupyter notebook,spyder等工具来运行python代码,这样才和它的可视化完美结合起来。因为我是用anaconda来安装一系列python第三方库的,所以我使用的是spyder,与m
2016-12-19 01:22:30 985
转载 caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片
经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测。我们从mnist数据集的test集中随便找一张图片,用来进行实验。#coding=utf-8import caffeimport numpy as nproot='/home/xxx/' #根目录d
2016-12-19 01:21:29 376
转载 caffe的python接口学习(5):生成deploy文件
如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也。deploy文件没有第一层数据输入层,也没有最后的Accuracy层,但最后多了一个Softmax概率层。这里我们采用代码的方式来自动生成该文件,以mnist为例。deploy.py# -*- coding: utf-
2016-12-19 01:20:56 411
转载 caffe的python接口学习(4):mnist实例---手写数字识别
深度学习的第一个实例一般都是mnist,只要这个例子完全弄懂了,其它的就是举一反三的事了。由于篇幅原因,本文不具体介绍配置文件里面每个参数的具体函义,如果想弄明白的,请参看我以前的博文:数据层及参数视觉层及参数solver配置文件及参数一、数据准备官网提供的mnist数据并不是图片,但我们以后做的实际项目可能是图片。因此有些人并不知道该怎么办。在此我将mnist数据进行了转化,
2016-12-19 01:20:03 501
转载 caffe的python接口学习(3):训练模型(training)
如果不进行可视化,只想得到一个最终的训练model, 那么代码非常简单,如下 :import caffecaffe.set_device(0)caffe.set_mode_gpu()solver = caffe.SGDSolver('/home/xxx/data/solver.prototxt')solver.solve()
2016-12-19 01:19:10 257
转载 caffe的python接口学习(2):生成solver文件
caffe在训练的时候,需要一些参数设置,我们一般将这些参数设置在一个叫solver.prototxt的文件里面,如下:base_lr: 0.001display: 782gamma: 0.1lr_policy: “step”max_iter: 78200momentum: 0.9snapshot: 7820snapshot_prefix: “snapshot”solv
2016-12-19 01:18:34 278
转载 caffe的python接口学习(1):生成配置文件
caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现。caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更加深入。半年前,我在学习CAFFE的时候,为了加深理解,因此写下了随笔,有了一系列的caffe学习文章。半年过去,很多人问到关于python接口和可视化的一些问题,现在有点空闲时间,就再次写下一些
2016-12-19 01:17:03 362
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人