[問題] YOLO中的Anchor box無法理解
看板DataScience作者wheado (principal component QQ)時間3年前 (2021/05/03 17:38)推噓2(2推 0噓 10→)留言12則, 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
05/03 18:56, 1F
→
05/03 18:56,
3年前
, 2F
05/03 18:56, 2F
→
05/03 18:56,
3年前
, 3F
05/03 18:56, 3F
→
05/03 18:57,
3年前
, 4F
05/03 18:57, 4F
→
05/03 18:59,
3年前
, 5F
05/03 18:59, 5F
→
05/03 18:59,
3年前
, 6F
05/03 18:59, 6F
→
05/04 11:08,
3年前
, 7F
05/04 11:08, 7F
推
05/06 09:35,
3年前
, 8F
05/06 09:35, 8F
→
05/06 09:37,
3年前
, 9F
05/06 09:37, 9F
→
05/06 09:38,
3年前
, 10F
05/06 09:38, 10F
→
05/06 09:39,
3年前
, 11F
05/06 09:39, 11F
→
05/06 09:40,
3年前
, 12F
05/06 09:40, 12F
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章