demi 發表於 2019-11-02 11:23:43
在人工智慧深度學習技術中,有一個很重要的概念就是卷積神經網絡 CNN(Convolutional Neural Networks)。
卷積神經網絡被廣泛地運用到計算機視覺中,用於提取圖像數據的特徵,其中發揮關鍵作用的步驟就是卷積層中的卷積運算。
卷積到底是什麼?深度學習中的卷積運算與傳統的信號與系統中的卷積算子有什麼不同?為什麼卷積運算可以提取圖像的特徵呢?下3分鐘帶你讀懂卷積運算與圖像處理。
了解卷積運算
卷積神經網絡中的核心即為 卷積運算,其相當於圖像處理中的 濾波器運算。對於一個 m×n大小的卷積核:
卷積一詞最開始出現在信號與系統中,是指兩個原函數產生一個新的函數的一種算子。
卷積運算在運算過程可以概括為翻轉、平移再加權求和三個步驟,其中的加權求和就是乘加操作。
另外,卷積運算還有一個重要的特性:空間域卷積=頻域乘積,這一點可以解釋為什麼卷積運算可以自動地提取圖像的特徵。
在卷積神經網絡中,對數字圖像做卷積操作其實就是利用卷積核(黃底部分)在圖像(綠底部分)上滑動,將圖像上的像素灰度值與對應卷積核上的數值相乘,然後將所有相乘後的值相加作為此時的輸出值(紅底部分),並最終滑動遍歷完整副圖像的過程。
動圖來源於stanford.edu, Feature extraction using convolution
仔細觀察上述動圖,圖像中的卷積操作相比於信號與系統中的卷積少了點什麼?
我們可以看到,圖像中卷積的計算過程只有平移和乘加兩個步驟,相對於信號與系統的卷積算子缺少了翻轉。
那麼,圖像的卷積操作是否需要進行翻轉呢?
事實上,深度學習中卷積核是無需進行翻轉的,因為卷積核中的所有權重都是隨機初始化,開始不是確定的。網絡每次更新迭代都是為了尋找一個最合適的卷積核權重值,所以是否翻轉也就無關緊要了。除此之外,圖像處理中的卷積核一般是對稱的,翻轉也就顯得不那麼必要。
卷積神經網絡被廣泛運用到計算機視覺的最大一個原因,就是卷積層可以自動地提取圖像特徵。
提取圖像特徵
圖像中的特徵通常指代圖像中物體的輪廓與紋理信息,而通常物體的細節(可以簡單地理解為圖像中像素點灰度值變換緩慢的地方)帶來的信息量較少。我們通常所說的圖像特徵提取的過程是在保留圖像輪廓和紋理的同時,去掉冗餘信息的過程。
物體輪廓
物體紋理,圖片來源The Berkeley Segmentation Dataset and Benchmark
那麼如何區分圖像的特徵與圖像的冗餘信息量呢?
如下面這幅人物圖像,如果我們不對原始圖像做處理,很難將圖像的特徵與冗餘信息量區分開來。
我們可以換一個角度,不從時空區域來區分,而是抓住圖像細節和圖像輪廓紋理的頻率不一樣這一特徵,把一副圖像放在頻域中以區分圖像的細節與圖像的輪廓紋理。
我們將這幅人物圖像(左)轉換到頻域中的該圖像(右),離中心點越近的分量頻率越低,離中心點越遠的分量頻率越高。
原圖
頻域圖像,圖片來源CMU, Computational Photography, Fall 2019
現在我們將用一個模板來分離高低頻分量。
如左圖所示的模板1中,其數值取值範圍為0到1。模板中的點越黑其數值越接近於0,越白越接近於1.
將模板1與頻域圖像相乘後,就可以只保留高頻部分去除離中心點較近的低頻分量,再將圖像轉換回到空間域中,可以看到圖像的高頻分量(右)是輪廓和紋理特徵。
模板1
高頻分量,圖片來源:CMU, Computational Photography, Fall 2019
同樣的操作方式,將模板2與頻域圖像相乘,頻域圖中的低頻分量可以被選取出來,再將低頻分量轉到空間域中,可以看到低頻分量代表著細節特徵。這時我們就可以成功地將圖像的輪廓紋理細節信息從頻率的角度分開來了。
模板2
低頻分量,圖片來源CMU, Computational Photography, Fall 2019
以上處理過程,實際就是在頻域中將模板與頻域圖像相乘,以區分圖像輪廓紋理與細節信息的過程。
而頻域相乘就等於空間域卷積,這是剛才提及到的卷積的重要特性。那麼上述在頻域中的操作等同於空間中的圖像與空間域中的模板做卷積,這樣從頻域的角度,就可以解釋卷積操作能夠提取圖像特徵的原因。
打開APP閱讀更多精彩內容聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴