1. 研究目的与意义
二十一世纪是一个信息化程度非常高的时代,我们在日常生活中对外界最直接的感知来自于视觉,视觉让我们的大脑获得大量的信息。目前计算机的各种应用变得越来越多,基本上每个领域都会有它们的出现。计算机发展到现在已经从呆板的执行简单指令到越来越偏向智能化,然而在智能化里计算机的视觉又是个非常重要的关键点,就像人的视觉感官一样。计算机视觉可以让计算机像人的大脑一样处理各种图像信息,赋予了计算机视觉器官。其中行人检测是里面非常重要的部分,有着巨大的潜在应用价值。在智能辅助驾驶,智能监控,智能交通,人机交互,行人分析以及智能机器人等领域都有广泛的应用。目前主要的检测方法还是以HOG特征为主,配合其他的检测方法。OpenCV是一个开放源代码的图像及视频分析库,有大量的C函数和C 类构成作为接口,实现了图像处理和拥有计算机视觉方面的很多通用算法。
2. 课题关键问题和重难点
HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更大的空间领域上。其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。在行人检测中使用OpenCV开发工具,OpenCV为我们提供了大量图像处理的常用函数,并且是开源免费的。行人检测所面临的难点主要表现在以下几个方面:人体的非刚体运动形成的各种姿态导致的形状不确定;行人的衣着外貌差别;行人之间的互相簇拥或者被遮挡;复杂背景和光照的影响;拍摄视角的不同;实时性检测的问题;行人训练样本的制作问题。
3. 国内外研究现状(文献综述)
看了一些行人检测的资料,行人检测的现状感觉大概可以分为两类,第一类就是基于背景建模:利用背景建模方法,提取出前景运动的目标,在目标区域内进行特征提取,然后利用分类器进行分类,判断是否包含行人;背景建模目前主要存在的问题:必须适应环境的变化,比如光照的变化造成图像色度的变化;相机抖动引起画面的抖动,比如手持相机拍照时候的移动;图像中密集出现的物体,比如树叶或树干等密集出现的物体,要正确的检测出来;必须能够正确的检测出背景物体的改变,比如新停下的车必须及时的归为背景物体,而有静止开始移动的物体也需要及时的检测出来。物体检测中往往会出现ghost区域,ghost区域也就是指当一个原本静止的物体开始运动,背静差检测算法可能会将原来该物体所覆盖的区域错误的检测为运动的,这块区域就成为ghost,当然原来运动的物体变为静止的也会引入ghost区域,ghost区域在检测中必须被尽快的消除。
第二类就是基于统计学习的方法:这也是目前行人检测最常用的方法,根据大量的样本构建行人检测分类器。提取的特征主要有目标的灰度、边缘、纹理、颜色、梯度直方图等信息。分类器主要包括神经网络、svm、adaboost以及现在被计算机视觉视为宠儿的深度学习。
统计学习目前存在的难点:行人的姿态、服饰各不相同、复杂的背景、不同的行人尺度以及不同的关照环境;提取的特征在特征空间中的分布不够紧凑;分类器的性能受训练样本的影响较大;离线训练时的负样本无法涵盖所有真实应用场景的情况。
4. 研究方案
在了解完行人的基本特征和学习了opencv的基本用法后,利用opencv工具实现行人检测算法。大致的流程有:
首先灰度化,将图像看做一个x,y,z灰度的三维图像;采用gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。将图像划分成小cells(例如6*6像素/cell);统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的描述;将每几个cell组成一个block(例如3*3个cell/block),一个block内所有cell的特征描述串联起来便得到该block的hog特征描述。将图像image内的所有block的hog特征描述串联起来就可以得到该图的hog特征描述了。这个就是最终的可供分类使用的特征向量了。
gamma压缩公式:
5. 工作计划
2022年1月1日-2022年1月31日期间文献阅读,参考各种资料。重点看老师推荐的opencv 2编程手册,熟悉opencv的应用,并在网上找一些关于使用opencv做行人检测方面的文章。
2022年2月1日-2022年2月29日期间根据前段时间阅读的相关资料开始撰写开题报告,然后查阅资料对外文作出翻译。
2022年3月1日-2022年3月20日期间设计程序框架,确定算法流程和学习编程,想好大概的程序结构,并搭建好编程的环境。
