圖像處理中加權直方圖是什麼意思?

在使用局部梯度法求海面風向的時候,有這麼一句話「將一致性參數C、梯度模作為方向的權重,作出本地梯度方向的直方圖」;這個有權重的直方圖是什麼意思呢?現在已知了C和梯度模,也已知了圖片的梯度值,這個梯度方向的直方圖又是什麼意思呢?

求大神指導~

這是反演海面風向中的一個小問題,並無複雜的演算法過程。僅僅是不懂圖像處理方面的專業術語~求指教~


梯度作為一個矢量,有兩種表示方法,一個是直角坐標系下在x軸和y軸上的分量(gx,gy),另一種是在極坐標系下有矢量的長度
ho和角度	heta表示。那麼基於圖像中的矢量梯度直方圖求取風向中的「風向」二字實際上是求平均的矢量角度。

如何平均呢?如果每一個像素p(x,y)作為一個基本對象,它有著對應的梯度矢量vec g(x,y),當然也就有一個角度	heta(x,y)。於是在求均值ar	heta的時候,最基本的求法是:

ar	heta =frac{1}{C} sum_{x,yin phi}	heta(x,y)

其中C為歸一化參數。但問題是如果這樣計算,豈不是每個像素對於平均角度的貢獻是一樣的?那麼也就是說光滑平坦區域(也就是梯度長度
ho較小的像素)就跟邊緣區域(具有較強梯度)的像素對於最終結果的貢獻是一樣的。這顯然不合理。因為這樣做會加大圖像雜訊對最終結果的影響。於是我們希望能夠讓那些具有較強梯度的像素也具有較大的貢獻,也就是權值較大。於是上面的均值公式可以改進為:

ar	heta =sum_{x,yin phi}eta(x,y)	heta(x,y)= sum_{x,yin phi}frac{
ho(x,y)}{Z}	heta(x,y)

這裡

Z = sum_{x,yinphi}
ho(x,y)

我們可以把eta(x,y)視為權值,則最終得到的ar	heta也就是加權均值。這個加權的概念當然也可以應用於梯度方向直方圖的獲取。比如我把[0,2pi]的角度定義域分為8個等大的區間Omega_i,i=1,2,ldots,8,那麼對應的一般直方圖就是統計每個區間裡面有多少個像素,也就是說直方圖的第i個柱的高度為:

h(i) = sum_{	heta(x,y)inOmega_i}1

而加權梯度直方圖就是在統計像素的時候考慮每個像素的梯度長度,則有:

h(i) = sum_{	heta(x,y)inOmega_i}
ho(x,y)

(當然,一般來講為了配合概率模型或者求數學期望,直方圖還需要歸一化,也就是使所有bin的和為1. 這個就不在這裡複述了。)

顯然 ,加權的直方圖更加有價值。加權梯度直方圖的概念在圖像處理中有著廣泛的應用,比如著名SIFT運算元中local descriptor的向量統計,一些基於偏微分方程的圖像分割與去噪,用於人體檢測和識別的HOG運算元等等。


推薦閱讀:

隨機梯度下降和正則項之間如何處理?
梯度上升演算法與梯度下降演算法求解回歸係數怎麼理解?
梯度下降法和高斯牛頓法的區別在哪裡,各自的優缺點呢?
使用ReLU作為激活函數還有必要用交叉熵計算損失函數嗎?
為什麼隨機梯度下降方法能夠收斂?

TAG:圖像處理 | 梯度下降 |