自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

转载 Mask R-CNN

1.整体框架Mask R-CNN在Faster R-CNN的CNN特征提取层后增加了一个全卷积网络(Fully Convolutional Network, FCN)用于生成mask(分割结果)。作者在文中提到,backbone选用ResNet-FPN得到的性能最佳。2. RoIAlign2.1 RoIPooling局限性分析在两极目标检测框架中,ROIPooling的作用...

2019-05-04 15:47:52 521

转载 排序算法

排序可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,外部排序是因为排序的数据量很大,一次不能容纳全部的排序记录,在排序过程中需要访问外部存储空间。内存中排序算法介绍。冒泡排序思想:通过与相邻元素的比较和交换把最小的数交换到最前面,从后向前遍历(或者把最大的数交换到最后面,从前到后遍历)。平均和最差的时间复杂度O(n^2)。空间复杂度O(1)。稳定的算法。如果算法优化,最...

2018-09-10 22:16:50 200

转载 STL容器

vector(向量):只能在vector的“前面”增加数据。deque(双端队列,double-ended queue):功能上和vector类似,但是可以在前后两端向其中添加数据。list(列表):游标一次只能移动一步,是一个双向链表,每个节点有指向前驱和指向后继的两个指针。set(集合):包含了经过排序的数据,这些数据的值必须是唯一的。map(映射):经过排序的二元组的集合,m...

2018-09-02 21:17:10 213

转载 弱监督学习

弱监督学习是指数据集的标签是不可靠的,如(x,y),y对于x的标记是不可靠的。这里的不可靠是指标记不正确、多种标记、标记不充分、局部标记等。针对监督信息不完整或不明确对象的学习问题统称为弱监督学习。监督学习技术通过学习大量训练样本来构建预测模型,其中每个训练样本都有一个标签标明其真值输出。尽管当前的技术已经取得了巨大的成功,但是值得注意的是,由于数据标注过程的高成本,很多任务很难获得如全部真值...

2018-09-01 21:25:50 10637

转载 Ubuntu挂载

将新的硬盘挂载到需要添加存储介质的目录下:1.查看磁盘信息sudo fdisk -l选取/dev/sda将其挂载到/home/NewDisk(该目录应为空)下面。查看硬盘使用情况命令:df -kh2. 查看硬盘UUID和磁盘类型sudo blkid记录下/dev/sda的UUID和分区格式(TYPE)3.取消挂载目标盘sudo umoun...

2018-08-12 16:33:45 598

转载 Ubuntu 终端语言更改

中文在Ubuntu终端会出现乱码的情况,因此修改Ubuntu语言为英文,具体操作步骤如下:sudo vim /etc/default/locale修改为:LANG=”en_US.UTF-8″LANGUAGE=”en_US:en”重启Ubuntu:sudo reboot 参考:[1] https://blog.csdn.net/u012732259/artic...

2018-08-12 14:52:22 3940

转载 最大似然估计

最大似然估计(maximum likelihood estimation,缩写为MLE),也称最大概似估计,是用来估计一个概率模型的参数的一种方法。给定一个概率分布,已知其概率密度函数(连续分布)或概率质量函数(离散分布)为,以及一个分布参数,我们可以从这个分布中抽出一个具有个值的采样,利用计算出其似然函数:若是离散分布,即是在参数为时观测到这一采样的概率。若其是连续分布,则为联合...

2018-08-04 20:56:43 296

转载 C++ const

const是C++中类型修饰符,常类型的变量或者对象值是不可以被更改的。const修饰基本数据类型 1.const修饰一般常量及数组            const int a=10;               等价的书写方式:     int const a=10;          const int arr[3]={1,2,3};                      ...

2018-08-04 18:42:32 109

转载 ResNet

网络结构:在计算机视觉里,特征的“等级”随增网络深度的加深而变高,研究表明,网络的深度是实现好的效果的重要因素。然而梯度弥散/爆炸成为训练深层次的网络的障碍,导致无法收敛。有一些方法可以弥补,如归一初始化,各层输入归一化,使得可以收敛的网络的深度提升为原来的十倍。然而,虽然收敛了,但网络却开始退化了,即增加网络层数却导致更大的误差, 如下图。 这种deep plain net收敛率十分低...

2018-08-01 15:25:36 316

转载 Inception

Inception V1模型 Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,堆叠在一起,一方面增加了网络的width,另一方面增加了网络对尺度的适应性:所有的卷积核都在上一层的所有输出上来做,那5×5的卷积核所需的计算量就太大了,造成了特征图厚度很大。为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max poo...

2018-08-01 15:14:39 872

转载 生成式对抗网络GAN

生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好;判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率,否则,D 输出小概率。判别模型的目标函数如下:假设我们的生成模型是g(z),其中z是一个随机噪声,而g将这个随机噪声转化为数据类型...

2018-05-23 20:26:21 434

转载 Batch Normalization

Batch Normalization(批量标准化)是有google提出的一种训练优化方法,参考论文:Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift 。神经网络学习过程本质就是为了学习数据分布,一旦训练数据和测试数据的分布不同,那么网络的泛化能力也就大大降低;另一...

2018-04-27 09:04:50 191

原创 快速傅里叶变换

首先,按照被变换的输入信号类型不同,傅立叶变换可以分为 4种类型:1、 非周期性连续信号傅立叶变换(Fourier Transform)2、 周期性连续信号傅立叶级数(Fourier Series)3、 非周期性离散信号离散时域傅立叶变换(Discrete Time Fourier Transform)4、 周期性离散信号离散傅立叶变换(Discrete Fourier Transform)下面是...

2018-04-26 21:45:26 466

转载 图割 Graph Cut

Graph cuts是一种能量优化算法。此类方法把图像的分割问题与图的最小割(min cut)问题相关联,常用于图像中前景和背景的分割问题中。首先用一个无向图G=<V,E>表示要分割的图像,V和E分别是顶点(Vertex)和边(edge)的集合。Graph cuts图在普通图的基础上多了两个点,分别用S和T表示,统称为终端定点。其他所有的顶点都和S与T相连,并且构成的边属于E中的一部分...

2018-04-21 20:35:45 518

原创 linux系统盘使用率达到100%

在用linux时,有时候比较奇怪,明明存放的东西不多,但是磁盘却显示被占满。问题原因:删除正在使用的文件时,空间不会被释放。在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用,这样就会导致我们明明删除了文件,但是磁盘空间却未被释放。获得一个...

2018-04-13 20:00:13 1617

原创 Ubuntu代码提交github

首先你需要有一个github账户。GitHub官网网址:https://github.com/设置SSH key本地Git仓库与GitHub网站仓库之间传输通过SSH加密,因此需要设置SSH keys。打开终端,输入自己邮箱,创建SSH key:ssh-keygen -t rsa -C "youremail@example.com"其中,”youremail@example.com”是你的邮件地址...

2018-04-13 14:26:56 381

转载 Ubuntu环境变量

在Ubuntu中有如下几个文件可以设置环境变量:/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行./etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。~/.profile:在登录时用到的第三个文件是.profile文件,每个用户...

2018-04-07 12:56:58 145

转载 图像分割算法

图像分割是指根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并是这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。基于阈值的分割方法 阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值相比较,最后将像素根据比较结果分到合适的类别中。因此,该类方法最为关键的一步就是按照某个准则函数来求解最佳灰度阈值。基于边缘的分割方法边缘...

2018-03-31 13:36:24 1954

原创 C++ static

C++中static关键字有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数;后者应用于类中。面向过程程序设计中的static静态全局变量全局变量前加static,该全局变量即被定义成为一个静态全局变量。静态全局变量特点:(1)在全局数据存储区分配内存;(2)未经过初始化的静态全局变量被初始化为0(没有被初始化的自动变量的值是随机的);(3)静...

2018-03-30 11:12:28 496

转载 TextBoxes++

TextBoxes++是基于SSD和TextBoxes的。论文:https://arxiv.org/pdf/1801.02765.pdf前言文本检测和其他物体检测的区别:(1) 文本检测有比较大的长宽比;(2) 一半的convolutional filter无法全部检测到;可能的解决方案:(1) 长的卷积核;(2) inception convolutional kernels;(3) part ...

2018-03-13 08:49:58 6251

转载 SegLink

【CVPR2017】Detecting Oriented Text in Natural Images by link Segments原文链接:https://arxiv.org/pdf/1703.06520.pdfSegLink是一个改进版的SSD,用来解决多方向的文字检测问题。piplineStep1将图像输入到SSD网络,同时输出两类信息:(1) text的box信息。该box是多方向的,...

2018-03-12 11:24:34 2607

转载 CTPN

文本检测的其中一个难点就在于文本行的长度变化是非常剧烈的。因此如果是采用基于faster rcnn等通用物体检测框架的算法都会面临怎么生成好的text proposal的问题。论文Detecting Text in Natural Image with Connectionist Text Proposal Network提供了另外一个思路,检测一个一个小的,固定宽度的文本段,然后再后处理部分再将...

2018-03-11 23:00:04 7949 2

原创 CRNN--文本识别

CRNN是 Convolutional Recurrent Neural Network的缩写,是一种端到端的文字识别的网络。原文链接:https://arxiv.org/pdf/1507.05717v1.pdfCRNN由CNN+BiLSTM+CTC构成:网络结构:网络结构综合了CNN+RNN(1)其中Max pooling中的窗口大小为1*2,保证提出的特征具有横向的长度,有利于识别较长的文本;...

2018-03-11 12:37:50 16387 8

原创 字典树

字典树(Trie),又叫前缀树,是一种有序树,用于保存关联数组,其中的键通常是字符串。Trie键由结点在树中的位置决定。每个结点的所有子孙都有相同的前缀,即该节点对应的字符串,根结点对应空字符串。一般情况下,并不是所有的结点都有对应的值,只有叶子节点和部分内部结点所对应的键才有相关的值。如果我们有and,as,at,cn,com这些单词,对应的trie如下:Trie使用范围(1)词频统计。trie...

2018-03-09 11:36:04 177

转载 ROI pooling

目标检测通常分为两个阶段:(1)region proposal:给定一张图片,找出目标可能存在的位置。该阶段输出为一系列目标可能存在的位置的bounding box。这些bounding box通常被称为region proposals或者regions of interest (ROI)。(2) final classification:确定上一阶段的每个region proposal是否属于目...

2018-03-08 09:35:53 318

转载 LR 和 SVM

逻辑回归(Logistic Regression, LR)具体过程:(1) 找到一个合适的预测函数,一般表示为h函数,该函数就是要找的分类函数,它用来预测输入数据的判断结果。(2) 构造一个Cost函数(损失函数),该函数表示预测的输出(h)与训练数据类别(y)之间的偏差。综合考虑所有训练数据的“损失”,将Cost求和或者求平均,记为J(θ)函数,表示所有训练数据预测值和实际类别的偏差。(3) J...

2018-03-06 20:11:16 293

转载 梯度反方向是函数值局部下降最快的方向

很多机器学习的训练算法都是利用梯度下降,朝着梯度的反方向变动,函数值下降最快。导数导数可以表示函数曲线上的切线斜率。 除了切线的斜率,导数还表示函数在该点的变化率。导数代表了在自变量变化趋于无穷小的时候,函数值的变化与自变量变化的比值代表了导数,几何意义有该点的切线。物理意义有该时刻的(瞬时)变化率。在一元函数中,只有一个自变量变动,也就是说只存在一个方向的变化率,这也就是为什么一元函数没有偏导数...

2018-03-06 18:56:09 1633 1

转载 奇异值分解SVD

奇异值分解(singular value decomposition,SVD)如下图,一个矩阵可以分解为两个方阵和一个对角矩阵的乘积:C = m * n;u = m * m;sigma = m * n;v' = n * nsigma是一个对角矩阵,但通常不是方阵。sigma的对角元素被称为奇异值,与特征值类似。因此与PCA类似,我们可以取sigma中最大的k个,来简化数据:u' = m * k;s...

2018-03-06 17:39:18 231

原创 深度学习训练算法

越复杂的神经网络 , 越多的数据 , 我们需要在训练神经网络的过程上花费的时间也就越多. 原因很简单, 就是因为计算量太大了. 可是往往有时候为了解决复杂的问题, 复杂的结构和大数据又是不能避免的, 所以我们需要寻找一些方法, 让神经网络训练快起来。Stochastic Gradient Descent (SGD)上图中红色方块是我们要训练的 data, 如果用普通的训练方法, 就需要重复不断的把...

2018-03-06 11:48:55 5187

原创 训练深度神经网络

1.训练数据(1)数据量越大越好,模型泛化能力越强;(2)去除损坏的训练样本;(3)数据扩张(Data Augmentation)--拿图像为例,通过翻转、模糊等操作生成新的样例。2.选择恰当的激励函数(Activation Function)激励函数是神经网络的核心部分之一。激励函数将模型非线性(none-linearity)化。之前的神经网络大多选用Sigmoid函数作为激励函数,但是Sigm...

2018-03-06 10:06:51 792

原创 RANSAC算法

随机抽样一致(RANdom SAmple Consensus,RANSAC)算法可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。RANSAC算法是一种不确定的算法--它有一定的概率得出一个合理的结果,为了提高准确率要提高迭代次数。RANSAC基本假设:(1)数据由“局内点”组成,即数据的分布可以用一些模型参数解释;(2)“局外点”是不能适应该模型的数据;(3)给定一组(较小...

2018-03-06 08:48:05 636

原创 数据流中的中位数

Leetcode题目:https://leetcode.com/problems/find-median-from-data-stream/description/Median is the middle value in an ordered integer list. If the size of the list is even, there is no middle value. So t...

2018-03-04 12:19:50 114

原创 深度学习中的trick

下面浅谈深度学习中的技巧。学习率(learning rate)学习率的设置应该随着迭代次数的增加而减小,每迭代完指定次epoch也就是对整个数据过一遍,然后对学习率进行变化,这样能够保证每个样本得到公平的对待。卷积神经网络CNN中的技巧CNN中将一个大尺寸的卷积核分解成多层的小尺寸的卷积核或者分解成多层的一维卷积,这样能够减少参数并增加非线性。CNN中的网络设计应该逐渐减少图像尺寸,同时增加通道数...

2018-03-01 21:49:20 10483

原创 caffe fine-tuning 图像分类

fine-tuning流程:1、准备数据集(包括训练、验证、测试);2、数据转换和数据集的均值文件生成;3、修改网络输出类别和最后一层的网络名称,加大最后一层参数的学习速率,调整solver的配置参数;4、加载预训练模型的参数,启动训练;5、选取图片进行测试。准备数据集将图像整理到对应的文件夹中,对应的ground-truth放到对应的txt文件中。把自己的数据集划分为训练集、验证集和测试集三个集...

2018-03-01 19:35:33 991

原创 边缘检测算子

边缘是指图像中像素值突变的地方。图像的显著变化部位通常反映了图像的重要特征。边缘检测方法可以大致分为两大类:基于查找和基于零穿越。基于查找的方法是通过寻找图像中一阶导数中的最大和最小值来检测边缘,通常将边界定位在梯度值最大的方向。基于零穿越的方法是通过寻找图像二阶导数零穿越来寻找边界。一阶微分算子一阶微分边缘算子也称为梯度边缘算子,它是利用图像在边缘处的阶跃性,即图像梯度在边缘取得极大值的特性进行...

2018-02-28 18:58:07 1327

原创 反向传播

反向传播(back propagation)是多层神经网络的训练中举足轻重的算法,简单理解就是复合函数的链式法则。目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。Step 1 前向传播  1.输入层---->隐含层:  计算神经元h1的输入加权和:神经元h1的输出o1:(此处用到激活函数为sigmoid函数):    同理,可计...

2018-02-20 21:58:54 674 1

原创 深度学习目标检测

在深度学习出现之前,传统的目标检测方法大概分为区域选择(滑窗)、特征提取(SIFT、HOG等)、分类器(SVM、Adaboost等)三个部分,其主要问题有两方面:一方面滑窗选择策略没有针对性、时间复杂度高,窗口冗余;另一方面手工设计的特征鲁棒性较差。自深度学习出现之后,目标检测取得了巨大的突破,最瞩目的两个方向有:1 以RCNN为代表的基于Region Proposal的深度学习目标检测算法(RC...

2018-02-20 21:23:20 3331

原创 python+opencv

1、安装python本人安装python 3.4.3版本2、下载opencv:https://opencv.org/ 并编译本人下载opencv 3.4版本,利用cmake编译源码并配置OpenCV环境变量:"D:\OpenCV\opencv-3.4.0\build\install\x64\vc14\bin";3、把OpenCV目录 "D:\OpenCV\opencv-3.4.0\build\li...

2018-02-17 19:45:41 205

原创 py-faster-rcnn 环境配置

1、下载py-faster-rcnngit clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 2、进入py-faster-rcnn/lib,执行makecd ~/py-faster-rcnn/libmake3、进入py-faster-rcnn\caffe-fast-rcnn,修改Makefile.config文...

2018-02-15 10:26:53 702

原创 Ubuntu配置caffe

Ubuntu是以桌为主面应用的Linux发行版。本人使用Ubuntu 16.04.3版本。可通过以下命令查看本机Ubuntu的内核版本和发行版本号。cat /etc/issue输出如下:Ubuntu 16.04.3 LTS \n \l本人显卡:TITAN XpNVIDIA Titan Xp显卡驱动和CUDA安装本人安装CUDA Toolkit 9.0版本。下载链接:https://develope...

2018-02-14 17:46:08 506

空空如也

空空如也

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

TA关注的人

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