基于HOG特征的行人检测算法
2023-04-17 15:04:06
论文总字数:19041字
摘 要
我们研究的特征集问题是为了可视对象识别,采用的测试用例是基于行人检测的线性SVM。在检查如今就存在的优势和基于梯度的描述后,我们的实验证明了对于行人检测,网格定向梯度直方图(HOG)的描述明显优秀于现今存在的特征集。我们研究每个阶段的计算对性能的影响,认为fines-cale渐变、细定位面元,相对空间装箱,高质量的地方对比正常化重叠块描述符对完美的结果都是非常重要的。新的方法给出了几乎完美的原MIT的分离行人数据库,所以我们引入更具挑战性数据集,这个数据集是一个拥有了大于1800人的注释与图像大量的姿势变化和背景的数据集。在研究中,我们使用的是基于梯度方向直方图( H OG) 特征的行人检测,它是目前检测精度较高的主流方法。针对基于梯度直方图特征的行人检测存在检测精度还有待提高、向量维数大的问题, 提出使用梯度直方图统计特征加颜色频率和肤色特征描述行人, 选取一些分类能力较强的block 作为最后的特征, 使用线性SVM 分类。在INRIA 库上的实验证明, 该方法能有效地提高检测精度。
关键词:HOG ,行人,SVM,特征
Pedestrian Detection Based on HOG
Abstract
One of the functions set issues of our study is the visual object recognition using SVM linear test cases are based pedestrian detection. Today, there are checks and later gradient-based, our experiments show that the pedestrian detection, the advantages of the histogram (HOG) presence mesh gradient direction being described is a significantly better set of features today. We study the impact on performance is calculated for each stage, which fines-cale gradients, positioning fine surface elements, the relative spatial packaging, quality results and the normalization of the local contrast description block overlapping outstanding fines is very important. This new approach allows pedestrians former MIT database almost perfect separation, so we launched the most challenging data sets, the data set is not more than 1,800 comments and a lot of change in position, and establish the image of background information. In this study, we use a histogram (H OG) feature-based pedestrian detection gradient direction, which is the main method of high-precision detection. Based on the presence of a big problem to improve the gradient vector-dimensional histogram function test pedestrian detection accuracy, with a gradient color histogram function, and the frequency and color characteristics of pedestrians, have the ability to select some of the latest features of the embargo as a classification using linear SVM classification. Experimental INRIA database show that this method can effectively improve the detection accuracy.
Keywords:HOG, Pedestrian,SVM ,Feature
目录
基于HOG的行人检测 I
摘 要 I
Abstract II
第一章 引 言 1
1.1 基于HOG的行人检测开发背景 1
1.2 行人检测发展目前概况: 2
1.3 我们的工作: 2
1.4 论文结构 2
第二章 实验内容 3
2.1 行人检测概述 3
2.1.1行人检测历史 3
2.1.2 行人检测现状 4
2.2 Opencv的配置流程 4
2.2.1 准备步骤 4
2.2.2 配置系统环境 4
2.2.3 创建Win32控制台应用程序 5
2.2.4 配置Visual Studio 2008 6
2.3 HOG 9
2.3.1 HOG特征 9
2.2.3 HOG的特征的提取 9
2.3.3 HOG优势以及与其他算法的区别 15
2.4 代码分析 15
第三章 实验结果分析 16
3.1 Microsoft Visual Studio简介 16
3.1.1发展历程 16
3.2 Opencv简介 17
3.2.1 Opencv 17
3.2.2 Opencv功能 17
3.2.3 Opencv模块 17
3.2.4 Opencv发展与优势 18
3.3 数据集 18
3.3.1 MIT数据库 18
3.3.2 INRIA数据库 18
3.3.3 Daimler行人数据库 18
3.3.4 Caltech行人数据库 18
3.3.5 TUD行人数据库 18
3.3.6 NICTA行人数据库 18
3.3.7 CVC行人数据库 19
3.3.8 USC行人数据库 19
3.4 实例分析 19
3.4.1 行人交叉和不完整: 19
3.4.2 建筑物,树木等: 21
3.4.3 光线: 22
3.4.4 行人的服装,体型等因素: 23
3.4.5 图片质量和距离等因素: 23
致谢 27
第一章 引 言
1.1 基于HOG的行人检测开发背景
随着现代科学技术的快速发展与进步,计算机的运算能力在飞快的提升,为了使计算机能够更加完美的服务于现代社会生活;使计算机能够就像人类通过眼睛获得信息一样来实现利用摄像头来分析及理解它获取到的图像。
计算机视觉(使用摄像机以及其他设备,来获取图像,并且利用图像处理等一系列操作,提取这些处理的图片的一些特征信息,实现了对目标进行识别、测量或跟踪等目的),计算机视觉广泛应用于现实生活中,比如在制造业、行人检测、医疗、治安、军事等各个领域都有所涉猎,在现实生活中成为各个智能系统不可或缺的一个重要部分。比如:
(1).机动车智能驾驶:
当使用通过该方法开发出来用于机动车上的软件应用,机动车在道路上行驶时,会自动检测机动车前方是否存在行人,并且会判断之间距离是否会容易造成事故,以此来系统会发出提示或者紧急制动,以此达到保护行人。
(2). 监控系统:
这个系统能够对出现在该系统前方的图像进行检测,判断图像中是否出现的人形,然后再对出现在图像中的人就行进一步的分析与判断,这样就可以节约大量的劳动力及财力,并且还能够提高监控效率。
(3).高级人机接口:
机器能够对出现在它面前的图像进行检测,判断是否是人,然后还能够对检测到的人的行为、语言、表情、姿势等进行分析,以此达到能够判断出人想要做的事的目标,这样的实现,让我们感觉到一种类似于人与人之间的交流。
(4).三维的视频会议
机器检测镜头前方是否有人存在,若有的话,则把此人的行为,姿势,语言,表情等存储起来,传输到另一端,在分析传过来的数据进行分析把把人重绘出来。
(5). 遇难抢救:
装有该装置的飞行器能够从航拍的图像中很快的找到地面上的行人,再利用现今比较完善的行人检测方法,可以快速的找到海难等灾难中遇险的人,则可大大提高抢险的效率,尽快挽救生命。
当然行人检测则是计算机视觉研究领域中一个非常广泛的分支。同样在监控、机器人建造、虚拟现实技术等领域都得到了广泛的应用, 这些领域在计算机视觉和模式识别方面中具有相当重要研究意义。这些年以来,人们对行人检测进行了相当多的研究与测试,但由于人体姿态各异、场景中又经存在光照变化、衣着变化多样,气候变化以及景物遮挡等因素的影响,在行人检测方面,行人检测技术的发展至今仍未能满足当代生活应用的需求。
1.2 行人检测发展目前概况:
现在行人检测的主要方法有3种: 第1 种是基于在确定的人体模型的方法, 但是这个模型的求解相当的复杂;第2 种是使用基于模板匹配的方法 , 然而由于行人的多态性如:体型,服装等,导致它所构造出来的模板比较困难,数量不是特别充足,因此方法的实现的比较艰难; 第3 类是基于统计分类的方法,这个方法是在2005 年由DALAL 提出的基于梯度方向直方图( 英文全称是Histogram of Oriented Gradient, 简称HOG)[1] 的特征描述行。
在进行行人检测时,存在着许许多多的内部或者外界因素的干扰而导致出现巨大的误差,内部因素如:不同行人的身材、角度和服装、行为方面等,外部因素如:图片在拍摄时光照、,摄像头自身的移动和晃动以及复杂的背景场景,所以如何快速、精确地从图像或者视频中将行人检测出来, 这仍然是一个非常值得研究课题。
1.3 我们的工作:
由于人体姿势和外表的多变,在图像中检测人体是一项具有挑战性的工作。首先需要的就是一个强壮的特征集,使得在不同光照和背景下都能清晰地分辨出人体。我们研究了人体检测的特征集问题,局部归一化的HOG描述子相比于现存的特征集(包括小波有更好的表现。与边缘方向直方图(Edge Orientation Histograms)、SIFT、形状上下文(Shape Contexts)等方法相比较,HOG是对网格密集的,且大小统一的,通过对图片进行分割后得到的细胞单元(dense grid of uniformly spaced cells)进行计算的,该算法还利用了对图像的重叠的局部区域进行对比度归一化(overlapping local contrast normalizations)的操作的方法,以达到性能的提高的目的。我们用行人检测(人体是大部分可见的并且基本上是直立的)进行测试,为了保证速度和简洁性,使用Opencv自带的SVM作为分类器。正在进行的工作表明,我们的特征集对于其他基于形状的目标检测也同样好。
1.4 论文结构
论文主要由三部分组成,具体章节如下:
- 是引言,主要是对基于HOG的行人检测的课题背景、目前发展概况、我们的工作进行简单介绍。
- 是实验内容,主要是实验涉及到的一些算法,工具的介绍,和实验的流程。
- 是实验结果分析,主要是对第二章运行出来的程序的结果进行整合分析,分析导致HOG行人 检测出现误差的原因等。
- 实验内容
2.1 行人检测概述
2.1.1行人检测历史
在行人检测前期,是对静态图像处理,在图像中进行分割、边缘提取、运动检测等方法来达到目的。例如:
(1)以Gavrila等为代表采用全局模板方法实现行人检测:这个方法是在轮廓的分层匹配算法 基础上实现的,为了达到对图像中的行人识别处来,它利用构造出来的大约2500个轮廓模板对 图像中的行人进行匹配,判断出图像中是否有行人。同时由于模板数量众多的原因,而引起了识 别图像中行人的速度较慢的问题,人们为了解决这个问题,它又采用了由粗到细的分层搜索的优 化方法,有效的提高了搜索的速度。除此以外,在匹配的时候,为了它在匹配的时候判断出需要 检测的窗口和模板之间是否具有共同的特性,还要计算它们之间的不同时间点的距离,通过距离 变化来反应其相似性。
(2)以Broggi等为代表采用局部模板方法实现行人检测:它首先是以大小不同的二值图像的模 板,以此来对人的肩部和头部进行建模,再利用将输入图像的边缘图像与之前建立的二值模板进 行对比,通过上述步骤,就实现了对行人识别的这个目的,而在意大利Parma大学,在开发的ARGO 智能车的时候,就是使用了这个方法,来实现汽车的智能行驶。
(3)以Lipton等为代表光流检测方法实现行人检测:通过计算运动区域内的残余光流来进行检 测;
(4)以Heisele等为代表运动检测方法实现行人检测:通过提取行人腿部运动特征进行检测;
(5)以Wohler等为代表神经网络方法实现行人检测:构建一个能够自己适应时间延迟神经网络 通过该网络可以实现判断是否是人体的运动图片序列;
然而上述的这些早期的方法,都存在许多问题,如速度慢、误报率高、检测率低等,随着科技的发展,这些方法在不断的被取代和优化。
2.1.2 行人检测现状
大体可以分为两类:
(1)基于背景建模的方法:先将前景分割出来,然后在提取出其中的运动对象,再进一步提取图像的特征,最后分类判别;在这个方法下面,很明显存在很多问题,例如:下雪、下雨、刮风、灯光忽明忽暗、树叶晃动等场合,会造成它的鲁棒性不高,所以利用这个方法来识别行人会由于外界干扰引起较大的误差。而且通过这个方法获取到的模型过于复杂,并且对参数较为敏感。
(2)基于统计学习的方法:利用训练大量的样本来构建行人检测的分类器。提取的特征一般都包含有目标的灰度、纹理、形状、边缘、梯度直方图等这些信息,分类器包括SVM、神经网络等。 同样这个方法存在以下一些难点:
(a)行人的服饰、姿态、体型各不相同;
(b)提取到特征分布在特征空间时不够紧凑;
(c)极大的受到分类器的性能训练样本的影响;
(d)在离线训练的情况下,负样本无法包含所有可能出现的真实应用场景;
2.2 Opencv的配置流程
2.2.1 准备步骤
(1).首先确认自己电脑内的IDE(集成开发环境)是什么版本,我这里用的是Visual Studio 2008;
(2).其次下载Opencv,我这里用的是Opencv-2.3.1的版本且用于配置visual studio2008版本的。
(3).然后Opencv下载完成后解压缩并放到某个目录下,我这里是放到E:OpenCV2 OpenCV2下面。
2.2.2 配置系统环境
(1).对计算机右击--gt;属性--gt;高级设置--gt;高级--gt;环境变量
在系统变量里,选中里面的Path变量,然后点击“编辑”,对其进行修改,在其最后把 E:OpenCV2OpenCV2in路径加入;
剩余内容已隐藏,请支付后下载全文,论文总字数:19041字