OverFeat 個人總結

2021-09-24 10:27:51 字數 3814 閱讀 2119

卷積網路的優點:end to end,由畫素對應到最終的類別

缺點:需要大量已標記的樣本

本文主要介紹了利用overfeat進行分類定位檢測這三大視覺任務。

1. 分類

影象中通常包含乙個大型物件,每張影象分配乙個該影象中主要物件的label,允許5個prediction來找到正確的label,因為影象中可能含有多個其他物件。

2. 定位

定位通常與分類一起。

影象中通常包含乙個大型物件,除了需要給出5個prediction,還需要返回影象中主要物件的bbox (bounding box),且bbox與gt的iou必須達到50%。每個bbox必須標註為正確的label,即bbox和label不能分離。

3. 檢測

與分類和定位不同,每張影象都可以由任意數量的object (也可以沒有object),評價標準是map。

分類和定位共享資料集,但是檢測需要額外的資料(因為object更小)

訓練集:imagenet (120w, c=1000)

其中,訓練的影象不是原始影象,而是fixed crop。把影象縮放為最小邊長為256 pixels,然後隨機擷取5個大小分別為221x221的crop,水平翻轉後變為10個。然後進行訓練。

overfeat的網路結構為8、9層(快速版和精確版)。

關於stride,需要注意,stride大雖然有利於速度,但會損害準確性。

multi-scale classification:

傳統的檢測/定位演算法是固定image不變,採用不同的sliding window來支援不同尺度的物體。

對於cnn,sliding window的大小就是訓練時input的大小,是不可改變的。所以,cnn支援多尺度的方法就是固定sliding window的大小,改變image的大小(將影象resize到對應的尺度上)。

sliding window的 stride = 所有conv layer和pooling layer的stride的乘積。

sliding window的 size = 第乙個fc層input size

本文在分類(即測試)時,採用的是金字塔+sliding window的方法。

即對影象做不同尺度的縮放,對不同尺度的image進行卷積,得到不同尺寸的feature map,然後用固定大小(i.e.5x5)的sliding window以等距步長在feature map上滑動,對每個sliding window進行分類。

——————————————2018/03/18更新————————————————————–

overfeat得名於此。feat即feature,over feat就是說我們得到了不同尺寸的feature map,並且在feature map上遍歷。

———————————————更新完畢—————————————————————–

需要注意的是,滑動視窗的stride根據上面的公式,一般而言是比較大的。這會造成feature map上某些位置無法採用得到。本文在layer-5 層max pooling之前做了乙個offset處理:針對feature map,pooling filter分別從(0,0),(0,1),(0,2),(1,0),……,(2,2)處開始滑動,得到9個不同的feature map。即每個尺度得到9個feature map。

我們最終分類是通過這樣的步驟

1.在每個尺度下,去每個類的最大值,這樣構成c維向量;

2.對不同尺度的c維向量取均值

3.取平均化後的c維向量的top1或top5作為**的類

定位模型與分類模型在卷積層方面完全相同,都是用於提取特徵。只是最後用回歸層取代分類層,最後將回歸**的bbox與分類結果結合起來。

因此我們固定分類網路的卷積層(1-5層),即引數不需變動。單獨訓練回歸層(利用**框與gt的l2 loss來訓練)

回歸層的輸出層是class specific的,即對於每個類,都需要單獨訓練最後一層。深度為1000,代表1000個類,輸出1000個bbox,每個bbox對應一類。

回歸層有兩個fc層,單元為4096,1024.(可能是交叉驗證得到的)

定位時,對每個尺度同時執行分類網路和回歸網路。這樣,分類網路給出類別的概率,回歸網路為每個類**乙個bbox。這樣對於每個bbox,就有乙個置信度與之對應。

置信度:分類器給出**類別的概率,而分類器本身的結果是否可靠是根據置信度來評判。

bbox最初都是grid,慢慢合併成不同尺度和尺寸的box。

合併**

1.在6個尺度下執行分類網路,在每個尺度下選取top-k個類別,即對每張**類別,放在cs集合中(這裡面是一張的s尺度下類別集合)。

2.在每個尺度s下,執行回歸網路**bbox,將cs中每個類的bbox放在bs集合中。

3.將各個尺度的bs取並集,為b。

4.對bbox進行融合

取b1,b2

計算math_score(兩bbox交集的中心與這兩個bbox中心的距離之和)

如果match_score超出閾值t,則不合併這兩個bbox

如果match_score小於閾值,就在b中刪除不b1,b2.將merge_box(b1、b2的座標平均值)放入b中。

最終的結果是得到帶有最高置信度的bboxes。

置信度低的bbox會在最後的detection image中消失(比如其他的小物體,非影象中的主要物體),但不僅僅是因為更低的置信度,還因為他們的bbox集合bs不想熊一樣連續,缺乏bbox的一致性,從而沒有持續的置信度積累。

是分類和定位的結合。不同的是,一張可能多個位置同時訓練,且中沒有物體的時候,需要**背景。

注意:使用密集的sliding window會增加false postive。

1. (講分類、fcn講的不錯)

2.**:

OverFeat 部分翻譯 總結

overfeat integrated recognition,localization and detection using convolutional networks 部分翻譯 提出了一種利用卷積網路進行分類 定位和檢測的綜合框架。我們展示了乙個多尺度和滑動視窗的方法可以有效地實現在乙個co...

個人linux總結

個人linux總結 1.更改telnet登入慢的問題 cd etc vi resolv.conf 將裡面內容清空 2.更改root使用者不能直接遠端登入問題 cd etc cd pam.d vi login 注釋掉這行 auth required pam securetty.so 該行注釋掉 3.掛...

ssh個人總結

技術面試官叫我談談 ssh優缺點 平時用起來倒是挺順手.但是從來沒有系統的總結過.導致很多點會都沒有說出來.這次我認真總結了一下.常說的好處 開源 常說的壞處 配置檔案過大我就不提了 struts 優點 收集,驗證表單資料相比傳統servlet簡單 優雅的實現可配置的請求 缺點 屬侵入設計 acti...