一、基本HOG算法

HOG特征最早出现在SIFT算法中,由于其极强的图像特征描述能力,逐渐被人们熟知和广泛运用,其在目标检测方面表现尤为突出。

HOG特征提取过程

步骤一:遍历图像每个像素点,以其为中心取8*8像素领域作为网格(block)区域;

步骤二:将网格(block)区域平均分成4个大小相等的细胞单元(cell),每个细胞单元的大小是4*4个像素;

步骤三:计算所有细胞单元(cell)中的每个像素的梯度幅值和梯度方向,梯度算子使用中心算子[1,0,-1];

其中,H(x,y)为每个像素水平方向的梯度大小,V(x,y)为垂直方向的梯度大小。o(x,y)为像素(x,y)的梯度 方向,m(x,y)为它的梯度幅值。

步骤四:将梯度方向限定在(0,180°)内,平均分成8个区间,用有符号的8个方向表示。根据下图中的椭圆圈的 高斯加权范围将单元(cell)上所有相同梯度方向的像素点的梯度幅值加权累加,组成该单元的8维梯度方向直方图。

步骤五:计算得到细胞单元(cell)的8维梯度方向直方图,将一个网格(block)区域中4个细胞单元(cell)的梯度直方图连接起来,得到一个网格(block)区域的4*8=32维的梯度直方图特征。连接所有网格(block)区域的直方图特征,并采用L2-norm归一化,最终得到HOG特征。 一副大小为128*128的图像,可以分成16*16=256个无重叠网格区域,其HOG特征向量的长度为256*32=8192。

二、空间多尺度HOG模型

       HOG算子是一种有效的形状描述子,但其有一个重要不足,即丢弃了局部特征之间的空间排列信息。空间多尺度HOG模型,能够很好地表述物体的形状和空间布局。
    (1)逐层将128*128大小的原图像细化分为一系列不同尺度的网格(block)子区域。若细化为L层,则 l 层上有4^l 个子区域图像,每个子区域大小为128/2^l  *  128/2^l(l=0,1,.....,L-1)。
    (2)分别逐层计算每个网格(block)子区域的梯度直方图。梯度方向的方位仍设为(0,180°),量化区间数为k个。
    (3)采用L2-norm归一化每一层各个网格(block)子区域的梯度方向直方图,按顺串接起来,得到整幅图像的空间多尺度HOG特征。若原图像分为L层,每一层有4^L个子区域,梯度方向直方图有k个区间,则串接后的特征向量的总长度为P:
                                   

最新文章

  1. 深入学习jQuery自定义插件
  2. 化繁为简,最简易的SqlDataSource配合Cache使用~
  3. Linux基础之常用命令(1)
  4. Remove Invalid Parentheses
  5. jQuery 写的插件图片上下切换幻灯效果
  6. mysql的REGEXP 和like的详细研究和解释
  7. Oracle数据库Linux下的导入IMP
  8. C# DateTime.Now
  9. 本地apt
  10. Github android客户端源代码分析之一:环境搭建
  11. CAS (1) —— Mac下配置CAS到Tomcat(服务端)(转)
  12. Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
  13. MongoDb在windows下的安装与以auth方式启用服务
  14. [Swift]LeetCode436. 寻找右区间 | Find Right Interval
  15. LNMP一键包安装后解决MySQL无法远程连接问题
  16. Create-React-App创建antd-mobile开发环境
  17. hdu6395 (矩阵快速幂+分块)
  18. python基础之列表list元组tuple
  19. Java类MemoryUsage查看虚拟机的使用情况
  20. SQL Server:INFORMATION_SCHEMA.columns 与sys.columns 与 syscolumns对比

热门文章

  1. C# 多线程详解 Part.03 (定时器)
  2. CentOS下编译安装MySQL 5.6.21
  3. 牛场围栏(vijos 1054)
  4. 火车安排问题(dp好题)
  5. $modal
  6. C++-前缀和后缀
  7. WP8 学习 在APP.XAML中加入Resources
  8. K2 BPM+Microsoft Dynamics CRM,妥妥的~
  9. [C/C++]C++声明
  10. 自定义的BroadCastReceiver