空間金字塔池化SPP

2021-09-14 05:06:36 字數 818 閱讀 8661

空間金字塔池化,使得任意大小的特徵圖都能夠轉換成固定大小的特徵向量,送入全連線層。

對特徵圖尺寸有要求的部分就是從卷積層到全連線層過渡的那裡。因為全連線層y=w*x,w是固定的。

我們假設乙個很簡單兩層網路:輸入一張任意大小的,假設其大小為(w,h),輸出21個神經元。也就是我們輸入一張任意大小的特徵圖的時候,我們希望提取出21個特徵。空間金字塔特徵提取的過程如下:

如上圖所示,當我們輸入一張的時候,我們利用不同大小的刻度,對一張進行了劃分。上面示意圖中,利用了三種不同大小的刻度(4* 4,2* 2,1*1),對一張輸入的進行了劃分,最後總共可以得到16+4+1=21個塊,我們即將從這21個塊中,每個塊提取出乙個特徵,這樣剛好就是我們要提取的21維特徵向量。

第一張,我們把一張完整的,分成了16個塊,也就是每個塊的大小就是(w/4,h/4);

第二張,劃分了4個塊,每個塊的大小就是(w/2,h/2);

第三張,把一整張作為了乙個塊,也就是塊的大小為(w,h)。

空間金字塔最大池化的過程,其實就是從這21個塊中,分別計算每個塊的最大值,從而得到乙個輸出神經元。最後把一張任意大小的轉換成了乙個固定大小的21維特徵(當然你可以設計其它維數的輸出,增加金字塔的層數,或者改變劃分網格的大小)。上面的三種不同刻度的劃分,每一種刻度我們稱之為:金字塔的一層,每乙個塊大小我們稱之為:windows size了。如果你希望,金字塔的某一層輸出n*n個特徵,那麼你就要用windows size大小為:(w/n,h/n)進行池化了。

python 金字塔 Python金字塔

托倫,函式中有幾個小錯誤和乙個邏輯問題print y to a 請注意,此函式生成乙個以z開頭的字串,但您希望將字串以相反的方向連線,而您的另乙個函式print a to y 確實停止了 1位置 例如 還要注意,您需要新增新行字元 n 以獲得一些不錯的輸出。在 我的解決方案是 def print a...

金字塔池化系列的理解SPP ASPP

在spp出來之前,所有神經網路都是要輸入固定尺寸的,比如經常遇到的224 224,輸入網路前都要resize到224 224,導致變形,其中的資訊也變形了,從而限制了識別精度。而spp和aspp就是為了解決這個問題,它可以讓網路輸入原圖而不必resize。剛看到這張結構圖,很多同學可能和我一樣懵 原...

字母金字塔(類同數字金字塔)

問題描述 讓程式要求使用者輸入乙個大寫字母,使用巢狀迴圈產生像下面這樣的金字塔圖案 aaba abcba abcdba abcdecba 演算法分析 每行包括三個部分內容 若干個空格 正序排列的字母 倒序排列的字幕。使用乙個外部迴圈來處理行,在每乙個行中使用三個內部迴圈 乙個處理空格,乙個以公升序列...