- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 ctpn-Detecting Text in Natural Image with Connectionist Text Proposal Network 论文解读
1. 区别本文工作基于faster RCNN , 区别在于改进了rpn,anchor产生的window的宽度固定为3。rpn后面不是直接接全连接+分类/回归,而是再通过一个LSTM,再接全连接层。坐标仅仅回归一个y,而不是x1, y1, x2, y2添加 side-refinement offsets(可能这个就是4个回归值中的其中2个)2. 问题分析文字目标的特殊性,一个很大的先验是,
2017-11-27 21:23:56
2798
原创 FaceNet-A Unified Embedding for Face Recognition and Clustering 论文解读
~简要介绍FaceNet在LFW数据集上,准确率为0.9963,在YouTube Faces DB数据集上,准确率为0.9512。FaceNet是一个通用的系统,可以用于人脸验证(是否是同一人?),识别(这个人是谁?)和聚类(寻找类似的人?)。FaceNet采用的方法是通过卷积神经网络学习将图像映射到欧几里得空间。空间距离直接和图片相似度相关:同一个人的不同图像在空间距离很小,不同人的图像在空间中有
2017-11-27 10:57:52
3256
4
原创 Convolutional Neural Networks for Sentence Classification论文解读
本文将CNN和NLP结合; 介绍了一系列的对比实验,实验结果说明了:一个简单的(单层神经网络)的CNN模型一点超参数的调节(Filter的个数)static word vector另外,对cnn模型进行了小改动:将static vectors和non static vectors变成cnn模型中的两个channels,尤如图像中的rgb三通道。non-static就是词向量随着模型训练变化
2017-10-20 14:01:19
20772
7
原创 tensorboard详解
名称域tensorFlow 图表有两种连接关系:数据依赖和控制依赖。数据依赖显示两个操作之间的tensor流程,用实心箭头指示,而控制依赖用点线表示。实现原理Event: 展示训练过程中的统计数据(最值,均值等)变化情况Image: 展示训练过程中记录的图像Audio: 展示训练过程中记录的音频Histogram: 展示训练过程中记录的数据的分布图具体原理:在运行过程中,记录结构化的数据
2017-10-17 20:20:21
703
原创 GMM Kmeans代码示例
GMM代码#! /usr/bin/env python#coding=utf-8from numpy import *import pylabimport random,mathdef loadDataSet(fileName): #general function to parse tab -delimited floats dataMat = []
2017-09-24 22:43:25
3874
原创 GMM 和 K-means
GMM Gaussian Mixture Model 高斯混合模型每个GMM由K个Gaussian分布组成,每个Gaussian称为一个“Component”,这些Component 线性加成在一起就组成了GMM 的概率密度函数:根据上面的式子,如果我们要从 GMM 的分布中随机地取一个点的话,实际上可以分为两步:首先随机地在这 K个Gaussian Component 之中选一个,每个 Comp
2017-09-24 22:37:57
3108
原创 On the Effectiveness of Visible Watermarks论文解读
通常水印的处理当从单个图像自动去除水印是非常具有挑战性的视觉水印通常包含复杂的结构,例如细线和阴影,使它们更难以去除水印通常以一致的方式添加到许多图像中。 这种一致性可以被利用来自动推断水印图案并且以高精度获得原始的,无水印的内容。 ICA 独立成分分析 使用独立分量分析(ICA)来分离源图像与水印。 这些技术在单个图像上操作,需要用户手动标记水印区域,并且不能处理大的水印区域(图4(b))。
2017-09-19 10:59:19
4238
2
原创 EM算法详解
首先我们需要了解下最大似然估计,并且调查男女身高的例子将一直使用最大似然估计量假设我们需要调查我们学校的男生和女生的身高分布。你怎么做啊?你说那么多人不可能一个一个去问吧,肯定是抽样了。假设你在校园里随便地活捉了100个男生和100个女生。他们共200个人(也就是200个身高的样本数据,为了方便表示,下面,我说“人”的意思就是对应的身高)都在教室里面了。那下一步怎么办啊?你开始喊:“男的左边,女的右
2017-09-17 23:20:12
810
1
原创 PCA python代码实现
#coding:utf-8from numpy import *import matplotlibimport matplotlib.pyplot as pltdef loadDataSet(fileName, delim='\t'): fr = open(fileName) stringArr = [line.strip().split(delim) for line in
2017-09-04 13:18:21
3220
1
原创 PCA详解
PCA主成分分析因为最人脸表情识别,提取的gabor特征太多了,所以需要用PCA进行对提取的特征进行降维。PCA算法这篇估计是讲原理最好的一篇了http://blog.codinglabs.org/articles/pca-tutorial.html总结一下PCA的算法步骤: 设有m条n维数据。 1)将原始数据按列组成n行m列矩阵X 2)将X的每一行(代表一个属性字段)进行零
2017-09-04 13:14:59
562
原创 PCA详解
PCA主成分分析因为最人脸表情识别,提取的gabor特征太多了,所以需要用PCA进行对提取的特征进行降维。PCA算法这篇估计是讲原理最好的一篇了http://blog.codinglabs.org/articles/pca-tutorial.html总结一下PCA的算法步骤: 设有m条n维数据。 1)将原始数据按列组成n行m列矩阵X 2)将X的每一行(代表一个属性字段)进行零
2017-09-04 13:14:26
715
原创 经典模型简介
Lenet下图是广为流传LeNet的网络结构,麻雀虽小,但五脏俱全,卷积层、pooling层、全连接层,这些都是现代CNN网络的基本组件。可以看下caffe中lenet的配置文件(点我),可以试着理解每一层的大小,和各种参数。由两个卷积层,两个池化层,以及两个全连接层组成。 卷积都是5*5的模板,stride=1,池化都是MAX。上图是一个类似的结构,可以帮助理解层次结构(和caffe不完全一致,不
2017-09-03 22:13:52
632
原创 gabor滤波器python代码实现
# coding:utf-8import cv2import numpy as npimport pylab as plfrom PIL import Image#构建Gabor滤波器def build_filters(): filters = [] ksize = [7,9,11,13,15,17] #gabor尺度 6个 lamda = np.pi/2.0 #
2017-09-01 22:06:46
10851
11
原创 gabor特征 gabor滤波器
gabor特征Gabor 特征是一种可以用来描述图像纹理信息的特征,Gabor 滤波器的频率和方向与人类的视觉系统类似,特别适合于纹理表示与判别。Gabor 特征主要依靠 Gabor 核在频率域上对信号进行加窗,从而能描述信号的局部频率信息。Gabor 核靠傅里叶变换,我们才能将信号转换到频率域,才能让Gabor核在频率域去加窗。而在原本的空间域中,一个 Gabor 核实际上就是一个高斯核与正弦波调
2017-09-01 22:03:00
3424
1
原创 傅立叶变换详解
傅里叶变换傅里叶变换(Fourier transform)是一种线性的积分变换,从时间转换为频率的变化1. 连续傅里叶变换这是将频率域的函数F(ω)表示为时间域的函数f(t)的积分形式连续傅里叶变换的逆变换 (inverse Fourier transform)为:一般可称函数f(t)为原函数,而称函数F(ω)为傅里叶变换的像函数,原函数和像函数构成一个傅里叶变换对(transform pair)
2017-08-22 18:55:36
20839
1
原创 Hadoop详细过程
install参考http://www.jianshu.com/p/3aebdba32363 在/usr/local/Cellar/hadoop/2.8.0/sbin目录下, 执行如下命令 ./start-dfs.sh #启动HDFS ./start-dfs.sh #启动HDFS ./stop-dfs.sh #停止HDFS在浏览器打开 http://localhost:
2017-08-19 10:34:36
578
原创 react-addons-perf 性能优化工具使用
首先安装插件 npm install react-addons-perf –save-devwebpack.config.jsrequire('react-addons-perf'); loaders:[ { test: require.resolve("react-addons-perf"), loader: "expose-loader?P
2017-08-15 19:22:05
5086
原创 socket.io知识点
Socket.io服务端运行后会在根目录动态生成socket.io的客户端js文件 客户端可以通过固定路径/socket.io/socket.io.js添加引用 <script type="text/javascript" src="/socket.io/socket.io.js"></script> 知识点emitemit函数有两个参数第一个参数是自定义的事件名称,发送方发送什么类型的事件名称
2017-08-10 14:28:55
1393
原创 实现两个窗口通信方法-postMessage
两个窗口的通信问题应该是一个比较常见的问题了,通信可以通过很多种方式,如下: localStorage postMessage websocket今天博主先来一篇postMessage干货,后期还会给出websocket的实现代码。 首先来看一下基本的语法 otherWindow.postMessage(message, targetOrigin, [transfer]);o
2017-08-06 23:00:23
29665
5
原创 css 水平垂直居中方法
博主今晚实在是无聊,正好公司这边做前端事情比较少。。 今天就来大概讲一下css水平垂直居中吧,估计好多人都特别懊恼,网上的资料都不是很全,所以我就来送一波福利啦~flex 弹性布局flex相信大家都不陌生吧? 那么,通过下面几行,就可以实现水平垂直居中啦display:flex;justify-content:center;align-item:center;注意:这个是在父元素上设置
2017-08-06 22:48:10
371
原创 promise详解以及示例代码
首先讲解什么是promise 博主之前面试一直被问promise是什么,但是始终就是讲不清楚,现在博主决定写一篇文章加深记忆。 promise是一个对象,也就是说与其他JavaScript对象的用法,没有什么两样;其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介。它使得异步操作具备同步操作的接口,使得程序具备正常的同步运行的流程,回调函数不必再一层层嵌套。三个状态 异
2017-08-04 17:16:47
876
原创 js继承详解-值类型、引用类型
原型继承 原型继承是js中最通用的继承方式,不用实例化对象,通过直接定义对象,并被其他对象引用,这样形成的一种继承关系,其中引用对象被称为原型对象。 优点:从instanceof关键字来看,实例既是父类的实例,又是子类的实例,看起来似乎是最纯粹的继承。 缺点:例如:Sub.prototype.name = “sub”;无法实现多重继承。function A(){ this.co
2017-08-01 20:21:17
379
原创 css 元素水平居中
定宽行内元素居中:text-align:center定宽块级元素居中:auto .center{ border:1px solid red;/*为了显示居中效果明显为 div 设置了边框*/ width:500px;/*定宽*/ margin:20px auto;/* margin-left 与 margin-right 设置为 auto *
2017-08-01 11:16:57
275
原创 js cookie 实例
首先来介绍下cookie知识点:document.cookie 来设置cookiecookie.domain表示cookie的域, 控制cookie所在的域,跨域的不能访问cookie.path表示cookie的路经 cookie能让其path路径下的页面访问以下是模仿浏览器自动登录的功能,每次刷新时来检查cookie,弹出欢迎界面。function setCookie(name,v
2017-07-28 09:06:53
770
原创 js正则表达式详解-子匹配 匹配原理 例子讲解
博主之前认为已经掌握了正则,但是最近在解析url的各项时,才发现正则表达式的博大精深,下面博主将通过一个很好的例子来讲解正则表达式的匹配过程,其他博客都不会有,希望对像我一样对技术热爱的人有帮助~ 例子如下: 解析 URI:输入一个 URI,输出一个 object,请用 JavaScript 解析 URI,并把解析出来的各个 部分存在一个 object 对象中返回。需要解析的部分包括:
2017-07-25 14:42:40
3976
原创 react状态管理之flux
flux逻辑理解1.创建Actions 包括所有的动作,比如点击按钮添加列表项,这就是一个action,在action文件中直接用dispatcher方法来分配这个动作 action是用来暴露给外部进行调用addNewItem: function (text) { AppDispatcher.dispatch({ actionType: 'ADD_NEW_ITEM', tex
2017-07-23 17:24:01
1062
原创 css3之flex弹性布局
flexflex-direction横向的主轴的方向 row row-reverse column column-reverse flex-wrapflex-wrap 指定 flex 元素单行显示还是多行显示 。如果允许换行,这个属性允许你控制行的堆叠方向。 当数目过多时,可以选择是否换行 nowrap flex 的元素被摆放到到一行,这可能导致溢出 flex 容器。 cross-
2017-07-23 15:22:48
336
原创 javascript正则表达式简单实用实例
replacevar user='xia&&min**';user=user.replace(/[^A-Za-z\d_-]+/,''); //需要再次赋值console.log(user); //xiamin**user = user.replace(/[^A-Za-z\d_-]+/g, ''); //全局进行替换console.log(user); //xiamin分割邮件var
2017-06-23 12:23:00
288
原创 javascript继承
类继承类继承也叫构造函数继承,其表现形式是在子类中执行父类的构造函数。实现本质:比如把一个构造函数A的方法赋值为另一个构造函数B,然后调用该方法,使构造函数A在构造函数B内部执行,这是构造函数B就拥有了构造函数A中定义的属性和方法。这就是B类继承A类。function extend(Sub,Sup){ var F = function(){}; //新建一个临时构造函数,避免直接new Sup
2017-06-23 10:03:10
222
原创 git push之后删除node_modules
博主最近看了下自己的github,天哪,React目录简直不忍直视。。。 由于node_modules目录之前没有忽略,导致了这种情况,连索引都没法了。。 下面介绍下博主是怎么解决的吧,希望对小伙伴们有帮助。首先在.gitignore中写入下面代码 node_modules/ jspm_packages/在命令行进入仓库目录 删除github上.gitignore中新加的选项
2017-05-11 16:43:21
4138
原创 linux指南之六
AIX shell 高级程序设计基础shell shell是一个命令解释器,是介于操作系统kernel与用户之间的一个绝缘层不使用shell 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等) 需要处理大任务的数学操作,尤其是浮点运算,精确运算,或者复杂的算术运算(这种情况一般使用C++或FORTRAN来处理) 有跨平台移植需求(一般使用C或Java) 复杂的应用,在必
2017-05-05 23:35:04
233
原创 linux指南之五
安全管理及开发基础技术文件安全设置 owner、group、othersuid能够让在二进制文件上有执行权限的用户 suid在文件权限上表现为:属主的执行权限位由x变成了s chmod U:所有者 G:组 O:其它 A:所有用户 Umask文件夹的基本码是rwxrwxrwx(777),文件的基本码是rw-rw-rw-(666). umask 022 新建文件夹
2017-05-05 23:12:44
432
原创 linux命令指南之四
存储管理与文件系统卷组 一个卷组VG可以拥有多个硬盘,但至少拥有一个硬盘(hdisk) 一个硬盘(hdisk)只能属于一个VG,不能同时属于多个不同VG 用户可以创建多个不同VG,rootvg是操作系统所在的VG卷组描述区VGDA(Volume Group Descriptor Area) VGDA是硬盘上的一块区域,包含整个卷组的信息,比如VG所拥有的所有逻辑卷和物理卷信息 当在一个
2017-05-05 22:57:15
332
原创 linux命令指南之三
设备管理与驱动字符设备:是指每次与系统传输1个字符的设备。 字符设备通常为传真、虚拟终端和串口调制解调器、键盘之类设备提供流通信服务。 字符设备在实现时,大多不使用缓存器。系统直接从设备读取/写入每一个字符。 例如,键盘这种设备提供的就是一个数据流,当你敲入“abcdefg这个字符串时,键盘驱动程序会按照和输入完全相同的顺序返回这个由七个字符组成的数据流。它们是顺序的,先返回a,最后是g。
2017-05-05 22:37:37
239
原创 linux命令指南之二
程序包原理及linux package软件包安装状态旧版本的软件升级后处于 applied状态,系统使用的是新的版本,旧的版本并没有被删除 执行commit动作后,旧的版本被删除,软件包就处于committed状态了;执行reject动作,新的版本被删除,系统仍用旧的版本 软件包的升级,为了应用安全运行,先让新软件包处于applied状态试运行一阵后再commit;如果安装一个新的软件包,就直
2017-05-05 19:28:17
254
原创 Linux命令指南之一
Linux系统关机命令shutdown命令 shutdown命令通常必须由超级用户才能执行。 shutdown命令执行后,会以广播的形式通知正在系统中工作的所有用户,系统将在指定的时间内关闭,请用户保存文件,停止作业,注销用户。此时login指令被冻结,新的用户不能登录。 init、shutdown、halt和reboot shutdown命令的详细语法如下: shutdown [-f
2017-05-05 19:11:57
214
原创 es6箭头函数 使用场景
我们知道es6有很多的新特性,那么本篇我们就来详细介绍一下es6的箭头函数。 对于一个知识点的运用无非是了解它的使用场景,这是灵活变通的基础。匿名回调// 按钮的单事件var btn = document.getElementById("button");btn.addEventListener('click',(event)=>{ console.log();})// 作为 Arr
2017-04-25 17:07:52
1318
原创 函数节流
函数节流,简单地讲,就是让一个函数无法在很短的时间间隔内连续调用,只有当上一次函数执行后过了你规定的时间间隔,才能进行下一次该函数的调用。以impress上面的例子讲,就是让缩放内容的操作在你不断改变窗口大小的时候不会执行,只有你停下来一会儿,才会开始执行。原理 定时器。当我触发一个事件时,先setTimout让这个事件延迟一会再执行,如果在这个时间间隔内又触发了事件,那我们就clear掉原来的
2017-04-25 15:27:48
691
1
原创 跨域详解
什么是跨域? JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/scr
2017-04-24 21:38:16
309
原创 js函数创建 匿名函数
首先介绍下匿名函数 创建一个变量,这个变量的内容为一个函数var fn1=function (){}注意采用这种方法创建的函数为匿名函数,即没有函数namevar fn1=function (){};getFunctionName(fn1).length;//0 //见下面获取匿名函数的函数名那么,如何判断函数是否是匿名函数呢? 也可以通过判断来区分匿名函数和具名函数(命名函数)通过输出
2017-04-24 15:23:38
601
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人