图像数据与边缘检测
學(xué)習(xí)目標(biāo)
- 目標(biāo)
- 了解卷積網(wǎng)絡(luò)的歷史
- 了解邊緣檢測相關(guān)概念以及卷積運算過程
- 應(yīng)用
- 無
3.1.1 為什么需要卷積神經(jīng)網(wǎng)絡(luò)
在計算機視覺領(lǐng)域,通常要做的就是指用機器程序替代人眼對目標(biāo)圖像進行識別等。那么神經(jīng)網(wǎng)絡(luò)也好還是卷積神經(jīng)網(wǎng)絡(luò)其實都是上個世紀(jì)就有的算法,只是近些年來電腦的計算能力已非當(dāng)年的那種計算水平,同時現(xiàn)在的訓(xùn)練數(shù)據(jù)很多,于是神經(jīng)網(wǎng)絡(luò)的相關(guān)算法又重新流行起來,因此卷積神經(jīng)網(wǎng)絡(luò)也一樣流行。
- 1974年,Paul Werbos提出了誤差反向傳導(dǎo)來訓(xùn)練人工神經(jīng)網(wǎng)絡(luò),使得訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)成為可能。
- 1979年,Kunihiko Fukushima(福島邦彥),提出了Neocognitron, 卷積、池化的概念基本形成。
- 1986年,Geoffrey Hinton與人合著了一篇論文:Learning representations by back-propagation errors。
- 1989年,Yann LeCun提出了一種用反向傳導(dǎo)進行更新的卷積神經(jīng)網(wǎng)絡(luò),稱為LeNet。
- 1998年,Yann LeCun改進了原來的卷積網(wǎng)絡(luò),LeNet-5。
3.1.1.2 圖像特征數(shù)量對神經(jīng)網(wǎng)絡(luò)效果壓力
假設(shè)下圖是一圖片大小為28 * 28 的黑白圖片時候,每一個像素點只有一個值(單通道)。那么總的數(shù)值個數(shù)為 784個特征
?
那現(xiàn)在這張圖片是彩色的,那么彩色圖片由RGB三通道組成,也就意味著總的數(shù)值有28?28?3 = 2352個值。
?
從上面我們得到一張圖片的輸入是2352個特征值,即神經(jīng)網(wǎng)路當(dāng)中與若干個神經(jīng)元連接,假設(shè)第一個隱層是10個神經(jīng)元,那么也就是23520個權(quán)重參數(shù)。
如果圖片再大一些呢,假設(shè)圖片為1000?1000?3,那么總共有3百萬數(shù)值,同樣接入10個神經(jīng)元,那么就是3千萬個權(quán)重參數(shù)。這樣的參數(shù)大小,神經(jīng)網(wǎng)絡(luò)參數(shù)更新需要大量的計算不說,也很難達到更好的效果,大家就不傾向于使用多層神經(jīng)網(wǎng)絡(luò)了。
所以就有了卷積神經(jīng)網(wǎng)絡(luò)的流行,那么卷積神經(jīng)網(wǎng)絡(luò)為什么大家會選擇它。那么先來介紹感受野以及邊緣檢測的概念。
3.1.2 感受野
1962年Hubel和Wiesel通過對貓視覺皮層細(xì)胞的研究,提出了感受野(receptive field)的概念,Fukushima基于感受野概念提出的神經(jīng)認(rèn)知機(neocognitron)可以看作是卷積神經(jīng)網(wǎng)絡(luò)的第一個實現(xiàn)網(wǎng)絡(luò)。
單個感受器與許多感覺神經(jīng)纖維相聯(lián)系,感覺信息是通過許多感受神經(jīng)纖維發(fā)放總和性的空間與時間類型不同的沖動,相當(dāng)于經(jīng)過編碼來傳遞。
?
3.1.3 邊緣檢測
為了能夠用更少的參數(shù),檢測出更多的信息,基于上面的感受野思想。通常神經(jīng)網(wǎng)絡(luò)需要檢測出物體最明顯的垂直和水平邊緣來區(qū)分物體。比如
?
看一個列子,一個 6×6的圖像卷積與一個3×3的過濾器(Filter or kenel)進行卷積運算(符號為?),?也可能是矩陣乘法所以通常特別指定是卷積的時候代表卷積意思。
- 相當(dāng)于將 Filter 放在Image 上,從左到右、從上到下地(默認(rèn)一個像素)移動過整個Image,分別計算 ImageImage 被 Filter 蓋住的部分與 Filter的逐元素乘積的和
?
在這個6×6 的圖像中,左邊一半像素的值全是 10,右邊一半像素的值全是 0,中間是一條非常明顯的垂直邊緣。這個圖像與過濾器卷積的結(jié)果中,中間兩列的值都是 30,兩邊兩列的值都是 0,即檢測到了原 6×66×6 圖像中的垂直邊緣。
注:雖然看上去非常粗,是因為我們的圖像太小,只有5個像素長、寬,所以最終得到結(jié)果看到的是兩個像素位置,如果在一個500 x 500的圖當(dāng)中,就是一個豎直的邊緣了。
?
隨著深度學(xué)習(xí)的發(fā)展,我們需要檢測更復(fù)雜的圖像中的邊緣,與其使用由人手工設(shè)計的過濾器,還可以將過濾器中的數(shù)值作為參數(shù),通過反向傳播來學(xué)習(xí)得到。算法可以根據(jù)實際數(shù)據(jù)來選擇合適的檢測目標(biāo),無論是檢測水平邊緣、垂直邊緣還是其他角度的邊緣,并習(xí)得圖像的低層特征。
總結(jié)
- 上一篇: BN与神经网络调优
- 下一篇: python 爬取手机app的信息