卷積濾波器如何提取影象特徵

景略集智發表於2018-02-02

歡迎訪問集智主站:集智,通向智慧時代的引擎




在之前的卷積:如何成為一個很厲害的神經網路 - 知乎專欄中,熱心網友提出了這樣的問題:

卷積濾波器如何提取影象特徵

該文在卷積神經網路的構成上講解的比較直觀,但是沒有深入地探討數學原理。本文將詳細介紹卷積濾波器的具體機理,當然不要擔心數學問題,只要能熟練掌握百以內加減法和九九乘法表就可以。

之前在微博上關於神經網路的探討中,話題走向奇怪地走向了奶子(計劃通り),並且王司圖也做出了召喚柏木由紀的承諾,所以這次就以柏木由紀的照片為例,講解影象處理的基本法。

卷積濾波器如何提取影象特徵


01. 暗中觀察

現在我們談的“人工智慧”都是弱人工智慧,更確切地說,還是輔助計算工具。我們不能因為有了神經網路,就像卡茲一樣停止思考。

所以不管藉助神經網路解決任何問題,第一步也是最關鍵的一步,就是了解你的問題本身。反映在具體的應用上,就是要摸清業務背後的邏輯關係,而不是把資料往黑盒裡一扔,開始準備煉丹。如果一遍摸不清,那就再摸一遍。

卷積濾波器如何提取影象特徵

現在我們要做一個物體識別的程式,上圖中可供識別的物體並不多,唯一涼鞋、一褲頭、一奶罩而已,那就奶罩吧。作為一個入門程式,現在那麼早就處理彩色圖片,是不理智、不合適的。所以我們要進行一些簡化,從皮相中剝離出骨相,把最核心的數學原理公然露出,放置Play。

經過“灰度->閾值”兩步,彩圖變成了黑白圖。接下來我們要從計算機視覺的角度去司圖,所以眼前的黑不是黑,你說的白也不是白,所見諸相非相,只是畫素值,0 or 1。

卷積濾波器如何提取影象特徵


02. 見微知著

暫時拋開圖片背景, 經過觀察可知,要從人的身體上識別出奶罩和褲頭,本質上是從白花花中尋找黑乎乎,其實就是從0中找到1。

那我們是不是需要整個奶罩呢?非也,只需要探測出奶罩的邊緣就可以了,這就如同棋道,金角銀邊爛肚皮,只要圍住了眼,就佔住了氣,從而控住了勢。

卷積濾波器是一個比圖片尺寸小的矩陣,這裡設為3x3。我們把圖片縮放至畫素級(猜猜這是哪個部位),這裡每一個小方格背後就是0或1了。卷積核在輸入影象上來回滾動、摩擦,那麼基本上會遇到三種區域(橙框):

  • 全白(肉體)
  • 全黑(奶罩)
  • 黑白(肉體和奶罩的邊緣)

和下圖的對應關係應該也很明顯。

卷積濾波器如何提取影象特徵

這時候,我們的卷積核就像情趣羽毛,掃遍每一個角落, 撩撥你的動感地帶。

卷積濾波器如何提取影象特徵

03. 掐指一算

在上文的圖表中,我們已經見識到了多種濾波器和對應的濾鏡效果,比如邊緣檢測、銳化、均值模糊、高斯模糊。

卷積濾波器如何提取影象特徵

來看第三種邊緣檢測卷積核,其矩陣為:


-1 -1 -1

-1  8 -1

-1 -1 -1

複製程式碼

再取包含邊緣的5x5區域,對應矩陣:


0 0 1 1 1

0 0 1 1 1

0 0 1 1 1

0 0 1 1 1

0 0 1 1 1

複製程式碼

現在這個3x3矩陣(濾波器)要在5x5矩陣上摸一遍,當然摸不是為了爽,而是為計算一個值。計算方式如下圖,黃色方格與紅色數字即是卷積濾波器,而計算的方式就是重疊的對應元素相乘,再相加。(注意:這不是真正的「矩陣乘法」)

卷積濾波器如何提取影象特徵

因為這裡的image在豎直方向上是不變的,所以只需要讓filter沿著最上端滑一圈就行了,總共有三次計算:

1

卷積濾波器如何提取影象特徵

2

卷積濾波器如何提取影象特徵

3

卷積濾波器如何提取影象特徵

最後生成的完整特徵對映(Feature Map)將是:

卷積濾波器如何提取影象特徵

特徵對映的單元位置對應的是卷積核中心(8)的位置,特徵對映的取值有三種:

  • -3:探測到奶罩邊緣,且卷積核位於奶罩外側
  • 3:探測到奶罩邊緣,且卷積核位於奶罩內側
  • 0: 沒有探測到邊緣特徵

現在你應該已經明白了,為什麼濾波器可以提取圖片的特徵。

歡迎在評論中提問、交流,也可以到社群中發帖交流。

相關文章