自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 论坛 (1)
  • 收藏
  • 关注

原创 docker的容器下使用apt-get update卡在[0%] Working问题解决办法

产生问题的原因在于docker的容器下实在是太干净简洁了,很多东西都没有,这里是因为缺少apt-transport-https包导致的,先在自己电脑上下载这个包(针对ubuntu 16.04 64位的下载地址为:http://archive.ubuntu.com/ubuntu/pool/main/a/apt/apt-transport-https_1.2.32_amd64.deb),下载好后使用d...

2020-02-17 10:30:39 993

原创 [Python学习] Python+Opencv快速获取二值图像中物体的bounding box

[Python学习] Python+Opencv快速获取二值图像中物体的bounding box问题解决方法问题如图所示,如何快速获取图像中这条横线的bounding box的值,以及如何获取这条直线中所有黑色像素的数目呢?解决方法最简单的方法就是直接遍历图像中每个像素,判断每个像素是否为黑色,然后获取bounding box的值以及所有黑色像素的数目,但是这种方法非常耗时(C++与op...

2019-02-25 10:50:56 3356

原创 [Image Caption系列(2)] Knowing when to look(Adaptive attention)论文阅读笔记

CSDN的博客标题长度有限制,写不全,这篇论文是2016年的一篇名为Knowing when to look: Adaptive attention via a visual sentinel for image captioning1的文章,这篇文章我认为创新点特别的好,用一个十分简单的方式较大程度上提升了Image Caption的效果。首先介绍一下这篇论文解决的问题,http://...

2018-09-28 20:15:00 984

原创 [Image Caption系列(1)] Show attend and tell论文解读

最近在研究关于Image Caption相关的东西,我打算把我看到的关于Image Caption的论文用一个系列介绍一下,本篇是第一篇。说到近几年深度学习在Image Caption的应用,最经典的也是开山之作的就是Bengio团队在15年发表的Show, Attend and Tell: Neural Image Caption Generation with Visual Attentio...

2018-09-27 10:30:11 3069 3

原创 C++程序调用Python的函数(简单应用)及Ubuntu16.04下codeblocks的环境配置

今天需要在C++程序中调用Python的程序,以完成不同功能的整合,以前以为C++中调用Python程序应该比较容易,没想到今天走下来也趟了不少的坑,记录一下。一、codeblocks的环境配置因为我的C++程序是在Ubuntu 16.04下用codeblocks建立的工程,所以需要在codeblocks下搭一下调用Python程序时需要的环境。下面来简单介绍一下我在网上看到了有人在w

2017-11-20 21:31:05 1361

原创 [Python] caffe.io.load_image与Opencv的imread区别

今天在写代码的时候遇到一个挺有趣的bug,我也是找了半天才查到资料解决的。bug描述如下:用训练好的caffemode做infernece(inference函数代码如下):#进行预测def inference(img, transformer, net, labelnames): #img = caffe.io.load_image(img_name, True)

2017-11-14 09:49:46 4492 3

原创 [深度学习] 反向传播的四个基本公式证明及算法流程

首先,我们来定义一些变量名:然后是以下四个公式的证明过程:最后我们得到反向传播算法的算法流程:PS:对着网上的教程推了小半天,现在总算记住了,没准以后面试就会考到 = = 不过反向传播是现在网络训练的数学基础,以前只是有感性的认识,现在数学公式一列还是清楚了不少。

2017-07-14 09:15:02 4594 4

原创 [深度学习] RCNNs系列(4)Faster RCNN介绍

Faster RCNN是Kaming He与RCNN作者共同完成的一项工作,也是目前在目标检测领域非常知名并应用广泛的一种深度学习框架。自2016年被提出以后成为了Detection领域的baseline,众多的算法都是在Faster RCNN的基础上进行的改进,同时介绍结果时也是一Faster RCNN的结果为标准。Faster RCNN实现了RCNNs系列中目标检测的端到端检测的过程。我现在做的

2017-06-30 22:30:52 5129

原创 [深度学习]RCNNs系列(3)Fast RCNN介绍

最近我做的任务一直没有什么进展,所以也没抽出时间来补RCNNs系列的博客,今天来补一下吧,不过最近又多调研了不少方法,有时间一起写出来。 为了节省时间,Fast RCNN我就不仔细按照论文介绍一遍了,这篇博客主要介绍Fast RCNN的核心思想。Fast RCNN是RCNN的作者提出的RCNN的改进版,它的研究基础是RCNN以及Kaming大神他们提出的SPPnet。RCNN就不用多说了,我前一篇

2017-06-29 20:30:23 2339

原创 双硬盘+win7+ubuntu双系统 去掉从硬盘后ubuntu无法正常启动问题解决方法

今天电脑一块硬盘报警,马上要报废了,我把它拆一下来以后,发现另一块硬盘里的ubuntu系统无法正常启动了,症状就是无法进入系统,可当我把拆下来的硬盘又安上后又能顺利的进系统。而这块硬盘上的windows系统则完全不受硬盘拆装的影响。开始我以为是grub的问题,无奈不太懂linux 的引导流程,鼓捣半天也是无济无事,最后求助师兄T T后来问题发现了,原因在于我之前写过 ubuntu 16.0

2017-05-19 22:31:29 1682

原创 [深度学习]RCNNs系列(2)RCNN介绍

RCNN是整个RCNN系列的开端,也是使用卷积神经网络进行目标检测的一类重要方法的开端,下面我们来看一下RCNN算法。RCNN是rbg大神在2013年发表的《Rich feature hierarchies for accurate object detection and semantic segmentation》一文中提出的算法,其实算法的思想在现在来看非常的简单,而且也很容易想到,然而

2017-05-16 20:47:26 8959

原创 [深度学习] RCNNs系列(1) Ubuntu下Faster RCNN配置及训练和测试自己的数据方法

最近用到Faster RCNN进行目标检测,前前后后两周把RCNN,SPPNet,Fast RCNN和Faster RCNN大体调查了一遍,准备写一个RCNNs系列,后面还要加上今年最新的Mask RCNN。要想开个头,知道RCNNs在目标检测方向的优势,那就先用用作者的代码,跑跑自己的代码,下面就是在Ubuntu下进行Faster RCNN配置的方法。一、Faster RCNN环境配置及

2017-04-28 16:22:20 3781

原创 [深度学习] Batch Normalization算法介绍

很早就打算写这篇博客了,最近遇到的问题比较多,所以拖了又拖,今天问题似乎解决了,等着程序运行的时候再来回顾一下Batch Normalization算法。 Batch Normalization是2015年Google研究员在论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covaria

2017-04-21 11:34:31 24766 2

原创 [深度学习]Deep Residual Learning for Image Recognition(ResNet,残差网络)阅读笔记

这一篇博文我们介绍的是大神何恺明的大作ResNet的论文,Kaming He绝对是我目前最崇拜的计算机视觉方面的大神,从12年的暗通道去雾的论文到这篇残差网络的论文,看完简直不能更爽,这里一定要隆重介绍一下。 这篇文章是介绍Kaming He等人组成的微软亚洲研究院的队伍参加ILSVRC 2015比赛中所用的网络结构的论文,残差网络一出,简直是把ImageNet上的classification任务

2017-03-27 15:30:53 10737 1

原创 [深度学习] Very Deep Convolutional Networks for Large-Scale Image Recognition(VGGNet)阅读笔记

先发发牢骚,最近的日子就是“准备数据集——想改进方法——跑实验——实验结果不好”的循环,熬得一点心情都没有了= =好了,废话不多说了,这篇VGGNet的论文是两三周之前看的了,而且最近撘的网络结构跟VGGNet很相像,就拿出来复习一下吧。这篇论文是牛津大学的几个人做出来,在ILSVRC 2014中的classification项目的比赛中取得了第2名的成绩(没错,第一就是上一篇博客中介绍的

2017-03-20 16:03:35 5568 1

转载 Ubuntu 16.04无法安装第三方deb软件的解决方法

解决方法参考风一样的程序员Ubuntu 16.04自带的软件中心估计是有问题吧,第三放软件很少能安装成功,解决方法也比较简单,我们换一个软件管理的工具就好了首先,我们安装gdebisudo apt install gdebi-core安装好gdebi以后,从终端进入到待安装软件包所在目录,使用gdebi进行安装即可,如sudo gdebi netease-cloud-mus

2017-03-15 13:07:18 16331 1

原创 [深度学习] Going Deeper with Convolutions(GooLeNet)阅读笔记

这是介绍Szegedy等人参加ILSVRC 2014比赛中提出的网络结构(GooLeNet)的论文,在这里GooLeNet使用了22层的神经网络,获得了当年比赛中Classification和Detection项目的第一名。下面来详细的介绍这篇论文的内容。Abstract作者在论文中提出了一种新的名为Inception的深度神经网络结构,并在ILSVRC 2014的classification和de

2017-02-24 10:47:03 5169

原创 [深度学习]Visualizing and Understanding Convolutional Networks阅读笔记

现在我需要用到深度学习做图像分类的任务,虽然之前对CNN有过一定的了解,但我还是第一次真正使用它来解决问题,相关论文看的也比较少,最近恶补了一下近几年比较有名的关于深度学习的论文,写到博客上总结一下,接下来应该会陆续写一个系列。 《Visualizing and Understanding Convolutional Networks》一文是Matthew和Rob两人在2013年发表的论文,文章的

2017-02-18 12:46:14 2852

原创 Gabor滤波简介与Opencv中的实现及参数变化实验

Gabor滤波是一种非常常见的特征提取算法,在人脸识别等领域有着很广泛的应用,在这里我主要介绍一下Gabor滤波器的公式及Opencv下的代码实现,以及我做的一些参数变化的实验。一、Gabor滤波简介注意,这里我介绍的Gabor算法与在人脸识别中使用的Gabor算法貌似是不太相同的,具体内容我没有深入了解。 Gabor滤波的公式如下所示:g(x,y;λ,θ,ψ,σ,γ)=exp(−x′2+γ2y2

2017-02-12 22:17:59 12254

原创 [深度学习]Ubuntu16.04 + GTX 1050 + cuda8.0 + cuDNN5.1 + caffe安装详解

首先吐个槽,ubuntu + nvidia的显卡驱动简直是反人类,害的我折腾了一天多。一、问题及解决办法寒假放假回家没事干,正好给家里电脑升级了显卡gtx1050可以跑跑CNN。我在实验室的显卡是560,比较老了,按着实验室的环境配置流程走下来居然不能用,症状就是在Python中不能成功的import caffe,然后重启后无限循环登录。问题:不能进入ubuntu的图形界面,在登录

2017-01-22 12:57:37 17024 10

原创 LintCode笔记(11)—— 带重复元素的子集

给定一个可能具有重复数字的列表,返回其所有可能的子集 注意事项子集中的每个元素都是非降序的两个子集间的顺序是无关紧要的解集中不能包含重复子集您在真实的面试中是否遇到过这个题? Yes样例如果 S = [1,2,2],一个可能的答案为:[ [2], [1], [1,2,2], [2,2], [1,

2017-01-20 10:00:50 1374

原创 [深度学习] 增加样本——弹性变换算法实现

我们都知道,深度学习的成功的原因主要有两点:(1)当前计算机的计算能力有很大提升;(2)随着大数据时代的到来,当前的训练样本数目有很大的提升。然而深度学习的一大问题是,有的问题并没有大量的训练数据,而由于深度神经网络具有非常强的学习能力,如果没有大量的训练数据,会造成过拟合,训练出的模型难以应用。因此对于一些没有足够样本数量的问题,可以通过已有的样本,对其进行变化,人工增加训练样本

2017-01-08 21:27:40 13998 20

原创 C++实现Linux和Windows下遍历指定目录下的文件

一、Linux下遍历方法方法非常简单,这里不多说了,可以直接看代码#include //遍历系统指定目录下文件要包含的头文件#include using namespace std;int main(){ DIR* dir = opendir("/home/hanchao/picture");//打开指定目录 dirent* p = NULL;//定义遍历指针

2016-12-12 11:30:46 8708

原创 Opencv + C++转换mnist数据集文件为图像

mnist数据集是深度学习入门的一个很经典的手写体数字的数据集,我们跑的第一个深度学习网络往往就是mnist数据集,但是它的数据格式比较特殊,今天就写个程序,把mnist数据集中的数据转换为图像,这样我们就可以利用这些数据把图像转换为像caffe、Tensorflow等要求的格式作为练习,以后对自己的学习任务的样本也可以这样做。废话不多说了,直接上代码,代码主要参考的是caffe中的conve

2016-12-07 11:37:30 2219 3

原创 ubuntu 16.04中如何挂载windows的磁盘

我们在装windows+linux双系统的时候,往往会犯一个错误,总觉得linux不会成为主力系统,所以给他分配的磁盘空间一般都在20~30G左右,但是之后往往发现磁盘空间不足,这时候如果再重装系统的话又很麻烦,扩展空间同样比较麻烦,那我们可以使用windows下的磁盘。在ubuntu中,windows下的磁盘相当于一个目录而已,我们可以把磁盘挂载到ubuntu中普通的目录下,然后就可以像使用

2016-12-03 10:54:29 19946 4

原创 Ubuntu下codeblocks安装配置方法及opencv配置方法

codeblocks是一种非常有名的开源IDE,在windows下最好用的IDE非Visual Studio莫属,但是在linux下,个人认为codeblocks是最好用的IDE,下面来讲一下我在ubuntu 16.04下配置codeblocks 16.01的过程。一、安装ubuntu下安装codeblocks非常容易,我们按照官网推荐的方法https://launchpad.net/~d

2016-12-02 23:27:50 9581 2

原创 libSVM + VS2013 + C++使用介绍

libSVM是一个非常有名的SVM开源库,最近我在做分类任务,最后需要用到SVM进行分类,可是网上对于libSVM的介绍大多是matlab的,还有就是使用DOS命令调用的,直接使用libSVM的函数进行编程的介绍非常少,我来大体介绍一下我使用的情况吧。我对于libSVM的了解也不是很清楚,只是单纯的利用他做训练和识别而已。一、环境搭建我使用的VS2013 + C++作为开发的,首先下载

2016-11-28 10:08:42 13113 42

原创 C/C++中读取文件判断是否读取结束

最近用C++读取文件时遇到了一个问题,读取如下图所示的文件时,使用C中的feof()判断是否读取结束,总会在文件末尾处总会多读一遍。可以看到我读取的文件格式是比较简单的,没两行为一对,第一行有两个int类型的数字,第二行是一个字符串,包含图像的名称。先上我读取文件的代码: void read(string name){ FILE *file = fopen(name.c_...

2016-11-22 16:16:41 13268 4

原创 OpenCV笔记(1)——连通域分割实现

最近在做一个东西,需要使用字符的分割,如下图所示可以看到这里的每个字符互相之间是没有粘连的,那么如何把他们分割开来呢?一个很简单的想法就是通过连通域进行分割,每个字符是一个连通域,不同字符之间是不同的连通域,因为这里没有粘连,所以处理起来是非常方便的。那么重点就来了,如何实现连通域的分割呢?原来的打算是通过扫描图像,通过寻找不同字符的边缘定位不同的字符,但是我发现对于“O”这种字符

2016-11-10 14:05:40 17965 27

原创 C++如何修改文件中的特定行

最近要处理一些数据集文件,转换为图像的格式,但是这种文件的格式并不是非常的确定,因此在处理的过程中遇到了种种bug,其中有一个bug的原因就是文件末尾的回车少了,我需要把这种文件的这些行分别加上回车。于是就有了这篇博客。下面来详细记录一下问题的解决方法。一、问题描述我需要处理的文件片段如下:25Maleright-handedUy1yeS7cQJKmcH/ktausFK

2016-11-07 11:20:07 5876

原创 特征点匹配应用——图像拼接的原理与基于OpenCV的实现

最初我看特征点匹配的东西源于三维重建,由于特征点匹配的不准确,导致两幅图像之间的位置关系计算不准确,从而使得最后生成的三维点云中有很多的噪声。看特征点匹配大概看了一个半月,把已有的除了最新的基于深度学习特征点匹配的方法都看了一个遍。后来三维重建没有再继续做下去,跟老师要了两周的时间想用特征点匹配试试图像拼接。 由于两周时间有点短,而且中间我的电脑还崩过三四天,最终也没有把图像拼接完全做通,我先把当

2016-10-30 20:47:51 20028 23

原创 特征点匹配——使用基础矩阵、单应性矩阵的RANSAC算法去除误匹配点对

不管是我在之前的博文中提到的SIFT、ORB等算法,其实真正匹配的结果都不会特别好,一旦视角上的变化比较大或者出现之前图像中没有出现的区域,就很容易产生误匹配。但是在实际应用中这些误匹配的点并没有对最终的匹配结果造成很大的影响,这是因为一般在进行匹配以后,都进行了去除误匹配点对的操作,这篇博文主要介绍的就是一种比较有名的RANSAC算法。 那么,首先来看一下这个算法。一、RANSAC算法介绍RAN

2016-10-18 15:34:19 32840 13

原创 特征点匹配——FREAK算法介绍

FREAK算法是ICCV 2012上的一篇关于特征点检测与匹配的论文《FREAK: Fast Retina Keypoint》上提出的,从文章标题中可以看出来该算法的一个特点是快速,另外一个特点就是该算法是被人眼识别物体的原理上得到启发提出的。 看过我之前博文的可能知道,我到现在已经把SIFT算法、ORB算法、BRIEF算法和BRISK算法都进行了介绍。可以看出BRIEF、ORB和BRISK都是特

2016-10-06 17:06:20 20027 19

原创 特征点匹配——FAST特征点检测

FAST算法是ECCV 2006上发表的Machine learning for high-speed corner detection上提出的,从论文名字中就可以看出,这是一种检测特征点的方法。一、原始检测方法具体内容如下: 判别特征点pp是否是一个特征点,可以通过判断以该点为中心画圆,该圆过16个像素点。设在圆周上的16个像素点中是否最少有nn个连续的像素点满足都比Ip+tI_p+t大,或者都

2016-10-04 10:48:46 14413 2

原创 LintCode笔记(10)——二分查找

给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。您在真实的面试中是否遇到过这个题? Yes样例在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。挑战 如果数组中的整数个数超过了

2016-09-27 19:39:23 640

原创 特征点匹配——ORB算法介绍

《ORB: an efficient alternative to SIFT or SURF》是Rublee等人在2011年的ICCV上发表的一篇有关于特征点提取和匹配的论文,这篇论文介绍的方法跳出了SIFT和SURF算法的专利框架,同时以极快的运行速度赢得了众多青睐。下面我简单介绍一下ORB算法的流程。ORB算法的主要贡献如下: (1)为FAST算法提取的特征点加上了一个特征点方向; (2)使

2016-09-22 15:14:56 36711 9

原创 C++复习笔记(3)类的多态性

多态是指同样的消息被不同类型的对象接收时导致不同的行为。面向对象的多态可以分为4种:(1)重载多态:包括C++中的函数重载以及运算符重载(实际上也是函数重载);(2)强制多态:例如浮点数与整型数相加时,先把整型数转换为浮点数再相加;(3)包含多态:指类族中定义于不同类中的同名成员函数的多态行为,主要通过虚函数实现;(4)参数多态:指通过类模板、函数模板生成的多态。

2016-09-19 21:27:21 1763

原创 C++复习(2)派生类成员的标志与访问

首先,在派生类中,成员按照访问属性可以分为以下四类:(1)不可访问成员;这些成员是通过继承得到的,比如继承的基类中原有的私有成员。(2)私有成员;(3)保护成员;(4)公有成员。如果这些成员中,有相同的名字的话该怎么办呢?比如我们继承的基类中有个成员名叫做test,在我们的派生类中也有个成员名字叫做test,那该怎么区分它们呢?这就是本文主要探讨的问题。1、作用域分辨符

2016-09-17 20:55:19 765

原创 k-d树+bbf算法的介绍与实现

最近还是一直在研究SIFT算法,而SIFT特征点匹配是一个比较经典的问题,使用暴力匹配的话确实可以得到结果,但是运行速度较慢。我的计算机处理是i5的二代系列,匹配两张各检测有2000+个SIFT特征点的图像,通过正反匹配(即取图像1与图像2的匹配结果余图像2和图像1的匹配结果的交集),再加上OpenMP多线程加速,使用暴力匹配,大概要花20多秒,还是比较慢的。所以这一周啥也没做,一直在实现kd树和

2016-09-14 10:38:24 10277 3

原创 Opencv中的Mat类使用方法总结

今天在看Opencv的SIFT源码,至于有关于SIFT算法的博客还没有写完,等着我把源码看完再一起写完吧。之前用Opencv编过不少的程序了,没想道OpenCV 2.0版本里最基础的Mat类用法还是有些不清楚,这里就总结一下一、Mat类的综述1、Mat类存储图像Mat类是OpenCV里使用广泛的一个类,其中我认为最重要的一个作用就是作为存储图像的数据结构。那么Mat类如何存储的图像

2016-08-29 20:37:34 4067 9

空空如也

lhanchao的留言板

发表于 2020-01-02 最后回复 2020-03-11

空空如也

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

TA关注的人 TA的粉丝

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