深度學習 簡述卷積層如何檢測物體邊緣原理

2021-08-15 08:39:07 字數 1040 閱讀 2140

對計算機視覺與深度學習有所了解的同學應該知道影象卷積可以識別出物體,在神經網路的前幾層,識別出物體最基礎的例如垂直或是水平的邊緣。在之後的隱藏層慢慢可以識別出物體的部分,直到最後幾層可以識別出完整的物體。

本篇文章主要介紹卷積層為何可以檢測出這些。

先介紹乙個概念,過濾器:

這是乙個3*3的過濾器,是乙個矩陣,數值如上所示,一會介紹這是幹嘛用的。

假設我們有乙個6*6的灰度影象:

把這個影象與過濾器進行卷積運算,卷積運算在此處用「*」表示。

我們看一下發生了什麼事,把過濾器最準影象左上方3*3的範圍,逐一相乘並相加,得到-5。

同理,將過濾器右移進行相同操作,再下移,直到過濾器對準影象右下角最後一格。依次運算得到乙個4*4的矩陣。

ok,了解了過濾器以及卷積運算後,讓我們看看為何過濾器能檢測物體邊緣:

舉乙個最簡單的例子:

可以看到,最終得到的結果中間是一段白色,兩邊為灰色,於是垂直邊緣被找到了。為什麼呢?因為在6*6影象中紅框標出來的部分,也就是影象中的分界線所在部分,與過濾器進行卷積,結果是30。而在不是分界線的所有部分進行卷積,結果都為0.

在這個圖中,白色的分界線很粗,那是因為6*6的影象實在太小了,若是換成1000*1000的影象,我們會發現在最終結果中,分界線不粗且很明顯。

這就是檢測物體垂直邊緣的例子,水平邊緣的話只需將過濾器旋轉90度。

深度學習物體檢測(七) SSD

yolo 模型每個網格只 乙個物體,容易造成漏檢 對於物體的尺度相對比較敏感,對於尺度變化較大的物體泛化能力較差。針對 yolo 中的不足,提出的 ssd single shot multibox detector 方法同時兼顧了 map 和實時性的要求。對於輸入影象大小為 300 300 在 vo...

深度學習 七十二 ssd物體檢測

def ssd anchor one layer img shape,feat shape,sizes,ratios,step,offset 0.5,dtype np.float32 計算每個default center歸一化後的座標,因為是center,所以要加offset y,x np.mgri...

深度學習筆記(24) 卷積層

乙個典型的卷積神經網路的卷積層,而通常有三層 首先介紹的是卷積層conv,從conv的向前傳播開始 前向傳播中乙個操作就是 z 1 w 1 a 0 b 1 其中 a 0 x 執行非線性函式得到 a 1 即 a 1 g z 1 這裡的輸入是a 0 也就是x,這些過濾器用變數 w 1 表示 在卷積過程中...