computer vision
文章平均质量分 69
July_Zh1
计算机硕士在读,关注模式识别,计算机视觉,图像处理。
展开
-
论文笔记《Superparsing: Scalable Nonparametric Image Parsing with Superpixels》
【论文信息】《Superparsing: Scalable Nonparametric Image Parsing with Superpixels》IJCV 2013superpixel-level,fully supervised,non parametric method 这篇文章是CVPR 2013的《Finding Things: Image Parsing with Regions原创 2015-09-20 22:35:11 · 1771 阅读 · 0 评论 -
GMM高斯混合模型学习笔记(EM算法求解)
提出混合模型主要是为了能更好地近似一些较复杂的样本分布,通过不断增加component个数,可以任意地逼近任何连续的概率分布,所以我们认为任何样本分布都可以用混合模型来建模。因为高斯函数具有一些很实用的性质,所以高斯混合模型被广泛地使用。 GMM与kmeans类似,也是属于clustering,不同的是,kmeans是把每个样本点聚到其中一个cluster,而GMM是给出这些样本点到每个c原创 2015-06-11 23:02:55 · 5222 阅读 · 0 评论 -
论文笔记《Multi-scale Orderless Pooling of Deep Convolutional Activation Features》
文章提出一种基于多尺度滑窗的CNN特征的编码方法。1 Information发表会议:ECCV2014相关链接:作者主页 项目主页2 MotivationGloabl CNN:编码了图片的空间结构信息,对类内差异容忍度差,globally orderedBOW:完全丢失图片的空间结构信息,orderless对于场景分类问题,我们希望一个在小的region,空间结构globally ordere原创 2016-05-15 17:46:44 · 3997 阅读 · 1 评论 -
数据标准化与PCA白化原理探索
PCA是实验中很常用的工具,一般用来做降维,它的实现有很多很多种,其中牵涉相当多的细节,笔者在实现PCA时常常有困惑,为什么查到的各种代码总有一些不同的trick,有时候对样本提前归一化?有时候又要减均值?这些操作对于PCA降维效果到底有什么影响?这篇文章从PCA白化入手,探究这些trick背后的原因。1 Whitening (白化)白化1有两种,一种是PCA Whitening,一种是ZCA Wh原创 2016-05-14 14:13:25 · 4857 阅读 · 0 评论 -
论文笔记《Fast RCNN》
Fast RCNN是加强版的SPPnet,SPPnet的细节可以参考这里,Fast RCNN相比于RCNN在时间和性能上都做了改进。它避免对一幅图片的多个proposal分别计算CNN特征(大量的重复计算),而是对整幅图提取CNN特征之后,再划分对应proposal,从而加提高了检测效率;同时对RCNN的pipeline方法做了一定整合,提升了检测性能。1 论文信息发表会议:ICCV2015代码2原创 2016-06-25 11:35:06 · 2959 阅读 · 0 评论 -
论文笔记《Rich Feature Hierarchies for accurate object detection and semantic segmentation》
RCNN是CNN应用在object detection的开山之作,加上后续的Fast-RCNN,Faster-RCNN都是非常经典的工作,这三篇文章一环套一环的改进思路简直是快准狠(跪拜rbg大牛><)。笔者不是做检测的(所以没有折腾过代码不清楚实验细节),在paper reading听了别人报告之后很喜欢RCNN系列文章,就记录下对原理的理解和感悟吧。1 论文信息发表会议:CVPR2014 代原创 2016-06-12 22:16:59 · 1067 阅读 · 0 评论 -
CNN卷积神经网络学习笔记3:权值更新公式推导
在上篇《CNN卷积神经网络学习笔记2:网络结构》中,已经介绍了CNN的网络结构的详细构成,我们已经可以初始化一个自己的CNN网络了,接下来就是要用训练得到一个确定的CNN的模型,也就是确定CNN的参数。 CNN本质上就是人工神经网络的一种,只是在前几层的处理上有所不同,我们可以把卷积核看成是人工神经网络里的权值W,而采样层实质上也是一种卷积运算。所以可以基于人工神经网络的权值更新的方法来原创 2015-07-06 11:23:09 · 56708 阅读 · 8 评论 -
论文笔记《Harvesting Discriminative Meta Objects with Deep CNN Features for Scene Classification》
文章提出一个pipeline从场景训练集中挖掘代表性的元素(meta object),将一幅图像用这些meta object表示,得到了state-of-the-art的分类效果。1 Motivation假设:场景的类别与场景中的目标有关。本文借鉴BOW思想,用整个训练集提取出representative and discriminative meta object,用category-specif原创 2016-05-15 20:36:53 · 1378 阅读 · 0 评论 -
caffe学习笔记2:使用pycaffe提取CNN特征
本文记录如何基于pycaffe提取pretrained model某一层的特征。import numpy as npimport matplotlib.pyplot as pltimport scipy.io# 设置plt画图显示结果# 图片尺寸plt.rcParams['figure.figsize'] = (12,12) plt.rcParams['figure.dpi'] =原创 2016-06-20 21:54:01 · 5013 阅读 · 1 评论 -
torch学习笔记1:实现自定义层
当我们要实现自己的一些idea时,torch自带的模块和函数已经不能满足,我们需要自己实现层(或者类),一般的做法是把自定义层加入到已有的torch模块中。实现lua实现如果自定义层的功能可以通过调用torch中已有的函数实现,那就只需要用lua实现,torch的文档中也提供了简单的说明。 现在我们来实现一个NewClass: - 在torch目录下(torch/extra/nn/)创建文件Ne原创 2016-10-21 16:16:18 · 3674 阅读 · 0 评论 -
torch学习笔记2:资料整理
整理torch学习过程中收集的文档及代码资料原创 2016-10-24 16:12:07 · 856 阅读 · 0 评论 -
论文笔记《Fully Convolutional Networks for Semantic Segmentation》
《Fully Convolutional Networks for Semantic Segmentation》,CVPR 2015 best paper,pixel level, fully supervised。主要思路是把CNN改为FCN,输入一幅图像后直接在输出端得到dense prediction,也就是每个像素所属的class,从而得到一个end-to-end的方法来实现ima原创 2015-08-02 11:50:03 · 29150 阅读 · 44 评论 -
torch学习笔记3.1:实现自定义模块(lua)
在使用torch时,如果想自己实现一个层,则可以按照《torch学习笔记1:实现自定义层》 中的方法来实现。但是如果想要实现一个比较复杂的网络,往往需要自己实现多个层(或类),并且有时可能需要重写其他模块中已有的函数来达到自己的目的,如果还是在nn模块中添加,会比较混乱,并且不利于本地git仓库统一管理,这个时候,我们可以自己实现一个像nn一样的模块,在代码中使用时 require即可。我们来实现一原创 2016-11-05 20:55:57 · 2885 阅读 · 0 评论 -
torch学习笔记3.2:实现自定义模块(cpu)
在使用torch时,如果想自己实现一个层,则可以按照《torch学习笔记1:实现自定义层》 中的方法来实现。但是如果想要实现一个比较复杂的网络,往往需要自己实现多个层(或类),并且有时可能需要重写其他模块中已有的函数来达到自己的目的,如果还是在nn模块中添加,会比较混乱,并且不利于本地git仓库统一管理,这个时候,我们可以自己实现一个像nn一样的模块,在代码中使用时 require即可。我们来实现原创 2016-11-06 22:17:38 · 1991 阅读 · 0 评论 -
PCA基于opencv的实现和样本数小于维度的问题
PCA基于opencv的几种实现方式, 以及实现过程中发现的样本数小于维度时components个数限制问题原创 2016-01-27 15:15:37 · 3289 阅读 · 0 评论 -
bag of words model 应用于图像
本文记录bag of words(BOW)在图像中的应用相关思路。1. 简介bag of words是文档的一种表示方法,它可以把一个文档表示成向量数据,从而使计算机处理文档数据更加方便。wiki的例子很清晰的描述了BOW对一个文档建模的过程。http://en.wikipedia.org/wiki/Bag-of-words_model现有如下两个文档:Jo原创 2015-05-16 20:43:02 · 4496 阅读 · 0 评论 -
论文笔记《Feedforward semantic segmentation with zoom-out features》
《Feedforward semantic segmentation with zoom-out features》,CVPR 2015这篇文章的方法是superpixel-level的,主要是基于CNN实现,是fully supervised。首先对输入图像以superpixel为单位提取CNN特征(使用VGG16),然后把这些特征作为CNN classifier(使用image原创 2015-08-01 23:05:35 · 2910 阅读 · 1 评论 -
CNN卷积神经网络学习笔记4:代码学习
代码来自github上的一个DeepLearning Toolbox,地址:https://github.com/rasmusbergpalm/DeepLearnToolbox主要参考这篇博客中的代码注释: http://blog.csdn.net/zouxy09/article/details/9993743CNN原理和公式推导见前文: 背景 网络结构 公式推导单步调试后自己添加了一部分注原创 2015-07-25 23:03:42 · 3712 阅读 · 0 评论 -
PCA(principal component analysis)主成分分析法
《Aggregating local descriptors into a compact image representation》论文笔记 在论文中,提取到VLAD特征后,要对特征向量进行PCA降维,就是用一个大小为D’ * D的矩阵M,对VLAD特征向量x做变换,降维后的vector是x’ = Mx,x’的大小是D’维。矩阵M是由原样本的协方差矩阵的D’个特征向量构成。 为什么M要是特征原创 2015-07-25 22:10:40 · 2761 阅读 · 0 评论 -
ADC方法(asymmetric distance computation)
《Aggregating local descriptors into a compact image representation》论文笔记提取到VLAD特征后,要先用PCA降维,然后再用ADC方法对每一幅图像建立索引,这里先介绍ADC方法。ADC方法是对图片库中,除query vector x之外的所有图的vector Y=y1,y2...ynY={y_1,y_2...y_n},做kmeans产原创 2015-07-25 11:09:45 · 3453 阅读 · 2 评论 -
VLAD特征(vector of locally aggregated descriptors)
《Aggregating local descriptors into a compact image representation》论文笔记 这篇论文中提出了一种新的图片表示方法,也就是VLAD特征,并把它用于大规模图片检索中,得到了很好的实验结果。 目前,BOF在图片检索和分类中应用广泛,首先是因为BOF是基于比较powerful的local特征(如SIFT)得来的,所以表达能力很强;其次是原创 2015-07-25 10:55:40 · 25822 阅读 · 6 评论 -
CNN卷积神经网络学习笔记2:网络结构
这篇笔记中,通过一个简单的CNN的例子,梳理一下CNN的网络结构的细节。以下是一个6层的CNN网络,我们输入的是一张大小为28*28的图片。需要注意的有:1,这里输入的是一张图片,如果我们输入了50张图片,那么下图中的每一个方框(代表一种特征图)实际上代表了50张图片。2,在S3和S5的采样层只做了mean pooling,其实一般还会有加偏置和激活的操作,这个CNN网络比较简单,原创 2015-07-05 19:57:41 · 5318 阅读 · 2 评论 -
CNN卷积神经网络学习笔记1:背景介绍
Convolutional Neural Network 卷积神经网络是基于人工神经网络提出的。人工神经网络模拟人的神经系统,由一定数量的神经元构成。在一个监督学习问题中,有一组训练数据(xi,yi)(x_i,y_i),x是样本,y是label,把它们输入人工神经网络,会得到一个非线性的分类超平面hw,b(x)h_{w,b}(x),在这篇笔记中先梳理一下传统人工神经网络的基本概念,再基于传统人工神经原创 2015-07-05 13:34:13 · 12349 阅读 · 0 评论 -
[VLFeat]Dense Sift的C源码学习
VLFeat是一个很好用的开源库,其中实现了计算机视觉常用的算法,使用的语言是C和matlab。 官网:http://www.vlfeat.org/index.html 在官网下载最新版本后,在matlab中添加路径即可。 1,Dense Sift 在文章《sift特征提取算法》中提到,提取图像的sift特征分4步:构建DOG尺度空间;关键点定位;关键点方向赋值;生成描述子。 这里产生的s原创 2015-06-24 15:28:48 · 5657 阅读 · 0 评论 -
Fisher Vector的改进
本文记录论文《Improving the Fisher Kernel for Large-Scale Image Classification》中第三部分提出的对fisher vector的3种改进。1,L2 Normalization 首先假设一幅图像的特征们X=xt,t=1...TX={x_t,t=1...T}服从一个分布p,对于Large-Scale image,根据大数定律,样本原创 2015-06-24 19:28:14 · 3949 阅读 · 0 评论 -
[VLFeat]Fisher vector提取matlab代码
matlab 代码% 读入图片I = vl_impattern('roofs1') ;I = single(vl_imdown(rgb2gray(I))) ;% 设置bin大小binSize = 8 ;% sparse sift中bin大小是根据该层的高斯平滑的尺度sigma计算来的% dense sift这里是设定binSize,反推sigmamagnif = 3 ;% 对图像做高斯原创 2015-06-30 09:52:38 · 6080 阅读 · 10 评论 -
Fisher vector学习笔记
fisher vector是fisher kernel中定义的一种图片表示形式,fisher vector能够把图片表示成统一长度的向量,fisher vector对原始特征进行升维,提取更细节的信息。原创 2015-06-20 23:16:13 · 19834 阅读 · 7 评论 -
EM算法学习笔记2:深入理解
文章《EM算法学习笔记1:简介》中介绍了EM算法的主要思路和流程,我们知道EM算法通过迭代的方法,最后得到最大似然问题的一个局部最优解。本文介绍标准EM算法背后的原理。我们有样本集X,隐变量Z,模型参数θ\theta,注意他们3个都是向量,要求解的log似然函数是lnp(X|θ)lnp(X|\theta),而这个log似然函数难以求解,我们假设隐变量Z已知,发现lnp(X,Z|θ)lnp(X,Z|\原创 2015-06-18 20:21:04 · 2893 阅读 · 0 评论 -
EM算法学习笔记1:简介
EM(Expectation Maximization)算法是以迭代的方式来解决一类最大似然(maximum likelihood)问题的方法,这类问题通常比较难直接求解,通常需要引入隐变量,在假设隐变量已知的情况下,再求最大似然解,求解时隐变量一般用它的期望代替,这样反复迭代,直到收敛。 现在观测到一个样本集X\mathbf X,它对应隐变量集为Z\mathbf Z,模型参数为θ\theta原创 2015-06-11 14:56:49 · 1258 阅读 · 0 评论 -
sift特征提取算法
SIFT算法是用来提取图像局部特征的算法,具有尺度不变性,并且对光线噪声等容忍度高。主要步骤:1、尺度空间的生成2、检测尺度空间极值点;3、精确定位极值点;4、为每个关键点指定方向参数;5、关键点描述子的生成。——————————————————————————1,尺度空间的生成(1)预备知原创 2015-05-23 17:31:42 · 25882 阅读 · 4 评论 -
torch学习笔记3.3:实现自定义模块(gpu)
在使用torch时,如果想自己实现一个层,则可以按照《torch学习笔记1:实现自定义层》 中的方法来实现。但是如果想要实现一个比较复杂的网络,往往需要自己实现多个层(或类),并且有时可能需要重写其他模块中已有的函数来达到自己的目的,如果还是在nn模块中添加,会比较混乱,并且不利于本地git仓库统一管理,这个时候,我们可以自己实现一个像nn一样的模块,在代码中使用时 require即可。我们来实现原创 2016-11-06 22:36:24 · 2568 阅读 · 0 评论