[問題] YOLO中的Anchor box無法理解

看板DataScience作者 (principal component QQ)時間3年前 (2021/05/03 17:38), 3年前編輯推噓2(2010)
留言12則, 3人參與, 3年前最新討論串1/1
請教各位高手,如何理解anchor box在yolo中的實際運作? 不考慮anchor-free的類型, 舉個例子,在簡單的情況下, 假設在沒有anchor box的情況下, 假設有 3 + 1 個物體類別(車子、人、貓咪以及背景)。 對於一張圖片(尺寸為12 x 12), 假設將其劃分成 3 x 3 個 cell,那麼其中每個cell的尺寸為 4 x 4 pixel。 假設卷積的間隔是 4 (sliding windows的大小),假設我們只用一次卷積層, 來獲得預測結果。 那麼結果會是一個 3 x 3 x 8 的張量(tenser), 其中 3 x 3 對應到上面劃分的 cell 位置, 而 8 代表一個向量(Pc, Bx, By, Bh, Bw, C1, C2, C3), 其中 Pc 代表這個cell有沒有可辨識的物體, (Bx, By, Bh, Bw)代表Bounding box的位置, (C1, C2, C3)代表了是哪個物體的機率,這裡不考慮背景。 今天我想理解anchor box在YOLO中實際的運作模式, 我參考了 https://reurl.cc/kVz7jx 中的影片。 理解了假設有 2 個 anchor 的話, 那麼結果會是一個 3 x 3 x 2 x 8 的張量(tenser)。 問題來了,anchor可以像是影片中長的、寬的, 那整個卷積過程在訓練中是如何運作? 在訓練過程中,我的理解是將每個cell去做padding, 這裡的padding需要考慮兩個情況, 一個是邊邊的部份,不足可以用補 0 來填空, 另一個是中間,就延伸考慮 cell 外面的 pixel , 讓 cell 經過 padding 變成跟anchor box一樣的大小, 將 anchor box 當作一個 filter 去對每個 cell 做卷積, 這樣做結果就會是 3 x 3 x 1 x 8 , 然後我有兩個 anchor box ,所以結果就會是影片中 3 x 3 x 2 x 8 的形狀。 以上好像說的通,但實際上我是瞎掰腦補的,參考影片中的 4:56 秒, 這裡我看不懂它考慮兩個 anchor box 的說明, 我只看得懂要選最大的IoU,也不知道是誰跟誰比, 總之跟我前面的理解差的有點多... 想了很久想不通,Google找到的資料都是那幾張圖, 然後看不懂還是看不懂。 有沒有大神可以從這個簡單的範例說明, anchor box 在訓練中如何運作? 在預測中又是如何使用? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.196.186 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1620034693.A.E90.html ※ 編輯: wheado (118.168.196.186 臺灣), 05/03/2021 17:39:48

05/03 18:56, 3年前 , 1F
其實啥都沒做 在第三個維度只靠訓練時的label決定他的
05/03 18:56, 1F

05/03 18:56, 3年前 , 2F
anchor要哪種長寬比 其他的運算都是一樣的
05/03 18:56, 2F

05/03 18:56, 3年前 , 3F
也就是說靠學習來讓網路記住某種長寬比在第三維度要為
05/03 18:56, 3F

05/03 18:57, 3年前 , 4F
1 其他要為0
05/03 18:57, 4F

05/03 18:59, 3年前 , 5F
所以網路在預測時 會在第三維度選出長寬比最相似的anc
05/03 18:59, 5F

05/03 18:59, 3年前 , 6F
hor
05/03 18:59, 6F

05/04 11:08, 3年前 , 7F
我要想一下,在將我的解釋補充上來,謝謝。
05/04 11:08, 7F

05/06 09:35, 3年前 , 8F
影片中在講 如果你有兩個你要如何更新你的true label(y)
05/06 09:35, 8F

05/06 09:37, 3年前 , 9F
如果你有兩個anchor boxes, 某個cell裡只有一個 object
05/06 09:37, 9F

05/06 09:38, 3年前 , 10F
需要根據你的object 的BB跟你兩個anchor BB的IoU決定如
05/06 09:38, 10F

05/06 09:39, 3年前 , 11F
何把oject BB擺到你的label
05/06 09:39, 11F

05/06 09:40, 3年前 , 12F
調整完你的training label之後, 就是硬train一發
05/06 09:40, 12F
文章代碼(AID): #1WZyI5wG (DataScience)
文章代碼(AID): #1WZyI5wG (DataScience)