HOG(Histogram of Oriented Gradient)方向梯度直方图

HOG(Histogram of Oriented Gradient)是一种用于特征提取的方法,通过对图像局部梯度方向的直方图统计来描述物体的形状和结构。该方法对光照变化和几何变形有较好的不变性,主要步骤包括图像预处理、梯度计算、细胞单元划分、直方图构造、对比度归一化和特征组合。HOG特征常用于行人检测等计算机视觉任务。
摘要由CSDN通过智能技术生成

思路来源:HOG(Histogram of Oriented Gradient)方向梯度直方图特征描述图像局部梯度或边缘方向的分布,选择HOG而不是其他低级特征,如像素的亮度、梯度信息或它们的组合特征,原因在于像素亮度只能表征两个图像块之间亮度差异,而梯度特征对噪声比较敏感,对于梯度方向直方图特征,它不仅能很好的描述图像块局部结构信息,而且对噪声或异常样本具有很好的鲁棒性。

核心思想是一幅图像中的物体的表象和形状可以被梯度或边缘的方向密度分布很好地描述。其实现方法是先将图像分成小的叫做方格单元连通区域;然后采集方格单元中各像素点的梯度方向或边缘方向直方图;最后把这些直方图组合起来就可以构成特征描述子。为了提高精确度,还可以把这些局部直方图在图像的更大的区间(block)中进行对比度归一化,此方法通过先计算各直方图在这个区间(block)中的密度,然后根据这个密度值对区间中的各个方格单元做归一化。通过这个归一化后,能对光照变化和阴影获得更好的稳定性。

优点:首先,由于HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在方向梯度直方图特征的核心思想是一幅图像中的物体的表象和形状可以被梯度或边缘的方向密度分布很好地描述。其实现方法是先将图像分成小的叫做方格单元连通区域;然后采集方格单元中各像素点的梯度方向或边缘方向直方图;最后把这些直方图组合起来就可以构成特征描述子。为了提高精确度,还可以把这些局部直方图在图像的更大的区间(block)中进行对比度归一化,此方法通过先计算各直方图在这个区间(block)中的密度,然后根据这个密度值对区间中的各个方格单元做归一化

方向梯度直方图Histogram of Oriented Gradients,HOG)是一种常用的图像特征提取方法,在物体检测和识别中广泛应用。下面我将简单介绍如何使用MATLAB进行HOG特征提取。 首先,我们需要加载图像,并将其转换为灰度图。使用MATLAB的imread函数读取图像,并将其转换为灰度图像,可以使用rgb2gray函数实现。 然后,我们使用MATLAB的gradient函数计算图像的水平梯度和垂直梯度。这可以通过以下代码实现: [dx, dy] = gradient(image_gray); 接下来,我们可以计算每个像素点的梯度幅值和梯度方向。可以使用以下代码实现: grad_magnitude = sqrt(dx.^2 + dy.^2); grad_direction = atan2(dy, dx); 然后,我们需要将图像划分为小的区域(Cell)。每个Cell中包含多个像素点。例如,可以将图像划分为16x16像素的Cell,可以使用MATLAB的mat2cell函数实现。 接下来,我们需要计算每个Cell中的梯度方向直方图。我们将梯度方向划分为多个方向的bins(例如8个bins),然后使用MATLAB的histcounts函数计算每个bin中梯度方向的数量。 最后,我们需要将所有Cell中的梯度方向直方图连接起来,形成最终的特征向量。可以使用MATLAB的reshape函数将所有直方图连接起来。 综上所述,通过上述步骤,我们可以使用MATLAB实现方向梯度直方图特征提取特征提取后的HOG向量可以用于物体检测和识别任务,例如使用支持向量机进行分类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值