自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hjimce的专栏

学如逆水行舟,不进则退

  • 博客(196)
  • 资源 (2)
  • 收藏
  • 关注

原创 深度学习(二十五)基于Mutil-Scale CNN的图片语义分割、法向量估计

以为作者要采用mutil-task多任务特征学习的方法,用于估计单幅图像的深度、法向量、语义分割三个任务。还以为paper即将采用跟文献《Facial Landmark Detection by Deep Multi-task Learning》一样的思想,进行提高精度,最后仔细通读全文才知道,其实这三个任务是独立的,不是传说中的“多任务特征学习”,终于松了一口气(因为之前看《机器学习及其应用2015》这本书的第一章的时候,讲到了“鲁邦多任务特征学习”,觉得好难,看不懂,所以就对多任务特征学习有点害怕)。这

2015-12-31 23:04:30 19094 3

原创 深度学习(二十四)矩阵分解之基于k-means的特征表达学习

本篇博文主要讲解2012年大神吴恩达所发表的一篇paper:《Learning Feature Representations with K-means》。可能大家对于k均值聚类,这个算法之前已经非常熟悉了,觉得这个算法是一个很简单的算法。但是其实很多人,学了k均值以后,开始前先要讲一下spherical K-means算法,这个算法与我们平时学到的k-means算法稍微有点不同,是k—means算法的一个进化版。所以需要先熟悉一下这个算法。spherical K-means故名思议,意思应该是我们的数据

2015-12-29 21:04:35 12122 2

原创 深度学习(二十三)Maxout网络学习

Maxout网络学习Maxout是深度学习网络中的一层网络,就像什么激活函数层、池化层、卷积层一样。我们假设网络某一层的输入特征向量为:X=(x1,x2,……xd),也就是我们输入是d个神经元。Maxout隐藏层每个神经元的计算公式如下: 上面的公式就是maxout隐藏层神经元i的计算公式。其中k就是maxout层所需要的参数了,由我们人为设定大小。就像dropout一样,也有自己的参数p(每个神经元dropout概率),maxout的参数是k。公式中Z的计算公式为:

2015-12-27 22:45:16 59954 14

原创 深度学习(二十二)Dropout浅层理解与实现

Dropout是2012年深度学习视觉领域的开山之作paper:《ImageNet Classification with Deep Convolutional》所提到的算法,用于防止过拟合。在我刚入门深度学习,搞视觉的时候,就有所耳闻,当时只知道它是为了防止过拟合,网上都说它是让某些神经元以一定的概率不工作,但是具体代码怎么实现?原理又是什么,还是有点迷糊,所以就大体扫描了文献:《Improving neural networks by preventing co-adaptation of featur

2015-12-27 17:30:41 86355 22

原创 深度学习(二十一)基于FCN的图像语义分割

本篇博文主要讲解2015年的一篇图像语义分割的paper:《Fully Convolutional Networks for Semantic Segmentation》,这篇文献可以说是利用深度学习搞图像分割的开山之作,貌似获得了2015 年CVPR的best paper 奖,具体不是很清楚,只知道很牛逼的一篇文章,搞图像分割必学的文章。仅仅一年的时间,引用量非常高。感觉这篇文献的算法,比较难,如果你以前没有学过反卷网络,也没有接触过Fully Convolutional Networks这个概念,更没有

2015-12-11 20:59:15 25724 4

原创 深度学习(二十)基于Overfeat的图片分类、定位、检测

本篇博文主要讲解来自2014年ICLR的经典图片分类、定位物体检测overfeat算法:《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》,至今为止这篇paper,已然被引用了几百次,把图片分类、定位、检测一起搞,可见算法牛逼之处非同一般啊。开始前,先解释一下文献的OverFeat是什么意思,只有知道了这个单词,我们才能知道这篇文献想要干嘛,OverFeat说的简单一点就是特征

2015-12-05 18:01:53 49357 29

原创 深度学习(十九)基于空间金字塔池化的卷积神经网络物体检测

空间金字塔池化,又称之为“SPP-Net”,记住这个名字,因为在以后的外文文献中,你会经常遇到,特别是物体检测方面的paper。这个就像什么:OverFeat、GoogleNet、R-CNN、AlexNet……为了方便,学完这篇paper之后,你就需要记住SPP-Net是什么东西了。空间金子塔以前在特征学习、特征表达的相关文献中,看到过几次这个算法。 既然之前的CNN要求输入固定大小的图片,那么我们首先需要知道为什么CNN需要输入固定大小的图片?CNN大体包含3部分,卷积、池化、全连接。

2015-12-05 17:40:41 32602 13

原创 深度学习(十八)基于R-CNN的物体检测

本篇博文主要讲解2014年CVPR上的经典paper:《Region-based Convolutional Networks for Accurate Object Detection and Segmentation》,这篇文章的算法又被称之为:R-CNN,是物体检测领域曾经获得state-of-art的精度的经典文献,引用率非常高。所以如果你搞物体检测方面,肯定会接触到这个算法。 这篇paper的思想,改变了物体检测的总思路,现在好多文献关于深度学习的物体检测的算法,基本上都是采用了同样的思想,

2015-12-05 16:58:12 98064 44

原创 深度学习(十七)基于改进Coarse-to-fine CNN网络的人脸特征点定位

本篇博文主要讲解2013年face++的大牛们提出的改进的DCNN模型《Extensive Facial Landmark Localization with Coarse-to-fine Convolutional Network Cascade》,发表于2013年ICCV上的一篇用于定位多个人脸特征点的文献,实现了68个人脸特征点的高精度定位。这篇paper没有给出训练数据,也没有给出测试模型、源代码等,所以源代码需要自己写,训练数据我们需要自己到IBUG网站下载,可以下载到两千多张的训练数据,这篇p

2015-11-29 20:39:33 27943 48

原创 深度学习(十六)基于2-channel network的图片相似度判别

本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《Learning to Compare Image Patches via Convolutional Neural Networks》,本篇文章相比于经典的算法Siamese Networks 精度上有比较不错的提高。学习这篇paper的算法,需要熟悉Siamese Networks(经典老文献《Signature Verification Using a Siamese Time Delay Neural Network》)、以及大神何

2015-11-29 19:20:49 71763 15

原创 深度学习(十五)基于级联卷积神经网络的人脸特征点定位

本篇博文主要讲解2013年CVPR的一篇利用深度学习做人脸特征点定位的经典paper:《Deep Convolutional Network Cascade for Facial Point Detection》,论文的主页为:http://mmlab.ie.cuhk.edu.hk/archive/CNN_FacePoint.htm 。网页提供了训练数据、测试demo,但是我却没有找到源码,所以只能自己写代码实现。这篇paper是利用深度学习搞人脸特征点定位的开山之作,想当年此算法曾经取得了state-of

2015-11-21 00:08:21 41683 37

原创 深度学习(十四)基于CNN的性别、年龄识别

本篇博文主要讲解2015年CVPR上的一篇paper《Age and Gender Classification using Convolutional Neural Networks》,个人感觉这篇文献没啥难度,只要懂得Alexnet,实现这篇文献的算法,会比较容易。其实读完这篇paper之后,我一直在想paper的创新点在哪里?因为我实在没有看出paper的创新点在哪里,估计是自己水平太lower了,看文献没有抓到文献的创新点。难道是因为利用CNN做年龄和性别分类的paper很少吗?网上搜索了一下,性别

2015-10-19 20:56:42 42757 17

原创 深度学习(十三)caffe之训练数据格式

caffe对于训练数据格式,支持:lmdb、h5py……,其中lmdb数据格式常用于单标签数据,像分类等,经常使用lmdb的数据格式。对于回归等问题,或者多标签数据,一般使用h5py数据的格式。当然好像还有其它格式的数据可用,不过我一般使用这两种数据格式,因此本文就主要针对这两种数据格式的制作方法,进行简单讲解。一、lmdb数据lmdb用于单标签数据。为了简单起见,我后面通过一个性别分类作为例子,进行相关数据制作讲解。1、数据准备首先我们要准备好训练数据,然后新建一个名为train的文件夹和一个va

2015-10-19 12:02:19 36906 6

原创 图像处理(二十三)基于调色板的图像Recoloring-Siggraph 2015

1、自动调色板颜色选择算法这一部分,paper的创新点在如何对图像像素点进行快速聚类?通过一种改进的k均值算法,进行聚类,paper默认选择k值为5,每个聚类中心颜色就是调色板颜色Ci。这个就像grab cut算法中,默认选择的图像颜色的聚类个数也是5。估计是5是一个比较好的经验值吧。然而paper说到,如果直接使用k均值算法,进行图像像素点的聚类,那么每次迭代计算,对于一个大的图片来说,

2015-10-18 11:01:48 9091 10

原创 深度学习(十二)从自编码到栈式自编码

从上面自编码的网络结构图,可以看到一开始输入特征是x1……x6,有六个特征,然后隐藏层的神经元只有3个,最后又用这3个神经元,要使得网络的输出尽量接近x1……x6。这就相当于我们输入了一个6维的特征向量,我们先把它降维,降到3维,然后我们利用这三维的特征向量,进行重构原始的数据。这个跟PCA降维一模一样,只不过PCA是通过求解特征向量,进行降维,是一种线性的降维方式,而自编码是利用神经网络进行降维,是一种非线性降维。

2015-10-13 23:27:18 37464 4

原创 深度学习(十一)RNN入门学习

RNN中文名又称之为:递归神经网络。在计算机视觉里面用的比较少,我目前看过很多篇计算机视觉领域的相关深度学习的文章,就除了2015 ICCV的一篇图像语意分割文献《Conditional Random Fields as Recurrent Neural Networks》有提到RNN这个词外,目前还未见到其它的把RNN用到图像上面。RNN主要用于序列问题,如自然语言、语音音频等领域,相比于CNN来说,简单很多,CNN包含:卷积层、池化层、全连接层、特征图等概念,RNN基本上就仅仅只是三个公式就可以搞定了,

2015-10-13 10:46:22 23396 4

原创 深度学习(十)keras学习笔记

keras与torch7的使用非常相似,是最近才火起来的深度学习开源库,底层是用了theano。keras可以说是python版的torch7,对于快速构建CNN模型非常方便。同时也包含了一些最新文献的算法,比如Batch Noramlize,文档教程也很全,在官网上作者都是直接给例子浅显易懂,个人感觉非常容易上手。keras也支持保存训练好的参数,然后加载已经训练好的参数,进行继续训练。

2015-10-13 10:38:19 60609 8

原创 深度学习(九)caffe预测、特征可视化python接口调用

网上有很多caffe训练好的模型,有的时候我们仅仅想要方便的调用已经训练好的模型,利用python进行预测分类测试,查看可视化结果,这个时候,我们可以使用caffe为我们写好的python接口文件,我们在安装caffe的时候,有一步:make pycaffe。这个便是安装caffe的python 结果函数,把自己用的代码记录一下,以便日后直接复制粘贴使用。感觉使用python就是轻松,如果用caffe的c++接口,挺麻烦的。下面的使用例子是自己搞利用CNN进行性别预测的python接口调用实例:

2015-10-08 15:14:03 11750 13

原创 深度学习(八)RBM受限波尔兹曼机学习-未完待续

相关/函数的作用是读取一张图片,并保存到到datum中//第一个参数:filename图片文件路径名//第二个参数:label图片的分类标签//第三、四个参数:图片resize新的宽高//调用方法:/*Datum datum ReadImageToDatum(“1.jpg”, 10, 256, 256, true,&datum)*///把图片1.jpg,其标签为10的图片缩放

2015-10-07 15:16:33 6347 3

原创 深度学习(八)caffe源码学习-未完待续

加入-weights,这个功能很好用,也经常会用到,因为现在的CNN相关的文献,很多都是在已有的模型基础上,进行fine-tuning,因为我们大部分人都缺少训练数据,不像谷歌、百度这些土豪公司,有很多人专门做数据标注,对于小公司而言,往往缺少标注好的训练数据。因此我们一般使用fine-tuning的方法,在少量数据的情况下,尽可能的提高精度。我们可以使用:-weights 选项,利用已有的模型训练好的参数,作为初始值,进行继续训练。

2015-10-07 11:56:59 3564

原创 深度学习(七)caffe源码c++学习笔记

最近几天为了希望深入理解caffe,于是便开始学起了caffe函数的c++调用。自然而然我们要学的第一步就是学习最简单的接口函数,因为对于预测分类的函数调用,caffe为我们提供了一个例子,一开始我懒得解读这个例子,网上找了一些分类预测的例子,总是会出现各种各样的错误,于是没办法最后只能老老实实的学官方给的例子比较实在,因此最后自己把代码解读了一下,然后自己整理成自己的类,这个类主要用于训练好模型

2015-10-06 20:00:46 22134 3

原创 深度学习(六)caffe入门学习

本文主要讲解caffe的整个使用流程,适用于初级入门caffe,通过学习本篇博文,理清项目训练、测试流程。初级教程,高手请绕道。我们知道,在caffe编译完后,在caffe目录下会生成一个build目录,在build目录下有个tools,这个里面有个可执行文件caffe,如下图所示:有了这个可执行文件我们就可以进行模型的训练,只需要学会调用这个可执行文件就可以了,这便是最简单的caffe学习,不需要对caffe底层的东西懂太多,只需要会调参数,就可以构建自己的网络,然后调用这个可执行文件就可以进行训练

2015-10-06 19:48:57 58026 15

原创 深度学习(五)caffe环境搭建

对于caffe的系统一般使用linux系统,当然也有windows版本的caffe,不过如果你一开始使用了windows下面的caffe,后面学习的过程中,会经常遇到各种错误,网上下载的一些源码、模型也往往不能快速的跑起来,因为貌似caffe的官方只提供了linux版本。本篇博文主要讲解快速搭建caffe环境:电脑系统:ubuntu 14.04显卡:GTX 850

2015-09-28 10:31:24 51858 11

原创 基础知识(八)python文件操作相关函数

import cv2import csvimport numpy as npfrom pandas.io.parsers import read_csvfrom matplotlib import pyplot as pltdef writedata(listdata,filepath="newlabel.txt"): fr=open(filepath,'w') fr

2015-09-25 11:49:47 2714

原创 基础知识(七)opencv、python、人脸框检测

一、环境搭建1、首先就是安装opencv,从官网下载.exe文件,然后直接安装。安装完opencv后,找到文件:cv2.pyd。这个文件,我安装完后,是放在:opencv\build\python\2.7\x64。因为我的电脑是64位所以选择x64下的文件cv2.pyd。2、把cv2.pyd文件放到python安装目录里的:Lib\site-packages文件夹下。这样就OK了,接着就可以直接调用opencv库了。

2015-09-01 17:28:18 8290

原创 图像处理(二十二)贝叶斯抠图-CVPR 2001

可能很多人会把图像分割和抠图混在一起。我的观点是图像分割和图像抠图的算法是完全不同的,图像抠图算法比较复杂,需要涉及到α值得求取问题,也就是还有alpha通道,当然抠出来的精度也远远高于图像分割算法。图像抠图的英文单词又称之为:Matting。在图像里面前景色和背景色经过alpha融合后,得到一张图片: 其中F表示前景颜色值,B表示背景的颜色值。而C就是最后合成的结果。因此图像抠图就是

2015-08-14 21:31:19 25924 2

原创 深度学习(四)卷积神经网络入门学习(1)

卷积神经网络与我们之前所学到的图像的卷积的区别,我的理解是:我们之前学图像处理遇到卷积,一般来说,这个卷积核是已知的,比如各种边缘检测算子、高斯模糊等这些,都是已经知道卷积核,然后再与图像进行卷积运算。然而深度学习中的卷积神经网络卷积核是未知的,我们训练一个神经网络,就是要训练得出这些卷积核,而这些卷积核就相当于我们学单层感知器的时候的那些参数W,因此你可以把这些待学习的卷积核看成是神经网络的训练参数W。

2015-08-06 21:40:54 78060 44

原创 基础知识(六)KD-Tree快速最近邻搜索

flann库是比较常用的k近邻搜索库,支持n维数据点的快速搜索,同时许多开源库也都是用这个,比如opencv,还有点云处理的库PCL。因为opencv也可以调用这个库,所以我直接用opencv进行调用。如果不想要引入opencv库,可以网上下载flann,然后调用里面的c++源码。调用flann需要包含头文件:flann.hpp。在此直接贴个调用这个库,进行快速最近邻快速搜索的函数:

2015-08-05 15:21:03 6266

原创 图像处理(二十一)基于数据驱动的人脸卡通动画生成-Siggraph Asia 2014

《基于数据驱动的卡通动画生成》是由腾讯优图团队发表的一篇paper,英文名为:《Data-Driven Face Cartoon Stylization 》,是2014年Siggraph Asia 上的一篇paper,其实现了人像卡通动画的生成,也就是用户输入一张图片,然后根据算法,它会自动生成用户对应的卡通动画图。看起来是不是高大上的样子,看了paper的效果图是不是感觉很牛逼的样子,然而其实我这篇paper算法的鲁棒性很差,这篇文章能够被Siggraph Asia录用,唯一的亮点是因为它提出来了一个五官

2015-07-27 12:35:04 14753 3

原创 基础知识(五)对齐变换相关函数

在机器学习、图像处理中,经常要计算两个特征向量之间形状的距离,比如我用face++检测到两张人脸的特征点数据,我们要用人脸的特征点计算出这两张人脸的之间的相似度,这个时候我们就需要对这两张人脸进行对齐操作,就是AAM算法中的Procrustes Analysis对齐算法。这个是基础算法,因此在这里做一下笔记,贴一下代码,以便日后调用,因为最近搞项目,老是用到这个算法。

2015-07-23 11:15:25 2750

原创 机器学习(十四)Libsvm学习笔记

LIBSVM软件包是台湾大学林智仁(Chih-Jen Lin)博士等用C++实现的LIBSVM库,可以说是使用最方便的SVM训练工具。可以解决分类问题(包括C-SVC、n-SVC)、回归问题(包括e-SVR、n-SVR)以及分布估计(one-class-SVM )等问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。

2015-07-20 17:10:13 5482

原创 深度学习(三)theano入门学习

1、theano.tensor常用数据类型学习theano,首先要学的就是theano.tensor使用,其是基础数据结构,功能类似于python.numpy,教程网站为:http://deeplearning.net/software/theano/library/tensor/basic.html在theano.tensor数据类型中,有double、int、uchar、float等各种类型,不过我们最常用到的是int和float类型,float是因为GPU一般是float32类型,所以在编写程序的

2015-07-08 18:16:23 37722 28

原创 深度学习(二)theano环境搭建

环境:win7+64位系统 硬件:笔记本电脑, 显卡型号:GTX 850M现在假设电脑啥都没装,开始从头到尾进行环境搭建

2015-06-26 21:24:13 28761 22

原创 图像处理(十九)基于移动最小二乘的图像变形-Siggraph 2006

写这篇博文是应为目前为止我看到了好多领域里的经典paper算法都有涉及到移动最小二乘(MLS)。可见这个算法非常重要,先来看一下它的相关经典应用:1、图像变形。在图像处理领域paper:《Image Deformation Using Moving Least Squares》利用移动最小二乘的原理实现了图像的相关变形,而且这篇paper的引用率非常高,可以说是图像变形算法的经典算法,Siggraph上面的paper。

2015-06-18 17:00:56 22639 16

原创 图形处理(十二)拉普拉斯网格优化、最小二乘网格模型光顺

这里要分享的paper,是通过拉普拉斯的方法实现三角网格模型的优化。如果你已经非常熟悉三角网格曲面的拉普拉斯相关理论,实现这篇paper也就非常容易了。网格曲面的拉普拉斯坐标不但可以用于变形、光顺,还可以用于优化,总之好处多多,你只要学会了这一招,那么就可以学会这些算法了。

2015-06-15 17:22:16 18456 2

原创 图形处理(十一)Stroke Parameterization

Stroke Parameterization顾名思义就是沿着曲线进行参数化的意思,在我的另外一篇博文中《离散指数映射Decal》是以一个点为源点,进行参数化,参数化结果为一圆形参数域。然而在网格曲面上,可能有的时候我们并不紧紧是想要圆形Decal,而是希望沿着曲线进行参数化,比如上面文字贴图中,我们的图片是一张长方形图片,这个时候如果用固定边界的参数化方法,或者用离散指数Decal,它们的参数域一般都类似于圆形,用于上面的贴图肯定不行。

2015-06-14 11:02:30 2361

原创 图形处理(十)测地极坐标参数化

三维的算法比较难,网上资料也比较少,国内除了到知网、万方等数据库可以有文献看,代码方面可以说没有,国外要找到提高源码的paper也很不容易,所以要把三维CAGD的一些算法学懂实属不易,在此祭奠曾经走过的三维苦逼算法学习之路。本篇博文主要讲解文献:《Geodesic polar coordinates on polygonal》,这里中文我又把它翻译为:测地极坐标参数化,离散幂映射算法中每个顶点参数值取决于该顶点的法矢,因此网格曲率变化较大时经常使得参数化结果发生较大扭曲。相比于离散指数映射算法,Eivind

2015-06-14 11:00:43 3310

原创 图形处理(九)点云重建(下)法矢求取、有向距离场等值面提取

1、点云预处理 。这一步主要是点云滤波、采样、移除离群点等操作,涉及到的经典算法有MLS、双边滤波、WLOP等,这些在我的另外一篇博文中,有比较详细的介绍。 2、重建网格曲面。这一步主要涉及相关经典算法是点云法矢求取PCA、有向距离场、隐函数、MC算法等相关概念。这篇博文将详解这些算法的实习过程。

2015-06-08 22:44:11 7982 3

原创 图形处理(八)点云重建(上)点云滤波、尖锐特征边增采样、移除离群点

之前帮导师搞过一个项目,涉及点云尖锐的特征边重建技术,很多文献看起来效果很好,然而都是坑爹的算法,鲁邦性很差,比如这篇paper《Feature Sensitive Surface Extraction from Volume Data》把我坑的好惨,网上没有提供源代码

2015-06-08 17:57:28 14035 26

原创 图形处理(七)基于热传播的测地距离计算-Siggraph 2013

这里要跟大家分享的是2013年Siggraph上面的一篇paper,名为《Geodesics in Heat:A New Approach to Computing Distance Based on Heat Flow》,这篇paper没有提供源代码,但是因为算法的思想相当新颖,如果你之前有研究过其它的测地三角网格曲面上的测地距离算法,那么看到这篇paper后,你会非常的激动,觉得这个算法相当神奇,网格曲面上测地距离的计算方法又有了新的突破。因为看到这篇paper非常激动,以至于我兴奋得马上去把代码写了一

2015-06-08 17:25:06 5703 9

递归双边滤波(图像处理)

图像保边缘去噪算法,速度远高于传统双边滤波

2014-11-20

B样条曲线的绘制(c++语言MFC)

运行后,用鼠标输入控制顶点,然后点击菜单栏的生成B样条曲线,即可生成B样条曲线。可生成多条B样条曲线

2013-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除