自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博观而约取,深研而广求

homepage: https://kaiyi.me/

  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 基于等价类的邮箱注册测试用例设计

此内容为latex写成的pdf格式,出于实际效果需要,不再将其转换为markdown格式,直接截图。版权归属于西安交通大学软件工程系本科生易凯所有,禁止转载或者另做他用。违者后果自负。

2017-09-30 22:24:02 12845 1

原创 SQL注入 -- 概念及其应用

SQL 诸如是一种针对数据库进行攻击的恶意代码注入技术。通过指定的代码得到的返回来实现对一些隐私信息的获取。以下仅仅考虑在网页中的SQL 注入方法,而不考虑在.NET的语言中的使用,同时将会涉及到一些简单的防范性任务。如果SQL中有如下的语法来获取用户的Id以及pwd。 txtUserId = getRequestString(“UserId”); txtSQL = “SELECT * F

2017-09-30 22:22:31 579

原创 3DOP -- 源代码结构

通过3DOP项目的主页,我们可以找到通往多伦多大学的项目源代码的链接。不知是处于什么目的,该代码是以压缩包而不是github的方式给出的。通过下载之后,我们可以看到指导说明为:3DOP_code_cuDNNv3 and v5由于cuDNN 3版本和cuDNN5的版本上有一定实现差异,因此该代码兼容了上述两个版本。下面仅针对cuDNN v5 来进行代码分析。## 3D Object Proposal

2017-09-25 17:45:33 1779 4

原创 [论文解读] MSCNN: A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection

基本情况《A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection》是发表于ECCV16的一篇很出色的文章,来自加州圣地亚哥的Zhaowei Cai。其基本思路是提出了一种多尺度卷积神经网络,由于不同层的feature map的优势不一样,如较低层的feature map由于感知野较小,因此对与

2017-09-25 17:05:44 5338

原创 [论文解读] 3DOP: 3D Object Proposals using Stereo Imagery for Accurate Object Class Detection

基本介绍3DOP这篇文章是当下使用双目相机进行3D bounding-box效果做好的方法,其是Fast RCNN方法在3D领域之内的拓展。由于原论文发表于NIPS15,出于Fast RCNN的效果并没有Faster RCNN和基于回归的方法好,且远远达不到实时性,因此其处理一张图片的时间达到了4.0s。以下文章的介绍将主要依据资料更为完成的PAMI17来分析。总体结构如下则是该方法的总体流程:其流

2017-09-25 15:51:04 5309

原创 MV3D -- 3D proposal 网络

3D proposal 网络实际上3D proposal network就是2D proposal的升维,从实现来看,本质思想完全没有变化。然而实际上第一步得到的3D proposal是通过M+2个投影后的鸟瞰图得到的,这一部分理解起来较难。Given a bird’s eye view map. the network generates 3D box proposals from a set

2017-09-25 11:59:43 3317 3

原创 MV3D -- 3D 点云表示

实验设计由于这篇文章的主要目的是对MV3D的网络结构有一个整体上的理解,因此暂时不涉及太多的细节。以下将仅仅对几个较为新颖与突出的部分进行分析。该博客重点解决3D点云的实现思路以及实现问题。3D 点云表示我们知道,MV3D的主要思想是将单目图片与雷达点云进行融合。那么首先摆在面前的便是3D点云的表示。对于空间点云的处理,一般而言有两种比较主流的方法。一种是将3D点云建立一个3D grid,然后再在g

2017-09-25 11:57:36 2051 1

原创 软件质量保证 -- 软件质量

这篇博文将较为全面深入地谈谈软件质量保证中关于软件质量的概念,内容等相关问题。质量的定义关于质量的定义,不同的领域,不同的人,不同的侧重点会得出截然不同的结果。因此关于其质量的基础概念相对而言较为好理解,但是具体如何去定义实际上确是无关紧要的。不过我们在分析软件质量的时候,不仅要考虑其面向用户的需求覆盖率,易用性等特征,还需要考虑其面向开发人员的鲁棒性,安全性等特征。不过个人很欣赏下面的一句话:

2017-09-24 19:36:25 2038

原创 Test Mission: Definition, Components and Application

Test Mission: Definition, Components and Application Kai Yi Software Institute Xi’an Jiaotong UniversityAbstractIn this article, I will give a general definition of test mission and introduce

2017-09-24 18:10:55 550

原创 Web开发 -- 静态页面与动态页面

在网页开发过程中,有静态页面和动态页面之分。虽然之前有过一定的了解,但是实际上并不系统。因此,本篇博客将对静态页面以及动态页面的本质进行分析。静态页面静态页面(Static Web Page)是一种当用户发出请求访问数据库的数据的时候,不做数据库信息的修改,然后返回必要的内容。举例来说,就是当我们登录到一个网站之后,在登录之前显示的内容。对于任何一台电脑,其信息都是相同的。一般而言,其是.html的

2017-09-24 13:15:56 1884

转载 Python 程序的运行原理

转载自: http://www.restran.net/2015/10/22/how-python-code-run/这篇文章准确说是『Python 源码剖析』的读书笔记,整理完之后才发现很长,那就将就看吧。以下使用的是 Python 2,在 Python 3 下一些细节可能会略有不同。1. 简单的例子先从一个简单的例子说起,包含了两个文件 foo.py 和 demo.py

2017-09-23 15:43:51 272

原创 系统分析与设计 -- 浅谈B/S 架构与C/S架构

关于B/S架构与C/S架构之间异同的文章,相信有很多是写得十分全面的,如这里。 这篇文章将从纯小白的角度,以最快的时间讲解其本质与差异。归根结底,便是下面这幅图:C/S架构的特点是在S端有C端的app镜像,两者是意义绑定的。其就是我们移动app的模式。B/S就是在用户与服务器之间,通过一个网页服务器来进行联系,用户打开浏览器,通过web服务再访问数据服务器中的内容。

2017-09-23 15:03:29 2968

原创 操作系统 -- 进程与线程关系详解

线程与进程都是操作系统中的两个重要的概念。相信很多人,包括笔者之前都存在着误区,进程是由很多的线程组成的。这篇文章将彻底地对两者的异同进行说明。首先,我们要理清楚为什么会引入进程的概念。我们都知道,在多道批处理时代,系统的最小单元是程序,但是如果是单核CPU的话,没有一个很好的方法描述其并发的特点,同时程序在并发系统中走走停停会导致无序性,而且各个程序之间会相互影响,导致并发运行的结果不可再现。因此

2017-09-23 14:59:27 831

原创 操作系统 -- 进程间通信机制

基本概念与分类之前的内容中我们分析了进程的相关概念,接下来我们考虑一下进程之间的交互,也就是本文中主要谈到的进程间通信(IPC – Interprocess Communication)。进程间的通信可以分为两种模型,分别为:共享内存(Shared Memory)消息传递(Message Passing)以下可以用一幅图将上述两者的异同进行直观地展现:我们可以看到,左边的是消息传递的基本模型,

2017-09-23 14:58:44 1104

原创 软件质量保证--基于Google Test的 Add函数测试

软件质量保证的课程任务有就是从测试的角度来提升软件产品的质量。关于软件产品的质量如何定义等相关问题将在之后的博客中进行详细的说明。此处以Google Test为例来进行软件产品的单元测试的全过程分析。由于完成的是pdf文件,因此下文直接截图: 写在最后最后关于此测试的情况,补充说明两点。1. 软件测试的基本思想: 关于其测试思想,将用下面的这幅图直观展示:

2017-09-22 17:47:40 502

原创 计算机网络--端口

端口是物理机与外界进行通信的出口,一般而言其在不同的规范之下具有不同的内涵,因此其遵循一定的协议。一般而言,HTTP(超文本传输协议)服务占用的默认端口为80,而采用加密的HTTPS端口为443, FTP 传输协议的控制端口为21,数据端口为20。上述的几个端口较为常见,同时也较为常用。另外,由于网络通信传输的特点,只有16位可供进行端口的选择,也就是最多只有65536个端口,按照一般语言的规范,将

2017-09-22 17:36:12 498

原创 计算机组成原理--main memory 到 cache 映射机制

基本介绍为了平衡高速的CPU与较慢的主存之间的差异,我们引入到了cache作为中间媒介,cache的主要作用说来可以理解成将主存中很有可能被CPU使用的小部分数据调入cache中,由于cache是很快的,则可以对系统的系统有较大提升。相关详细情况可以参见计算机组成原理–cache概念及其作用。这篇博客的主要任务是探讨Main memory到cache的多种映射机制,并讨论其优势与劣势,知道后期的使用

2017-09-21 13:53:01 3842

原创 [论文解读]Multi-View 3D Object Detection Network for Autonomous Driving

问题引入在无人驾驶场景中,物体的3D检测(或者说是bounding-box)的重要性不言而喻。从2D检测到3D检测,主要的难点是提取深度信息,因此总体上可以将其分为四种,分别为:基于单目图像(Mono)基于双目图像(Stereo)基于雷达(LIDAR)基于融合网络这篇论文就是一篇较为出色的融合网络的范例。后期和清华的老师沟通得知,这篇论文的算法正在被产业化,因此源码在一段时间内不会透露,可

2017-09-20 17:10:21 11641 4

原创 操作系统--进程概念及其调度

进程概念概念引入在并发的环境之下,如传统的多道批处理系统,我们将计算机所运行的单元以程序来表示,也就是说,多道批处理的每一道全部都是程序。但是,人们通过实际使用发现,程序这一概念并不是十分试用,特别是在后面的分时系统等遇到了较大的困难。困难主要表现为:间断性(异步特征): 程序可以分为读取,CPU操作,I/O处理等过程,因此每个程序在并发机制之下存在着时走时停的现象,失去了原有程序的时序关系失去

2017-09-20 14:50:38 528

原创 敏捷开发--概念及其应用

一段时间以来,由于学习的需要,涉及到了很多软件系统分析与设计以及软件体系结构相关的问题。而软件系统开发流程中,不得不提到的,便是敏捷开发。接下来,将由浅入深地来分析分析敏捷开发的基本概念,然后说明一下敏捷开发的代表–XP(极限编程)与Srcum过程。敏捷开发概念与价值观敏捷开发运动历史相对于整个软件开发而言算是较为悠久的,其真正开始的标志是01年2月提出的”敏捷宣言(Agile Manifesto)

2017-09-19 21:18:49 1363

原创 [论文解读] SqueezeDet

基本介绍《SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving》是一篇相当惊艳的文章,其主要想法是基于SqueezeNet以及YOLO进行改进,来在保证速度的情况之下提升精度来做目标检测。通过实验室师

2017-09-18 11:40:47 4511

原创 [论文阅读] EIE: Efficient Inference Engine on Compressed Neural Network

这是收录于ISCA16(International Symposium on Computer Architecture).参考资料Paper from Arxiv. EIE: Efficient Inference Engine on Compressed Deep Neural NetworkPPT from ASCA16. EIE: Efficient Inference Eng

2017-09-17 17:46:49 1371

原创 [论文解读] DSD -- Dense-Sparse-Dense Training for Neural Network

《DSD: Dense-Sparse-Dense Training for Neural Network》发表在ICLR17, 这是一篇关注于提升模型训练得到的准确率的文章,而不是一作传统的研究领域:模型压缩。DSD是一种新的训练模型的方式,可以提高预训练模型的准确率。DSD和dropout不一样,虽然都是在训练过程中有prune(剪枝)操作,但是DSD是有一定依据来选择去掉哪些connect

2017-09-17 17:25:33 942

原创 [论文解读] Deep Compression

基本介绍《Deep Compression : Compressing Deep Neural Networks With Pruning, Trained Quantization and Huffman Coding》 是ICLR16的best paper, 其核心的想法是在不损失模型精度的情况下,将ALexNet, VGG-16等普遍使用的模型进行压缩,使此类模型移植到微型嵌入式或者移动设备成

2017-09-16 21:24:45 808

转载 Python中self详解

转载自: http://www.cnblogs.com/jessonluo/p/4717140.html刚开始学习Python的类写法的时候觉得很是麻烦,为什么定义时需要而调用时又不需要,为什么不能内部简化从而减少我们敲击键盘的次数?你看完这篇文章后就会明白所有的疑问。self代表类的实例,而非类。实例来说明class Test: def prt(self): pr

2017-09-16 11:22:53 419

原创 Faster RCNN 源码解析(3.3) -- proposal_layer.py

函数功能介绍这个函数是用来将RPN的输出转变为object proposals的。作者新增了ProposalLayer类,这个类中,重新了set_up和forward函数,其中forward实现了:生成锚点box、对于每个锚点提供box的参数细节、将预测框切成图像、删除宽、高小于阈值的框、将所有的(proposal, score) 对排序、获取 pre_nms_topN proposals、获

2017-09-16 10:30:41 1152

原创 Faster RCNN 源码解析(3.2) -- Anchor 生成(generate_anchors.py)

基于源码的实现generate_anchors.py生成多尺度和多比例的锚点。这里由generate_anthors函数主要完成,可以看到,使用了 3 个尺度( 128, 256, and 512)以及 3 个比例(1:1,1:2,2:1)。一个锚点由w, h, x_ctr, y_ctr固定,也就是宽、高、x center和y center固定。<span style="font-size:24px

2017-09-15 22:46:12 2362 2

原创 Faster RCNN 源码解读(3.1) -- RPN源码结构介绍

RPN 总体介绍这里主要介绍了rpn的模型,其中,包含的主要文件如下:generate_anchors.py: 生成多尺度和多比例的锚点。这里由generate_anthors函数主要完成,可以看到,使用了 3 个尺度( 128, 256, and 512)以及 3 个比例(1:1,1:2,2:1)。一个锚点由w, h, x_ctr, y_ctr固定,也就是宽、高、x center和y center

2017-09-15 21:55:51 751

原创 Faster RCNN 源码解读(2) -- NMS(非极大抑制)

NMS简介非极大抑制算法应用相当广泛,其主要目的是消除多余的框,找到最佳的物体检测位置。其实现的思想主要是将各个框的置信度进行排序,然后选择其中置信度最高的框A,将其作为标准选择其他框,同时设置一个阈值,当其他框B与A的重合程度超过阈值就将B舍弃掉,然后在剩余的框中选择置信度最大的框,重复上述操作。定义dets矩阵与阈值import numpy as npdets = np.array([

2017-09-15 21:54:01 9008

原创 Faster RCNN 源码解读(1) -- 文件结构分析

基本介绍Faster RCNN 在目标检测及其相关领域得到了广泛的运用。其原型RCNN是将CNN引入到目标检测的开山之作,此外基于region proposal是一种十分值得学习的思想。因此将在后续的系列章节中,基于源码,对Faster RCNN进行深入的剖析。代码结构从github上的源码看上去就是这个样子:接下来将对各个文件夹的功能进行详细的分析:caffe-fast-rcnnFaster RC

2017-09-15 18:35:57 3421 5

原创 操作系统--并发与并行

在计算机中有两个名称上十分相似,而且功能上有相同点的两个概念,一个是并发(concurrency), 另一个是并行(parallel)。 这篇文章就主要谈谈二者的区别。并发指的是一段时间内可能有多个进程运行,不一定要求其是严格同时运行的。如果这段时间比较段,那么从宏观上来看这多个进程是并发的,而并行是某时刻多个进程在同时运行。上述过程直观的表示为:通过上述的分析,我们也可以看出,单核CPU是不可能实

2017-09-10 15:46:43 1403

Java编程思想第四版完整中文高清版

Java编程思想第四版完整中文高清版,java初学者值得拥有~

2016-09-29

《算法导论》第三版英文版pdf

此为《算法导论》的最新版pdf格式,而且英文版保证了其质量以及原生性。

2016-09-29

空空如也

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

TA关注的人

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