1. 程式人生 > >卷積深層網絡+圖像定位

卷積深層網絡+圖像定位

nms 分割 分類問題 bat 其中 pre 是否 stride 最小

定義與概念:

定位問題與單純的分類問題的區別,實際上是在softmax時多輸出表示坐標的四個參數: (中心點bx by , 高和寬 bh bw )。

->比較早期的做法是使用滑動窗口, 先定義窗口尺寸, 依次識別窗口是否出現目標物體, 采用01分類。

->現在一般使用Bounding box + Anchor box, 以每個格子建立坐標系,左上角為0,0 取物體中心點 確定落在哪個格子。

anchor box: 如果一個格子出現多種對象,首先根據這兩個對象特征構建兩個格子,每個格子還是8個特征, e.g. (Pc, bx, by, bw, bh, c1, c2, c3), 最終是3*3*2*8個特征值。 這樣做的好處是,兩個對象中點很難在一個格子裏,而且更有針對性。

e.g. 輸入圖片416*416, 經過23層卷積,最終映射到13*13 的特征圖上, 同時定義Bounding box的大小為13*13, 那麽圖像就被分割為32*32個小grid, 在每個grid中進行預測, 找到目標物體的中心點坐標。 對於這種思想, 應在項目中詳細理解, 等我完成重新源碼後,會上傳代碼, 待完成....

->交並比iou: 邊框交集面積/並集面積 閾值0.5, 主要用於非極大值抑制, 去掉同一分類中最大重復的邊框。

->非極大值抑制: 求出預測參數(pc*c1*c2...) 去掉pc小於0.6以下的值, 如果找出最大值,則找出其他與最大值邊框嚴重重合iou的邊框,使這些其他邊框變暗。

目標檢測算法的發展:

YOLO1

卷積層: 用來提取特征值, 全連接層: 用來預測。

全連接輸出: 7*7*30 7: 將輸入圖片拆分為7個網格,30: 2*5 +20 其中2個bounding box, 每個box5個坐標參數, confidence=pred*iou。

iou: 總分數一共有 20*(7*7*2) 個:
20個分類, 遍歷每個分類,先將得分少於閾值的設置為0, 再用NMS去掉重復率最大的bounding box(針對每個類,先找出評分最高的,計算每個box與它的iou,如果交並比大於0.5,認為重復,過濾。)

損失函數: 對分類與坐標采用不同權重, 增大分類結果的懲罰效果, 降低坐標預測結果的懲罰效力, 因為非目標點數目眾多。

grid cell 如何預測object: 找到object的中心點,看它落在哪個grid cell,就由那個grid cell預測。

YOLO2

1. 提升泛化能力: 在每次卷積後添加batch_normal, 使每批數據分布在激活之前相同。

2. 在卷積時使用anchor boxes: yolo1在最後一層全連接1470*1後reshape為7*7*30使用bounding box預測, Bounding box 實際上只能畫出兩類邊框 2*[pc,bx, by, bw, bh], 而采用Anchor box後, 將會對每類預測邊框, 5*[pc, bx, by, bw, bh, c1, c2, ...c20] 。

yolo2使用卷積降采樣,等比例縮小32倍,在卷積中每個特征點 與原圖中 每個cell一一對應,使用相對偏移,取代直接坐標。

使用416奇數輸入產生一個center cell。

yolo1通過每個cell進行預測, 首先在每個cell 預測 2個bounding box坐標與置信度,再預測分類,7*7*(2*5+20)。

yolo2將cell與bounding box解藕,直接在每個cell預測anchor box的坐標、置信度與分類,13*13*(2*(5+20))。

3.細粒度特征
將高低分辨率的特征圖連接, 獲得更高分辨率, 將26*26*512 reshape為 13*13*2048 連接到最後一層13*13

4.多尺寸訓練
每經過10批訓練,就會使用新的尺寸,降采樣參數為32,最小320*320, 最大608*608,滿足不同尺寸圖片要求。

5.將分類網絡轉為檢測網絡,去掉原網絡最後一個卷積層增加三個3*3*1024卷積層,並在每一個卷積後跟一個1*1卷積。

YOLO3

1. 增加檢測級數, 在yolo2細粒度的基礎上, 使用兩個上采樣提取更細粒度的圖像特征:

在13*13的基礎上,增加兩個上采樣26*26, 52*52, 從每個cell預測5個bounding box變為3個, 但是數目卻增加很多 3*(13*13+26*26+52*52)。

多級檢測:
當strides為32時,特征圖為13,此時進行上采樣,上采樣因子為2,連接上一卷積層,依次...

在每一種尺寸,每個cell預測3個bounding box 即anchor box, 對於每個尺寸,anchor box也不相同。

2.使用logistic loss代替softmax, 每個bounding 與 ground trurh一一匹配。


3.加深網絡,使用殘差網絡,增加層數是為了上采樣。

卷積深層網絡+圖像定位