圖像處理基礎

第一章 數字圖像基本知識

1、 彩色圖像、灰度圖像、二值圖像和索引圖像區別?

答:(1)彩色圖像,每個像素通常是由紅(R)、綠(G)、藍(B)三個分量來表示的,分量介於(0,255)。M、N分別表示圖像的行列數,三個M x N的二維矩陣分別表示各個像素的R、G、B三個顏色分量。RGB圖像的數據類型一般爲8位無符號整形,通常用於表示和存放真彩色圖像,當然也可以存放灰度圖像。

(2)灰度圖像(gray image)是每個像素只有一個採樣顏色的圖像,這類圖像通常顯示爲從最暗黑色到最亮的白色的灰度。灰度圖像與黑白圖像不同,在計算機圖像領域中黑白圖像只有黑色與白色兩種顏色;用於顯示的灰度圖像通常用每個採樣像素8位的非線性尺度來保存,這樣可以有256級灰度(如果用16位,則有65536級)。

(3)二值圖像(binary image),即一幅二值圖像的二維矩陣僅由0、1兩個值構成,“0”代表黑色,“1”代白色。由於每一像素(矩陣中每一元素)取值僅有0、1兩種可能,計算機存儲的二值化圖像用0和255來表示。二值圖像通常用於文字、線條圖的掃描識別(OCR)和掩膜圖像的存儲。

(4)索引圖像是爲了減少RGB真彩色存儲容量而提出的,它的實際像素點和灰度圖一樣用二維數組存儲,只不過灰度值的意義在於表示顏色表索引位置;而顏色表是指顏色索引矩陣MAP,MAP的大小由存放圖像的矩陣元素值域決定,如矩陣元素值域爲[0,255],則MAP矩陣的大小爲256×3,MAP中每一行的三個元素分別指定該行對應顏色的紅、綠、藍單色值。

如某一像素的灰度值爲64,則該像素的顏色值就是MAP中的第64行的RGB組合。也就是說,圖像在屏幕上顯示時,每一像素的顏色由存放在矩陣中該像素的灰度值作爲索引通過檢索顏色索引矩陣MAP得到。索引圖像一般用於存放色彩要求比較簡單的圖像,如Windows中色彩構成比較簡單的壁紙多采用索引圖像存放,如果圖像的色彩比較複雜,就要用到RGB真彩色圖像。


2、奈奎斯特採樣定理

答:奈奎斯特採樣定理解釋了採樣率和所測信號頻率之間的關係,即採樣率fs必須大於被測信號最高頻率分量fmax的兩倍,fmax頻率通常被稱爲奈奎斯特頻率,公式:

fs>2*fmax;

至於奈奎斯特採樣定理成立的原因,可見下圖:



第二章 圖像增強

1、圖像增強包括哪些?

答:(1)圖像增強主要分爲空間域增強方法和頻域增強方法。

空間域就是指圖像本身,頻域指圖像經過傅里葉變換的信號;


(2)空間域圖像增強操作很多:

灰度變換:如二值化、圖像反轉(255-grayValue)、對數變換(增大像素的灰度值,尤其對源圖的暗像素效果明顯,參見對數曲線)、反對數變換(減小像素灰度值,尤其對亮像素效果明顯,參見反對數曲線)、冪次變換(又叫伽馬校正,其可以增大或減少像素灰度值,具有變換程度與指數γ大小有關,參見冪函數曲線)、分段線性函數變換(包括對比拉伸、灰度切割、位圖切割);

直方圖處理(直方圖均衡化、直方圖局部增強);

算數邏輯操作增強(圖像減法處理、圖像平均處理);

平滑濾波、線性濾波、統計排序濾波、均值濾波、中值濾波等濾波;

銳化處理(拉普拉斯算子銳化、梯度法銳化);

等等,都是空間域圖像增強方法。


2、灰度直方圖

答:灰度直方圖是橫座標爲灰度級、縱座標爲像素個數的直方圖,用於表示每個灰度範圍內的像素個數;

歸一化灰度直方圖:將灰度直方圖的縱座標值除以像素總數,產生的新直方圖即是。

3、直方圖均衡化與應用

答:(1)直方圖均衡化:就是通過變換函數,使得圖像的灰度分佈較爲均勻,將灰度值集中的部分均勻分散到整個灰度範圍,使得直方圖的各個灰度級y軸較爲平坦。從而實現圖像增強,如較暗的圖片變得較爲明亮,過亮的圖片變的正常,從而利於觀察識別。

(2)均衡化的變換函數:就是一個映射函數,必須滿足兩個條件:1)一個單值單增函數;2)映射後灰度範圍不變。實際中常用累積分佈函數。累積分佈函數如下定義:

①先求當前灰度級的累計概率(即當前灰度級以及小於當前灰度級的像素個數和在圖像中的比例):

 

Sk是當前像素值的累計概率,k是當前像素的像素值,n是圖像中像素個數的總和,nj是當像素值等於j的像素個數,L是圖像中可能的灰度級總數。

②求當前像素的映射像素值:

映射函數g=最大灰度值*Sk;(例如最大灰度值爲255,則g=255*Sk)


(3)缺點:
1)變換後圖像的灰度級減少,某些細節消失;
2)某些圖像,如直方圖有高峯,經處理後對比度不自然的過分增強。

(4)應用:改善光線對圖像處理的影響。成像中由於光照過大或過小,會造成圖像結果偏暗或偏亮或者光線不均勻,這樣圖像直方圖就會表現:灰度的兩個高峯分別向某一邊滑動,同時灰度值都較爲集中,不能真實反應目標圖像的特徵。所以使用直方圖均衡化可以減少這種影響。

(5)直方圖均衡化步驟:

①找到一個映射函數,定義爲g = EQ (f)。f完整表示是f(x,y),代表圖像中某個位置的像素值;

②依次使用EQ將圖像中每個位置的像素值映射爲新的像素值。


4、直方圖匹配(或直方圖規定化)

答:直方圖匹配是指將一個圖像的直方圖變換到指定的形狀(直方圖均衡化是變換到均勻分佈),是一種圖像增強技術;


5、直方圖局部增強

答:前述直方圖處理都是直接對整幅圖像求直方圖,然後針對直方圖處理。而直方圖局部增強則是對圖像的每個指定大小區域分別求直方圖,然後針對每個直方圖進行均衡化或者規定化處理。

例如,用一個k*k的矩陣從圖像左上角滑動,每滑動一次計算一次該矩陣範圍內圖像的直方圖,進行相關直方圖處理。直到整幅圖都被滑過,就實現了局部增強操作。

作用:可以實現對圖像細節的增強。


6、算術/邏輯操作增強

答:主要包括與、或、加、減法操作。

圖像相減法:應用最爲成功的是醫學領域的掩模式X射線成像術,另外圖像相減法在圖像分割中也有應用;


7、空間濾波基礎概念

答:(1)掩模:在濾波器中常提到的k*k的矩陣(一般k爲奇數),用於依次滑過每一像素點並在每點進行濾波計算,矩陣中的數據成爲掩模係數。

濾波器在每個像素點的濾波結果就是掩模與掩模覆蓋下的圖像進行計算得到的結果;如線性濾波器就是掩模係數與覆蓋下的對應圖像像素點進行乘法操作,最後求和得到的結果。

(2)鄰域處理:上述線性濾波器就屬於鄰域處理濾波器,因爲其將本像素點爲中心的鄰域像素都納入計算中了;實際非線性濾波器也是鄰域處理方式,如常見的非線性濾波器:中值濾波器。


(3)如何解決圖像邊緣掩模濾波問題:掩模移動都是以矩陣中心作爲基準點的,那麼對於圖像邊緣,掩模矩陣就會有一部分超出圖像範圍。一般解決方法有:

1)限制掩模移動範圍,使得掩模始終在圖像範圍內。缺點是邊緣部分像素得不到濾波處理;

2)使用灰度值0或者邊緣灰度值擴充邊緣,濾波後刪除。缺點是影響靠近邊緣像素的濾波結果;

3)掩模超出部分不參與濾波計算;

三種方式中1)是最佳選擇。


8、平滑線性濾波器

答:常見的線性濾波器有:均值、加權均值濾波器等。

以掩模爲3*3爲例:

1/9*

1 1 1
1 1 1
1 1 1

1/16*
1 2 1
2 4 2
1 2 1
注:矩陣前面的係數都是掩碼係數之和的倒數。

上述兩個掩模構成的濾波器都可稱爲平滑線性濾波器,前者是最簡單的均值濾波,後者是加權均值濾波。每個像素點的濾波結果就是掩模矩陣中心在該點時的掩模係數與下面相應像素灰度值的乘積求和。

其實對於不同掩模係數組合,掩模大小更能影響濾波結果。不同大小的掩模矩陣對於不同大小的噪聲點會有不同的濾波效果。


9、統計排序濾波器

答:統計排序濾波器屬於非線性濾波器,最常見的是中值濾波器;例如在一個3*3的矩陣範圍內統計像素值並排序,取中值作爲矩陣中心像素的灰度值。

10、椒鹽噪聲如何濾波?

答:椒鹽噪聲:也稱爲脈衝噪聲:在圖像中,它是一種隨機出現的白點或者黑點,可能是亮的區域有黑色像素或是在暗的區域有白色像素(或是兩者皆有)。

濾波方式:濾除椒鹽噪聲比較有效的方法是對信號進行中值濾波處理。顧名思義,中值濾波是指將一個像素的值用該像素鄰域中強度值的中間值來取代,至於領域範圍取多大則視實際需要而定。去除椒鹽噪聲的後可以得到較爲平滑的信號,其效果要優於均值濾波器,當然同樣也會造成邊緣模糊、信號不夠銳利,這似乎也是很多濾波方法的一大通病。


11、銳化空間濾波器

答:平滑通過均值實現(均值類似於積分),那麼同理銳化就可以通過微分實現。常見的微分實現銳化有:一階微分(梯度法)、二階微分(拉普拉斯算子法)。

(1)常見的拉普拉斯銳化的最終掩模矩陣有如下4鄰域和8鄰域:

4鄰域:

0 -1 0
-1 5 -1
0 -1 0

8鄰域:
-1 -1 -1
-1 9 -1
-1 -1 -1

根據上述掩模矩陣就可以看出,經過掩模矩陣與覆蓋像素的乘積求和後,可以增強某些灰度突變幅度,因此可以實現銳化。

作用:拉普拉斯銳化對於細節增強效果較好,如月球表面成像細節;


(2)梯度法實現銳化的掩模矩陣是一個組合,有兩個組成(以3*3爲例):

-1 -2 -1
0 0 0
1 2 1
-1 0 1
-2 0 2
-1 0 1
前者是針對圖像中行像素的灰度變化,後者是針對列像素方向的灰度變化;

注意:梯度法的掩模矩陣要保證所有掩模係數之和爲0;


計算公式爲:df=abs((z7+2*z8+z9)-(z1+2*z2+z3))+abs((z3+2*z6+z9)-(z1+2*z4+z7))

最終該像素點的銳化值=f(該點像素值)+df;

作用:梯度銳化法對於輪廓邊緣增強效果較好,如工業缺陷輪廓檢測。

注:梯度處理又稱爲Sobel處理。


12、濾波器分類

答:分爲:空間濾波器與頻域濾波器,分別對應空間域和頻域中的濾波。

空間域濾波器就是直接針對圖像矩陣本身的,有均值、中值、最大、最小濾波器等。前面所說的都是空間域內的濾波;

頻域濾波器實際是將空間域信號轉化到頻域而成的,這樣可以將一些干擾頻率段的信號濾掉,實現增強效果。下面部分就準備介紹頻域空間濾波;


13、頻域信號與頻域濾波的物理意義

答:(1)頻域信號的物理意義:低頻信號的大小主要表示圖像的總體灰度級;高頻信號主要表示圖像的細節部分,如邊緣和噪聲;這樣,在頻域內可以容易的實現對高頻噪聲的濾除或者對低頻灰度級的衰減以增強圖像;

(2)頻域濾波步驟:輸入圖像->前處理->傅里葉變換爲頻域信號->頻域濾波函數進行濾波->傅里葉反變換轉化爲空間域信號->後處理->結果圖像;

(3)頻率濾波器主要分爲低通濾波器和高通濾波器。低通會衰減高頻信號,故起到平滑作用;高通會衰減低頻信號,故起到銳化作用;

(3)頻域濾波的意義:有很多情況下,空間域無法實現的濾波要求可以在頻域輕鬆實現,所以頻域濾波的作用常常是先用頻域信號實現濾波器,然後再進行傅里葉反變換爲空間域濾波器。起到一箇中間作用,最終還是生成了空間域濾波器。


14、卷積定理在濾波中的應用

答:卷積原理:兩個函數卷積的傅里葉變換=函數傅里葉變換後的乘積;

所以空間域中基於卷積運算的濾波器可以直接通過:先得到傅里葉變換後的頻域函數乘積,然後對乘積結果求逆傅里葉變換即可,計算速度快,容易實

現。

可以說,卷積定理是空間域濾波和頻域濾波之間的紐帶。


15、頻域低通濾波器和頻域高通濾波器

答:頻率域中,低通濾波器和高通濾波器的生成實際就是創建合理的頻率域濾波函數曲線;

(1)頻域低通濾波器有:頻域理想低通濾波器、頻域巴特沃斯低通濾波器、頻域高斯低通濾波器等;

理想低通濾波器的函數曲線是類似脈衝函數,低頻和高頻間過渡十分劇烈,是無法實現的;

巴特沃斯低通濾波器和高斯低通濾波器的函數曲線在低頻和高頻處過渡較爲平緩,可以實現。其中高斯低通濾波器應用較爲常見,其主要用於平滑圖像,減少邊緣毛刺、消除輪廓缺斷等作用。

(2)頻域高通濾波器的濾波函數曲線的縱軸方向取值與低通濾波曲線相反,主要集中在橫軸的高頻部分,所以對於低頻有抑制作用。

頻域內的高通濾波器有:頻域理想高通濾波器、頻域巴特沃斯高通濾波器、頻域高斯高通濾波器、頻域拉普拉斯濾波器;

頻域高通濾波器還有很多改進型,如高斯高通濾波器的改型有:高斯高通加強型濾波器、同態濾波器等。

16、Gabor濾波器原理

答:原理:Gabor變換在前面章已經講過了,就是短時傅里葉變換。正是基於Gabor變換具有時頻結合特性,可以同時在時間域和頻率域獲取局部

信息,從而使得Gabor 濾波器具有在空間域和頻率域同時取得最優局部化的特性,因此能夠很好地描述對應於空間頻率(尺度)、空間位置及方向選擇性

的局部結構信息,從而實現局部高質量濾波;

Gabor濾波器時間窗口選擇:根據信號頻率確定,頻率越高,時間窗口越小;

Gabor濾波器的頻率和方向表示接近人類視覺系統對於頻率和方向的表示,並且它們常備用於紋理表示和描述。在圖像處理領域,Gabor濾波器是一個

用於邊緣檢測的線性濾波器。


第三章、圖像復原

1、什麼是圖像復原?

答:圖像復原:主要是使用一個復原函數對退化的圖像進行最大限度的復原(需要知道一些關於輸入圖像的退化函數以及噪聲函數知識,纔可以生成復原函數)。主要包括空間噪聲濾波、線性與非線性濾波等各種濾波,以及圖像幾何變換與圖像配準等操作;


2、復原模型

答:(1)退化模型函數g=f*h+n;

即:輸入圖像f被退化函數h進行了卷積運算,然後又加上噪聲函數n的干擾,就是我們採集輸出的圖像g;

要復原圖像就要進行反操作:減去噪聲函數n,然後進行卷積逆變換。

復原模型的生成步驟:預估噪聲模型和退化函數->逆操作->復原圖像;

(2)噪聲模型估計:

噪聲模型的選擇需要根據圖像的傅里葉頻譜情況進行估計。

常見的噪聲模型包括:高斯噪聲、瑞利噪聲、伽馬噪聲、指數噪聲、均勻噪聲和脈衝噪聲等。估計時根據情況選擇前面所述近似的模型即可。

當退化模型中只存在噪聲模型時,圖像復原就和圖像增強沒有區別了,即只需要消除噪聲就可,此時可直接進行空間濾波即可。如:均值濾波(算術均值、幾何均值、諧波均值逆諧波均值濾波)、統計排序濾波(中值、最大最小值、中點、修正阿爾法濾波)、自適應濾波。

(3)退化函數估計:

退化函數估計方法有:觀察法、試驗法、數學建模法。

(4)常見的復原方法和模型有:

逆濾波器、最小均方誤差濾波(維納濾波)器、約束最小二乘方濾波器、幾何均值濾波器(最廣義化的復原模型);


3、圖像傾斜校正

答:傾斜校正對於圖像處理,尤其是文本識別、車牌識別等都是必要的圖像復原步驟。主要的傾斜校正方法有哈夫變換法、投影法、近鄰法等,其中哈夫變換是最經典的,投影法是最常用的。

以車牌矯正或文本識別爲例:車牌字符要實現良好分割,就需要保證車牌是水平的,所以車牌矯正必不可少。

1)哈夫變換法:對矩形車牌進行邊緣提取,然後對矩形長邊緣進行哈夫直線檢測,根據檢測到的最長直線首尾座標可以求得斜率,從而就可獲知車牌傾斜度;

2)radon變換(或叫拉東變換):就是投影法,原理:對傾斜目標的圖像在不同的傾斜角度(0:179°)範圍內進行投影,然後查找使投影結果具有最大峯值的那個投影角度。記錄這一角度,就是傾斜的角度。

拉東變換原理:如下圖,白色方塊代表圖片目標,箭頭代表投影方向,座標軸x始終與投影方向垂直,座標上的投影曲線是每條射線方向像素點灰度的累加和。由圖可知,只有順着長方形圖像目標長邊方向的投影纔可以得到最大峯值,因此該投影方向可以看做方塊的方向角。

車牌或文字方向校正,都可以參考這種方法。


3)K-最近鄰法(KNN):先找出目標區域內所有的連通區域(文本識別中每一個連通區就是一個字符),然後將所有連通區中K個最鄰近的連通區中心點兩兩相連成矢量,計算矢量方向角度並繪製直方圖,直方圖的峯值就是目標區域傾斜角度。


第四章、彩色圖像處理

1、常用有顏色空間RGB,YUV,HSI,HSV

答:①RGB顏色空間:

該顏色空間主要用於計算機圖形學中,它是指圖像中每一個像素都具有R,G,B三個顏色分量,這三個分量大小均爲[0,255],以這三個分量爲座標軸,構建一個三維顏色空間,這樣,顏色空間中每一個三維座標都將表示一種顏色。但RGB並不能表示所有顏色;

RGB圖像的每個像素有三個分量組成,所以可以看作是一個向量,而不是一個點。

HSI顏色空間:

HSI顏色空間是從人的視覺系統出發,用色調(Hue)、色飽和度(Saturation)、亮度 (Intensity)來描述色彩(HSI就是三者簡寫組合)。

HSI色彩空間可以用一個圓錐空間模型來描述,這種色彩空圓錐模型相當複雜,但確能把色調、亮度和色飽和度的變化情形表現得很清楚;

HSI最大的好處就是可以顏色空間分爲彩色和灰度信息,這樣就可以利用彩色特徵進行圖像處理,例如車牌識別中常根據車牌的色彩信息進行定位車牌。

YUV顏色空間:

該顏色空間是PAL制式和SECAM制式採用的顏色空間,其中Y代表亮度,UV代表色度。“亮度”是通過RGB輸入信號來建立的,方法是

將RGB信號的特定部分疊加到一起。“色度”則定義了顏色的兩個方面,色調(hue)與飽和度(saturation)。


2、彩色模型間的轉換

答:數字圖像處理中最常見的轉換爲:RGB->HSI與HSI->RGB;


3、僞彩色處理技術

答:(1)強度分層技術:將圖像信息描述爲一幅灰度三維圖,用一個或多個平面切割灰度圖,被切割的上下兩部分用不同顏色表示,可以顯示灰度圖中不明顯的信息。

實質是:將灰度圖中不同灰度級賦予不同顏色,以便顯現細節信息和區分不同特徵。

應用:如焊縫的X光檢測中,可以用強度分層技術來判斷焊接質量;醫學生的甲狀腺加強顯示技術;衛星雲圖中用分層加強技術突出降雨水平等。

(2)灰度級到彩色圖轉換(實際上是僞彩色圖)

實質:強度分層是最簡單的灰度圖轉化爲僞彩色圖技術,而灰度級到彩色轉換是使用正弦變換函數分別實現灰度到R、G、B三色的轉換,最終合成彩色圖像。

應用:機場和車站的X光掃描機拍的圖片就需要經過灰度級到彩色圖的轉換,以顯現危險物品;如今的一些彩色紅外夜視儀也是經過灰度級到彩色圖轉換技術實現的彩色顯示;


3、全綵色圖像處理(不涉及鄰域像素)

答:(1)補色:補色類似於灰度反轉,即將一種色調轉換到色環上與其對立的另一種色調。

作用:不捨對於增強嵌在彩色圖像暗區的細節,特別是在大小上佔支配地位的細節很有用。

(2)彩色分層

(3)色調與彩色校正

(4)彩色圖像的直方圖均衡化:在HSI空間對亮度進行均衡改變,而不改變色調和飽和度。該法只適合HSI空間。


4、平滑與尖銳化

答:上述彩色圖像處理中主要是針對單個像素進行處理,這裏則是在鄰域基礎上進行處理。

(1)彩色圖像平滑濾波:同樣使用灰度圖平滑方法,對於RGB空間每個顏色分量分別使用灰度圖平滑濾波的方式進行平滑處理,然後就將處理後的圖片分量合在一起;對於HSI空間,一般平滑操作只針對亮度I分量即可。

(2)彩色銳化處理:同樣適用灰度圖銳化方法,對於RGB空間每個顏色分量進行銳化處理,然後將處理後的結果合成;對於HSI空間,一般只對亮度I分量進行銳化操作;


5、彩色圖像分割

答:一般使用HSI或者RGB空間作爲彩色分割顏色空間。

HSI空間分割:將圖像轉化到HSI空間,一般針對飽和度分量圖片進行操作;

RGB空間分割:根據目標區域的平均RGB向量,對圖像進行相似度比較,比較方法爲歐氏距離比較法。

彩色邊緣檢測:灰度圖中使用梯度法進行邊緣檢測(Sobel算子),但像素是一個點,在彩色圖中像素是一個向量,所以可以將梯度法拓展到向量領域。


第五章、圖像壓縮

1、圖像金字塔

答:就是以源圖爲基座,每向上一層就將分辨率的長寬降低0.5倍。如一幅圖爲512*512的分辨率,作爲基座J級。那麼上面一級J-1級的圖像就是將原圖分辨率變爲256*256的的圖片。J-2級就是分辨率變爲128*128的,……

至於縮小分辨率如何實現:以步長2進行抽樣,就可以實現降分辨率;


2、殘差金字塔

答:殘差金字塔用於表示圖像重建後與源圖的差異,實際常用於圖像重建中;

殘差金字塔形成:對每一級降分辨率圖像進行步長爲2的重建(即以像素拓展形式擴大分辨率),將本級的下面鄰級與本級重建後的圖像進行做差,得到的就是殘差金字塔中對應級別的圖像。

解釋:圖像金字塔常用於圖像壓縮;殘差金字塔常用於圖像還原;

3、快速傅里葉變換(FFT)與小波變換

答:定義:FFT是離散傅里葉變換(DFT)的一種快速算法,其時間複雜度由原來DFT的O(n^2)減少到O(nlogn);

作用:將時域離散信號變換到頻域信號;

一維連續時域信號經過FFT的示例如下圖:


座標解釋:頻譜座標系的x,y座標軸物理意義:x是頻率,y是該頻率的幅度(即處於該頻率的信號強度);

①可見,做完FFT後可以在頻譜上看到清晰的四條線,即信號包含四個頻率成分。上述頻譜圖中各頻率信號的幅值(信號強度)基本

相等,也就是平穩的頻域信號,所以只需要知道信號頻率分佈情況即可;

②然而對於非平穩的頻域信號(各個幅值不等),僅僅知道頻率分佈是不夠的,還需要知道某個時間的信號頻率情況,因此提出了:

短時傅里葉變換(簡稱SIFT,注意不是SIFT特徵檢測算子),短時傅里葉變換也可以叫做Gabor變換(因爲由gabor提出);

SIFT即“把整個時域過程分解成無數個等長的小過程,每個小過程近似平穩,再傅里葉變換,就知道在哪個時間點上出現了什麼

率了”,這就是短時傅里葉變換。

③SIFT實現了頻域信息和時域信息的同時獲取,但SIFT有一個缺陷——一個信號序列的時間分割窗口寬度都一樣,這樣會造成一些

問題:窄窗口時間分辨率高、頻率分辨率低,寬窗口時間分辨率低、頻率分辨率高。對於時變的非穩態信號,高頻適合小窗口,低

頻適合大窗口。然而STFT的窗口是固定的,在一次STFT中寬度不會變化,所以STFT還是無法滿足非穩態信號變化的頻率的需

求。

④對於SIFT的固定窗口問題,就可以引入“小波變換”。

小波變換:小波直接把傅里葉變換的基給換了,即“將無限長的三角函數基換成了有限長的會衰減的小波基”,這樣不僅能夠獲取完整

的頻率信息,還可以得到更高的時間分辨率,從而實現知道每個時刻的信號頻率信息。


4、傅里葉分析與小波分析的區別

答:小波變換與傅里葉變換不同,小波變換基於一些小型正交波(傅里葉變換基於正弦函數),所以稱爲小波。小波具有變化的頻率和有限的持續時間。

(1)有人用兩句話概括:

傅里葉變換:知道一段時間內,信號的各個頻率分量分別是多少;

小波變換:知道一段時間內,信號的各個頻率分量分別是多少,以及它們是在什麼時候出現的;

也就是說“傅里葉變換後丟失了時間域信息,而小波變換則是實現了時頻結合”;

(2)用一個形象的說法解釋:

以一首歌做比方,傅立葉變換可以告訴你這首歌高、中、低音所佔的能量是多少以及它們具體的平均頻率;小波分析不僅能做

到這一點,還可以告訴你這首歌具體某一時刻高中低頻分量的分佈情況。


5、小波變換與圖像壓縮應用

答:(1)上述圖像金字塔和殘差金字塔實質就是多分辨率處理的內容。多分辨率常用於圖像壓縮,小波變換最大的用處也是圖像壓縮;

圖像的小波壓縮過程首先是對原始圖像進行二維小波變換,得到小波變換系數。由於小波變換能將原始圖像的能量集中到少部分小波係數上,且分解後的小波係數在三個方向的細節分量有高度的局部相關性,爲進一步量化編碼提供了條件,因此小波編碼可以獲得較高的壓縮比,且壓縮速度較快。

小波壓縮的特點在於壓縮比高,壓縮速度快,壓縮後能保持信號與圖像特徵基本不變,並且傳輸過程中可以抗干擾。

(2)一維小波變換

小波變換的基本思想是用一組小波或基函數表示一個函數或信號,例如圖像信號。以哈爾(Haar)小波基函數爲例,基本哈爾小波函數(Haar wavelet function)定義如下:
                 1, 當0≤x<1/2
Ψ(x) = { -1, 當1/2≤x<1
                 0, 其他

設有一幅分辨率只有4個像素的一維圖像,對應像素值爲:[9 7 3 5]。用哈爾小波變換的過程是:計算相鄰像素對的平均值(averaging,亦可稱之爲近似值approximation),得到一幅分辨率爲原圖像1/2的新圖像:[8 4]。這時圖像信息已部分丟失,爲了能從2個像素組成的圖像重構出4個像素的原圖像,必須把每個像素對的第一個像素值減這個像素的平均值作爲圖像的細節係數(detail coefficient)保存。因此,原圖像可用下面的兩個平均值和兩個細節係數表示:[8 4 1 -1]。可以把第一步變換得到的圖像進一步變換,原圖像兩級變換的過程如表1所示:


(3)二維小波變換

介紹一下二維小波變換的塔式結構。我們知道,一維小波變換其實是將一維原始信號分別經過低通濾波和高通濾波以及二元下抽樣得到信號的低頻部分L和高頻部分H。而根據Mallat算法,二維小波變換可以用一系列的一維小波變換得到。對一幅m行n列的圖像,二維小波變換的過程是先對圖像的每一行做一維小波變換,得到L和H兩個對半部分;然後對得到的LH圖像(仍是m行n列)的每一列做一維小波變換。這樣經過一級小波變換後的圖像就可以分爲LL,HL,LH,HH四個部分,如下圖所示,就是一級二維小波變換的塔式結構:

而二級、三級以至更高級的二維小波變換則是對上一級小波變換後圖像的左上角部分(LL部分)再進行一級二維小波變換,是一個遞歸過程。下圖是三級二維小波變換的塔式結構圖:


一個圖像經過小波分解後,可以得到一系列不同分辨率的子圖像,不同分辨率的子圖像對應的頻率也不同。高分辨率(即高頻)子圖像上大部分點的數值都接近於0,分辨率越高,這種現象越明顯。要注意的是,在N級二維小波分解中,分解級別越高的子圖像,頻率越低。例如圖2的三級塔式結構中,子圖像HL2、LH2、HH2的頻率要比子圖像HL1、LH1、HH1的頻率低,相應地分辨率也較低。根據不同分辨率下小波變換系數的這種層次模型,我們可以得到以下三種簡單的圖像壓縮方案。

方案一:舍高頻,取低頻
一幅圖像最主要的表現部分是低頻部分,因此我們可以在小波重構時,只保留小波分解得到的低頻部分,而高頻部分系數作置0處理。這種方法得到的圖像能量損失大,圖像模糊,很少採用。
另外,也可以對高頻部分的局部區域係數置0,這樣重構的圖像就會有局部模糊、其餘清晰的效果。
方案二:閾值法
對圖像進行多級小波分解後,保留低頻係數不變,然後選取一個全局閾值來處理各級高頻係數;或者不同級別的高頻係數用不同的閾值處理。絕對值低於閾值的高頻係數置0,否則保留。用保留的非零小波係數進行重構。Matlab中用函數ddencmp()可獲取壓縮過程中的默認閾值,用函數wdencmp()能對一維、二維信號進行小波壓縮。
方案三:截取法
將小波分解得到的全部頻率係數按照絕對值大小排序,只保留最大的x %的係數,剩餘的係數置0。不過這種方法的壓縮比並不一定高。因爲對於保留的係數,其位置信息也要和係數值一起保存下來,才能重構圖像。並且,和原圖像的像素值相比,小波係數的變化範圍更大,因而也需要更多的空間來保存。


6、小波壓縮的優點

答:(1)經過小波分解後的圖像矩陣的局部統計數據穩定且易給出模型;

(2)其大多數值都接近0,對於圖像壓縮非常有利;


7、圖像壓縮分類

答:分爲無損壓縮和有損壓縮;

無損壓縮:(1)最簡單的實現就是減少僅有的編碼冗餘,及通過對灰度表示的編碼進行調整,以減少不必要的編碼位,如變長編碼(霍夫曼編碼、算術編碼);

(2)減少像素間冗餘也是無損壓縮的實現方式,如LZW編碼、位平面編碼;

(3)通過直接對像素進行操作實現消除較爲接近的像素,該方法稱爲無損預測編碼;

有損壓縮:(1)有損預測壓縮(直接對像素進行操作);

(2)變換編碼(對編碼方式進行操作);

(3)小波編碼;


8、圖像壓縮標準

答:(1)靜止圖像壓縮標準:

①JPEG:默認是霍夫曼編碼,用於連續色凋、多級灰度、彩色/單色靜態圖像壓縮,爲有損模式。但完整的JPEG包括3套編碼系統,分別是有損基本編碼、拓展編碼、可逆壓縮的無損編碼;

②JPEG2000:該壓縮標準相對JPEG擁有更大靈活性,但未被採用;

(2)動態圖像壓縮標準:

MPEG是運動圖像專家組的簡稱,其制定的動態圖像壓縮標準稱爲MPEG標準,包括MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21;


9、圖像信息量和圖像熵的計算

答:(1)圖像灰度級數=最大灰度值+1,如最大灰度值255的灰度圖,灰度級數爲256;

(2)圖像中信息量=log2(灰度範圍)

如:[0~255]的灰度圖的信息量就等於log2(256)=8;

意義:信息量用於表示當前信息中的有效信息多少;

(3)圖像熵:

熵: 熵是信息論中對不確定性的度量,是對數據中所包含信息量大小的度量

圖像的一維熵可以表示圖像灰度分佈的聚集特徵,卻不能反映圖像灰度分佈的空間特徵;

爲了表徵這種空間特徵,可以在一維熵的基礎上引入能夠反映灰度分佈空間特徵的特徵量就組成圖像的二維熵。


第六章、形態學處理

1、膨脹與腐蝕

答:膨脹:主要將二值化圖中斷開的圖像輪廓邊緣連接起來,或將邊緣缺口、內部孔洞等填充,效果好於平滑濾波;

腐蝕:主要將取出二值化圖 進行收縮,去除不必要的細節,或細化輪廓。腐蝕對於去除小顆粒以及消除目標物之間的粘連是非常有效的 ;

結構元素:由數值爲1或0組成的矩陣,在每個像素位置與二值圖像對應的區域進行特定的邏輯運算。運算結果爲輸出圖像相應的像素。運算效果取決於結構元素的大

小內容以及邏輯運算的性質。結構元素一般有以下幾種類型:水平、垂直、十字、方形、其他。

,注意:這些結構中黑色表示有效的領域像素,如前景爲1則黑點表示1,白色表示0。

腐蝕與膨脹原理介紹(以前景是白色1,背景色是黑色0爲例進行介紹):

①、腐蝕原理:使用一個nXn結構元素如全爲1的方形結構元素,去掃描圖像中的每一個像素。用結構元素與其覆蓋的原二值圖像做“與”操作,如果原結構元素中1對應位置的邏輯運算結果都爲1,這圖像的該像素爲1,否則爲0。簡言之就是腐蝕是選擇結構元素範圍內的最小值。腐蝕之後,圖像邊界向內收縮;

②、膨脹原理:使用一個nXn結構元素如全爲1的方形結構元素,去掃描圖像中的每一個像素。用結構元素與其覆蓋的原二值圖像做“與”操作,如果原結構元素中1對應位置的邏輯運算都爲0,這圖像的該像素爲0,否則爲1。簡言之就是腐蝕是選擇結構元素範圍內的最大值。膨脹之後,圖像邊界向外擴大;

實際上,應用中腐蝕就是細化白色前景,膨脹就是擴張白色前景,即主要針對白色前景黑色背景的。所以,要是前景是黑色,可以交換腐蝕和膨脹使用或者對圖像進行反變換再使用。


2、開運算與閉運算

答:開運算:先腐蝕後膨脹;

閉運算:先膨脹後腐蝕;

作用:都有平滑作用,可以濾除噪聲,只是開運算在平滑後會造成部分較細輪廓斷,閉運算在平滑後會使得輪廓邊緣加強;

補充:一般除了二值圖的開閉運算,還有灰度圖開閉元算。原理一致:就是提取結構元範圍內的最小灰度值或最大灰度值(二值圖也是提取最小最大值0或者1),就是將二值拓展到灰度範圍。


3、擊中或擊不中變換

答:定義:首先對用s1對目標圖像X進行腐蝕得到A1, 用s2對Y(即~X,目標圖像X的補)進行腐蝕得到A2。最終結果C = A1 & A2。

作用:形態學的擊中和擊不中是一種匹配技術,是形狀檢測的基本工具,。實際上變換後容易產生噪聲,實用意義不大。


4、形態學算法應用

答:(1)提取邊緣:①β(A)=A-(用B腐蝕A的結果):充分利用腐蝕技術,提取物體輪廓;②膨脹-源圖;③膨脹-腐蝕;④膨脹-閉運算;⑤開運算-腐蝕;

⑥開運算膨脹-閉運算腐蝕;⑦閉運算開運算-閉運算腐蝕;⑧多結構元邊緣檢測;

具體的,④⑤⑥⑦⑧都具有抗噪聲能力,其中⑧的邊緣提取效果最好,抗噪能力也最佳。⑧有如下3中類型的邊緣提取方式:


性能:基於形態學的邊緣檢測在前人實驗中表明其提取效果好於傳統方案如Sobel算法等,抗噪聲能力強。

(2)孔洞填充:X=(用B腐蝕A)∩A的補。迭代結束後X即爲所求;

利用膨脹技術,將目標區域內部的干擾色塊去除,填充成目標區域同樣的顏色。利用A的補相交限制膨脹範圍;

(3)提取連通分量區域:X=(用B腐蝕A)∩A。迭代結束後X即爲所求;

有時根據情況,需要在迭代尋找連通域前,進行腐蝕操作,以去掉部分由於噪聲干擾產生的連通域;

(4)凸殼:是爲了找到一個凹陷的物體外殼,以不完美命中(腐蝕)爲主要操作,通過調整結構元,加上原圖,得到相關凸起結果;

(5)細化:圖像細化一般作爲一種圖像預處理技術出現,目的是提取源圖像的骨架,即是將原圖像中線條寬度大於1個像素的線條細化成只有一個像素寬,形成“骨架”,形成骨架後能比較容易的分析圖像,如提取圖像的特徵。
細化基本思想是“層層剝奪”,即從線條邊緣開始一層一層向裏剝奪,直到線條剩下一個像素的爲止。

(6)骨架:使用形態學腐蝕減去結果的開運算的骨架與細化相比,缺少的就是同倫性(同倫性:連通域結構保持不變的特性),即骨架操作得到的並不是原圖像的同倫變換,而且這種骨架有些地方並不是一個像素,而是多個像素。

(7)頂帽(top Hat):頂帽就是原圖與開運算圖之差;結果圖突出了比原圖輪廓周圍的區域更明亮的區域,且這一操作與選擇的核的大小有關。頂帽運算往往用來分離比鄰近點亮一些的斑塊,在一幅圖像具有大幅的背景,而微小物品比較有規律的情況下,可以使用頂帽運算進行背景提取。

(8)黑帽(black Hat):黑帽就是原圖與閉運算圖之差;黑帽運算後的效果圖突出了比原圖輪廓周圍的區域更暗的區域,且這一操作與核的大小有關。黑帽運算用來分離比臨近點暗一點的斑塊,效果圖有着非常完美的輪廓。

(9)裁剪:相對骨架而言的,有些骨架操作結果會產生毛刺,即突出的像素,就需要裁剪;

(10)形態學濾波:開-閉濾波、閉-開濾波、複合形態學濾波;

更多具體:http://blog.csdn.net/zizi7/article/details/50896545(1)

http://blog.csdn.net/zizi7/article/details/50907949(2)

部分操作的C++實現代碼:http://blog.csdn.net/tonyshengtan/article/details/42263347

注意:上述形態學處理都是在二值化圖中進行,雖然形態學處理可以拓展到灰度級圖,但應用方向有所改變;


第七章 圖像分割

1、間斷檢測

答:(1)點檢測:孤立點檢測一般使用一個3*3的模板,進行乘積之和的判斷。模板矩陣如下:

-1 -1 -1
-1 8 -1
-1 -1 -1
假設該矩陣爲W,與對應像素的乘積求和結果爲R;

設定一個門限值T,判斷:

             R的絕對值>=T是否成立;

若成立矩陣中心下的像素點就是孤立點,否則不是孤立點;

這中孤立點檢測可以應用到孤立噪聲濾波、或故障檢測(航空發動機葉片表面通風孔檢測)等方面;

(2)線檢測:使用3*3矩陣對圖像進行滑動計算乘積之和計算,並將結果與門限值T進行比較判斷。

模板矩證如下:包括4個方向的線檢測模板矩陣,分別是水平、正45度、垂直、負45度。

-1 -1 -1
2 2 2
-1 -1 -1
-1 -1 2
-1 2 -1
2 -1 -1
-1 2 -1
-1 2 -1
-1 2 -1
2 -1 -1
-1 2 -1
-1 -1 2

(3)邊緣檢測

圖像邊緣一般是在前景和背景交界處,理想的邊緣處灰度會發生突變。但實際上,邊緣的灰度都是線性變化的,即有一段寬度的灰度變化帶。常用的邊緣提取方法有:一階導數(梯度法)和二階導數(拉普拉斯算子);

前者可以直接求出邊緣灰度變化的斜率,後者可以求出兩個突變點的斜率變化速度。如下圖所示:


(一)梯度法檢測:

對於圖像邊緣區域的像素矩陣:


梯度法邊緣檢測模板有如下幾種:

①Roberts模板


模板爲2*2矩陣,是最簡單的梯度法邊緣檢測模板;

②Prewitt模板

分別是水平垂直方向檢測模板與斜正負45度方向檢測模板:

  

可見,相比Roberts模板變爲3*3,具有中心點了;

③Sobel模板

分別是水平垂直方向檢測模板與斜正負45度方向檢測模板:


可見,相比Prewitt模板,Sobel模板使用了一個權值2,來加強中心點,以實現平滑灰度區域,抑制噪聲。


梯度計算結果就是上述水平垂直兩個模板矩陣(或者正負斜45度兩矩陣)與覆蓋下的像素矩陣求乘積之和,然後將兩個模板陣的乘積之和的絕對值相加即是梯度。

如Sobel求梯度:



▽f就是梯度值,根據梯度值就可以確定灰度值變化區域,進而找到邊緣變化區域;

(二)拉普拉斯檢測(二階導數):

四鄰域和八鄰域的模板如下:

0 -1 0
-1 4 -1
0 -1 0
-1 -1 -1
-1 8 -1
-1 -1 -1

注意:拉普拉斯算子一般不會直接用於邊緣檢測,因爲作爲二階導數,對噪聲敏感且容易產生雙邊緣,同時不能檢測邊緣方向。

一般拉普拉斯算子用於:(1)利用零交叉性質進行邊緣定位;(2)確定一個像素是在邊緣亮的一邊還是暗的一邊;

使用零交叉進行邊緣定位識別得到的邊緣比較細,但具有空心粉效應以及計算量大等缺陷,所以應用不多。

總結:梯度法求邊緣的應用最爲廣泛。


2、常用邊緣檢測有哪些算子,各有什麼特性?

答:常用邊緣檢測算子如下所述:

(1)Roberts算子

羅伯茨算子、Roberts算子是一種最簡單的算子,是一種利用局部差分算子尋找邊緣的算子,他採用對角線方向相鄰兩象素之差近似梯度幅值檢測邊緣。檢測垂直邊緣的效果好於斜向邊緣,定位精度高,對噪聲敏感,無法抑制噪聲的影響。1963年,Roberts提出了這種尋找邊緣的算子。Roberts邊緣算子是一個2x2的模板,採用的是對角方向相鄰的兩個像素之差。從圖像處理的實際效果來看,邊緣定位較準,對噪聲敏感。適用於邊緣明顯且噪聲較少的圖像分割。Roberts邊緣檢測算子是一種利用局部差分算子尋找邊緣的算子,Robert算子圖像處理後結果邊緣不是很平滑。經分析,由於Robert算子通常會在圖像邊緣附近的區域內產生較寬的響應,故採用上述算子檢測的邊緣圖像常需做細化處理,邊緣定位的精度不是很高。

(2)Prewitt算子 

Prewitt算子是一種一階微分算子的邊緣檢測,利用像素點上下、左右鄰點的灰度差,在邊緣處達到極值檢測邊緣,去掉部分僞邊緣,對噪聲具有平滑作用 。其原理是在圖像空間利用兩個方向模板與圖像進行鄰域卷積來完成的,這兩個方向模板一個檢測水平邊緣,一個檢測垂直邊緣。經典Prewitt算子認爲:凡灰度新值大於或等於閾值的像素點都是邊緣點。即選擇適當的閾值T,若P(i,j)≥T,則(i,j)爲邊緣點,P(i,j)爲邊緣圖像。這種判定是欠合理的,會造成邊緣點的誤判,因爲許多噪聲點的灰度值也很大,而且對於幅值較小的邊緣點,其邊緣反而丟失了。Prewitt算子對噪聲有抑制作用,抑制噪聲的原理是通過像素平均,但是像素平均相當於對圖像的低通濾波,所以Prewitt算子對邊緣的定位不如Roberts算子。因爲平均能減少或消除噪聲,Prewitt梯度算子法就是先求平均,再求差分來求梯度。該算子與Sobel算子類似,只是權值有所變化,但兩者實現起來功能還是有差距的,據經驗得知Sobel要比Prewitt更能準確檢測圖像邊緣

(3)Sobel算子(常用的單獨邊緣提取算法)

Sobel算子主要用於邊緣檢測,在技術上它是以離散型的差分算子,用來運算圖像亮度函數的梯度的近似值,Sobel算子是典型的基於一階微分的邊緣檢測算子,由於該算子中引入了類似局部平均的運算,因此對噪聲具有平滑作用,能很好的消除噪聲的影響。Sobel算子對於象素的位置的影響做了加權,與Prewitt算子、Roberts算子相比因此效果更好。Sobel算子包含兩組3x3的矩陣,分別爲橫向及縱向模板,將之與圖像作平面卷積,即可分別得出橫向及縱向的亮度差分近似值。缺點是Sobel算子並沒有將圖像的主題與背景嚴格地區分開來,換言之就是Sobel算子並沒有基於圖像灰度進行處理,由於Sobel算子並沒有嚴格地模擬人的視覺生理特徵,所以提取的圖像輪廓有時並不能令人滿意。

(4)Laplacian算子

Laplace算子是一種各向同性算子,二階微分算子,在只關心邊緣的位置而不考慮其周圍的象素灰度差值時比較合適。Laplace算子對孤立象素的響應要比對邊緣或線的響應要更強烈,因此只適用於無噪聲圖象。存在噪聲情況下,使用Laplacian算子檢測邊緣之前需要先進行低通濾波。所以,通常的分割算法都是把Laplacian算子和平滑算子結合起來生成一個新的模板。拉普拉斯算子也是最簡單的各向同性微分算子,具有旋轉不變性。一個二維圖像函數的拉普拉斯變換是各向同性的二階導數。拉式算子用來改善因擴散效應的模糊特別有效,因爲它符合降制模型。擴散效應是成像過程中經常發生的現象。一般使用的是高斯型拉普拉斯算子(Laplacian of a Gaussian,LoG),在LoG公式中使用高斯函數的目的就是對圖像進行平滑處理,使用Laplacian算子的目的是提供一幅用零交叉確定邊緣位置的圖像;圖像的平滑處理減少了噪聲的影響並且它的主要作用還是抵消由Laplacian算子的二階導數引起的逐漸增加的噪聲影響。

(5)Laplacian of Gaussian(LoG)算子 (高斯拉普拉斯邊緣檢測,又叫墨西哥草帽邊緣檢測)

利用圖像強度二階導數的零交叉點來求邊緣點的算法對噪聲十分敏感,所以,希望在邊緣增強前濾除噪聲.爲此,將高斯濾波和拉普拉斯邊緣檢測結合在一起,形成LoG(Laplacian of Gaussian, LoG)算法,也稱之爲拉普拉斯高斯算法.LoG邊緣檢測器的基本特徵是: 平滑濾波器是高斯濾波器.增強步驟採用二階導數(二維拉普拉斯函數).邊緣檢測判據是二階導數零交叉點並對應一階導數的較大峯值.使用線性內插方法在子像素分辨率水平上估計邊緣的位置.這種方法的特點是圖像首先與高斯濾波器進行卷積,這一步既平滑了圖像又降低了噪聲,孤立的噪聲點和較小的結構組織將被濾除.由於平滑會導致邊緣的延展,因此邊緣檢測器只考慮那些具有局部梯度最大值的點爲邊緣點.這一點可以用二階導數的零交叉點來實現.拉普拉斯函數用作二維二階導數的近似,是因爲它是一種無方向算子.爲了避免檢測出非顯著邊緣,應選擇一階導數大於某一閾值的零交叉點作爲邊緣點.

(6)Canny算子(常用的完整邊緣提取算法)

Canny算子是一個具有濾波,增強,檢測的多階段的優化算子,在進行處理前,Canny算子先利用高斯平滑濾波器來平滑圖像以除去噪聲,然後採用一階偏導的有限差分來計算梯度幅值和方向,接着Canny算子還將經過一個非極大值抑制的過程,最後Canny算子還採用兩個閾值來連接邊緣。

邊緣提取的基本問題是解決增強邊緣與抗噪能力間的矛盾,由於圖像邊緣和噪聲在頻率域中同是高頻分量,簡單的微分提取運算同樣會增加圖像中的噪聲,所以一般在微分運算之前應採取適當的平滑濾波,減少噪聲的影響。Canny運用一個準高斯函數作平滑運算,然後以帶方向的一階微分定位導數最大值,Canny算子邊緣檢測是一種比較實用的邊緣檢測算子,具有很好的邊緣檢測性能。Canny邊緣檢測法利用高斯函數的一階微分,它能在噪聲抑制和邊緣檢測之間取得較好的平衡。


3、hough變換

答:(1)原理:Hough變換的基本原理在於利用點-線的對偶性,將原始圖像空間x-y中給定的曲線通過曲線表達形式變爲參數空間的一個點。這樣就把原始圖像中給定曲線的檢測問題轉化爲尋找參數空間中的峯值問題。也即把檢測整體特性轉化爲檢測局部特性。比如直線、橢圓、圓、弧線等。

(2)Hough變換檢測直線的算法步驟: 

①在ρ,θ的極值範圍內對其分別進行m,n等分,設一個二維數組的下標與ρi,θj的取值對應;

②對圖像上的邊緣點作Hough變換,求每個點在θj變換後的ρi,判斷(ρi,θj)與哪個數組元素對應,則讓該數組元素值加1; 

③比較數組元素值的大小,最大值所對應的 (ρi,θj)就是這些共線點對應的直線方程的參數。 共線方程爲:ρi=x cosθj+y sinθj 。

(3)hough思路和拓展

具體參考:http://www.cnblogs.com/xfzhang/articles/1878561.html


4、二值化分割門限計算

答:(1)迭代法估計全局門限:

①選擇一個T的初始值;

②用T分割圖像。G1有所有的灰度值大於T的像素確定,G2由所有灰度值小於等於T的像素確定;

③對G1和G2區域像素分別求平均灰度值u1與u2;

④計算新的門限值T=1/2(u1+u2);

⑤重複②③④步驟,直至現在T相比上一個T的差小於某個值而止,現在的T就是所得到的門限值。

(2)基本自適應門限:

鑑於很多灰度圖用一個全局門限無法實現二值化分割,因爲光照不均勻而導致單一門限閾值不適用所有區域。所以可以將圖像分割爲多個子圖像,然後分別採用迭代法求門限值。

注意:這裏最重要的就是圖像分割大小的確定,直接決定二值化分割效果;


5、基於區域分割

答:前面的圖像分割分別是根據區域間的灰度不連續搜索邊界、以及以像素性質分部爲基礎的門限分割。這裏介紹直接尋找區域爲基礎的分割技術。

(1)區域生長法:先提取一組種子點(特徵明顯的目標區域),然後對每個像素根據特徵公式計算特徵集,然後根據相似性將種子點附近的相似像素納入種子點所在區域,從而就可以實現區域生長;

(2)區域分離與合併;


6、基於形態學分水嶺的分割

答:可以形象的解釋:把灰度圖的灰度值看做是地形不同高度,在每一個局部盆地的極小值表面,刺穿一個小孔,然後從該孔向盆地中灌入水,隨着盆地中水灌入加多,相鄰的兩個集水盆匯合處構築大壩,即形成分水嶺。該分水嶺就是我們分割中要找的分割邊界。

分水嶺分割實現:比較經典的分水嶺計算分兩個步驟,一個是排序過程,一個是淹沒過程。首先對每個像素的灰度級進行從低到高排序,然後在從低到高實現淹沒過程中,對每一個局部極小值在h階高度的影響域採用先進先出(FIFO)結構進行判斷及標註。分水嶺變換得到的是輸入圖像的集水盆圖像,集水盆之間的邊界點,即爲分水嶺。顯然,分水嶺表示的是輸入圖像極大值點。因此,爲得到圖像的邊緣信息,通常把梯度圖像作爲輸入圖。

分水嶺分割的過度分割解決:爲消除分水嶺算法產生的過度分割,通常可以採用兩種處理方法,一是利用先驗知識去除無關邊緣信息。二是修改梯度函數使得集水盆只響應想要探測的目標。


7、根據多幅圖像分割出運動目標

答:有多幅圖像,從中分隔出運動目標,一般採用多幅圖像對比,找出位置移動的目標即爲運動目標。

①尋找一副基準圖像;

②獲取每幅圖像與基準圖像的像素位置差異並記錄;

③根據圖像目標的累計差異獲取每幅圖像中的運動目標。


8、SIFT特徵檢測算子

答:SIFT,即尺度不變特徵變換(Scale-invariant feature transform,SIFT),是用於圖像處理領域的一種描述。具有縮放不變性和旋轉不變性,對光照等自然干擾容忍度也很高,但該算法實時性不好。

SIFT算法用於特徵匹配的過程:

①尺度空間極值檢測:搜索所有尺度上的圖像位置。通過高斯微分函數來識別潛在的對於尺度和旋轉不變的興趣點;

②關鍵點定位:在每個候選的位置上,通過一個擬合精細的模型來確定位置和尺度。關鍵點的選擇依據於它們的穩定程度;

③方向確定:基於圖像局部的梯度方向,分配給每個關鍵點位置一個或多個方向。所有後面的對圖像數據的操作都相對於關鍵點的方向、尺度和位置進行變換,從而提供對於這些變換的不變性;

④關鍵點描述:在每個關鍵點周圍的鄰域內,在選定的尺度上測量圖像局部的梯度。這些梯度被變換成一種表示,這種表示允許比較大的局部形狀的變形和光照變化;

⑤對測試圖片和模板圖的特徵向量進行相似度匹配,進而對測試圖中目標進行定位。

總結:SIFT是對測試圖像和模板圖進行關鍵點特徵提取,然後獲取特徵向量,對兩張圖的特徵向量使用歐氏距離公式進行相似性判斷,最後將相似度高的特徵點留下來用於目標定位。

SURF的過程與SIFT基本一致,只是其在SIFT基礎上改進了一些算法,從而使得SURF實時性更佳,達到了SIFT的3倍處理速度。


第八章 圖像描述

1、圖像信息的表示方法

答:(1)鏈碼:用於表示由順序連接的具有指定長度和方向的直線段組成的邊界線;

(2)多邊形近似:分爲最小周長多邊形、聚合技術、拆分技術;

(3)標記圖

(4)邊界線段:即將邊界分段,以減少邊界複雜性

(5)骨架:前面在細化時已經提到過了。


2、邊界描繪子

答:(1)簡單邊界描繪子:如邊界長度、邊界的直徑與方向等;

(2)形狀數

(3)傅里葉描繪子

(4)統計矩:如均值、方差和高階矩,用於描述邊界線段。


3、區域描繪子

答:(1)簡單區域描繪子:如區域緻密性(周長²/面積)、區域灰度均值\中值、最大灰度級值、最小灰度級值等;

(2)拓撲描繪子:主要是對圖像平面的整體描述,如歐拉數=連通分量-孔的數,就是一個拓撲描述子;

(3)紋理:紋理描述3種主要方法是統計方法、結構化方法、和頻譜方法。

①統計方法指平滑、粗糙、粒狀等紋理特徵的描述。具體有如:均值、標準差、統計矩、一致性參數、熵;

②結構化技術處理圖像元的排列,如基於均勻空間分佈的平行線紋理描述;

③頻譜技術基於傅里葉頻譜特性,主要用於通過識別頻譜中高能量的窄波峯尋找圖像中的整體週期性。

(4)圖像不變矩:圖像的不變矩可以由中心矩或者說是歸一化中心矩構造而成,最著名Hu不變矩就是由二階和三階歸一化中心矩構成,Hu矩具有平移、旋轉和比例不變性。

①不變矩計算過程:

幾何矩->中心矩->歸一化中心矩->不變矩;

具體的不變矩公式自行百度谷歌即可。

②幾何矩和不變矩的物理意義:

把二維灰度圖看作一塊薄板,每個點灰度值代表薄板在此處的質量密度。則幾何矩意義可如下解釋:

0階幾何矩表徵薄板總質量(注意是表徵,並不代表一定是);

1階幾何矩表徵薄板質心位置;

2階矩……

不變矩主要用於表徵圖像的形狀特徵,形狀特徵類似邊長、周長、面積、圓周率、類圓率等。對於7個不變矩,它們是由各個表徵形狀單一特徵的幾何矩構造而成,所以並不能明確指出7個不變矩分別表徵什麼具體的物理特徵。

③不變矩可以分爲面不變矩和線不變矩:

面不變矩是指對給定圖片的所有像素進行矩值運算;線不變矩則先提取目標邊緣,然後對邊緣進行矩運算。

由於目標形狀主要由邊緣確定,所以線矩對目標形狀的表徵和麪矩性能差不多。但由於計算量大大減少,線矩計算具有更好的時間複雜度。


第九章 圖像識別

1、基於決策理論方法的識別

答:使用決策理論進行識別是基於決策函數的識別。如對於多個模式類w1,w2,w3,w4....對應的判別函數分別是d1(x),d2(x),d3(x),d4(x),....,如果某個模式x屬於類wi,則有

                               di(x)>dj(x)   j=1,2,..., W; j≠i

模式類:一個模式類可以看做是具有相同特性的多個圖像目標組成的一個集合;模式:模式就是模式類中的任一個元素;


2、基於決策理論識別——匹配

答:匹配:給定原型模式向量,將未知模式的向量與原型模式向量進行一定運算操作,根據運算結果來決策分類。

(1)最小距離分類器匹配:最簡單的匹配方法,其運算操作就是計算原型模式與未知模式向量之間的歐氏距離,根據最小歐氏距離進行決策分類;

①根據給定的各種樣本模式類,求取各個模式類的平均模式向量(最小距離分類器完全由每個類的平均向量確定);

②計算未知模式向量,計算其與各個樣本平均模式向量之間的歐氏距離,未知模式就屬於歐氏距離最小的樣本模式類;

如何計算最小距離分類器中兩個模式類的決策邊界:

①根據計算兩個模式類的平均模式向量;

②根據兩個向量點計算兩點之間的中垂分割線/面,即可;

決策判別函數如圖:2.8x1+x2-8.9=0就是決策分解函數。


(2)相關性匹配(模板匹配):

給定一個M*N的圖片和一個J*K的子圖,使得子圖在原圖中滑動,每滑動一個像素子圖就與其覆蓋下的原圖部分像素進行相關性運算,當滑動完成後所得的最大相關值對應的原圖部分就是匹配目標;相關性計算的基本公式如下:


其中,f表示原圖的灰度信息,w表示子圖的灰度信息。s,t沒有明確的表示方向。

對於相關性匹配中可能出現f和w對於幅度變化過於敏感的缺陷,一般在匹配過程中使用相關係數。

3、最佳統計分類器(主要是貝葉斯分類器)

答:1)貝葉斯分類器原理:

①若指定未知模式屬於某一個樣本模式類,而實際上未知模式不屬於該樣本模式類的概率是r,可以稱r爲平均失效率。

②若依次將未知模式指定爲所有樣本模式類之一,同時獲取平均失效率r。最後獲取最小的平均是效率對應匹配,得到的就是正確匹配。

2)高斯模式類的貝葉斯分類器:

由於貝葉斯分類器在計算平均是效率r時需要用到未知模式屬於樣本模式類的概率密度函數,這個函數需要估計得到,故貝葉斯分類器常採用接近真實情況的高斯概率密度函數。對應的貝葉斯分類器也就是高斯模式的貝葉斯分類器。

注意:高斯概率密度函數由模式類的平均向量和協方差矩陣指定

3)貝葉斯分類器決策邊界獲取(只介紹一維):

一維模式類的貝葉斯分類器決策邊界:兩個貝葉斯分類器的概率密度函數相交點即爲決策邊界;

如圖:x=x0就是決策分解函數


4)應用:遙感圖像分類,主要用於識別出河流、城市建築、道路、鄉村等目標。


4、神經網絡

答:神經網絡的識別即通過對訓練集合進行訓練得到前述所需的決策判別函數。

(1)感知器:感知器用於學習判別函數,將訓練集合分爲兩個類別。模型(線性判別感知器)如下:


輸入:一個模式向量x(x1,x2,..xn),用於表還是一個模式(對象)的特徵量;

權重向量:w(w1,w2,...,wn),用於對輸入進行預先修正;

激活函數:將求和值輸出映射到最終的裝置的函數,本模型中激活函數是門限函數;

本模型的判別函數:d(x)=∑Wi*Xi+Wn+1;d(x)大於0輸出爲正1,小於0輸出位負1。

(2)感知器的訓練分類

訓練對象主要有兩種:線性可分離的類與不可分離的類;

線性可分離類的訓練算法:迭代算法;

不可分離的類訓練算法:德爾塔規則的訓練算法(如梯度下降算法)。


5、多層前饋神經網絡模型

(1)模型如下:由模式向量作爲輸入,多個上述感知器構成的網絡層,每層的權重向量、輸出層構成。


上述每層網絡的連接點(圓形)叫做神經元,類似前述感知器中的求和與激活函數(或叫做觸發函數)的組合,具體可見圖片上的詳細神經元細節。只是神經元中的門限激活函數被S型激活函數(就是常說的sigmoid函數)代替;

(2)S型激活函數(sigmoid函數):

①、滿足公式:

其中,代表激活函數的輸入,代表偏差係數,控制S型激活函數的形狀。

②、將上述激活函數表示成曲線:

,結果始終爲正數,大於θk就取高值,小於就取低值。

③神經網絡中實際的S型激活函數:

由前面神經元中S型激活函數的介紹,可知在神經網絡中可以令輸入函數:

是前一層結點輸出的權值求和,Oj是前一層結點輸出,w是前一層的權值。將代入上述激活函數滿足的公式,故可得S型激活函數應該爲:


神經網絡的激活函數有很多種,除了sigmoid外還有tanh、relu及其改進型等。用一句話總結神經網絡的激活函數就應該是:輸出範圍有限的非線性的可微單調函數。

6、神經網絡各層節點數確定

答,如下,包括三部分:

(1)第一層神經元結點數=輸入模式向量維數(輸入模式向量維數根據每個模式信號歸一化處理後得到的樣本分量決定);

(2)最後一層神經元結點數=模式類的數量(最後一層神經元的輸出結果就是對應各個模式類別);

(3)中間隱含層的節點數根據如下公式確定(中間層節點個數多少決定了網絡結構好壞的關鍵):

Ns表示隱含層節點(隱含層節點數都一樣),Nm表示分類數目,Ni表示輸入特徵向量維數。

(4)選定S型激活函數,必須滿足下式(I爲輸入,O爲輸出,θj爲偏差,θ0適用於控制S型激活函數形狀的參數):

,就是前面所述的S型激活函數;


7、神經網絡訓練要點

答:主要包括:

(1)提取模式向量:提取各個類別圖像的模式向量(如不變矩作爲圖像模式特徵向量);

(2)模式向量標準化:將提取的模式向量標準化,是向量值都在[0,1]之間;

(3)計算模式類的期望輸出:由模糊函數給定。對前述所得到每個模式向量進行模糊分類,得到的就是該模式向量對應的期望輸出。模糊函數如下:

注:α和β需要根據實際情況進行選取。

(4)構造網絡模型:後面以BP網絡模型爲例介紹了;

(5)訓練:後面以BP學習爲例介紹了;

(6)測試:一個輸入向量經過訓練好的網絡,輸出層得到的結果中具有最大值的類別就是神經網絡判定的類別(這叫“競爭選擇”)。


8、反向傳播(BP)神經網絡算法基礎介紹

答:(1)BP網絡訓練原理:所謂的反向實質是指在前饋網絡基礎上,進行偏差的反向傳播。從輸出層開始根據反向路徑調整每層權值(權值調整算法是梯度下降法),使得誤差函數最小化就訓練結束。

(2)輸出的誤差函數(又損失函數)

BP網絡訓練的目的是使得輸出誤差函數最小化,輸出誤差函數如下(期望與實際輸出的誤差平方):

,其中,r是期望輸出值,Q是輸出層實際輸出;

首先,對輸出層進行權值調整。然後,根據網絡連鎖性,計算倒數第二層的權值調整量,……,直到完成對所有層的權值調整。

(3)權值調整規則(梯度下降法)

①、調整方式:先對輸出層的權值向量進行調整,然後反向對倒數第二層權值進行調整,接着倒數第三層,……,直到完成對第一層神經元的權值向量進行調整;一遍調整結束後,對網絡輸入樣本模式數據,得到輸出層新的輸出數據,使用誤差函數進行計算,若誤差函數未實現最小化,繼續進行上一步驟的反向權值量調整。

②、權值調整量:

上述每一次的權值調整量設爲△Wqp,根據如下公式對每一層進行調整:

即每次調整權值量是當前誤差與權值的偏導數的某個比例,上述公式中p表示q的前一層,q代表當前層,η代表學習率

這個權值調整公式可以根據輸入函數、S型激活函數、誤差函數化爲實用的權值調整公式


實際使用中就是根據該公式計算每一層權值的調整量,其中η爲給定比例值且Op是上一層輸出值,所以實際需要求解就是中間的梯度值δ((期望r與實際O誤差量)*激活函數h的導數),因此這種調整方式屬於梯度下降法。

具體關於梯度下降法可以參考:http://www.cnblogs.com/pinard/p/5970503.html

③、輸出層和隱藏層權值調整量的不同:

有上述給定的權值調整量w=ηδO可知,每次計算調整量就需知道每個節點的期望輸出r。這對於最後一個輸出層是可以得到的,但是對於中間隱藏層卻不可得到。因爲中間層有很多節點,每個節點輸出並不固定,中間層節點輸出值是互相影響,綜合作用最終結果的,所以無法設定中間層任何節點的期望值。故權值調整函數根據輸出層和中間層不同,分爲兩種情況:

1°、輸出層:直接使用上述給出的公式;

2°、中間隱藏層:η已給定,O可從網絡中得到。因此主要改變梯度值δ的求解方式。改變求導變換,可以得到如下:


其中,δp是當前中間層的梯度值,δq是前一層的梯度值。

由於是方向調整,所以δq已經在前一次調整中得到了,所以就是已知的了。


9、BP學習具體步驟歸納

答:(1)主要有如下步驟:

①、權值和節點偏移的初始化(用隨機值初始化);

②、給定輸入矢量I(輸入模式向量)和期望輸出矢量r(期望輸出由模糊函數計算給定,後面會介紹);

③、計算實際輸出矢量(前向傳播計算輸出結果);

④、梯度計算(反向傳播用損失函數計算梯度),分別分爲輸出層和隱藏層,如下圖所示:

 

⑤、權值學習,即計算權值調整量(正向依次根據調整函數計算):


⑥、回到步驟②直到求出最優解(調整量小於閾值爲止),然後根據上述結果構造如多層前饋神經網絡模型所示的神經網絡。

(2)更詳細步驟參考下圖:



10、BP算法的改進

答:上述權值調整公式中,η是固定值,表示學習率,其作用類似於比例調整。在權值趨近於最佳值時,較大的η可能會造成輸出振盪。所以,改進型BP算法爲了防止振盪,同時又保證較大的學習率,採用如下兩種改進策略:

①、使用動態可變的學習率參數η;

②、向權值調整函數添加阻尼項β[Wqp(n)-Wqp(n-1)];

改進後的完整權值計算公式(第(n+1)次神經元p到q的權值調整):



11、AdBoost的基本原理

答:AdBoost是一個廣泛使用的BOOSTING算法,其中訓練集上依次訓練弱分類器,每次下一個弱分類器是在訓練樣本的不同權重集合上訓練。權重是由每個樣本分類的難度確定的。分類的難度是通過分類器的輸出估計的。


12、決策面的複雜性

答:(1)單超平面:單個感知器對目標的分類決策面是一個超平面,包括前面介紹的其他簡單分類器的決策面也最多是一個單超平面。這種決策面只能做類似線性分割(即兩種不同類互相之間沒有混合),不能很好的分開混在一起的模式類;

(2)開、閉凸區域:由兩層感知器構造而成的神經網絡,生成的決策面就是開/閉凸區域。這種由兩個或三個超平面構造而成的決策面可以分割一些混合在一起的模式類;

(3)任意形狀的決策面:有多層感知器構造而成的神經網絡,如上所述的多層前饋神經網絡和多層BP神經網絡,產生的決策面由多個不同的超平面構成,可以分割任意混合態的模式類;

如圖:



第十章 其他

1、 Intel指令集中MMX、SSE、SSE2、SSE3和SSE4指的是什麼?

答:(1)Intel指令集中MMX(Multi Media eXtension,多媒體擴展指令集)指令集是Intel公司於1996年推出的一項多媒體指令增強技術。MMX指令集中包括有57條多媒體指令,通過這些指令可以一次處理多個數據,在處理結果超過實際處理能力的時候也能進行正常處理,這樣在軟件的配合下,就可以得到更高的性能。MMX的益處在於,當時存在的操作系統不必爲此而做出任何修改便可以輕鬆地執行MMX程序。但是問題也比較明顯,那就是MMX指令集與X87浮點運算指令不能夠同時執行,必須做密集式的交錯切換纔可以正常執行,這種情況就勢必造成整個系統運行質量的下降;

(2)Intel指令集中SSE(Streaming SIMD Extensions,單指令多數據流擴展)指令集是Intel在Pentium 3處理器中率先推出的。

(3)Intel指令集中SSE2(Streaming SIMD Extensions 2,Intel官方稱爲SIMD 流技術擴展 2)指令集是Intel公司在SSE指令集的基礎上發展起來的。相比於SSE,SSE2使用了144個新增指令,擴展了MMX技術和SSE技術,這些指令提高了廣大應用程序的運行性能。

(4)Intel指令集中SSE3(Streaming SIMD Extensions 3,Intel官方稱爲SIMD 流技術擴展 3)指令集是Intel公司在SSE2指令集的基礎上發展起來的。相比於SSE2,SSE3在SSE2的基礎上又增加了13個額外的SIMD指令。SSE3 中13個新指令的主要目的是改進線程同步和特定應用程序領域,例如媒體和遊戲。

(5)Intel指令集中SSE4 (Streaming SIMD Extensions 4) 是英特爾自從SSE2之後對ISA擴展指令集最大的一次的升級擴展。新指令集增強了從多媒體應用到高性能計算應用領域的性能,同時還利用一些專用電路實現對於特定應用加速。Intel SSE4 由一套全新指令構成,旨在提升一系列應用程序的性能和能效。Intel SSE4 構建於英特爾64指令集架構(Intel64 ) (ISA)。


2、 並行計算有哪些實現方式?

答:並行計算就是在並行計算或分佈式計算機等高性能計算系統上所做的超級計算。實現方式有:單指令多數據流SIMD、對稱多處理機SMP、大規模並行處理機MPP、工作站機羣COW、分佈共享存儲DSM多處理機。


發佈了38 篇原創文章 · 獲贊 202 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章