- 博客(42)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 【论文笔记】 R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection
这篇文章主要的贡献点主要有两个:1)在RROI 阶段,多尺度的pooling (7x7,3x11,11x3).2)除了坐标对齐的bbox坐标回归,添加了inclined box的坐标回归(x1,y1,x2,y2,h)。[注:x1,y1,x2,y2分布是bbox按顺时针方向定义的两个角点]网络结构如下:该方法的训练集:1000(icdar15_trainingset)+ 2000
2017-07-31 22:07:45
5177
1
原创 CGAL的安装与环境配置
系统环境:Ubuntu-14.041.安装g++$ sudo apt-get install g++2. 安装boost下载boost源文件【官网】$tar -zxvf boost_1_58_0.tar.gz$ cd boost_58_0$ ./boostrap.sh$ ./b2 install3. 安装cmake下载cmake源文件
2017-06-30 20:58:16
2473
原创 【论文笔记】 Arbitrary-Oriented Scene Text Detection via Rotation Proposals
I. Motivation:设计带有角度信息的anchor,以此更精准的定位多方向文字II. Framework采用faster-rcnn的网络结构:跟faster-rcnn网络结构不同之处在于:1. 带角度信息的anchor:对于本文采用多带角度信息的anchor,以此更精准的回归多方向文字。考虑到文字的aspect ratio跟一般物体的不同,因此增加了更多
2017-05-31 18:30:57
3798
原创 DIY vim编辑神器
1.安装nerd tree1)安装pathogenstep 1: cd mkdir ~/.vimstep 2: mkdir -p autoload bundlestep 3: 从 https://github.com/tpope/vim-pathogen中下载vim-pathogenstep 4: cd vim-pathogen目录,cp autoload/pathogen.v
2017-04-30 00:42:03
587
原创 服务器caffe环境配置
配置目标:cuda8.0 + cudnn + opncv3.1 + matlab-R2014a + mkl服务器配置:显卡:k80系统:ubuntu14.04(64位)安装步骤:1. 安装gcc: $ apt-get install gcc $ apt-get install build-essential2. 安装显卡驱动:
2017-03-30 20:47:56
3367
原创 文字的检测与识别资源
持续更新中.......【综述( Survey)】[2015_PAMI] Text Detection and Recognition in Imagery: A Survey [paper][2014_Front.Comput.Sci] Scene Text Detection and Recognition: Recent Advances and Future Trends [p
2017-02-28 23:11:38
14439
原创 多媒体篡改检测资源
持续更新中......【综述】1. [2015-Signal Processing: Image Communication] A bibliography of pixel-based blind image forgery detection techniques [paper]2.[2014-IAS] Passive Video Forgery Detection Techn
2017-01-31 17:49:20
5085
3
原创 批量下载网页中所有的PDF文档
某日要下载网页中所有的PDF文档,大约400个。作为计算机专业的学生,显然不能手工去下载啊!!!于是在网上找到了相关的批量下载文档脚本,众里寻他千百度,终于在一篇博客http://blog.youkuaiyun.com/waylife/article/details/41021641中找到最贴切的脚本代码。然而,我略加修改,始终会出现问题,对于从未爬过虫的小白,慢慢的开始分析网页结构: 对于上
2015-11-28 18:12:34
28321
1
原创 Win7 中安装Theano及配置CUDA以搭建GPU加速环境
根据官方文档http://deeplearning.net/software/theano/install.html#windows来安装theano库会显得比较繁琐,在此介绍一种简洁的配置方式,包含以下4步(以64位Win7环境为例):1) 安装TDM-GCC (64位)2)安装Anaconda (64位)3)安装Theano4)安装CUDA
2015-11-28 15:24:40
1432
原创 Linux中网络编程常用函数
1.字节序转换 CPU 向内存保存数据以及解析数据的方式有两种: 1)大端字节序(Big Endian): 高位字节存放在低位地址上 2) 小端字节序(Little Endian): 高位字节存放在高位地址上因为这种差异性,异导致数据解析的混乱,因此在通过网络传输数据时,先将数据数组转换成大端格式再进行网络传输(网络序)。相应的转化函数如下:unsigned sh
2015-10-25 15:01:43
503
原创 Hadoop2.4.0 中Eclipse 平台的搭建
一、Hadoop2.4.0环境下Eclipse平台的搭建1.安装Eclipse 对于hadoop集群,我们将eclipse安装在master节点上,首先下载Eclipse安装包(如:eclipse-jee-luna-SR1-linux-gtk.tar.gz)然后用tar -zxvf 命令解压,并把解压后的目录移动到/usr/local路径下,然后启动eclipse:下载网
2015-07-26 18:17:32
1038
原创 Fedora20上Xen的安装与部署
XEN 是一种直接运行在硬件上一层软件,它可以让电脑硬件上同时跑多个用户的操作系统。其体系结构如下:XEN Hypervisor :介于操作系统和硬件之间的一个软件描述层。它负责在各个虚拟机之间进行 CPU调度和内存分配。(XEN Hypervisor不会处理网络、存储设备、视频以及其他 I/O)Domain 0:一个修改过的 Linux kernel,它拥有访问物理
2015-07-26 13:02:54
2025
原创 算法导论 第三十三章:字符串匹配
朴素字符串匹配算法 用一个循环来找出所有有效位移,该循环对n-m+1个可能的每一个s值检查条件P[1...m]=T[s+1...s+m]。伪代码如下:EG:Rabin-Karp 算法 已知一个模式P[1...m],设p表示其相应的十进制数的值。类似地,对于给定的文本T[1...n],用ts来表示长度为m的子字符串T[s+1...s+m] (s=0,1,.
2015-07-21 22:46:31
711
原创 算法导论 第三十一章:数论
1.求两个数的最大公约数方法一:欧几里得算法(辗转相除)递归形式,如伪代码:非递归形式:1)计算 r=a mod b(0≤r2) 互换:置 a←b,b←r,并返回第1步。方法二:扩展的欧几里得算法d=gcd(a,b)=ax+by伪代码如下:========================================
2015-07-21 20:19:31
990
原创 算法导论 第二十五章:有向图的传递闭包
已知一有向图G=,顶点集合V={1,2,...,n},我们可能希望确定对所有顶点对i,j ∈ V,图G中事发后都存在一条从i到 j 的路径。G的传递闭包定义为图,其中: 在Θ(n^3)时间内计算出图的传递闭包的一种方法是对E中每条边赋以权值1,然后运行Floyd-Wars
2015-07-21 01:20:54
7802
原创 算法导论 第二十五章:每对顶点间的最短路径
Floyd-Warshall 算法 设G的顶点为V={1,2,...,n},对于每个k考虑顶点的一个子集{1,2,...,k}。对于任意一对顶点i,j ∈ V,考察 从i到 j 且中间顶点皆属于集合{1,2,...,k}的所有路径,设p是其中的一条最小权值路径:1)如果k不是路径p中的中间顶点,则p的所有中间顶点皆在集合{1,2,...,k-1}中。因此从顶点i到顶点j且满足所有中间顶
2015-07-21 00:49:54
1426
原创 算法导论 第二十四章:单源最短路径
在单源路径问题中常涉及到松弛技术(Relaxation),其原理如下:Bellman-Ford 算法该算法主要是解决边的权重可能为负的情况。伪代码如下:EG:运行时间:O(VE)。Bellman-Ford 算法的一个重要应用是差分约束(Difference and Constraints),其原理如下:对于一个差分约束Ax有像无循
2015-07-20 23:43:43
1907
原创 算法导论 第二十三章:最小生成树
如下无向图G=(V,E),首先确定几个概念:割(Cut): 如果无向图(u,v)∈E的一端点属于S,而另一个端点属于V-S时,则称(u,v)通过割(S,V-S)轻边(Light edge): 如果某条边的权值是通过一个割的所有边中最小的,则称该边为通过这个割的一条轻边。安全边(Safe edge): 如果一条边(u,v)能够加入集合A中而不违反循环不变式,则该边称为安全边。也即A∪
2015-07-20 22:38:11
1034
原创 算法导论 第二十二章:拓扑排序
拓扑排序(针对有向无回路图DAG)是深度优先搜索的一个应用,其结果图中所有顶点的一个线性排列。伪代码如下:EG:拓扑排序完整代码如下:#include#include#include#includeusing namespace std;#define UDG 0#define DG 1#define WHITE 0 #define
2015-07-20 01:48:08
1002
原创 算法导论 第二十二章:图的搜索
图有两种标准的表示方法,即邻接矩阵和邻接表(通常邻接矩阵用于稠密图,邻接表用于稀疏图)。如下:对于图的搜索有两种方法:深度优先搜索 & 广度优先搜索。广度优先搜索(Breadth-first search) 广度优先搜索是将已发现和未发现顶点之间的边界沿其广度方向向外扩展。亦即算法首先会发现和s距离为k的所有点,然后才会发现和s距离为k+1的其他顶点。伪代码:
2015-07-20 01:18:45
992
原创 算法导论 第二十一章:不相交集合森林
在不相交集合中的另一种更快的实现中,用有根树来表示集合。树中的每个成员指向其父节点,每棵树的根包含了代表(representative),并且是他自己的父节点。不相交森林即由多棵这样的树组成,如下图所示:[注:(b)是(a)UNION(e,g)的结果]采用上述表示方法直观上并不比采用链表表示算法更快,但是可以通过“按秩合并”和“路径压缩”来提升效率。按秩合并(union by ra
2015-07-18 16:14:01
1651
原创 算法导论 第二十一章:不相交集合的数据结构
不相交集合(Disjoint-set )数据结构保持一组不相交的动态集合S={S(1),S(2),...,S(k)}.每个集合通过一个代表(representative)来识别,即集合中的某个成员。设x表示一个对象,不相交集合支持操作:MAKE-SET(x):建立一个新的结合,其唯一成员(也即代表)就是x。因为各集合是不相交的,故要求x没有在其他集合中出现过。UNION(x,y):将包含x
2015-07-18 15:41:10
1899
原创 算法导论 第十九章:斐波拉契堆
斐波拉契堆是由一组最小堆有序树组成,每棵树遵循最小堆性质,并且每棵树都是有根而无序的。所有树的根通过left和right指针来形成一个环形的双链表,称为该堆的根表。 对于一个给定的斐波拉契堆H ,可以通过指向包含最小关键字的树根指针H.min来访问。堆中每个节点还包含x.mark,x.degree两个域,x.degree表示x的子女表中的子女个数;x.mark表示从x上次成为另一个节点子女
2015-07-18 14:45:21
4536
1
原创 算法导论 第十八章;B 树
B树是为磁盘或其他直接存取辅助存储设备而设计的一种平衡查找树。B树的”分支因子“可能很大,即每个节点可以有很多子女。这一因子由所用磁盘特性所决定,并且可以降低磁盘I/O操作次数。许多数据库系统都使用B树或B树的变形来存储信息。B树结构形式如下:其特点:1)每个节点x有以下域:a) x.n:当前存储在节点x中的关键字b) x.n 个key值,以非降序顺序存放,即 x.key
2015-07-18 11:34:27
978
原创 算法导论 第十六章:贪心算法之单任务调度问题
贪心算法是使所做的选择看起来都是当前最优的,通过所做的局部最优选择来产生一个全局最优解。其具有的性质如下:1)贪心选择性质:一个全局最优解可以通过局部最优(贪心)选择来达到。即,在考虑如何做选择时,我们只考虑对当前问题最佳的选择而不考虑子问题的结果。 这一点是贪心算法不同于动态规划之处:在动态规划中,每一步都要做出选择,但是这些选择依赖于子问题的解。因此,解动态规划问
2015-07-18 10:07:33
12674
原创 算法导论 第十五章:动态规划之棒的切割(Rod Cutting)
和分治法一样,动态规划(Dynamic programming)是通过组合子问题的解而解决整个问题的。其不同点在于:1)分治法是将问题划分成一些独立的子问题,递归求解各个子问题,然后合并子问题的解而得到原问题的解2)动态规划使用于子问题不独立的情况,也就是各个子问题包含公共的部分。若采用分治法,会有重复的求解公共部分,而动态规划算法对每个子问题只求解一次,然后抢劫过保存在一张表中,从而
2015-07-17 22:24:41
3891
原创 算法导论 第十四章:区间树
区间树是一种对动态集合进行维护的红黑树,具体设计如下:step1:基础数据结构 我们选择的基础数据结构式红黑树,其中每个节点增加
2015-07-16 21:23:32
13340
2
原创 算法导论 第十四章:数据结构的扩张
对一种数据结构的扩张过程可分为四步骤:1)选择基础数据结构2)确定要在基础数据结构中添加哪些信息3)验证可用基础数据结构上的基本修改操作来维护这些新添加的信息4)设计新的操作动态顺序统计 动态顺序统计在红黑树的基础上添加x.size域,满足:x.size = x.left.size+x.right.size+1,扩张的结构如下:操作:1)检索具有给定秩的元
2015-07-16 20:36:32
771
原创 算法导论 第十三章:红黑树
红黑树(red-black tree)是一种“平衡”查找树,它能保证最坏情况下,基本的动态集操作时间为O(lgn).性质:1)每个节点要么是红的,要么是黑的2)根节点和叶子节点(NIL)是黑色的3)若一个节点是红色的,则他的两个孩子节点是黑色的4)对于每一个节点x,从该节点到其子酸节点的所有路径上包含相同数目的黑节点(#black nodes = black-height(x)
2015-07-16 17:24:32
794
原创 算法导论 第十二章:二叉查找树(Binary Search Trees)
二叉查找树具有如下性质: x是二叉查找树中的一个节点,如果y是x左子树中的一个节点,则y.key ≤ x.key ; 如果 y 是 x 右子树中的一个节点,则 x.key ≥ y.key. 在二叉树上执行的基本操作的时间与树的高度成正比。当这棵树是完全二叉树时,这些操作的最坏情况运行时间为Θ(lgn);如果该树是含n个节点的线性链,则这些操作的最坏情况的运行时间为
2015-07-16 16:49:12
767
原创 算法导论 第十一章:哈希表
当将一个域U中的元素映射到一个哈希表T中时,我们如何映射?若映射到同一位置怎么办?前一个问题我们通过hash函数来解决,后一个问题我们通过“冲突处理”解决。1.Hash 函数(1)除法 h(k) = k mod m m的选取:素数,且不要太靠近 2的幂次方(2)乘法其中,0EG:当m=8=2^3,w=7时:(3)全域哈希
2015-07-15 21:22:18
1165
原创 算法导论 第十章:基本数据结构
1.栈基本操作:所有操作的运行时间均为:O(1)2.队列基本操作:所有操作的运行时间均为:O(1)3.链表基本操作:SEARCH和DELETE操作的时间为:Θ(n),INSERT操作的时间为:O(1)4.指针与对象对象的多重数组表示:对象的单数组表示:5.有根树有根树的表示:【注:这一章写的很简单,
2015-07-15 16:27:16
605
原创 算法导论 第九章:顺序统计量(Order Statistic)
在一个由n个元素组成的集合中,第i个顺序统计量(order statistic)即为该集合中第i小的元素。当i=1时,即为最小值;当i=n时,即为最大值;当i=L(n+1)/2」时,即为中位数(median)。求第i个顺序统计量可以定义为形式化的定义为选择问题(selection problem): 输入:一个包含n个(不同的)的书的集合A和一个数i,1≤i≤n 输出:元素x∈A,它恰
2015-07-15 14:50:39
4253
原创 算法导论 第八章:线性时间排序
1.计数排序(Counting sort) 其基本思想是:对于每一个元素x,确定小于x的元素的个数,然后直接将x放在输出数组的合适位置中。其伪代码如下:EG:每个输入的元素的范围是0~k,k 不能太大,如果太大,分配给C的内存就会很大!当k=O(n)时,该算法的时间复杂度为:Θ(n)。此外计数排序是稳定排序,这一思想在接下来介绍的基数排序中很有用。计数排序完整代码如
2015-07-14 21:20:08
606
原创 算法导论 第七章:快速排序(Quicksort)
前面我们谈论到的归并排序、堆排序的时间复杂度都是O(nlgn),快速排序的时间复杂度也为Θ(nlgn)。但在实际中,快排序往往要优于前两种,因为隐藏在Θ(nlgn)中的常数因子非常小。此外,快速排序是一种就地(in place)排序,在虚拟内存、硬件缓存等环境中非常有效。 快速排序的基本原理为分治:1)将数组A[p...r]划分成两个子数组A[p...q-1]和A[q+1...r]
2015-07-14 19:53:33
712
原创 算法导论 第六章:优先级队列
虽然堆排序的时间复杂度为O(nlgn),但在实际中,快速排序(下一章将介绍)往往要优于堆排序。尽管如此,堆数据结构在其他方面有着很大的用处,如用于优先级队列的实现。因为堆可让优先级队列的所有操作的时间复杂度为O(lgn)。最大优先级队列常用于共享主机上的作业调度,最小优先级队列常用于事件驱动的模拟中。以最大优先级队列为例,其支持的操作如下:1)INSERT(S,x): 向集合中插入元素x
2015-07-14 19:10:10
884
原创 算法导论 第六章:堆排序
(二叉)堆数据结构是一种数组对象,如下图所知,他可以被视为一颗完全二叉树。其有如下性质:1)对于i节点(i表示下标),其父节点为Li/2」,左孩子节点为2i,右孩子节点为2i+12)最大堆满足:A[PARENT(i)] ≥ A[i] ;最小堆满足:A[PARENT(i)] ≤ A[i]3)堆的高度为:Θ(lgn)4)子数组元素A[ (Ln/2」+1)...n]是树中的所
2015-07-14 18:49:24
763
原创 算法导论 第五章:随机算法
许多随机算法通过排列给定输入数组来是输入随机化。在这里我们将讨论两种随机化方法。假设给定一个数组A,他包含元素1到n,我们的目标就是构造这个数组的一个随机排列。 方法一: 为数组中个每一个元素A[i]赋予一个随机优先级P[i],然后根据优先级对数组A中的元素进行排序。如初始数组A=,且随机的优先级P=,将得出数列B=,因为第2个优先级最小,接着是第4个,...这个过
2015-07-13 20:21:11
886
原创 算法导论 第四章:分治法(二)
矩阵乘法问题 设矩阵A,B是nxn的方阵,我们将用分治法求解 C=A*B 。 我们用蛮力方法求解的运行时间复杂度为:。利用分治法,将A,B,C划分成4个n/2 x n/2 的矩阵,如下: 所以有: 采用分治思想,其伪代码表示如
2015-07-13 19:04:19
674
原创 算法导论 第四章:分治法(一)
无论是在生活中还是在计算机科学中,“分而治之”的思想占据着举足轻重的地位,其原理如下: 1)将一个复杂的问题分成若干个相同或相似的子问题 2)递归求解子问题,当子问题规模很小时,可直接求解 3)将所有子问题的解合并,即为原问题的解 两个例子:1.最大子数组问题(maximum-subarray problem) 即一段非空的,连续的有最大和的一
2015-07-13 16:38:21
783
算法导论(第三版)学习资料
2015-07-22
如何获取经过NAT转换后的端口号
2015-10-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人