0

CNN的目标检测概述(三)

本次介绍的是Fast R-CNN,与之前的RCNN和SPPNet不同,Fast R-CNN是一个清晰和快速的目标检测的框架。在训练和测试的速度上都远超过上述两种方法。同时,Fast R-CNN的训练是一次性的端到端的训练,同时训练的分类和回归两个任务。极大的简化的训练的流程。

项目代码:https://github.com/rbgirshick/fast-rcnn

三、Fast R-CNN

1)R-CNN与SPPNet的不足

R-CNN在目标检测中有很好的准确率,但是这个方法本身仍有很多的问题。

  1. 训练过程是多级的。R-CNN的训练分成三个部分,首先是finetune一个网络(目标检测的类别和ImageNet不一样)。之后是使用SVM进行目标的分类的训练。最后是使用feature map来进行目标的bounding-box的回归训练。
  2. 训练过程费时费空间。SVM和回归两个任务,需要存储目标的特征,需要很多空间。网络的训练过程很慢。
  3. 测试速度太慢。需要对每个proposal进行前馈,耗时太长。速度只有47s / image。

SPPNet可以加速R-CNN,在SPPNet中,在卷积的部分直接前馈整张图片,之后对于每个proposal,计算出它在feature map上的位置,然后使用SPP Pooling的方式,得到定长的特征向量。使得测试时间大大缩短。但SPPNet也有很多的问题。 read more

0

[转载] GDB十分钟教程

GDB十分钟教程

作者: liigo
原文链接: 
http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx
日期: 2006年1月16日

本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。

GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。

GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 read more

0

CNN的目标检测概述(二)

这次介绍的是2015年的Kaiming He的一篇论文:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition,以下简称SPP-net。

SPP-net的主要贡献是提出了一种新的pooling的方式,spatial pyramid pooling,简称为SPP。使用这种pooling的方式,可以将任意大小的输入feature map给pooling到固定的大小。使用这种pooling的方式,最终在分类和检测任务上均有一定的效果。

二、SPP-net

1)问题描述

在介绍SPP这个pooling方式之前,我们先说一下,为什么需要这种特殊的pooling。 read more

0

CNN的目标检测概述(一)

在2012年的ImageNet中,AlexNet拔得头筹。之后,CNN成为了图像识别中的一大利器。

在目标检测中引入CNN,开山之作就是2013年的Rich feature hierarchies for accurate object detection and semantic segmentation,之后简称R-CNN。

一、R-CNN

1)算法原理

R-CNN中,将目标检测分成两步来实现:

  1. 首先是生成Region proposals,也就是候选框。有许多的基于图像的低维特征生成候选框的算法,例如selective search等。
  2. 训练一个分类和回归的网络。这个网络可以根据候选框的区域的图片,判断这个图片的类别,以及它应该回归到的位置。

2)检测过程

这样,在具体的一张图片的目标检测的时候,我们可以通过下面的过程来得到结果:

  1. 对于给定一张图片,通过算法得到大量的候选框(2k个左右)。
  2. 将候选框的图片裁剪出,然后输入到CNN网络中。
  3. 网络的输出为分类的结果和回归的结果。然后我们就知道这个区域是不是目标,如果是,计算出它的回归的位置。
  4. 得到大量的有类别的框,通过NMS算法,得到最终的目标的框。

3)网络训练

对于目标检测这个任务,我们现有的标注数据其实并不多。所以通常都是使用ImageNet等大的公开的数据进行预训练,或者直接使用预训练好的模型在finetune。 read more

0

[转载] 应用Valgrind发现Linux程序的内存问题

原文地址:https://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/

Valgrind 概述

体系结构

Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:

图 1 Valgrind 体系结构

Valgrind 体系结构 read more

0

本站的WordPress插件一览

其实Jetpack这个插件里面已经提供了大量的工具。如果安装了这个插件,那么下面的很多插件都是可以不用安装的。不过在国内使用Jetpack这个插件有点麻烦。我这里就一直没有用,等换了国外的服务器之后,之前的博客的很多内容都得重新编辑,太麻烦了,所以干脆不用了。

1. Akismet Anti-Spam

网址:https://wordpress.org/plugins/akismet/

由千百万人使用,Akismet可能是保护您的站点免受垃圾评论的世界上最好的方式。 您的站点已完全配置并受到不断的保护。 read more

0

博客服务器维护中的小技巧

这里记录了小喵的博客的服务器的一些小的技巧,包括安装和各种参数的配置,便于以后查看。不定期更新。

1. LNMP环境的配置——oneinstack

LNMP环境就是Linux、Nginx、Mysql和Php这四个的组合,由于这四个都是免费的,因此在网站搭建的时候最常使用到,另一个名词是LAMP,其中A表示的是Apache。但Apache比较占资源,所以我用的还是Nginx。

这里,网上应该有超多的教程,我当时配置的时候也是参考了各种教程,但最终还是放弃了,自己去配置这些东西真的好难。于是,我就把目标转向了各种集成好的环境了。 read more

0

shadowsocks安装和配置

我使用的VPS是 https://www.vultr.com/?ref=7305758 ,感觉使用美国的服务器,速度真心还不错,带宽很高,流量也很足,日本的服务器响应最快,但是看不了pixiv,所以我也就换成美国的了。

如果需要注册的话,不妨用我的这个链接,这样也算是我的一个推荐。谢谢!

shadowsocks是一个十分方便安装和配置的代理工具。官网是:http://shadowsocks.org

这里记录一下,shadowsocks的安装和配置的过程,方便以后的查阅。这里使用的是python版本的shadowsocks。 read more

0

Python Trick

这里主要记录一些Python使用上的小技巧,以后使用的时候可以方便查阅。不定期更新。

1. 豆瓣源

使用pip为python安装一个第三方库的时候,由于国内可能不方便下载国外的库,这里可以使用豆瓣源来加速。只需要加上参数-i https://pypi.douban.com/simple/即可。比如安装scrapy就可以使用如下的指令:

2. Python环境管理

很多时候,我们可能需要用到不同版本的python,比如2.7和3.4两个版本。这时候可以使用virtualenv,virtualenvwrapper等工具。但实际上anaconda本身就已经支持python的版本控制了(我一直用的anaconda)。比如我们要新建一个2.7版本的python环境,就只需要输入:

这样就创建了一个2.7版本的python,且这个python环境的名字叫做py27。 read more

0

dlib人脸关键点检测的模型分析与压缩

人脸关键点检测的技术在很多领域上都有应用,首先是人脸识别,常见的人脸算法其实都会有一步,就是把人脸的图像进行对齐,而这个对齐就是通过关键点实现的,因此关于人脸关键点检测的论文也常叫face alignment,也就是人脸对齐。另一方面,对于美颜,2D/3D建模等等也需要一来人脸的关键点技术,而且通常也要求有尽可能多的人脸关键点。

Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry and academia in a wide range of domains including robotics, embedded devices, mobile phones, and large high performance computing environments. Dlib’s open source licensing allows you to use it in any application, free of charge. read more