作者|facebookresearch 編譯|Flin 來源|Github
與其他庫的兼容性
與Detectron的兼容性(和maskrcnn-benchmark)
Detectron2解決了Detectron中遺留的一些遺留問題。結果,它們的模型不兼容:在兩個代碼庫中以相同的模型權重運行推理將產生不同的結果。
關於推斷的主要區別是:
- 現在, 當 width = x2-x1 和 height = y2-y1 時,更自然地計算帶有角(x1,y1)和(x2,y2)的box的高度和寬度。在Detectron中,高度和寬度都添加了"+1"。
- 請注意,Caffe2中的相關操作已採用了這種約定的更改 (https://github.com/pytorch/pytorch/pull/20550) , 並帶有額外的選項。因此,仍然有可能在Caffe2中使用Detectron2訓練的模型進行推理。
高度/寬度計算的變化最明顯的變化是:
- 邊界框迴歸中的編碼/解碼。
- 非最大抑制。但是,這裏的影響可以忽略不計。
RPN現在使用具有較少量化僞像的更簡單的錨點。 在Detectron中,錨點已量化並且 沒有準確的面積(https://github.com/facebookresearch/Detectron/issues/227)。在Detectron2中,錨點在中心對齊以與特徵網格點對齊,並且未量化。
分類層具有不同的分類標籤順序。 這涉及形狀爲(...,num_categories + 1,...)的任何可訓練參數。在Detectron2中,整數標籤[0,K-1]對應於K = num_categories個對象類別,標籤"K"對應於特殊的"背景"類別。在Detectron中,標籤"0"表示背景,標籤[1,K]對應於K個類別。
ROIAlign的實現方式有所不同。新的實現在Caffe2中可用。 Caffe2:(https://github.com/pytorch/pytorch/pull/23706).
與Detectron相比,所有ROI都移動了半個像素,以創建更好的圖像特徵圖對齊方式。有關詳細信息,請參見
layers/roi_align.py
。要啓用舊的行爲,請使用ROIAlign(aligned=False)
或POOLER_TYPE=ROIAlign
代替ROIAlignV2
(默認值)。OI的最小大小不需要爲1。這將導致輸出的微小差異,但應忽略不計。
掩碼推斷功能不同。
在Detectron2中,"paste_mask"函數是不同的,應該比Detectron中的準確性更高。此更改可以使COCO上的遮罩AP絕對值提高約0.5%。
訓練上也有一些其他差異,但它們不會影響模型級別的兼容性。主要的是:
- 我們通過
RPN.POST_NMS_TOPK_TRAIN
按圖像而不是按批處理修復了Detectron中的錯誤。該修復程序可能會導致某些型號的精度下降(例如,關鍵點檢測),並且需要進行一些參數調整才能匹配Detectron結果。 bug:(https://github.com/facebookresearch/Detectron/issues/459)
- 簡單起見,我們將邊界框迴歸中的默認損失更改爲L1損失,而不是平滑的L1損失。我們已經觀察到,這往往會略微降低box AP50,同時針對較高的重疊閾值提高box AP(並導致box AP的總體改善)。
- 我們將COCO邊界框和分段註釋中的座標解釋爲
[0, width]
或[0, height]
中的座標。COCO關鍵點註釋中的座標被解釋爲範圍爲[0, width - 1]
或[0, width - 1]
的像素索引。請注意,這會影響翻轉增強的實現方式。
稍後,我們將在上述有關像素,座標和"+1"的問題背後分享更多細節和原理。
與Caffe2的兼容性
如上所述,儘管與Detectron不兼容,但相關操作已在Caffe2中實現。因此,可以在Caffe2中轉換使用detectron2訓練的模型。請參閱本教程的部署。
與TensorFlow的兼容性
TensorFlow中提供了大多數操作,儘管需要解決在調整大小/ ROIAlign /填充方面的一些微小差異。tensorpack FasterRCNN提供了一個有效的轉換腳本, 以在TensorFlow中運行標準的detectron2模型。
- tensorpack FasterRCNN:(https://github.com/tensorpack/tensorpack/tree/master/examples/FasterRCNN/convert_d2)
原文鏈接:https://detectron2.readthedocs.io/notes/compatibility.html
歡迎關注磐創AI博客站: http://panchuang.net/
sklearn機器學習中文官方文檔: http://sklearn123.com/
歡迎關注磐創博客資源彙總站: http://docs.panchuang.net/