看板 DataScience 關於我們 聯絡資訊
我覺得可能很多人並不懂卷積網路的基本概念,舉例來說,原始yolo可以接受的input size應該是32的倍數,而不是13的倍數... 卷積網路在運算過程中經常會有pooling(或是現在比較喜歡用步輻為2的卷積器)做下採樣,原則上yolo所提出的概念是使用任意結構的網路皆可以進行目標檢測,而他厲害的地方是它訂出了一個output結構讓網路可以根據這個output來進行目標檢測 在講yolo2之前我們先講yolo,原始yolo版本的輸出是對最後一層的每個像素(也就是前面一直提到的13*13,但原始yolo的output是7*7)做一次預測,而預測內容包含: 1. 2個最有可能的物件框,參數包含 (1) 0~1的機率描述是否存在非背景物體 (2) 物件框的相對x座標(以該範圍的百分比定義) (3) 物件框的相對y座標(以該範圍的百分比定義) (4) 物件框的相對寬度 (以n倍的原始範圍定義,如一個最終終像素在yolo中對應的是32*32個原始像素,所以這個數字為2代表對應到原來64的範圍) (5) 物件框的相對長度 以上共有10個output。 2. 可能的類別數,描述這個框所框到的東西是甚麼,一樣輸出0~1之間的機率(一般後面這些output會經過softmax) 有了這個概念後,假定有一個32*32的輸入圖像,這樣最終特徵圖就是1*1,那yolo就是輸出2個可能的方框供人參考,而假設原始輸入圖像是320*320,那就會輸出200個可能的方框 而yolo2和yolo的差別在,yolo是使用像素作為預測,如果有一個物件他大小接近整張圖,這樣一個32*32的範圍會預測的好也是滿奇怪的,所以精準度不夠,因此yolo2先使用一些clustering的方式先找出訓練集的方框大概都在哪,然後制定出ROI,並進行ROI pooling再做預測。除此之外,作者在訓練yolo2時,為了讓他能適應各種大小的物件,因此每10代會將所有圖片及相對應的label調整為一個任意32的倍數,用這種類似data augmentation訓練網路。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.60.122.10 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1523941600.A.9DA.html
ching0629: 再補充一個點好了,物件檢測的loss function是一個同 04/17 13:09
ching0629: 時考慮原始方框與預測方框重疊面積,以及分類正確度的 04/17 13:09
ching0629: 一個損失函數,詳細的自己去找paper看吧,式子有點長 04/17 13:10
KyotoAnime: 推 想問 如一個最終終像素在yolo中對應的是32*32個原 04/17 16:41
KyotoAnime: 始像素 這句 04/17 16:41
KyotoAnime: 事實上他好像沒有真的去切grid? 最終的像素會對應到 04/17 16:43
KyotoAnime: 原始的像素 但並不會剛好是paper畫的整齊的grid吧 也 04/17 16:43
KyotoAnime: 就是對應回去可能會有重疊的部分? 04/17 16:43
KyotoAnime: 還是他的stride 剛好會讓彼此完全不重疊 04/17 16:44
OnePiecePR: 好像是 Anchor 會在原定的grid 裏頭,長出的bounding 04/17 20:02
OnePiecePR: 就不確定了。 04/17 20:02
NMOSFET: 謝謝c大的解說 04/17 22:16