博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHOG特征
阅读量:4604 次
发布时间:2019-06-09

本文共 1769 字,大约阅读时间需要 5 分钟。

PHOG特征

2016年7月13日 21:07:57

什么是PHOG

PHOG是Pyramid HOG(pyramid histogram of oriented gradient)的简称,是在图像尺寸固定的情况下,计算不同尺度下的特征(这一点有点绕,是指要计算HOG特征的区块的划分尺度在变化),将这些特征进行拼接得到PHOG特征,在论文[1,2]中被提出和使用,用来做图像分类。

PHOG原理

具体来讲,HOG特征描述的是一个区域,它可以是一个cell大小,也可以是一个windows大小,anyway,ROI内逐像素计算梯度方向,然后按预设将所有角度等分为若干份,每个像素点的梯度方向就划归到特定角度范围内,那么统计直方图中就把它算到对应的“统计立柱(bin)”里面去,术语叫做“投票”,其投票权值是像素点的梯度幅值。逐像素操作后得到一个统计直方图,它可以用一个一维向量表示。我们可以把这个向量叫做HOG特征。需要计算PHOG特征的图像其尺寸是固定的,但要计算HOG特征则可以对这个图片有不同尺度的划分:第一层,只有1个区域;第二层:分为2x2个区域;第三层:分为4x4个区域;...。在同一划分尺度图里面,每个区域算出一个HOG特征,按顺序进行拼接,得到当前尺度图的HOG特征;所有尺度图的HOG特征进行拼接,得到整个图像空间尺度金字塔的PHOG特征。

怎么求PHOG

用伪代码表示一下:

Input:    win:某图像区域    bins: 梯度方向(角度值)要划分到几个区域,即180°或360°要等分的数目。通常取360°和8等分    L: 尺度金字塔要搞几层?通常取3。表示除了原图尺度外,另外再算3个“原有1/2尺度”图像的HOG特征Output:    PHOG:尺度金字塔所有层的HOG特征的拼接Algorighm:    function HOG(area){        %计算某区域area的HOG特征        逐像素计算梯度方向(角度值)        按等分方向数量,将梯度方向划归到不同的区间,进行统计        统计得到的直方图,是一个向量        }    function level_HOG(level){        %计算某层金字塔的HOG特征        将均等划分的若干个窗口,分别计算HOG特征        将这些HOG特征进行拼接    }    function PHOG(win){        %计算某区域win的尺度金字塔的PHOG特征        逐层计算win的尺度金字塔的HOG特征        将这些HOG特征进行拼接    }

PHOG的维度

PHOG作为HOG的变种,也是一个描述符,在代码实现中就是一个一维向量。那么PHOG描述符的长度是多少?即,PHOG这个向量有多少维?

L=3, n=8时:

第0层是整图算HOG,1x8维的HOG特征
第1层是2x2划分,2x2x8维的HOG特征
第2层是4x4划分,4x4x8维的HOG特征
第3层是8x8划分,8x8x8维的HOG特征
因此,此时的phog_dimension=(1+4+16+64)x8=680维

source code

ref

[1] Bosch, A. , Zisserman, A. and Munoz, X.

Representing shape with a spatial pyramid kernel
Proceedings of the International Conference on Image and Video Retrieval (2007)
[2] Bosch, A. , Zisserman, A. and Munoz, X.
Image Classification using Random Forests and Ferns
Proceedings of the 11th International Conference on Computer Vision, Rio de Janeiro, Brazil (2007)

转载于:https://www.cnblogs.com/zjutzz/p/5668107.html

你可能感兴趣的文章
查看Sql Server所有表占用的空间大小
查看>>
CSS重置(css reset)【转载】
查看>>
Elasticserach 配置文件详解
查看>>
【案例】大型摩托制造企业如何高效排产?看APS系统如何帮忙
查看>>
NTCIR-13 We Want Web 任务概述
查看>>
模版include的用法
查看>>
LotusScript_导出数据库路径和名称
查看>>
String ,StringBuffer 与S tringBuilder的区别??
查看>>
PgSQL · 追根究底 · WAL日志空间的意外增长
查看>>
struts2笔记之struts:property标签
查看>>
Threejs.教程
查看>>
超闩锁和子闩锁如何工作的
查看>>
ZendStudio快捷键
查看>>
[ovs] ovs开启日志debug
查看>>
Eclipse插件项目中读取文件
查看>>
jquery定义链接跳转的高亮显示
查看>>
CheckListBox怎样得到多选值?
查看>>
2370 小机房的树
查看>>
三道题(关于虚表指针位置/合成64位ID/利用栈实现四则运算)
查看>>
Vijos P1243 生产产品 (单调队列优化DP)
查看>>