深度學習 從2D卷積到3D卷積的簡單理解

2021-10-04 20:19:08 字數 2093 閱讀 8359

很多人容易混淆2d卷積和3d卷積的概念,把多通道的2d卷積當成3d卷積,本文展示了一種直觀理解2d卷積和3d卷積的方式。

首先了解什麼是卷積核,卷積核(filter)是由一組引數構成的張量,卷積核相當於權值,影象相當於輸入量,卷積的操作就是根據卷積核對這些輸入量進行加權求和。我們通常用卷積來提取影象的特徵。

直觀理解如下:下圖使用的是 3x3卷積核(height x width,簡寫h×w

h \times w

h×w) 的卷積,padding為1(周圍的虛線部分,卷積時為了使卷積後的影象大小與原來一致,會對原影象進行填充),兩個維度上的strides均為1(滑動步長,這裡體現為每次滑動幾個小方格)。

上圖是通道數為1的2維影象的卷積操作,靜態表示為:

了解了單通道影象的卷積之後,再來看多通道影象的卷積,我們知道灰度影象只有乙個通道,而 rgb 影象有r、g、b三個通道。

多通道影象的一次卷積要對所有通道上同一位置的元素做加權和,因此卷積核的shape變成了 h×w

×cha

nnel

sh\times w\times channels

h×w×ch

anne

ls,沒有錯卷積核變成了3維,但這不是3維卷積,因為我們區分幾維卷積看的是卷積核可以在幾個維度上的滑動,卷積核是不能在cha

nnel

schannels

channe

ls上滑動的,因為上面提到每次卷積都要關聯所有通道上同一位置上的元素。

3通道的卷積表示如下:

上圖將3個通道分開表示,卷積核也分開表示,filter1、filter2、filter3均為二維卷積核,堆疊在一起便形成了h×w

×3h\times w \times 3

h×w×

3的卷積核,同樣的我們將3個通道也堆疊在一起,於是形成了下面的3維表示圖:

用類似的方法我們先分析單通道影象的3d卷積,3d卷積的物件是三維影象,因此卷積核變成了dep

th×h

eigh

t×wi

dthdepth\times height\times width

depth×

heig

ht×w

idth

簡寫為d×h

×wd\times h\times w

d×h×

w。單通道的3d卷積動態圖如下:

將上述靜態表示成:

多通道的3d卷積核shape為d×h

×w×c

hann

elsd\times h\times w\times channels

d×h×w×

chan

nels

,我們還是首先將各通道分開畫:

然後將filter1、filter2、filter3堆疊在一起形成乙個4維卷積核d×h

×w×3

d \times h\times w \times 3

d×h×w×

3,同理將各通道堆疊在一起就形成了多通道的3d卷積輸入影象。

2D轉換 3D轉換

轉換是使元素改變形狀 尺寸和位置的一種效果。能夠對元素進行移動 縮放 轉動 拉長或拉伸。2d轉換 瀏覽器相容 1 internet explorer 10 firefox 以及 opera 支援 transform 屬性。2 chrome 和 safari 需要字首 webkit 3 interne...

2d遊戲引擎 8年,從2D到3D,我的學習之路

mickey 寫了一篇 乙個本科畢業生創業兩年的感悟 從他的視角,總結了我們合作的兩年經歷。我也來寫一篇,介紹我的學習之路,希望對大家有所幫助,謝謝大家 1.直接從0開始做專案,邊做邊學習,在做的過程中不斷思考和反思當前的設計和實現,不斷地修正,不斷地迭代。2.做完乙個專案後,沉澱和昇華 a 根據做...

8年,從2D到3D,我的學習之路

mickey 寫了一篇 乙個本科畢業生創業兩年的感悟 從他的視角,總結了我們合作的兩年經歷。我也來寫一篇,介紹我的學習之路,希望對大家有所幫助,謝謝大家 1.直接從0開始做專案,邊做邊學習,在做的過程中不斷思考和反思當前的設計和實現,不斷地修正,不斷地迭代。2.做完乙個專案後,沉澱和昇華 a 根據做...