首页>>科技 >>内容

朴素贝叶斯算法介绍,关于HoG算法的介绍

发布时间:2023-11-06 08:46:09编辑:温柔的背包来源:

很多朋友对朴素贝叶斯算法介绍,关于HoG算法的介绍不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

朴素贝叶斯算法介绍,关于HoG算法的介绍

梯度方向直方图(HoG)是计算机视觉和图像处理领域中一个非常重要的特征,广泛应用于目标检测、人脸检测、表情检测等领域。HoG是由CVPR的Navneet Dalal和Bill Triggs在2005年首先提出的。HoG的算法很简单,但是对于物体的特征表示非常有效。简单高效,这大概也是它自提出以来在CV领域得到广泛应用的原因。

先简单介绍一下HoG的算法:首先计算梯度:我们可以看到,如果k固定,那么直方图的长度也就固定了。如果这个直方图用于统计整个图像,那么不管图像的大小,最终的直方图仍然是k。很明显,这不是我们想看到的,所以很多信息会丢失。所以有块表示。

分块表示,简单来说就是把图像分成块,把图像分成块,每块可以用一个直方图来计数,然后把每块的直方图连接起来,形成一个长直方图。块表示也是提取局部特征最常用的方法。

一幅图像分块也有两种方式,一种是重叠,一种是非重叠,即块与块之间有重叠或者没有重叠。在计算HoG时,一般我们会选择重叠块法。在MATLAB中已经集成了HoG的函数,可以直接调用库函数来计算HoG。该函数的调用形式如下:[f1,可视化]=extracthogbhaviors(I)。

其中I是输入图像,f1是计算的HoG特征,它是高维直方图,visualization是用于可视化HoG的对象变量。这个函数有许多输入变量。除了输入图像I之外,还有一些其他变量,它们通常采用默认值。

下面我们逐一介绍这些默认变量:cellsize: [8,8],它是计算HoG的最小块。每个88单元可以得到一个直方图。Blocksize: [2,2],表示一个块包含多少个单元,[2 ^ 2]表示一个块包含22个单元。BlockOverlap:这表示块之间重叠部分的大小,用单元的数量表示。默认值是一半的单元格重叠。NumBins:就是上面说的k,默认值是9。

UseSignedOrientation:是上面提到的角度的取值范围,默认值是无符号角度范围,即0180。

因此,使用默认值,虽然一个单元的直方图的长度只有9,但是一个块有4个单元,一个块的直方图的长度变成36。对于大小为6464的图像,将有49个块,因此HoG的最终长度为3664=1764。图像尺寸越大,猪越多。但总的来说,HoG是一个简单紧凑的特性。

和Gabor,LBP,SIFT相比,相对经济,性价比高。

最后给出了一个例子:

以上知识分享希望能够帮助到大家!