基于多尺度-多形状HOG特征的行人检测方法

合集下载

目标检测学习_1(用opencv自带hog实现行人检测)

目标检测学习_1(用opencv自带hog实现行人检测)

⽬标检测学习_1(⽤opencv⾃带hog实现⾏⼈检测) 本⽂主要介绍下opencv中怎样使⽤hog算法,因为在opencv中已经集成了hog这个类。

其实使⽤起来是很简单的,从后⾯的代码就可以看出来。

本⽂参考的资料为opencv⾃带的sample。

 关于opencv中hog的源码分析,可以参考本⼈的另⼀篇博客: 开发环境:opencv2.4.2+Qt4.8.2+ubuntu12.04+QtCreator2.5. 实验功能: 单击Open Image按钮,选择需要进⾏⼈检测的⼀张图⽚,确定后⾃动显⽰出来。

该图⽚的⼤⼩没限制。

单击People Detect按钮,则程序会⾃动对该图⽚进⾏⾏⼈检测,且将检测到的效果显⽰出来,即⽤1个矩形框将⾏⼈框出来。

单击Close按钮,退出程序。

实验说明: 1. hog描述⼦在opencv中为HOGDescriptor。

2. 可以调⽤该描述⼦setSVMDetector⽅法给⽤于对hog特征进⾏分类的svm模型的系数赋值,这⾥的参数为HOGDescriptor::getDefaultPeopleDetector()时表⽰采⽤系统默认的参数,因为这些参数是⽤很多图⽚训练⽽来的。

3. 对输⼊图⽚进⾏⾏⼈检测时由于图⽚的⼤⼩不⼀样,所以要⽤到多尺度检测。

这⾥是⽤hog类的⽅法detectMultiScale。

参数解释如下:HOGDescriptor::detectMultiScale(const GpuMat& img, vector<Rect>& found_locations, doublehit_threshold=0, Size win_stride=Size(), Size padding=Size(),double scale0=1.05, int group_threshold=2) 该函数表⽰对输⼊的图⽚img进⾏多尺度⾏⼈检测img为输⼊待检测的图⽚;found_locations为检测到⽬标区域列表;参数3为程序内部计算为⾏⼈⽬标的阈值,也就是检测到的特征到SVM分类超平⾯的距离;参数4为滑动窗⼝每次移动的距离。

一种基于多尺度滑动窗口图像检测行人的新方法

一种基于多尺度滑动窗口图像检测行人的新方法

一种基于多尺度滑动窗口图像检测行人的新方法作者:郑贤哲王艳东刘泽宇来源:《今日自动化》2020年第03期[摘要]针对行人检测领域的相关现实问题,传统机器学习算法通常采用对整幅图片以滑动窗口逐步检测的方法解决,这样会因检测非必要背景窗口过多而大大降低计算效率,针对上述问题提出一种基于多尺度滑动窗口图像检测行人的新方法。

首先以滑动窗口遍历图像,对整幅图片进行显著性检测,然后通过二值化处理的方式,将显著性物体分割出来,最后过滤非必要窗口,继而提高检测效率。

实验中采用HOG方法提取行人特征,运用线性SVM进行检测,最后验证新方法的有效性。

实验中,使用大小为300×451Dpi、261×400Dpi的图像,检测窗口数量分别减少了44.21%、34.96%,检测速率分别提高了9.30%、12.73%。

实验结果表明,相比于传统检测方法,新方法提高了检测效率。

[关键词]HOG特征提取;行人检测;SVM;显著性检验[中图分类号]TP391 [文献标志码]A [文章编号]2095–6487(2020)03–0–04[Abstract]In view of the related practical problems in the field of pedestrian detection,traditional machine learning algorithms usually adopt a method of gradually detecting the entire picture with a sliding window, which will greatly reduce the computational efficiency due to the detection of too many unnecessary background windows. To solve the above problems, a new method of pedestrian detection based on multi-scale sliding window images is proposed. First,traverse the image with a sliding window to detect the saliency of the entire picture, then segment the salient objects by binarization, and finally filter the unnecessary windows to improve the detection efficiency. In the experiment, the HOG method is used to extract pedestrian features,linear SVM is used for detection, and finally the effectiveness of the new method is verified. In the experiment, using images with sizes of 300×451Dpi and 261×400Dpi, the number of detection windows was reduced by 44.21% and 34.96%, respectively, and the detection rate was increased by 9.30% and 12.73%, respectively. Experimental results show that compared with traditional detection methods, the new method improves detection efficiency.[Keywords]HOG feature extraction; pedestrian detection; SVM; significance test1 國内外的研究现状近年来,随着图像识别技术的发展,基于图像识别检测行人的技术也得到广泛的关注和研究。

基于HOG特征的智能行人检测(SVM分类器)

基于HOG特征的智能行人检测(SVM分类器)

有关行人的智能检测,近年来可谓是一个热门话题。

日益流行的“智慧城市”的设想中,行人检测也可以应用在例如智能交通、安防等事业中。

来自法国的研究人员Navneet Dalal 等软件高手在2005年首次提出了HOG,即梯度直方图特征。

并以线性SVM作为分类器训练大量样本。

在他们大量的实验后证明,这样的研发成品可以很好得实现行人检测。

令人欣喜的是,强大的计算机视觉库OPENCV中现在已经有了HOG特征描述算子的API,而线性支持向量机SVM也是早早得就集成于OPENCV中了。

以上关于算法的介绍很粗线条,如果有对此感兴趣的朋友,给你们推荐个网址吧:/publications我想这个应该是最详实也是最权威的了,重点是2005年和2006年两篇,不过是全英文的,写得相当不错。

好了现在进入正题吧,我接触这个领域时间并不是很久,有幸现在到一家公司实习加上导师给的一些机会研究了一段时间,相信也有很多朋友在领域的门槛处跌倒了又跌倒,当然更有很多高手勇攀高峰。

所谓众口难调,我把这些天来的成果代码放在下面“示众”,跟我同一水平线的新手们可以看看,我保证这份代码是可以跑通的。

天外有天,人外有的那些高手们也可以赏光一览,若可朱笔一批,小生定不胜感激。

首先有几点说明的是:1.我用的win7 64位+vs2008+opencv2.3完成的项目,关于这个配置网上有很详细的资料。

也并不是很难。

如果是新手你还是听我唠叨两句:必须看好自己的电脑配置和软件版本,兼容问题不容小视;不要随意相信网上乱七八糟的说法,可以去CSDN或者OPENCV中文论坛上搜索文档配置方法。

那才是最靠谱儿的王道啊!2.关于OPENCV读取视频。

这个问题纠结了我大半天时间,cvCreateFileCapture这个函数比较逗,并不是所有的视频都可以进来。

我一开始以为.avi作为后缀的没有问题,后来试试才发现A VI也有很多种编码方式。

因此,如果这个地方有问题的朋友们可以尝试下一个Xvid编码器进行编码后,一切定迎刃而解。

改进的基于增强型HOG的行人检测算法

改进的基于增强型HOG的行人检测算法

改进的基于增强型HOG 的行人检测算法①李文书, 韩 洋, 阮梦慧, 王志骁(浙江理工大学 信息学院, 杭州 310018)通讯作者: 李文书摘 要: 行人检测在人工智能系统、车辆辅助驾驶系统和智能监控等领域具有重要的应用, 是当前的研究热点. 针对HOG 特征不明显、支持向量机(SVM)分类器计算复杂度高, 导致识别率低和检测速度慢的问题, 本文提出了一种改进的基于增强型HOG 的行人检测算法. 该算法首先预处理原始图像并提取其HOG 特征, 然后增强该特征生成增强型HOG, 经XGBoost 分类器进行行人检测. 在INRIA 数据集上进行测试, 实验结果表明所提算法识别率高达95.49%, 有效地提高了行人检测性能.关键词: 行人检测; HOG 特征; 增强型HOG; XGBoost 分类器引用格式: 李文书,韩洋,阮梦慧,王志骁.改进的基于增强型HOG 的行人检测算法.计算机系统应用,2020,29(10):199–204. /1003-3254/7587.htmlImproved Pedestrian Detection Method Based on Enhanced HOGLI Wen-Shu, HAN Yang, RUAN Meng-Hui, WANG Zhi-Xiao(School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310018, China)Abstract : Pedestrian detection is a current research hotspot, which has important applications in the fields of artificial intelligence system, vehicle assistant driving system, and intelligent monitoring. In the process of pedestrian detection based on HOG feature, the HOG feature is not obvious, the SVM classifier has high computational complexity, resulting in low recognition rate and high missed detection rate, this study proposes an improved enhanced HOG feature combined with the eXtreme Gradient Boosting (XGBoost) classifier for pedestrian detection. Firstly, the original image is preprocessed to get saliency map and HOG features. Then, the contrast of HOG features is enhanced and the pedestrian detection analysis is carried out with XGBoost classifier. Tested with the INRIA dataset, the experimental results show that the proposed algorithm has a significant improvement in recognition rate and detection speed.Key words : pedestrian detection; HOG feature; Enhanced HOG (EHOG); XGBoost classifier近年来, 行人检测在众多领域得到了广泛的发展,日渐成为计算机视觉和模式识别领域中的关键问题.然而, 由于行人身材和姿态多样性、光线多变、背景复杂等原因, 使得行人检测依旧是计算机视觉研究的热点与难点[1–3].自2005年, Dalal 等人[4,5]提出了方向梯度直方图(HOG)特征后, 行人检测技术进入快速发展阶段. HOG 特征用于描述图像中像素值的梯度信息, 该特征对行人边缘信息描述充分, 对光照变化不敏感, 目前仍是行人检测领域中应用最广泛的特征算子. Dalal 等人提出的HOG 特征结合支持向量机(SVM)分类器的行人检测方法在INRIA 数据集上检测精度达90%, 但是检测计算机系统应用 ISSN 1003-3254, CODEN CSAOBNE-mail: Computer Systems & Applications,2020,29(10):199−204 [doi: 10.15888/ki.csa.007587] ©中国科学院软件研究所版权所有.Tel: +86-10-62661041① 基金项目: 国家重点研发计划重点专项(2018YFB1004901); 国家自然科学基金(31771224, 60702069); 浙江省自然科学基金(LY17C090011)Foundation item: Major Project of National Key Research and Development Program of China (2018YFB1004901); National Natural Science Foundation of China (31771224, 60702069); Natural Science Foundation of Zhejiang Province (LY17C090011)收稿时间: 2020-02-14; 修改时间: 2020-03-13; 采用时间: 2020-03-20; csa 在线出版时间: 2020-09-30199速度非常慢. 在Dalal等人的研究成果基础上, 学者们纷纷提出了改进方法.为了提高检测精度, 陈锐等人[6]提出了一种利用主成分分析法(PCA)对HOG特征进行降维后与局部二值模式(LBP)特征进行融合, 再使用SVM分类器进行分类的行人检测框架, 组合特征的检测方法比单一特征的检测方法更精确[7,8]. 李盈盈等人[9]提出了一种更精确的行人检测方法, 该方法将LBP特征、CSS特征[10]和HOG特征进行结合, 采用Adaboost[11]分类器进行行人检测, 提高了在INRIA数据集检测的识别率,但由于提取特征种类增加导致检测速度变得极其慢.为了提高检测速度, Chen PY等人[12]尝试从硬件层面改善, 提出了一种用于HOG特征提取的低成本高速硬件实现, 仿真实验表明, 它需要更少的硬件成本并且实现更快的工作速度. 龚露鸣等人[13]提出一种用于视频流的快速行人检测方法. 该方法首先利用基于高斯模型的背景差分法进行运动目标提取, 然后在对运动目标进行人体识别, 通过缩小检测区域的方式提高了行人检测的速度, 达到可在视频流进行实时行人检测的目的.此外, 近年来深度学习的算法在行人检测上的应用也越来越广泛, 基于深度学习的行人检测算法[14–17]在速度和准确率上普遍优于传统机器学习算法, 但对硬件性能要求较高.综上所述, 现有的HOG特征的研究和改进都是从外部寻找其他手段提高检测精度和检测速度, 而本文是从图像本身和HOG特征内部出发增强图像和HOG 特征的表达能力.1 HOG特征HOG特征即方向梯度直方图特征, 是一种通过目标边缘密度的分布来对目标形状进行描述的特征算子,被广泛应用于计算机视觉和图像处理中. HOG特征提取的方式是依次提取目标局域特征再进行串联, 所有的提取工作只在目标局部区域进行, 避免了光照和图像几何形变的影响. 因此, HOG特征具有良好的几何不变性和光照不变性. 此外, HOG特征通过串联局部信息描述目标整体形状的方式对目标姿态的变化具有很好的宽容度. 在行人检测中, 只要人体姿态大致不变,小幅度的肢体动作不会对检测效果产生影响. 因此, HOG特征特别适用于行人检测.n×n N×NHOG特征的基本单位为细胞单元(cell), 每个cell 由个像素组成, 个cell组成一个块(block),具体特征提取过程如图1所示. HOG特征的提取以block尺寸的滑动窗口为掩码, 进行滑窗扫描提取, 具体步骤为.图像灰度化和归一化计算梯度构建方向的直方图归一化 block 的梯度强度收集 HOG 特征Feature vector f=[…, …, …, …]输入图像检测窗口CellBlock图1 HOG特征提取流程图1) 将彩色图像转换为灰度图像, 使用Gamma校正法[18,19]对图像进行归一化处理, 计算经Gamma校正后的图像中像素的水平和垂直梯度;2) 其次将梯度方向分为九个区间, 如图2所示, 建立梯度直方图统计cell在每个区间梯度幅值的分布情况, 生成的9维特征向量为该cell的特征描述子;z9块z3块z1块z9块20°~40°, z2块YXz1块z2块图2 梯度方向划分图计算机系统应用2020 年 第 29 卷 第 10 期2003) 将block 内所有cell 的特征描述子串联起来并进行归一化处理, 生成该block 的特征描述子;4) 将所有block 的特征描述子串联起来得到输入图像的HOG 特征向量f .2 增强型HOG2.1 预处理操作计算每个像素在整个图像上的全局对比度, 即该像素与图像中其他所有像素在颜色上的距离之和作为该像素的增强值, 得到新的图像.I k 图像I 中某个像素的增强值计算公式如下:S alS (I k )=∑∀I i ∈I∥I k −I i ∥=∥I k −I 1∥+···+∥I k −I N ∥(1)I k [0,255]N I k =a m f n n 其中, 为灰度值, 取值范围为; 表示图像中像素的数量. 给定一张图像, 每个像素的颜色值已知, 假定, 表示图像中第个像素的频数. 则上式可重构:S alS (I k )=f 0∥a m −a 0∥+···+f 255∥a m −a 255∥(2)S alS (a m )=255∑n =0f n ∥a m −a n ∥(3)g b ,ave =n ∑c =1g c ,sum n(4)g c =a 1g c (x ,y ),g c (x ,y )<15g b ,avea 2g c (x ,y ),15g b ,ave ≤g c (x ,y )≤25g b ,ave a 3g c (x ,y ),25g b ,ave ≤g c (x ,y )≤35g b ,ave a 4g c (x ,y ),35g b ,ave ≤g c (x ,y )≤45g b ,ave a 5g c (x ,y ),g c (x ,y )>45g b,ave(5)g b,ave g c ,sum n gc (x ,y )(x ,y )a 1,a 2,a 3,a 4a 5a 1=0.6a 2=0.8a 3=1a 4=1.2a 5=1.4其中, 表示当前block 内cell 幅值的均值, 表示当前cell 内梯度值, 为block 内cell 的个数. 式(5)为block 内cell 的幅值具体调整方式, 其中表示当前block 内位置cell 的梯度值; 和为调整系数, 经实验分析后在本文取, ,, 和.提取经过预处理后图像的HOG 特征, 从增强特征对比度角度对HOG 特征进行改进, 提出了增强的HOG (Enhanced HOG, EHOG)特征. 增强HOG 特征对比度的方法是在提取HOG 特征后, 按照式(4)计算出当前block 的梯度值均值. 再按照式(5)对该block 内每个cell 的梯度值做出调整. 之后串连调整过的cell 特征描述子得到block 的特征描述子. 最后将所有block 的特征描述子串连得到EHOG 特征.经过特征增强处理, 梯度直方图中梯度值小的bin 得到进一步压缩, 梯度值大的bin 得到进一步放大,直方图的方差增大, 对比度显著增强. 为进一步分析EHOG 特征相较HOG 特征的变化, 本文提取INRIA 数据集中一张图片的HOG 特征和EHOG 特征进行可视化分析, 如图3所示.原图(a) HOG 特征图(b) EHOG 特征图预处理图3 HOG 和EHOG 特征可视化比较图图3中, 每个红色虚线区域代表一个cell 单元, 由图3(a)与图3(b)比较可以很直观地看出经过特征增强处理, cell 单元内各方向梯度值在保持原有趋势前提下, 对比度显著增大, cell 单元特征描述子的局部描述能力得到增强. 图4从数据角度很好的反应了这一点, HOG特征整体变化趋势与EHOG 特征保持一致但对比度得到增强, 如维度17位置对应特征分别为0.005和0.008,仅相差0.003; 最大特征值与最小特征值之差由0.335提高到0.470, 较未进行特征增强之前增长了40.3%.0.0080.3350.0050.470.050.100.150.200.250.300.350.400.450.50135791113151719212325272931方向梯度数据维度HOGEHOG图4 HOG 特征和EHOG 特征值图2020 年 第 29 卷 第 10 期计算机系统应用201算法1. EHOG特征获取Input: imgGray: 原始图像对应的灰度图Output: fOut: EHOG特征hist ← imgGray中出现像素灰度对应的频数设置一个用于保存0到255各灰度值对应的增强值的对象distfor i ← 0 to 255 dodist[i] ← 根据hist利用式(3)求出增强值endrows ← imgGray的高度cols ← imgGray的宽度设置一个用于保存结果增强后结果的与imgGray大小相同的单通道图像imgEnhancefor i ← 0 to cols – 1 dofor j ← 0 to rows – 1 dogray ← imgGray位于(i,j)位置的灰度值将imgEnhance中位于(i,j)位置的像素设置为dist[gray]的值endend对imgEnhance进行归一化处理szCell ← 用于提取HOG的cell单元大小szBlock ← 用于提取HOG的滑动窗口大小, cell的数量szStep ← 用于提取HOG的步长, 为szCell的整数倍f ← 根据szBlock、szStep和szCell在imgEnhance上滑动计算收集所有HOG特征numWindow ← (rows – szBlock×szCell)×(cols –szBlock×szCell)/(szStep×szStep) + 1for i ← 0 to numWindow – 1 dogCellSum ← 根据f中的信息计算当前窗口内cell梯度总和gBlock ← 根据gCellSum利用式(4)计算出当前窗口内cell梯度均值for j ← 0 to szBlock×szBlock – 1 dogCellCur ← 格局f中的信息获取当前位置cell的梯度值gCellAdp ← 根据gBlock和gCellCur利用式(5)计算出当前cell的调整值将f中对应的cell位置的值设置为gCellAdpendendfOut ← f3 实验分析本文实验的相关参数设置如下: cell大小为像素, block大小为cell, 滑动窗口采用固定大小为, 扫描步长为8个像素. 实验采用INRIA数据集进行实验分析, 部分示例图像如图5所示.INRIA数据集中行人姿态多样, 背景复杂多变, 在行人检测领域该数据集认可度较高. 训练样本中正样本数量为2416个, 负样本数量为1218个; 测试样本中正样本数量为1126个, 负样本数量为453个. 硬件的运行环境设置为: Windows 7操作系统, Intel(R) Core(TM) i7-4770 CPU, 8 GB内存. 软件平台为Visual Studio 2015.(a)训练图像(b)测试图像图5 INRIA数据集的部分示例图像为验证本文提出的EHOG特征相较其他特征的优越性, 将EHOG特征和其他几种常用特征结合XGBoost 分类器[20,21]进行实验对比, 实验结果见表1.表1 不同特征结合XGBoost分类器的比较特征种类识别率(%)检测时间(ms)Haar77.4053.27LBP83.6449.01HOG90.7825.61EHOG95.4930.85由表1可知HOG特征和本文提出EHOG在识别率和检测时间上明显优于其他特征. 相较HOG特征,使用Haar和LBP特征训练所得的分类器识别率相对较低, 分别只有77.40%, 83.64%. 使用EHOG特征的识别率为95.49%, 较Haar和LBP特征分别提高了18.09%和11.85%, 较传统HOG特征提高了4.71%. 表1中最后一列是不同特征在与XGBoost分类器结合时所需的检测时间, 其中HOG特征所需最少, 为25.61 ms, 而本文提出的EHOG特征所需检测时间为30.85 ms与其接近, 但是识别率有明显的提升.为了进一步检测XGBoost分类器较其他分类器的计算机系统应用2020 年 第 29 卷 第 10 期202优越性, 本文将EHOG 特征结合SVM 分类器进行实验对比, 实验结果见表2和图6.表2 不同特征结合SVM 分类器检测时间特征种类检测时间(ms)Haar 74.63LBP 69.51HOG 57.81EHOG64.311020304050607080HaarLBPHOGEHOG检测时间 (m s )特征种类SVM XGBoost图6 不同特征在SVM 和XGBoost 分类器上检测时间的比较由图6可以看出, 不同特征结合XGBoost 分类器普遍比SVM 分类器所需的检测时间要少, 这是因为XGBoost 分类器的多线程并行操作, 有效地降低了行人检测时间. 由表2可知, HOG 特征在结合SVM 分类器时所需的检测时间, 远远少于Haar 特征和LBP 特征, 而EHOG 特征较HOG 特征检测时间略有增加, 是因为提取EHOG 特征之前对原始图像进行了预处理增加了时间开销, 但较传统SVM 分类器, XGBoost 分类器很明显的降低了检测时间.4 结束语行人检测具有极广泛的应用: 智能辅助驾驶, 智能监控, 行人分析以及智能机器人等领域. 从2005年以来行人检测进入了一个快速的发展阶段, 但是也存在很多问题还有待解决, 主要还是在性能和速度方面还不能达到一个权衡. 近年, 以谷歌为首的自动驾驶技术的研发正如火如荼地进行, 这也迫切需要能对行人进行快速有效的检测, 以保证自动驾驶期间对行人的安全不会产生威胁.本文从预处理原始图像和增强特征对比度两方面对其做出改进, 提出了增强型HOG, 并基于EHOG 特征结合XGBoost 分类器的行人检测方法. 实验结果证明, 针对不同特征(Haar 、LBP 、HOG 、EHOG), 本文提出的方法在识别率和检测速度方面有明显优越性.本文下一步研究方向是, 针对遮挡问题改进检测算法, 在复杂环境下进一步提高检测精度提升检测速度.参考文献苏松志, 李绍滋, 陈淑媛, 等. 行人检测技术综述. 电子学报, 2012, 40(4): 814–820. [doi: 10.3969/j.issn.0372-2112.2012.04.031]1宋婉娟, 张剑. 融合回归网络和多尺度特征表示的实时行人检测. 电子测量与仪器学报, 2018, 32(7): 15–20.2李俊杰, 刘成林, 朱明. 基于多任务CNN 的监控视频中异常行人快速检测. 计算机系统应用, 2018, 27(11): 78–83.[doi: 10.15888/ki.csa.006607]3Dalal N, Triggs B. Histograms of oriented gradients forhuman detection. Proceedings of 2015 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR ’05). San Diego, CA, USA. 2005.886–893.4Maldonado S, López J. Dealing with high-dimensional class-imbalanced datasets: Embedded feature selection for SVM classification. Applied Soft Computing, 2018, 67: 94–105.[doi: 10.1016/j.asoc.2018.02.051]5陈锐, 王敏, 陈肖. 基于PCA 降维的HOG 与LBP 融合的行人检测. 信息技术, 2015, (2): 101–105.6Aït-Sahalia Y, Xiu DC. Principal component analysis ofhigh-frequency data. Journal of the American Statistical Association, 2019, 114(525): 287–303. [doi: 10.1080/01621459.2017.1401542]7Xiao L, Zhang YJ, Wang Q, et al . Improved local texturefeatures for pedestrian detection. Proceedings of the IEEE 3rd International Conference on Image, Vision and Computing (ICIVC). Chongqing, China. 2018. 60–65.8Zhang PB, Yang ZX. A novel AdaBoost framework withrobust threshold and structural optimization. IEEE Transactions on Cybernetics, 2018, 48(1): 64–76. [doi: 10.1109/TCYB.2016.2623900]9Walk S, Majer N, Schindler K, et al New features andinsights for pedestrian detection. Proceedings of 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco, CA, USA. 2010.1030–1037.10李盈盈, 李菲菲, 陈虬. 基于改进HOG 共生概率特征的行人检测算法. 电子科技, 2018, 31(9): 4–8.112020 年 第 29 卷 第 10 期计算机系统应用203Chen PY, Huang CC, Lien CY, et al . An efficient hardware implementation of HOG feature extraction for human detection. IEEE Transactions on Intelligent Transportation Systems, 2014, 15(2): 656–662. [doi: 10.1109/TITS.2013.2284666]12龚露鸣, 徐美华, 刘冬军. 基于混合高斯和HOG + SVM 的行人检测模型. 上海大学学报(自然科学版), 2018, 24(3):341–351.13陈恩加, 唐向宏, 傅博文. Faster R-CNN 行人检测与再识别为一体的行人检索算法. 计算机辅助设计与图形学学报,2019, 31(2): 332–339.14Tian YL, Luo P, Wang XG, et al . Deep learning strong partsfor pedestrian detection. Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago,Chile. 2015. 1904–1912.15Ouyang WL, Zhou H, Li HS, et al . Jointly learning deepfeatures, deformable parts, occlusion and classification for pedestrian detection. IEEE Transactions on Pattern Analysis16and Machine Intelligence, 2018, 40(8): 1874–1887. [doi: 10.1109/TPAMI.2017.2738645]王琳, 卫晨, 李伟山, 等. 结合金字塔池化模块的YOLOv2的井下行人检测. 计算机工程与应用, 2019, 55(3): 133–139. [doi: 10.3778/j.issn.1002-8331.1710-0236]17杨金锋, 师一华, 熊兴隆. 光照处理中改进的Gamma 矫正方法. 中国民航学院学报, 2006, 24(4): 39–42.18储清翠, 王华彬, 陶亮. 图像的局部自适应Gamma 校正. 计算机工程与应用, 2015, 51(7): 189–193, 208. [doi: 10.3778/j.issn.1002-8331.1305-0193]19Chen TQ, Guestrin C. XGBoost: A scalable tree boostingsystem. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, CA, USA. 2016. 785–794.20Chen WB, Fu K, Zuo JW, et al . Radar emitter classificationfor large data set based on weighted-xgboost. IET Radar,Sonar & Navigation, 2017, 11(8): 1203–1207.21计算机系统应用2020 年 第 29 卷 第 10 期204。

opencv之HOG特征详解与行人检测

opencv之HOG特征详解与行人检测

HOG(Histogram of Oriented Gradient)特征在对象检测与模式匹配中是一种常见的特征提取算法,是基于本地像素块进行特征直方图提取的一种算法,对象局部的变形与光照影响有很好的稳定性,最初是用HOG特征来来识别人像,通过HOG特征提取+SVM训练,可以得到很好的效果,OpenCV已经有了。

HOG特征提取的大致流程如下:详细步骤第一步:灰度化对HOG特征提取来说第一步是对输入的彩色图像转换为灰度图像,图像灰度化的方法有很多,不同灰度化方法之间有一些微小的差异,从彩色到灰度的图像转换可以表示如下:第二步:计算图像梯度计算图像的X方向梯度dx与Y方向梯度dy,根据梯度计算mag与角度,计算梯度时候可以先高斯模糊一下(可选步骤),然后使用sobel或者其它一阶导数算子计算梯度值dx、dy、mag、angle:第三步:Cell分割与Block对于图像来说,分成8x8像素块,每个块称为一个Cell,每个2x2大小的Cell称为一个Block,每个Cell根据角度与权重建立直方图,每20度为一个BIN,每个Cell得到9个值、每个Block得到36个值(4x9), 图像如下:每个Block为单位进行L2数据归一化,作用是抵消光照/迁移影响,L2的归一化的公式如下:第四步:生成描述子对于窗口64x128范围大小的像素块,可以得到8x16个Cell,使用Block在窗口移动,得到输出的向量总数为7x15x36=3780特征向量,每次Block移动步长是八个像素单位,一个Cell大小。

使用HOG特征数据HOG特征本身是不支持旋转不变性与多尺度检测的,但是通过构建高斯金字塔实现多尺度的开窗检测就会得到不同分辨率的多尺度检测支持。

OpenCV中HOG多尺度对象检测API如下:virtual void cv::HOGDescriptor::detectMultiScale(InputArray img,std::vector< Rect > & foundLocations,double hitThreshold = 0,Size winStride = Size(),Size padding = Size(),double scale = 1.05,double finalThreshold = 2.0,bool useMeanshiftGrouping = false)Img-表示输入图像foundLocations-表示发现对象矩形框hitThreshold-表示SVM距离度量,默认0表示,表示特征与SVM分类超平面之间winStride-表示窗口步长padding-表示填充scale-表示尺度空间finalThreshold-最终阈值,默认为2.0useMeanshiftGrouping-不建议使用,速度太慢拉使用OpenCV预训练SVM行人HOG特征分类器实现多尺度行人检测的代码如下:import cv2 as cvif __name__ == '__main__':src = cv.imread("D:/images/pedestrian.png")cv.imshow("input", src)hog = cv.HOGDescriptor()hog.setSVMDetector(cv.HOGDescriptor_getDefaultPeopleDetector()) # Detect people in the image(rects, weights) = hog.detectMultiScale(src,winStride=(4, 4),padding=(8, 8),scale=1.25,useMeanshiftGrouping=False)for (x, y, w, h) in rects:cv.rectangle(src, (x, y), (x + w, y + h), (0, 255, 0), 2)cv.imshow("hog-detector", src)cv.waitKey(0)cv.destroyAllWindows()原图显示如下:运行显示如下:。

基于HOG特征的行人检测

基于HOG特征的行人检测

3
统计局部图像梯度信息
4
对比度归一化
5 生成特征描述向量
1.全局图像归一化
目的:调节图像的对比度,降低图像局部的阴影和光 照变化所造成的影响,同时可以抑制噪音的干扰
方法:首先将输入的彩图转换为灰度图 采用Gamma校正法对输入图像进行颜色空间 的标准化(归一化)
2.计算图像梯度
目的:主要是为了捕获轮廓信息,同时进一步弱化光照的 干扰。
方法:对每个颜色通道分别计算梯度。
3.统计局部图像梯度信息
目的:为局部图像区域提供一个编码,同时能够保持对图 像中人体对象的姿势和外观的弱敏感性。
方法:求取梯度方向直方图,我们将图像窗口分成若干个 小区域,这些区域被称为“单元格”。然后将每个 单元格中所有象素的一维梯度直方图或者边缘方向 累加到其中。最后将这个基本的方向直方图映射到 固定的角度上,就形成了最终的特征。
5.生成特征描述向量:
最后一步就是将检测窗口中所有重叠的块进行HOG 特征的收集,并将它们结合成最终的特征向量供分类 使用。
运行结果:
Thank You !
行人检测
——基于H义: 方向梯度直方图(HOG)特征,是一种在计算机视觉
和图像处理中用来进行物体检测的特征描述子。 HOG特征通过计算和统计图像局部区域的梯度方向直
方图来构成特征。 本质:
梯度的统计信息,而梯度主要存在于边缘的地方
步骤:
1
全局图像归一化
2 计算图像梯度
4.块内归一化梯度直方图
目的:将所有单元格在块上进行归一化;归一化能够进一步 地对光照、阴影和边缘进行压缩。
方法:通常,每个单元格由多个不同的块共享,但它的归一 化是基于不同块的,所以计算结果也不一样。因此, 一个单元格的特征会以不同的结果多次出现在最后的 向量中。我们将归一化之后的块描述符就称之为HOG描 述符

基于多尺度-多形状HOG特征的行人检测方法

基于多尺度-多形状HOG特征的行人检测方法

基于多尺度-多形状HOG特征的行人检测方法牛杰;钱堃【摘要】提出一种图像中人体快速自动检测方法.提取图像的多尺度-多形状方向梯度直方网(HOG)特征向量,用于描述人体的形状特征,结合Adaboost机器学习法训练级联型分类器,以加速人体的检测过程.相比较传统算法,该方法没有采用静态背景模型,也不是仅仅依赖于易受外部环境因索干扰的颜色信息,从而一定程度地适应了人体姿态变化,以及非结构化环境下常见的光照波动、背景杂乱等不良因素所带来的干扰.实验验证了该方法的准确性和较高的计算效率.%A fast and automatic people detection method is proposed. The multi-scale and multi-shape histogram of oriented gradient (HOG) features are extracted, which serve as a powerful description of human shapes;The extracted features are then fed into a cascade of classifiers trained by Adabcost algorithm to greatly accelerate the people detection scheme. The proposed method is independent from background models as well as color information in images, which is highly unreliable due to disturbance. This method is robust agains: human posture variances, lightening fluctuations as well as background cluttering. Experimental results validate the favorable performance of high accuracy and computational efficiency of the proposed method.【期刊名称】《计算机技术与发展》【年(卷),期】2011(021)009【总页数】5页(P99-102,106)【关键词】方向梯度直方图;行人检测;Adaboost;机器学习【作者】牛杰;钱堃【作者单位】常州信息职业技术学院电子与电气工程学院,江苏常州213164;东南大学自动化学院,江苏南京210096【正文语种】中文【中图分类】TP391.410 引言人的视觉检测在智能监控[1]、人机交互[2]等领域都有着重要的应用价值。

基于改进HOG特征和SVM分类器的行人检测

基于改进HOG特征和SVM分类器的行人检测

基于改进HOG特征和SVM分类器的行人检测行人检测是计算机视觉领域的一个重要问题,其应用范围广泛,如智能监控、智能驾驶等。

传统的行人检测方法在复杂场景下表现不佳。

为了提高行人检测的准确性和鲁棒性,研究者们提出了基于改进方案的HOG特征和SVM分类器的行人检测方法。

HOG(Histogram of Oriented Gradients)特征是一种常用的图像特征描述子,其通过统计图像局部区域的梯度方向直方图来表示图像的特征。

传统的HOG特征在行人检测中存在一些问题,如光照变化、遮挡等因素会影响HOG特征的准确性。

为了解决这些问题,研究者们提出了一系列的改进方法。

使用多尺度的HOG特征来提取图像的特征。

由于行人在不同尺度下有不同的形状和大小,因此使用多尺度的HOG特征可以更好地描述行人的特征。

采用梯度方向直方图的归一化来减小光照变化对特征的影响。

通过对梯度方向直方图进行归一化,可以保证特征在不同光照条件下的一致性。

研究者们还引入了局部二值模式(Local Binary Patterns,LBP)来增强HOG特征的描述能力。

LBP 描述了每个像素点与其周围像素点的关系,通过将局部二值模式与HOG特征相结合,可以更好地描述行人的纹理信息。

在特征提取之后,接下来需要选择一个分类器对行人进行分类。

通常,使用支持向量机(Support Vector Machine,SVM)作为分类器。

SVM是一种常用的机器学习算法,具有良好的分类性能和泛化能力。

为了提高SVM分类器的性能,研究者们采用了一些改进策略。

采用Hard Negative Mining的方法来生成更加具有挑战性的负样本,以训练更加鲁棒的分类器。

Hard Negative Mining通过从易分类为负样本的样本中选择最难分类的样本作为负样本,可以有效提高SVM分类器的性能。

引入了级联分类器的概念。

级联分类器由多个级联的分类器组成,每个级联的分类器都有自己的区域兴趣(Region of Interest,ROI),通过级联的方式来逐步过滤掉不是行人的区域,从而提高检测速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

( OG)fa rsaee t ce H e t e r x a t u r d,w ihsr ea o r l ecit n o u n sa e ; h xrce a rs r e dit ac d hc v sa wef sr i f ma p s T ee t tdf t e et n f o a sa e e p ud po h h a eu a h e n c
Ke r s h so r m fo e td g a e t p d sra ee t n; a o s ; c me l a n n y wo d : it g a o r n e r d n ; e e tin d tc i i i o Ad b o t ma h e r i g
M uli ha o G a ur s t-S pe H Fe t e
N U J Q A K n I i , I N u e
( . c .o l tcl n lc o i E g ,C agh uC l g fIf eh . C agh u2 3 6 , hn ; 1S h fEe r a a dEet nc n . h n zo o eeo .T cn , h zo 114 C ia ci r l n n 2 S h o o uo t n S uhat nvri , aj g20 9 , h a . co l f t A mai , otes U esy N ni 10 6 C i ) o i t n n
o ls i e s t i e y Ad b o t g r h t r a y a c l r t h e p e d t t n s h me fc a sf r r n b a o s o i m o g e t c e e ae t e p o l e e i c e .Th r p s d me o si d p n e t r m i a d l a t l c o e p o o e t d i n e e d n o h f b c g o n d l s wela o o f r t n i ma e ,wh c sh g l n e ib e d e t it r a c .Th s me o sr b s g i s a k r u d mo e sa l s c l ri o ma i n i g s n o i h i i h y u r l l u o d s u b n e a i t d i o u ta an t h h m a o t r a i c s i h e i g fu t a i n s we la a k r u d cu t r g.Ex e i n a e u t a i ae t e f v r b e pef r ・ u n p su e v ra e ,l t n n cu t sa l s b c g o n l t i n g l o en p rme t lr s l v d t h a o a l ro s l m aie o i h a c r c d c mp tt n l f c e c ft e pmp s d meh d. l f h g c u a y a o ua i a i in y o c n o e h o to e
第2卷 l
第 9期
计 算 机 技 术 与 发 展
COMP MEN OP T
2 1 年 9月 01
Vo . No 9 1 21 . S p. 2 e 011
基 于 多尺 度 一 多形 状 H OG 特征 的行 人检 测 方 法
Ab ta t A a t a d a t ma c p o l e e t n me h d i r p s d.Th s r c : f s n u o t e p e d tc i t o s p o o e i o e mu t—s a e a m li h p it g a o re  ̄d g a in l i c l r mu t—s a e h so r m fo n r d e t i
人体 的形 状特 征 , 合 A aos机器 学习 法训练 级联 型分 类器 。 速人 体 的检测 过程 。相 比较传 统 算法 , 方法 没有 采 结 dbot 以加 该
用静态背景模型 , 也不是仅仅依赖于易受外部环境因素干扰的颜色信息, 从而一定程度地适应 r人体姿态变化 , 以及非结
构 化环境 下 常见 的光照 波动 、 杂乱 等不 良因 素所带 来 的 于扰 。实 验验证 了该 方法 的准 确性 和较 高的训‘ 率 。 背景 算效
牛 杰 钱 垄 I , , 、 ,、 一 、 、 一
(. 1 常州信息职业技术学院 电子与 电气工程学院, 江苏 常州 2 36 ; 114
2 东南 大学 自动 化 学 院 , 苏 南京 209 ) . 江 106
摘 要 : 出一种 图像 中人体 快速 自动 检测方 法 。提取 图像 的多 尺度 - 提 - 多形状 方 向梯度 直方 图 ( O 特 征 向量 , 于描 述 H G) 用
关键词 : 向梯度 直方 图 ; 人检测 ; dbo ; 器学 习 T y 行 A aos 机 t 中图分 类号 :P9 . 1 T3 14 文献标 识码 : A 文章编 号 : 7 — 2 X 2 1 )9 09 -4 1 3 69 f0 10 - 09 0 6
Pe e t in Dee to s d o u t— c l n d sra tc i n Ba e n M l . ae a d iS
相关文档
最新文档