不同图像锐化算子提取的图像信息有哪些不同_传统图像处理
傳統圖像處理
一、邊緣檢測算子
①Sobel算子
該算子中引入了類似局部平均的運算,因此對噪聲具有平滑作用,能很好的消除噪聲的影響。與Prewitt算子相比,Sobel算子對于像素的位置的影響做了加權,可以降低邊緣模糊程度,因此效果更好。
②Roberts 算子
沒有經過圖像平滑處理的,因此圖像噪聲一般得不到很好的抑制。
Roberts 算子的定位精度較高,對具有陡峭的低噪聲圖像。
③Prewitt算子
在邊緣處達到極值檢測邊緣,去掉部分偽邊緣,對噪聲具有平滑作用。
④Laplacian算子
Laplace算子對孤立象素的響應要比對邊緣或線的響應要更強烈,因此只適用于無噪聲圖象。存在噪聲情況下,使用Laplacian算子檢測邊緣之前需要先進行低通濾波。
二、平滑和銳化
銳化就是通過增強高頻分量來減少圖像中的模糊,在增強圖像邊緣的同時也增加了圖像的噪聲。銳化濾波器是為了突出顯示圖像的邊界和其他的細節,這些銳化是基于一階導數和二階導數的。
一階導數可以產生粗的圖像邊緣,并廣泛的應用于邊緣提取,二階導數對于精細的細節相應更好,常被用于圖像增強。
常用的算子為Sobel和Laplacian
平滑與銳化相反,過濾掉高頻分量,減少圖像的噪聲是圖片變得模糊。主要用于圖像的去噪。平滑要使用濾波器,為不改變圖像的相位信息,一般使用線性濾波器。
幾種不同的平滑方法:1. 歸一化濾波器 2. 高斯濾波 3. 中值濾波
三、Canny檢測
Canny邊緣檢測算法可以分為以下5個步驟:
1) 使用高斯濾波器,以平滑圖像,濾除噪聲。
2) 計算圖像中每個像素點的梯度強度和方向。
3) 應用非極大值抑制,以消除邊緣檢測帶來的雜散響應。
4) 應用雙閾值檢測來確定真實的和潛在的邊緣。
5) 通過抑制孤立的弱邊緣最終完成邊緣檢測。
1 高斯平滑濾波
為了盡可能減少噪聲對邊緣檢測結果的影響,所以必須濾除噪聲以防止由噪聲引起的錯誤檢測。為了平滑圖像,使用高斯濾波器與圖像進行卷積,該步驟將平滑圖像,以減少邊緣檢測器上明顯的噪聲影響。
2 計算梯度強度和方向
圖像中的邊緣可以指向各個方向,因此Canny算法使用四個算子來檢測圖像中的水平、垂直和對角邊緣。邊緣檢測的算子(如Roberts,Prewitt,Sobel等)返回水平Gx和垂直Gy方向的一階導數值,由此便可以確定像素點的梯度G和方向theta 。
3 非極大值抑制
非極大值抑制是一種邊緣稀疏技術,非極大值抑制的作用在于“瘦”邊。對圖像進行梯度計算后,僅僅基于梯度值提取的邊緣仍然很模糊。非極大值抑制則可以幫助將局部最大值之外的所有梯度值抑制為0,對梯度圖像中每個像素進行非極大值抑制的算法是:
1)將當前像素的梯度強度與沿正負梯度方向上的兩個像素進行比較。
2)如果當前像素的梯度強度與另外兩個像素相比最大,則該像素點保留為邊緣點,否則該像素點將被抑制。
4 雙閾值檢測
在施加非極大值抑制之后,剩余的像素可以更準確地表示圖像中的實際邊緣。然而,仍然存在由于噪聲和顏色變化引起的一些邊緣像素。為了解決這些雜散響應,必須用弱梯度值過濾邊緣像素,并保留具有高梯度值的邊緣像素,可以通過選擇高低閾值來實現。如果邊緣像素的梯度值高于高閾值,則將其標記為強邊緣像素;如果邊緣像素的梯度值小于高閾值并且大于低閾值,則將其標記為弱邊緣像素;如果邊緣像素的梯度值小于低閾值,則會被抑制。閾值的選擇取決于給定輸入圖像的內容。
5 抑制孤立低閾值點
到目前為止,被劃分為強邊緣的像素點已經被確定為邊緣,因為它們是從圖像中的真實邊緣中提取出來的。然而,對于弱邊緣像素,將會有一些爭論,因為這些像素可以從真實邊緣提取也可以是因噪聲或顏色變化引起的。為了獲得準確的結果,應該抑制由后者引起的弱邊緣。通常,由真實邊緣引起的弱邊緣像素將連接到強邊緣像素,而噪聲響應未連接。為了跟蹤邊緣連接,通過查看弱邊緣像素及其8個鄰域像素,只要其中一個為強邊緣像素,則該弱邊緣點就可以保留為真實的邊緣。
四、HOG,方向梯度直方圖
Histogram of Oriented Gridients,HOG,方向梯度直方圖。
1.分割圖像
因為HOG是一個局部特征,因此如果你對一大幅圖片直接提取特征,是得不到好的效果的。原理很簡單。從信息論角度講,例如一幅640*480的圖像,大概有30萬個像素點,也就是說原始數據有30萬維特征,如果直接做HOG的話,就算按照360度,分成360個bin,也沒有表示這么大一幅圖像的能力。從特征工程的角度看,一般來說,只有圖像區域比較小的情況,基于統計原理的直方圖對于該區域才有表達能力,如果圖像區域比較大,那么兩個完全不同的圖像的HOG特征,也可能很相似。但是如果區域較小,這種可能性就很小。最后,把圖像分割成很多區塊,然后對每個區塊計算HOG特征,這也包含了幾何(位置)特性。例如,正面的人臉,左上部分的圖像區塊提取的HOG特征一般是和眼睛的HOG特征符合的。
HOG的圖像分割策略,一般來說有overlap和non-overlap兩種。
overlap指的是分割出的區塊(patch)互相交疊,有重合的區域。non-overlap指的是區塊不交疊,沒有重合的區域。overlap可以防止對一些物體的切割,以眼睛為例,如果分割的時候正好把眼睛從中間切割并且分到了兩個patch中,提取完HOG特征之后,這會影響接下來的分類效果,但是如果兩個patch之間overlap,那么至少在一個patch會有完整的眼睛。overlap的缺點是計算量大,因為重疊區域的像素需要重復計算。non-overlap,缺點就是上面提到的,有時會將一個連續的物體切割開,得到不太“好”的HOG特征,優點是計算量小,尤其是與Pyramid(金字塔)結合時,這個優點更為明顯。
2.計算每個區塊的方向梯度直方圖
將圖像分割后,接下來計算每個patch的方向梯度直方圖。步驟如下:
A.利用任意一種梯度算子,例如:sobel,laplacian等,對該patch進行卷積,計算得到每個像素點處的梯度方向和幅值。具體公式如下:
Ix和Iy代表水平和垂直方向上的梯度值,M(x,y)代表梯度幅度值,θ(x,y)代表梯度方向。
B.將360度(2*PI)根據需要分割成若干個bin,例如:分割成16個bin,每個bin包含22.5度,整個直方圖包含16維,即16個bin。然后根據每個像素點的梯度方向,利用雙線性內插法將其幅值累加到直方圖中。
C.(可選)將圖像分割成更大的Block,并利用該Block對其中的每個小patch進行顏色、亮度的歸一化,這一步主要是用來去掉光照、陰影等影響的,對于光照影響不劇烈的圖像,例如很小區域內的字母,數字圖像,可以不做這一步。而且論文中也提及了,這一步的對于最終分類準確率的影響也不大。
3.組成特征
將從每個patch中提取出的“小”HOG特征首尾相連,組合成一個大的一維向量,這就是最終的圖像特征。可以將這個特征送到分類器中訓練了。例如:有4*4=16個patch,每個patch提取12維的小HOG,那么最終特征的長度就是:16*12=192維。
步驟
1)灰度化(將圖像看做一個x,y,z(灰度)的三維圖像);
2)采用Gamma校正法對輸入圖像進行顏色空間的標準化(歸一化);目的是調節圖像的對比度,降低圖像局部的陰影和光照變化所造成的影響,同時可以抑制噪音的干擾;
3)計算圖像每個像素的梯度(包括大小和方向);主要是為了捕獲輪廓信息,同時進一步弱化光照的干擾。
4)將圖像劃分成小cells(例如6*6像素/cell);
5)統計每個cell的梯度直方圖(不同梯度的個數),即可形成每個cell的descriptor;
6)將每幾個cell組成一個block(例如3*3個cell/block),一個block內所有cell的特征descriptor串聯起來便得到該block的HOG特征descriptor。
7)將圖像image內的所有block的HOG特征descriptor串聯起來就可以得到該image(你要檢測的目標)的HOG特征descriptor了。這個就是最終的可供分類使用的特征向量了。
對于64*128的圖像而言,每16*16的像素組成一個cell,每2*2個cell組成一個塊,因為每個cell有9個特征,所以每個塊內有4*9=36個特征,以8個像素為步長,那么,水平方向將有7個掃描窗口,垂直方向將有15個掃描窗口。也就是說,64*128的圖片,總共有36*7*15=3780個特征。
五、Haar
Haar特征是一種反映圖像的灰度變化的,像素分模塊求差值的一種特征。它分為三類:邊緣特征、線性特征、中心特征和對角線特征。用黑白兩種矩形框組合成特征模板,在特征模板內用 黑色矩形像素和減去白色矩形像素和來表示這個模版的特征值。例如:臉部的一些特征能由矩形模塊差值特征簡單的描述,如:眼睛要比臉頰顏色要深,鼻梁兩側比鼻梁顏色要深,嘴巴比周圍顏色要深等。但矩形特征只對一些簡單的圖形結構,如邊緣、線段較敏感,所以只能描述在特定方向(水平、垂直、對角)上有明顯像素模塊梯度變化的圖像結構。
如上圖A、B、D模塊的圖像Haar特征為:v=Sum白-Sum黑
C 模塊的圖像Haar特征為:v=Sum白(左)+Sum白(右)-2*Sum黑
這里要保證白色矩形模塊中的像素與黑色矩形的模塊的像素數相同,所以乘2
六、LBP,局部二值模式
LBP,Local Binary Pattern,局部二值模式。具有灰度不變性和旋轉不變性等顯著優點。由于該特征的簡單易算性,雖然其總體效果不如Haar特征,但速度則快于Haar,所以也得到了廣泛的使用。
原始的LBP算子定義為在3?3的窗口內,以窗口中心像素為閾值,將相鄰的8個像素的灰度值與其進行比較,若周圍像素值大于等于中心像素值,則該像素點的位置被標記為1,否則為0。這樣,3?3鄰域內的8個點經比較可產生8位二進制數(通常轉換為十進制數即LBP碼,共256種),即得到該窗口中心像素點的LBP值,并用這個值來反映該區域的紋理信息。需要注意的是,LBP值是按照順時針方向組成的二進制數。
(1)首先將檢測窗口劃分為16×16的小區域(cell);
(2)對于每個cell中的一個像素,將相鄰的8個像素的灰度值與其進行比較,若周圍像素值大于中心像素值,則該像素點的位置被標記為1,否則為0。這樣,3*3鄰域內的8個點經比較可產生8位二進制數,即得到該窗口中心像素點的LBP值;
(3)然后計算每個cell的直方圖,即每個數字(假定是十進制數LBP值)出現的頻率;然后對該直方圖進行歸一化處理。
(4)最后將得到的每個cell的統計直方圖進行連接成為一個特征向量,也就是整幅圖的LBP紋理特征向量;
七、SIFT,尺度不變特征變換
SIFT,即尺度不變特征變換(Scale-invariant feature transform,SIFT),是用于圖像處理領域的一種描述。這種描述具有尺度不變性,可在圖像中檢測出關鍵點,是一種局部特征描述子。
SIFT特征檢測主要包括以下4個基本步驟:
搜索所有尺度上的圖像位置。通過高斯微分函數來識別潛在的對于尺度和旋轉不變的興趣點。
2. 關鍵點定位
在每個候選的位置上,通過一個擬合精細的模型來確定位置和尺度。關鍵點的選擇依據于它們的穩定程度。
3. 方向確定
基于圖像局部的梯度方向,分配給每個關鍵點位置一個或多個方向。所有后面的對圖像數據的操作都相對于關鍵點的方向、尺度和位置進行變換,從而提供對于這些變換的不變性。
4. 關鍵點描述
在每個關鍵點周圍的鄰域內,在選定的尺度上測量圖像局部的梯度。這些梯度被變換成一種表示,這種表示允許比較大的局部形狀的變形和光照變化。
八、圖像分割
①區域增長
區域增長實現的步驟如下:
1. 對圖像順序掃描!找到第1個還沒有歸屬的像素, 設該像素為(x0, y0);
2. 以(x0, y0)為中心, 考慮(x0, y0)的4鄰域像素(x, y)如果(x0, y0)滿足生長準則, 將(x, y)與(x0, y0)合并(在同一區域內), 同時將(x, y)壓入堆棧;
3. 從堆棧中取出一個像素, 把它當作(x0, y0)返回到步驟2;
4. 當堆棧為空時!返回到步驟1;
5. 重復步驟1 - 4直到圖像中的每個點都有歸屬時。生長結束。
②區域分裂合并
1. 把一幅圖像分成4份,計算每一份圖像的最大灰度值與最小灰度值的差, 如果差在誤差范圍值外,則該份圖像繼續分裂。
2. 對于那些不需要分裂的那些份圖像可以對其進行閾值切割了,例如某一塊圖像的最大灰度大于某個值,則該塊圖像變成255,否則變為0。
總結
以上是生活随笔為你收集整理的不同图像锐化算子提取的图像信息有哪些不同_传统图像处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 18张颠覆三观的照片!
- 下一篇: 韦东奕:被数学“选中”的天才