Re: [問題] 全捲積網路(FCN) 在YOLOV2上訓練的問題

看板DataScience作者 (Syameroke)時間6年前 (2018/04/17 13:06), 編輯推噓4(408)
留言12則, 4人參與, 6年前最新討論串2/4 (看更多)
我覺得可能很多人並不懂卷積網路的基本概念,舉例來說,原始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

04/17 13:09, 6年前 , 1F
再補充一個點好了,物件檢測的loss function是一個同
04/17 13:09, 1F

04/17 13:09, 6年前 , 2F
時考慮原始方框與預測方框重疊面積,以及分類正確度的
04/17 13:09, 2F

04/17 13:10, 6年前 , 3F
一個損失函數,詳細的自己去找paper看吧,式子有點長
04/17 13:10, 3F

04/17 16:41, 6年前 , 4F
推 想問 如一個最終終像素在yolo中對應的是32*32個原
04/17 16:41, 4F

04/17 16:41, 6年前 , 5F
始像素 這句
04/17 16:41, 5F

04/17 16:43, 6年前 , 6F
事實上他好像沒有真的去切grid? 最終的像素會對應到
04/17 16:43, 6F

04/17 16:43, 6年前 , 7F
原始的像素 但並不會剛好是paper畫的整齊的grid吧 也
04/17 16:43, 7F

04/17 16:43, 6年前 , 8F
就是對應回去可能會有重疊的部分?
04/17 16:43, 8F

04/17 16:44, 6年前 , 9F
還是他的stride 剛好會讓彼此完全不重疊
04/17 16:44, 9F

04/17 20:02, 6年前 , 10F
好像是 Anchor 會在原定的grid 裏頭,長出的bounding
04/17 20:02, 10F

04/17 20:02, 6年前 , 11F
就不確定了。
04/17 20:02, 11F

04/17 22:16, 6年前 , 12F
謝謝c大的解說
04/17 22:16, 12F
文章代碼(AID): #1QrO3WdQ (DataScience)
文章代碼(AID): #1QrO3WdQ (DataScience)