梯度直方图是谁提出的(HOGhistogramof)
梯度直方图是谁提出的(HOGhistogramof)其他的还有灰度化操作与Gamma矫正,这两个都是可选的操作。这一步主要是将图像裁剪缩放到「64x128」的尺度。最近两年一直在搞深度学习,对于本科时候看的HOG算法已经忘得差不多了,最近重新学习梳理一下这个经典的图像特征提取算法。image-20211215104938760HOG图像特征提取算法主要可以分为如下的几个步骤:
HOG(histogram of oriented gradients)方向梯度直方图
论文名称:Histograms of Oriented Gradients for Human Detection
image-20211215105534363
论文发表于2005年的CVPR,是一种有效的图像特征提取策略,至今已经收获了3万7千多的引用量。
最近两年一直在搞深度学习,对于本科时候看的HOG算法已经忘得差不多了,最近重新学习梳理一下这个经典的图像特征提取算法。
image-20211215104938760
HOG图像特征提取算法主要可以分为如下的几个步骤:
- 图像预处理
- 计算图像梯度
- 计算梯度直方图
- 图像HOG特征向量
这一步主要是将图像裁剪缩放到「64x128」的尺度。
其他的还有灰度化操作与Gamma矫正,这两个都是可选的操作。
无论是灰度图还是RGB图都可以计算图像梯度,不过颜色图像分别对RGB通道进行计算选择其中最大的梯度作为最终的梯度即可。
Gamma矫正是为了减少光照对实验的影响,但是实验证明对结果影响不大。
2. 计算图像梯度直接使用一维的sober算子分别计算像素点的水平以及竖直方向的梯度。
对于一个像素点,及其8邻域如下图所示。
其水平方向梯度为:
竖直方向梯度为:
最终像素点的梯度强度以及方向为:
3. 计算梯度直方图在上一步中,计算得到图像中所有像素点的梯度强度以及方向。
将原始64x128图像切分为8x8大小的cell。在每个cell中计算梯度直方图,每个cell包含8x8个像素点,每个像素点包含两个值(梯度的强度以及方向)。统计cell中的值得到方向梯度直方图。
将180度的范围切分为20度的范围,最终得到9个范围的梯度直方图。如下图所示,左上图是每个cell的梯度方向,右上图是每个cell的梯度强度,下图是9个bins。利用插值的方式,将梯度强度映射到不同的梯度方向范围中,最终得到包含9个值的梯度直方图。
在获得每个cell的直方图后,将「2x2个cell组合为一个block」,将次block中计算得到的梯度直方图concat得到包含一个「4x9=36」长度的vector作为此block的特征向量。
然后利用L2Norm对这个36维的特征向量进行规范化。
4. 图像HOG特征向量每个block得到一个长度为36的vector作为特征向量,原始「64x128的图像一共可以切分为7x15个block(按照cell步长为1向右滑动)」,最终将所有block的特征向量进行concat得到最终的7x15x36=3780维的特征向量。利用此特征可以进行后续的图像分类以及检测任务。
❝
原文首发于「小哲AI」公众号,公众号主要分享人工智能前沿算法解读,AI项目代码解析,以及编程、互联网求职等技术资料文章,偶尔也会分享个人读书笔记、工作学习心得,欢迎关注,一起学习。
❞