本文主要聚焦于圖像濾波與邊緣檢測兩部分。圖像濾波部分分析的是線性移不變系統(tǒng),將介紹兩類濾波器,平滑濾波器和梯度濾波器。邊緣檢測部分將介紹高斯導(dǎo)數(shù)濾波器和Canny邊緣檢測器。為了更好的閱讀體驗,讀者需要提前了解或掌握卷積、線性移不變系統(tǒng)、梯度、高斯函數(shù)等基本概念。
一、 圖像濾波
1.1? 圖像濾波器
圖像濾波器有兩大作用,分別是圖像增強、提取和重構(gòu)紋理。
對于圖像增強,我們一起來看看其應(yīng)用(模糊,銳化,去噪等),對圖像濾波有一個初步的認識:
下面這組圖是對愛因斯坦生日照做圖像濾波處理的輸出結(jié)果:
對于提取和重構(gòu)紋理來說,我們通過濾波器組,對紋理圖像進行處理,提取出我們想要的紋理,甚至是重構(gòu)紋理,實現(xiàn)結(jié)果如下:
1.2? 線性移不變系統(tǒng)
在了解了圖像濾波器的大致概念之后,我們還需要掌握數(shù)字信號處理中的一個很重要的概念,線性移不變系統(tǒng)(Linear Shift Invariant System,LSIS),LSIS需要滿足兩個特性即線性和移不變性。對于線性而言,即輸入的線性組合,產(chǎn)生相應(yīng)的輸出的線性組合;對于移不變而談,即輸入產(chǎn)生的響應(yīng)與時間無關(guān),無論何時的輸入,輸出都是相應(yīng)的輸出,不會受到時間變化的影響。
具體數(shù)學(xué)表達式如下:
在學(xué)習(xí)了LSIS之后,我們再來簡單回顧一遍卷積的概念:
?卷積的性質(zhì)如下所示:
卷積的概念極其重要,大家務(wù)必掌握。在深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)的部分,就是使用卷積核進行的計算。對于卷積核來說,我們還需要了解一個概念——可分離卷積核,如下所示:
我們通過線性代數(shù)的方法,將二維的卷積核分解成兩個一維的卷積核進行相乘,這樣的好處是能有效降低時間復(fù)雜度,在大型神經(jīng)網(wǎng)絡(luò)模型的搭建中有效減少時間和算力消耗。
1.3? 線性濾波器
在充分了解完圖像濾波和LSIS的基本概念之后,我們就能正式學(xué)習(xí)到本部分的主角了——線性濾波器。我們先來看一個例子:
對于上面第一個圖來說,濾波器的作用是簡單弱化了最邊緣,而沒有起到平移之類的效果。因為卷積之后的效果是,每個點都取得是自己的中心位置,即沒有發(fā)生變化。除了最邊緣的一圈點,被濾波器消滅了。
對于上面第二個圖來說,濾波器的作用是左移。因為卷積之后,最中心的點取值為卷積之后的結(jié)果,而這個濾波器只有右端有值,卷積之后取得值即為右端值。因此最中心的點取值即為右邊點的值,可以想成是右邊部分的值平移到了中心位置,即發(fā)生了左移。
對于線性濾波器而言,我們主要介紹兩種濾波器,分別是平滑濾波器和梯度濾波器。
1.4? 平滑濾波器
對于平滑濾波器而言,有如下性質(zhì):
- 濾波器的所有元素都為正值;
- 所有元素之和為1;
- 平滑程度和濾波器尺寸成正比;
- 相當(dāng)于一個低通濾波器
下面我們將分別介紹盒氏濾波器和二項濾波器。
1.4.1? 盒氏濾波器
首先是盒氏濾波器,其原理是用領(lǐng)域范圍內(nèi)的平均值替代當(dāng)前位置元素,主要作用是圖像平滑。盒氏濾波器的特點為所有元素均為權(quán)重,即1乘權(quán)重,乘權(quán)重的目的是保證所有元素之和為1。
舉例說明:
對于尺寸為3的一維盒氏濾波器,為保證所有元素之后為1,因此權(quán)重為?,計算如下:
?下面是尺寸為3的濾波器和尺寸為5的濾波器:
?對于盒氏濾波器而言,計算非常簡單,類似于卷積神經(jīng)網(wǎng)絡(luò)中的卷積操作一樣,盒氏濾波器就是從左往右,從上至下,依次進行對應(yīng)元素相乘相加的操作,然后計算后的值作為區(qū)域中心點的值。我們以尺寸為3的二維盒氏濾波器為例,濾波器如下:
具體計算步驟如下所示:
?依次往復(fù),我們可以得到結(jié)果如下:
顯然,通過盒氏濾波器之后,圖像變得更加平滑了,從0,30,50,80,90,60,30這樣變化,比輸入圖像0,90之間的變化,平滑了很多。?
1.4.1? 二項濾波器
對于二項濾波而言,思想來源于二項式定理,我們也可以畫出楊輝三角形,來得到不同尺寸的二項濾波器,但請大家注意,濾波器各個元素需要滿足求和為1。
上面是一維情況下的二項濾波器,下圖為二維情況下的二項濾波器:
1.5? 梯度濾波
接下來,我們將學(xué)習(xí)梯度濾波器。其具有如下特征:
- 濾波器元素有正有負
- 元素和為0
對于梯度濾波器而言,有如下公式:
一維信號:
二維信號:
我們常用的梯度濾波器有兩種:一種是Sobel算子,一種是拉普拉斯算子。
1.5.1? 索貝爾算子
Sobel算子是用3x3窗口計算梯度的算子,是二項濾波器和梯度濾波器的組合,常用于邊緣檢測。
用索貝爾算子進行邊緣檢測的效果如下:
1.5.1? 拉普拉斯算子
相較于索貝爾算子,拉普拉斯算子能更加準(zhǔn)確地進行邊緣檢測
下面讓我們來看看梯度濾波器的作用,明顯看到通過梯度濾波器之后,函數(shù) f 變得更加平滑和連續(xù),且梯度信息也更加清晰:
?用拉普拉斯算子進行邊緣檢測的效果如下:
二、邊緣檢測
2.1? 邊緣檢測是什么
在學(xué)習(xí)完圖像濾波之后,我們來學(xué)習(xí)一下邊緣檢測,實際上,我們上面所講述的兩種梯度濾波器,即索貝爾算子和拉普拉斯算子,它們都能用于邊緣檢測,效果都很不錯。那么邊緣檢測到底是什么呢,顧名思義就是檢測物體的邊緣,為了解釋清楚這個概念,讓我們從一張照片入手:
由于以上的種種原因,我們能通過這些區(qū)別和不連續(xù)性,通過濾波器檢測到邊緣。
常見的邊緣種類如下:
?一般情況下,我們通過像素值的變化,通過求導(dǎo)的方法即可檢測出圖像的邊緣
但是實際上,邊緣可能有噪聲的污染,在這種情況下,我們對圖像進行求導(dǎo),就無法獲取到邊緣的信息了,為此,我們需要進行降噪的處理。
通過梯度濾波,對信號進行降噪處理或是消除(盡量減少)噪聲的影響,然后再對濾波處理過的圖像,進行求導(dǎo),就能進行邊緣檢測啦,過程如下:
接下來,我們將分別介紹高斯導(dǎo)數(shù)濾波器和Canny邊緣檢測器。對于邊緣檢測的算子而言,我們有如下的分析角度:
- 邊緣定位
- 邊緣強度
- 邊緣方向
其中,優(yōu)秀的邊緣算子應(yīng)該滿足如下的特點:
- 高檢測率
- 準(zhǔn)確定位
- 噪聲魯棒
上圖表示的是我們通過計算梯度,來進行邊緣檢測的過程,通過一階導(dǎo)數(shù)的極值來進行,也可以通過二階導(dǎo)數(shù)的過零點, 高斯算子僅為一階導(dǎo)數(shù)信息,而拉普拉斯算子為二階導(dǎo)數(shù)信息,因此拉普拉斯算子更加精確。
因此,我們還能將二者結(jié)合,使用高斯算子進行平滑,使用拉普拉斯算子進行邊緣檢測。
2.2? 高斯導(dǎo)數(shù)濾波器
高斯濾波器在GMM模型(高斯混合分布模型)中有所應(yīng)用,大家可以去查閱相關(guān)資料,了解一下SIFT特征和GMM模型,通過二者的學(xué)習(xí),了解高斯導(dǎo)數(shù)濾波器的應(yīng)用。下面只給出高斯導(dǎo)數(shù)濾波器的基本概念和高斯核的影響,大家還需要自行去學(xué)習(xí)。
2.3? Canny邊緣檢測器
學(xué)習(xí)Canny邊緣檢測器,推薦大家閱讀下面鏈接對應(yīng)的論文:
A Computational Approach to Edge Detection | IEEE Journals & Magazine | IEEE Xplore
下面是該濾波器的簡要介紹:
Canny邊緣檢測器用高斯導(dǎo)數(shù)濾波器卷積圖像得到x和y方向梯度,其特點如下:
- 計算梯度的幅值和方向
- 對梯度幅值圖像非最大值抑制
- 對梯度幅值圖像進行閾值化
1、計算梯度的幅值和方向:
?2、對梯度幅值圖像非最大值抑制:
3、滯后閾值:先用較大閾值得到強邊緣,然后用較小閾值得到部分弱邊緣,使強邊緣之間連續(xù)。
?效果如下:
文章來源:http://www.zghlxwxcb.cn/news/detail-788249.html
?三、總結(jié)
本文從理論層面介紹了圖像濾波和邊沿檢測。大家需要重點掌握平滑濾波器和梯度濾波器,以及邊緣檢測所使用的濾波器,高斯導(dǎo)數(shù)濾波器需要大家結(jié)合二維情況下的高斯函數(shù)去理解,關(guān)于Canny濾波器,希望大家讀一讀鏈接對應(yīng)的論文,提升閱讀CV論文的能力。文章來源地址http://www.zghlxwxcb.cn/news/detail-788249.html
到了這里,關(guān)于計算機視覺基礎(chǔ)(3)——圖像濾波與邊緣檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!