圖像梯度(Image Gradient)


圖像梯度的定義(離散)

對於一個二元函數F(x,y)F(x,y)來說,其偏導數的定義爲:

δF(x,y)δx=limϵ0F(x+ϵ,y)F(x,y)ϵ\frac {\delta F(x,y)}{\delta x}=\displaystyle \lim_{\epsilon \rightarrow 0}\frac {F(x+\epsilon,y)-F(x,y)}{\epsilon}
這是沿着x方向的定義。這種定義適用於連續函數,而圖像是二維的離散函數,ϵ\epsilon不能無限趨近於0,最小隻能是1個像素,因此我們使用有限差分來近似計算梯度。上面的公式變爲:
X:δF(x,y)δxF(x+1,y)F(x,y)1X:\frac {\delta F(x,y)}{\delta x}\approx\frac {F(x+1,y)-F(x,y)}{1}
同理y方向的定義爲:
Y:δF(x,y)δxF(x,y+1)F(x,y)1Y:\frac {\delta F(x,y)}{\delta x}\approx\frac {F(x,y+1)-F(x,y)}{1}
這種近似計算的方式屬於前向差分。


圖像梯度理解

在數學上,梯度的本意是一個向量,表示某一函數在該點處的方向導數沿着該方向取得最大值,即函數在該點處沿着該方向(此梯度的方向)變化最快,變化率最大(爲該梯度的模)。

N元函數在每一個點的梯度是一個由在N個方向的偏導數組成的N維向量。拿三元函數f(x,y,z)f(x,y,z)來說,如果其梯度存在,則梯度的定義爲:
f=ϑfϑxi+ϑfϑxj+ϑfϑxk\nabla f = \frac {\vartheta f}{\vartheta x}\textbf{i} + \frac {\vartheta f}{\vartheta x}\textbf{j} + \frac {\vartheta f}{\vartheta x}\textbf{k}
這樣梯度就提供了兩種信息——大小和方向。梯度的方向告訴我們函數在這個點沿着這個方向上升最快(負梯度就代表函數在這個點沿着負梯度方向下降最快)。把函數比作一座“山”,我們站在半山腰上,如果我們要上山則沿着梯度方向可以最快到達山頂,如果是下山則沿着梯度的反方向(負梯度方向)則可以最快到達山腳。梯度的大小代表了沿着這個方向的變化率。

由於梯度的定義只適用於連續的函數,而圖像是二維的離散函數,因此對於圖像來說我們需要使用有限差分(Finite differences)來近似計算梯度。我們以一元函數f(x)f(x)來舉例,f(x)f(x)在某一點的導數定義爲:
Derivative:f(x)=limh0f(x+h)f(x)hDerivative:f'(x) = \displaystyle \lim_{h \rightarrow 0}\frac {f(x+h)-f(x)}{h}
下面使用差分來近似,假設hh爲一個非零固定值,則上面的導數定義變爲:
f(x)f(x+h)f(x)hf'(x) \approx\frac {f(x+h)-f(x)}{h}
有限差分最常使用的有三種形式:前向、後向、中心。

  • 前向
    f(x)f(x+h)f(x)hf'(x) \approx\frac {f(x+h)-f(x)}{h}
  • 後向
    f(x)f(x)f(xh)hf'(x) \approx\frac {f(x)-f(x-h)}{h}
  • 中心
    f(x)f(x+0.5h)f(x0.5h)hf'(x) \approx\frac {f(x+0.5h)-f(x-0.5h)}{h}

對於計算圖像梯度來說我們使用中心差分來近似計算x、y兩個方向的梯度。下面的例子演示瞭如何計算中間像素點(200)在x方向的中心差分(梯度)

在這裏插入圖片描述

所以在圖像中每一個點的梯度指向灰度值增加最大的方向,其大小對應於這個方向的變化率。所以對於圖像f(x,y)f(x,y),梯度方向(Direction)和大小(Magnitude)的定義爲:
Magnitude:f=(ϑfϑx)2+(ϑfϑy)2Magnitude:||\nabla f ||=\sqrt {\left(\frac {\vartheta f}{\vartheta x}\right)^2+\left(\frac {\vartheta f}{\vartheta y}\right)^2}
Drection:tan1(ϑfϑy/ϑfϑx)Drection:tan^{-1}(\frac {\vartheta f}{\vartheta y}/\frac {\vartheta f}{\vartheta x})

簡而言之,沿x方向的圖像梯度測量的是灰度(亮度)值的水平變化(0 ~ 255),沿y方向的圖像梯度測量的是灰度值的垂直變化(0 ~ 255)

在這裏插入圖片描述

由於在邊緣上圖像的灰度值會發生突然的改變,因此最大的梯度值將出現在圖像中一條邊上(忽略噪聲)。所以x方向的梯度能找到垂直的邊緣,y方向的梯度能找到水平邊緣,如圖所示:
在這裏插入圖片描述
所以邊緣是與梯度方向垂直的,因此圖像梯度可以用於邊緣檢測。此外在使用高斯牛頓法實現光流追蹤時,圖像梯度用於計算雅可比矩陣。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章