文章出處

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

http://www.robots.ox.ac.uk/~vgg/research/caltech/phog.html

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)


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()