HOG特征:方向梯度直方图(Histogram of Oriented Gradient,)特征是一种全局图像特征描述子。

它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。

参考原文:目标检测之特征提取之—HOG特征  如有疑义,请拜访原文。

RGB的DPM检测特征和其级联方法是最后一个有效的传统的目标检测方法,翻译见DPM原理详解,此后,如有疑义,请拜访原文,作者的主页面:http://www.rossgirshick.info/。

DPM方法获得cvpr2018的PAMI Longuet-Higgins Prize。CVPR2018;

  • PAMI Longuet-Higgins Prize (Retrospective Best Paper from CVPR 2008)

    "A Discriminatively Trained, Multiscale, Deformable Part Model" by Pedro Felzenszwalb, David McAllester, and Deva Ramanan

DPM项目主页:Object Detection with Discriminatively Trained Part Based Models

See also, CACM Research Highlight:

Visual Object Detection with Deformable Part Models
       P. Felzenszwalb, R. Girshick, D. McAllester, D. Ramanan   Communications of the ACM, no. 9 (2013): 97-105

一、HOG+SVM模型

1、HOG描述子的计算过程

输入图像image:

1)灰度化( 将图像看做一个x,y,z(灰度)的三维图像);

2)采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰;

3)计算图像每个像素的梯度(包括大小和方向);主要是为了捕获轮廓信息,同时进一步弱化光照的干扰。

4)将图像划分成小cells(例如6*6像素/cell);

5)统计每个cell的梯度直方图(不同梯度的个数),即可形成每个cell的descriptor; 原始HOG特征划分为9个直方图区间。

意义:计算梯度直方图,可以降低光线明暗变化带来的影响,保持良好的光照不变性和特定的旋转不变性。

6)将每几个cell组成一个block(例如3*3个cell/block),一个block内所有cell的特征descriptor串联起来便得到该block的HOG特征descriptor。(此处cell和block,每个block可以多个cell,相邻cell之间产生特定像素的重叠,可以有效的抵挡偏移影响。行人检测的最佳参数设置是:3×3细胞/区间、6×6像素/细胞、9个直方图通道。则一块的特征数为:3*3*9)
      意义:覆盖划分区域用于降低图像块偏移带来的影响;并同时保持特定区域相关性。

7)将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image(你要检测的目标)的HOG特征descriptor了。这个就是最终的可供分类使用的特征向量了。

220X310大小图像为例,经过缩放处理后为216x304,但并不直接提取整个图像的HOG特征,而是用一个固定大小的窗口在图像上滑动,滑动的间隔为8个像素,opencv中默认的窗口大小为128x64(高128,宽64),即有(128÷8)x(64÷8)=16x8cell,也即有15x7block,这样一来一幅图像就可以取到(27-16)x(38-8)=11x30=330个窗口。现在提取每个窗口的HOG特征,则可得到 105x36=3780HOG特征向量。

2、HOG特征的全局性质

HOG特征并非固定长度约束的特征描述子。向量的维数和图像大小和Cell大小有关。每一个Cell里面统计梯度直方图,形成每个Cell的梯度特征。其中每个Cell里面提取的特征可以使用其他块特征取代。

2.1. HOG优点:

与其他的特征描述方法相比,HOG有很多优点。首先,由于HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更大的空间领域上。其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。因此HOG特征是特别适合于做图像中的人体检测的。

全局变形性,局部不变形,在区分行人特征和左右眼特征时具有天然的优势。当然,HOG思想是一个算法族,Cell和Block思想是主要思想,重叠度直方图分区块大小可以根据实际情况进行调参,在一定的数据集上,力求达到最佳效果。

3、使用OpenCV进行HOG特征计算

OpenCV的ObjectDetect模块包含了HOG计算的源代码,使用例程如下

bool CEyeClassify::GetHogFeature(const cv::Mat& imggray, std::vector<float>& vecFeature)
{const int cnSizeW = CEyeClassify::m_PatchWidth;const int cnSizeH = CEyeClassify::m_PatchHeight;{cv::Mat imggray1;resize(imggray, imggray1, cv::Size(cnSizeW, cnSizeH), 0, 0, CV_INTER_LINEAR);cv::HOGDescriptor hog(imggray1.size(), cv::Size(16, 16), cv::Size(8, 8), cv::Size(8, 8), 9); // 48x32  540hog.compute(imggray1, vecFeature);}return true;
}

二、DPM+LatentSVM模型

     DPMDeformable Part Model),正如其名称所述,可变形的组件模型,是一种基于组件的检测算法,其所见即其意。该模型由大神Felzenszwalb在2008年提出,并发表了一系列的cvpr,NIPS。并且还拿下了2010年,PASCAL VOC的“终身成就奖”。

1、DPM描述子的计算过程

输入图像image

2、DPM描述子的检测过程

输入图像image

3、Latent SVM模型

输入图像image

参考资料:

1.HOG维基百科:https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients

2.图像检测法三大法宝:HOG,LBP,HAAR特征。

图像的全局特征--HOG特征、DPM特征相关推荐

  1. 图像的全局特征--用于目标检测

    CNN广泛应用于目标检测的各个场景,残差网络在目标检测方面取得了领先结果.对于传统应用,使用全局特征+级联分类器的思路仍然被持续使用.常用的级联方法有haar特征+Adaboost决策树分类器级联检测 ...

  2. OpenCV与图像处理学习十二——图像形状特征之HOG特征

    OpenCV与图像处理学习十二--图像形状特征之HOG特征 一.图像特征理解 1.1 颜色特征 1.2 纹理特征 1.3 形状特征 1.4 空间关系特征 二.形状特征描述 2.1 HOG特征 2.1. ...

  3. 图像特征检测描述(一):SIFT、SURF、ORB、HOG、LBP特征的原理概述及OpenCV代码实现

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 什么叫特征检测?就是检测图像中目标的特征呗,所谓 ...

  4. 图像特征提取与描述_角点特征04:LBP算法+HOG特征算子

    1.LBP算法 LBP(Local Binary Pattern)指局部二值模式,是一种用来描述图像局部特征的算子,LBP特征具有灰度不变性和旋转不变性等显著优点.它是由T. Ojala, M.Pie ...

  5. CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)—(准确度高达100%)

    CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)-(准确度高达100%) 目录 基于DIY人脸图像数据集( ...

  6. 图像特征检测描述:SIFT、SURF、ORB、HOG、LBP特征的原理概述

    版权声明:本文为博主原创文章,转载请标明原始博文地址: https://blog.csdn.net/yuanlulu/article/details/82148429 </div>< ...

  7. gabor 幅值域 matlab,基于全局二值模式的特征提取方法及其应用

    基于全局二值模式的特征提取方法及其应用 来源:原创论文网 添加时间:2014-02-09 摘 要 提出一种全局二值模式( GBP) 的纹理分析方法,解决局部二值模式( LBP) 易受噪声影响的问题. ...

  8. 特征工程之时间特征、自然语言特征、图像图像特征、数据分布不平衡

    特征工程之时间特征.自然语言特征.图像图像特征.数据分布不平衡 目录 特征工程之时间特征.自然语言特征.图像图像特征

  9. 图像特征提取(一)——什么是特征点、特征描述、特征匹配

    特征匹配(Feature Match)是计算机视觉中很多应用的基础,所以花一些时间去深入理解这个概念是不为过的.本文希望通过一种通俗易懂的方式来阐述特征匹配这个过程,以及在过程中遇到的一些问题. 概念 ...

最新文章

  1. 自动驾驶开发云平台业务分析
  2. 【Virtual Judge】The 2019 China Collegiate Programming Contest Harbin Site-Keeping Rabbits
  3. optee中断处理的介绍(概念篇)
  4. 深入了解数据分析丨《精益数据分析》超详细读书笔记
  5. 【机器视觉】 HDevelop语言基础(三)-容器和保留字
  6. java 窗口扩大,JavaScript实现拉框放大
  7. linux 进程通信机制,linux的进程通信机制小结
  8. 只做macd二次金叉_MACD指标的各种金叉、二次金叉都是买入信号吗?本文会给你答案...
  9. MyEclipse下JDBC-MySQL配置总结
  10. 记录下帮助一位网友解决的关于android子控件的onTouch或onClick和父OnTouch 冲突的问题。
  11. Python中easy_install 和 pip 的安装及使用
  12. 【转】嵌入式软件:C语言编码规范
  13. sql语句distinct_带DISTINCT子句SQL SELECT语句
  14. 使用timerfd实现定时器功能
  15. struts2 + json 包冲突问题
  16. pyqt5 显示更新进度条_python如何通过pyqt5实现进度条
  17. PyInstaller编译linux,linux下运行pyinstaller故障解决
  18. mac电脑闪屏怎么办?解决mac屏幕一闪一闪的方法
  19. 实现省市县的两种方式
  20. 极光推送的简单实现方法

热门文章

  1. Spine 2D animation for games
  2. jetty NoSuchFieldError: MAX_INACTIVE_MINUTES
  3. React的Transaction浅析
  4. ansible+heartbeatV2构建高可用群集
  5. [转载] 七龙珠第一部——第033话 龙的传说
  6. JS实例操作QQ空间自动点赞方法
  7. 【免费软件测试视频-0031】——QTP系列之---功能测试自动化概要介绍
  8. 学习——JavaWeb05:JSP入门
  9. Jzoj4891 摆书
  10. 结对-贪吃蛇游戏-开发过程