• hog特征及其提取方法图示


    1 什么是hog特征

    hog特征是histogram of gradient的缩写。我们观察图像时,信息更多来自目标边沿的突变。我们计算一块区域内的所有像素处的梯度信息,即突变的方向和大小,然后对360度进行划分,得到多个bin,统计该区域内的所有像素所在的bin,就得到了一个histogram。这就是hog特征。

    2 hog特征的提取方法

    2.1 将彩色图像转换为灰度图像

    2.2 Gamma归一化

    2.3 计算每幅图像的梯度

    2.3.1 梯度分量的计算

    水平模板:[-1,0,1],水平方向以水平向右为正方向

    竖直模板:[1, 0, -1]^T,竖直方向以竖直向上为正方向

    2.3.2 梯度的计算

    如上图所示,计算出alpha和beta,然后alpha属于[0, 45度)的bin,beta属于[270度, 315)度的bin。

    alpha = arctan(y/x)

    beta = 360度 - arctan(y/x)

    其中x和y是该梯度分别沿x轴和y轴的分量的模值。

    2.4 将图像划分为多个cell,每个cell是6像素*6像素,然后每2*2的cell构成一个block

    2.5 对每个cell中的每个像素的梯度按照方向统计直方图,360度bin的划分如下,这里进行了8等分

    2.6 cell直方图的计算

    分别得到落入[0, 45) [45, 90) [90, 135) [135, 180) [180, 225) [225, 270) [270, 315) [315, 360)的梯度,然后把每个bin中的梯度的模值相加,就得到了该bin的分量。

    这样就得到了一个cell的特征,即一个8维的向量。

    2.7 block特征的计算

    将block中的cell的所有特征串联起来,构成该block的特征,然后归一化,就是说,把每个特征除以该特征向量的模值,归一化是为了消除光照的影响。这样每个block是一个8*4=32维的向量。

    2.8 block是可以重叠的,block中的cell不重叠

    也就是说,对于整个image而言,block可以重叠,比如说步长是8个像素,那么从0开始到11是一个block,然后从8开始到19是一个block,从16开始到27是一个block,它们之间是有重叠的。

    2.9 最终的特征向量

    将所有的block的特征向量串联起来就是最终的特征向量了,即hog特征。

  • 相关阅读:
    Ubuntu18.04+CUDA+CUDNN+Pytorch环境配置
    VIM入门必读(转)
    简述C和C++的学习历程(转)
    队列
    排序实现
    十进制转二进制
    北邮1467二叉树题引起的思考
    计算机是如何启动的?
    c语言字符串操作实现
    北邮机试——huffman权值问题
  • 原文地址:https://www.cnblogs.com/hustdc/p/6563891.html
Copyright © 2020-2023  润新知