1. 磐创AI-开放猫官方网站首页
  2. Medium

HOG(定向梯度直方图)

那是什么?

定向梯度直方图,也称为HOG,是一个类似于Canny边缘检测器SIFT(比例不变和特征变换)的特征描述符。它在计算机视觉和图像处理中用于目标检测。该技术对图像的局部部分中出现的梯度方向进行计数。该方法与边缘方向直方图和尺度不变特征变换(SIFT)非常相似。HOG描述符关注对象的结构或形状。它比任何边缘描述符都要好,因为它使用梯度的大小和角度来计算特征。对于图像的区域,它使用梯度的大小和方向生成直方图。

计算生猪特征的步骤


2.计算了图像的梯度。梯度是通过组合来自图像的幅度和角度来获得的。考虑3×3像素的挡路,为每个像素计算第一个Gx和Gy。首先,对每个像素值使用下面的公式计算gx和Gy。

在计算GX和之后,使用下面提到的公式计算每个像素的幅值和角度。

3.获取每个像素的梯度后,将梯度矩阵(幅度矩阵和角度矩阵)划分为8×8单元,形成挡路。对于每个挡路,计算一个9点直方图。9点直方图形成具有9个柱的直方图,每个柱的角度范围为20度。图8表示9bin直方图,在该直方图中,值在计算之后被分配。这些9点直方图中的每一个都可以绘制为直方图,其中箱输出该箱中的梯度强度。由于挡路包含64个不同的值,因此对所有64个幅值和梯度值执行以下计算。由于我们使用的是9点直方图,因此:

每个JTH仓位、仓位的边界如下:

每个垃圾箱的中心值为:

4.对于挡路中的每个单元格,我们首先计算第j个bin,然后分别计算提供给第j个和第(j+1)个bin的值。该值由以下公式给出:

5.将数组作为挡路的bin,将主播和主播+1的值追加到数组中,每个像素计算第j个和第(j+1)个bin的索引。

6.上述计算后得到的矩阵形状为16x8x9。

7.一旦所有块的直方图计算结束,来自9点直方图矩阵的4个块被拼接在一起以形成新的挡路(2×2)。以8像素的步幅以重叠的方式完成该球棒。对于挡路中的所有4个单元,我们将每个组成单元的所有9点直方图连接起来,形成36个特征向量。

8.每个挡路的fb值按L2范数归一化:

9.为了归一化,首先通过以下公式计算k的值:

10.进行该归一化是为了减少同一对象的图像之间的对比度变化的影响。从每个挡路。采集了36个点的特征向量。在水平方向上有7个区块,在垂直方向上有15个区块。因此,HOG特征的总长度为:7x15x36=3780。获得所选图像的HOG特征。

Python中从头开始的HOG功能

在Python中使用skimage库的HOG要素

代码文件

链接到包含Python中从头开始的HOG特征检测器的所有代码的COLAB文件:https://colab.research.google.com/drive/1_yDbX68uCxejK448Y0ByOACQUUZw5hWR?usp=sharinghttps://colab.research.google.com/drive/1_yDbX68uCxejK448Y0ByOACQUUZw5hWR?usp=sharing

参考文献

请继续关注新的研究论文,就像这样的解释!

请随时联系并给出您的建议:https://www.linkedin.com/in/mrinal-tyagi-02a1351b1/https://www.linkedin.com/in/mrinal-tyagi-02a1351b1/

https://github.com/MrinalTyagihttps://github.com/MrinalTyagi

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/07/05/hog%e5%ae%9a%e5%90%91%e6%a2%af%e5%ba%a6%e7%9b%b4%e6%96%b9%e5%9b%be/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息