基於tensorflow keras實現何凱明大神的Mask R-CNN的介紹 。
其英文的介紹說明,見如下網址。
https://github.com/matterport/Mask_RCNN
中文版,參見如下網址位置。大部分內容做了翻譯。
http://www.zhuanzhi.ai/knowledge/b6e08fc997029df3b4f13f1c76110028
此文中缺少自己數據訓練,以及代碼與論文的差異部分的翻譯,特補充。也爲了接下來2周自己的試驗做準備。
-----------------------
在自己的數據集上訓練
爲了在自己的數據集上訓練模型,需要下面的2個class:
Config
:此class包含了缺省配置,以此類實現一個子類,修改你需要改動的屬性。
Dataset:此
class提供了在任何數據集上運行的一個一致的方法。它允許你不用必須修改模型的代碼來用新數據集訓練。它也支持同時加載多個數據集,這個用來在你想要檢測的對象在一個數據集裏是都不可用的情況。此class是base class。爲了使用它,創建一個新class從它繼承,爲你自己數據集添加特定的函數,Dataset
class 在 utils.py 裏,擴展的例子在train_shapes.ipynb 和coco.py文件裏。
與論文的不同:
image resizing:爲了支持每個batch訓練多個圖像,我們resize所有圖像爲相同size。
Bounding Boxes: 爲了支持在多數據集上訓練,我們選擇忽略原數據集上的 bounding boxes。
Learning Rate: 論文裏使用0.02的學習率,但我們發現它太高了。我們發現使用更小的學習率收斂更快。
Anchor Strides: 爲了減少計算量,內存使用,我們設置滑窗步數爲2。