天天看點

CS131 Lecture05 邊緣檢測

CS131 Lecture05:邊緣檢測

by:斯坦福大學計算機科學系

github: https://github.com/zhaoxiongjun/CS131_notes_zh-CN (包含中英文版課件及相關課程視訊)

### 強烈建議移步github食用本教程

接上一節

1.1 線性系統

線性系統(過濾器)形成的新圖像,其像素是原始像素選擇分組的權重和。使用不同的模式和權重可以放大原始圖像中的不同特征。系統S是一個線性系統,當且僅當它滿足系統的疊加性質:

如前一節課中介紹的,對輸入圖像應用過濾器的過程稱為卷積。

1.2 LSI(線性位移不變系統)和脈沖響應

移位不變系統是這樣一種系統:移動輸入也會等量地移動輸出。線性位移不變系統(LSI)的特點是對脈沖的響應;這種響應稱為脈沖響應。脈沖響應有助于我們了解LSI系統對任何給定輸入信号的輸出。

1.3 為什麼卷積翻轉?

二維互相關交換性的證明:

1.3.1 例子

将核k應用于矩陣M:

這裡,核心與卷積比對。相反,輸出等于核心k沿x和y方向翻轉。為了解釋這個結果,核心在最初的步驟中被翻轉,以確定正确的輸出形式(這裡和後面的3.1也是同樣的解釋)。

1.4 卷積和交叉相關性

卷積是一個積分,表示一個函數在另一個函數上移動時的重疊量。我們可以把卷積看作是一種濾波運算。

相關性計算兩個輸入信号(例如,兩個圖像塊)的相似性度量。當兩個信号最比對時,相關輸出達到最大值。相關性可以用來衡量兩個信号的相關性。

哺乳動物邊緣檢測
Hubel和Wiesel教授
           

在Hubel和Wiesel[1]進行的一系列實驗中,記錄了貓大腦中的神經元反應,以觀察大腦的每個部分對不同刺激的反應。他們發現貓的神經元在不同方向的邊緣最為興奮;也就是說,某些神經元與特定方向移動的邊緣或邊緣的特定方向相關。當這些邊中的一條在它的視野中移動時,會導緻特定的神經元興奮地放電。

圖1:Hubel和Wiesel的實驗。資料來源:【1】;第5講,幻燈片34

Biederman教授
           

比德曼研究了人類識别他們所看到的物體的速度。為了測試這一點,他畫出了常見的和可識别的物體的輪廓,并把它們分成兩半,每個線段隻分成兩半。然後将這些輪廓展示給參與者,以測試他們是否能夠識别原始對象,同時隻看到原始輪廓的一半。

令人驚訝的是,在人們識别物體的速度方面,他沒有觀察到任何差異。他們很容易通過物體邊緣的一部分來識别它。這項研究有利于計算機視覺提供一種洞察:即使隻顯示了原始圖像的一部分,理論上一個系統仍然應該能夠識别整個對象或場景。

圖2:比德曼輪廓的例子。資料來源:第5講,幻燈片36

Walther, Chai, Caddigan, Beck & Fei-Fei
           

在類似的實驗中,另一組研究人員對同一幅圖像的兩種變化——原始彩色圖像和該圖像的輪廓——進行了人類彩色圖像與線條圖像識别的對比試驗。他們通過不同的層次追蹤識别,每一個層次在大腦的視覺皮層上都有不同程度的處理。他們發現,較低層次的人可以通過線條圖像更快地識别場景,但是當它向上移動到大腦的各個層次(這就編碼了越來越高層次的概念)時,與線條圖相比,顔色圖在幫助人們識别場景方面更有幫助。這被認為是發生的,因為較低層更好地識别碎片,如邊緣,而較高層更好地識别概念(如“人”、“椅子”或“老虎”)。

圖3:圖像和結果的可視化。資料來源:【2】;第5講,幻燈片37

計算機視覺之邊緣檢測
           

邊緣檢測的目标是識别圖像中的突然變化部分(不連續的)。直覺地說,圖像中的大多數語義和形狀資訊都可以編碼到其邊緣。

邊緣幫助我們提取資訊、識别對象以及恢複幾何圖形和視點。它們是由于表面法向、深度、表面顔色和照明的不連續性而産生的。

一維離散導數的類型
           

有三種主要類型的導數可以應用于像素。它們的公式和相應的過濾器(中括号裡的代表濾波器的值)是:

後向型:

前向型:
			 
中心型:
			 
二維離散導數
           

梯度向量:

梯度幅度:

梯度方向:

舉例
           

矩陣索引處的梯度可以根據擴充到二維的中心離散導數方程,使用相鄰像素來近似。一個濾波器如下:

當重疊在像素x[m,n]的頂部時,使濾波器的中心位于x[m,n]處,如下圖所示。

輸出:
           

相當于像素(m,n)在水準(n)方向上的梯度近似值。該濾波器檢測水準邊緣,還需要一個單獨的核心來檢測垂直邊緣。

簡單邊緣探測器
特征化邊緣
           

對邊緣進行特征化(即對其進行适當的特征化以便能夠識别)是檢測邊緣的重要第一步。為了我們的目的,我們将把邊緣定義為圖像強度函數中一個快速變化的地方。如果我們沿着水準掃描線繪制強度函數,我們可以看到邊緣對應于導數的極值部分。是以,注意到沿着這個圖的急劇變化的地方可能會給我們帶來邊緣。

圖4:圖像的強度函數和一階導數。資料來源:第5講,幻燈片66

圖像梯度
           

圖像的梯度定義如下:

其方向定義為:

圖5:梯度向量方向。資料來源:第5講,幻燈片67

梯度向量指向強度增加最快的方向。例如,在垂直邊緣,強度的最快變化發生在X方向。

圖6:應用于老虎圖像的漸變。資料來源:第5講,幻燈片68

噪音的影響
           

如果圖像中存在過多的噪聲,偏導數将無法有效識别邊緣。

圖7:噪聲圖像中邊緣的導數。資料來源:Steve Seitz;第5講,幻燈片70

為了減少噪聲,圖像必須先平滑。這是一個重新計算像素值的過程,以便它們更接近它們的鄰居。平滑是通過将圖像與濾波器(如高斯核)卷積來實作的。

當然,平滑圖像時要記住一些問題。圖像平滑可以消除噪聲,但也會使邊緣變模糊;使用大的過濾器可能會導緻丢失圖像的邊緣和更豐富的細節。

圖8:使用不同的過濾器和過濾器尺寸進行平滑處理比對。資料來源:Steve Seitz;第5講,幻燈片75

圖像平滑有助于邊緣檢測。在對圖像f進行平滑處理後,通過核g計算f*dg/dx,尋找峰值。

高斯模糊
           

高斯模糊是用高斯函數對圖像進行模糊以降低圖像噪聲的結果。它是一個低通濾波器,這意味着它可以衰減高頻信号。通常使用高斯模糊作為一個初步步驟。

一維定義:

二維定義:

設計一個好的邊緣檢測器
           

好邊緣探測器必須具有下面特性:

良好的檢測結果:

它必須将檢測假陽性(通常由噪聲引起的假陽性邊緣)和假陰性(丢失真實邊緣,可能由平滑等原因引起)的機率降到最低。如果它檢測到某個邊緣,它應該是一個邊緣。

檢測位置精确

檢測到的邊緣必須盡可能接近原始圖像中的實際邊緣。探測器必須确定邊緣出現的位置并精确定位邊緣的準确位置;在确定每個邊緣中涉及的像素時,探測器也必須保持一緻。

無聲反應(Silent response)

它必須最小化真實邊緣周圍的局部最大值(每個真實邊緣點隻傳回一個點)。傳回存在的一個非常特定的邊,而不是将一個邊拆分,檢測到多個邊。換句話說,隻有實際邊界的邊緣被捕獲;其他可能性被抑制。

圖9:差的邊緣檢測器的樣本。資料來源:第5講,第84頁幻燈片

繼續閱讀