熱線(xiàn)電話(huà):0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
在人工智能深度學(xué)習(xí)技術(shù)中,有一個(gè)很重要的概念就是卷積神經(jīng)網(wǎng)絡(luò) CNN(Convolutional Neural Networks)。卷積神經(jīng)網(wǎng)絡(luò)被廣泛地運(yùn)用到計(jì)算機(jī)視覺(jué)中,用于提取圖像數(shù)據(jù)的特征,其中發(fā)揮關(guān)鍵作用的步驟就是卷積層中的卷積運(yùn)算。卷積到底是什么?深度學(xué)習(xí)中的卷積運(yùn)算與傳統(tǒng)的信號(hào)與系統(tǒng)中的卷積算子有什么不同?為什么卷積運(yùn)算可以提取圖像的特征呢?下面一文三分鐘讓你讀懂卷積運(yùn)算與圖像處理。
卷積一詞最開(kāi)始出現(xiàn)在信號(hào)與系統(tǒng)中,是指兩個(gè)原函數(shù)產(chǎn)生一個(gè)新的函數(shù)的一種算子。卷積運(yùn)算在運(yùn)算過(guò)程可以概括為翻轉(zhuǎn)、平移再加權(quán)求和三個(gè)步驟,其中的加權(quán)求和就是乘加操作。另外,卷積運(yùn)算還有一個(gè)重要的特性:空間域卷積=頻域乘積,這一點(diǎn)可以解釋為什么卷積運(yùn)算可以自動(dòng)地提取圖像的特征。
在卷積神經(jīng)網(wǎng)絡(luò)中,對(duì)數(shù)字圖像做卷積操作其實(shí)就是利用卷積核(黃底部分)在圖像(綠底部分)上滑動(dòng),將圖像上的像素灰度值與對(duì)應(yīng)卷積核上的數(shù)值相乘,然后將所有相乘后的值相加作為此時(shí)的輸出值(紅底部分),并最終滑動(dòng)遍歷完整副圖像的過(guò)程。
動(dòng)圖來(lái)源于:stanford.edu, Feature extraction using convolution
大家仔細(xì)觀(guān)察上述動(dòng)圖,圖像中的卷積操作相比于信號(hào)與系統(tǒng)中的卷積是不是少了點(diǎn)什么?我們可以看到,圖像中卷積的計(jì)算過(guò)程相對(duì)于信號(hào)與系統(tǒng)中的卷積算子缺少了翻轉(zhuǎn)這一步,只有平移和乘加兩個(gè)步驟。那么圖像的卷積操作是否需要進(jìn)行翻轉(zhuǎn)呢?
事實(shí)上,深度學(xué)習(xí)中卷積核其實(shí)無(wú)需進(jìn)行翻轉(zhuǎn)的,因?yàn)榫矸e核中的所有權(quán)重都是隨機(jī)初始化,開(kāi)始是不確定的。網(wǎng)絡(luò)每次更新迭代都是為了去尋找一個(gè)最合適的卷積核權(quán)重值,所以是否翻轉(zhuǎn)也就無(wú)關(guān)緊要了;另一個(gè)原因是在圖像處理中的卷積核一般是對(duì)稱(chēng)的,翻轉(zhuǎn)也就顯得不那么必要。
以上是傳統(tǒng)信號(hào)與系統(tǒng)中的卷積算子與卷積神經(jīng)網(wǎng)絡(luò)中的卷積運(yùn)算的異同點(diǎn)。而卷積神經(jīng)網(wǎng)絡(luò)被廣泛運(yùn)用到計(jì)算機(jī)視覺(jué)的最大一個(gè)原因就是卷積層可以自動(dòng)地提取圖像特征。
圖像中的特征通常指代圖像中物體的輪廓與紋理信息,而通常物體的細(xì)節(jié)(可以簡(jiǎn)單地理解為圖像中像素點(diǎn)灰度值變換緩慢的地方)帶來(lái)的信息量較少。我們通常所說(shuō)的圖像特征提取的過(guò)程是在保留圖像輪廓和紋理的同時(shí),去掉冗余信息的過(guò)程。
物體輪廓
圖片來(lái)源:CMU, Computational Photography, Fall 2019
那么如何區(qū)分圖像的特征與圖像的冗余信息量呢?如下面這幅人物圖像,如果我們不對(duì)原始圖像做處理,很難將圖像的特征與冗余信息量區(qū)分開(kāi)來(lái)。我們可以換一個(gè)角度,不從時(shí)空域來(lái)區(qū)分,而是抓住圖像細(xì)節(jié)和圖像輪廓紋理的頻率不一樣這一特征,把一副圖像放在頻域中以區(qū)分圖像的細(xì)節(jié)與圖像的輪廓紋理。我們將這幅人物圖像(左)轉(zhuǎn)換到頻域中得到頻域中的該圖像(右),離中心點(diǎn)越近的分量頻率越低,離中心點(diǎn)越遠(yuǎn)的分量頻率越高。
頻域圖像
圖片來(lái)源:CMU, Computational Photography, Fall 2019
現(xiàn)在我們將用一個(gè)模板來(lái)分離高低頻分量。如左圖所示的模板1中,其數(shù)值取值范圍為0到1。模板中的點(diǎn)越黑其數(shù)值月接近于0,越白越接近于1。將模板1與頻域圖像相乘后,就可以只保留高頻部分去除離中心點(diǎn)較近的低頻分量,再將圖像轉(zhuǎn)換回到空間域中,可以看到圖像的高頻分量(右)是輪廓和紋理特征。
從左到右(模板1、高頻分量)
圖片來(lái)源:CMU, Computational Photography, Fall 2019
同樣的操作方式,將模板2與頻域圖像相乘,頻域圖中的低頻分量可以被選取出來(lái),再將低頻分量轉(zhuǎn)換到空間域中,可以看到低頻分量代表著細(xì)節(jié)特征。這時(shí)我們就可以成功地將圖像的輪廓紋理與細(xì)節(jié)信息從頻率的角度區(qū)分開(kāi)來(lái)了。
圖片來(lái)源:CMU, Computational Photography, Fall 2019
以上處理過(guò)程,實(shí)際就是在頻域中將模板與頻域圖像相乘,以區(qū)分圖像輪廓紋理與細(xì)節(jié)信息的過(guò)程。而頻域相乘就等于空間域卷積,這是我們剛才提及到的卷積的重要特性。那么上述在頻域中的操作等同于空間域中的圖像與空間域中的模板做卷積,這樣我們從頻域的角度,就可以解釋卷積操作能夠提取圖像特征的原因。