SSD與Faster R-CNN 訓練過程

一、ssd 訓練過程

SSD 模型fine-tune和網絡架構

SSD算法評估:AP, mAP和Precision-Recall曲線

二、Faster R-CNN 訓練過程

Faster R-CNN,可以大致分爲兩個部分,一個是RPN網絡,另一個是Fast R-CNN網絡,前者是一種候選框(proposal)的推薦算法,而後者則是在此基礎上對框的位置和框內的物體的類別進行細緻計算。

不管是RPN還是Fast R-CNN網絡,其網絡結構一部分來自於pre-trained model的卷積層(下文簡稱model),另一部分則是他們各自特有的結構(有卷積和FC,下文簡稱unique)。
這裏,我主要講的就是訓練過程。

第一步:用model初始化RPN網絡,然後訓練RPN,在訓練後,model以及RPN的unique會被更新。

第二步:用model初始化Fast-rcnn網絡,注意這個model和第一步一樣。然後使用訓練過的RPN來計算proposal,再將proposal給予Fast-rcnn網絡。接着訓練Fast-rcnn。訓練完以後,model以及Fast-rcnn的unique都會被更新。
說明:第一和第二步,用同樣的model初始化RPN網絡和Fast-rcnn網絡,然後各自獨立地進行訓練,所以訓練後,各自對model的更新一定是不一樣的(論文中的different ways),因此就意味着model是不共享的(論文中的dont share convolution layers)。

第三步:使用第二步訓練完成的model來初始化RPN網絡,第二次訓練RPN網絡。但是這次要把model鎖定,訓練過程中,model始終保持不變,而RPN的unique會被改變。
說明:因爲這一次的訓練過程中,model始終保持和上一步Fast-rcnn中model一致,所以就稱之爲着共享。

第四步:仍然保持第三步的model不變,初始化Fast-rcnn,第二次訓練Fast-rcnn網絡。其實就是對其unique進行finetune,訓練完畢,得到一個文中所說的unified network。

這就是總體框架的描述,如果你理解了這些,再想深入內部細節的算法,就不會一頭霧水,沒有方向。至於細節算法,比如anchor,RoI等等可以參考其他博客文章,都寫的不錯,只不過從學習者角度來說,他們都把這些算法寫在最前面,讓學習者看的時候有些茫然。

感謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章