日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【CV】Mask R-CNN:用于目标实例分割的通用框架

發布時間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【CV】Mask R-CNN:用于目标实例分割的通用框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論文名稱:Mask R-CNN

論文下載:https://arxiv.org/abs/1703.06870

論文年份:2017

論文被引:18354(2022/05/03)

Abstract

We present a conceptually simple, flexible, and general framework for object instance segmentation. Our approach efficiently detects objects in an image while simultaneously generating a high-quality segmentation mask for each instance. The method, called Mask R-CNN, extends Faster R-CNN by adding a branch for predicting an object mask in parallel with the existing branch for bounding box recognition. Mask R-CNN is simple to train and adds only a small overhead to Faster R-CNN, running at 5 fps. Moreover , Mask R-CNN is easy to generalize to other tasks, e.g., allowing us to estimate human poses in the same framework. We show top results in all three tracks of the COCO suite of challenges, including instance segmentation, boundingbox object detection, and person keypoint detection. Without bells and whistles, Mask R-CNN outperforms all existing, single-model entries on every task, including the COCO 2016 challenge winners. We hope our simple and effective approach will serve as a solid baseline and help ease future research in instance-level recognition.

我們提出了一個概念上簡單、靈活和通用的目標實例分割框架(object instance segmentation)。我們的方法有效地檢測圖像中的目標,同時為每個實例生成高質量的分割掩碼(mask)。該方法稱為 Mask R-CNN,通過添加用于預測目標掩碼的分支與用于邊界框識別的現有分支并行來擴展 Faster R-CNNMask R-CNN 很容易訓練,并且只為 Faster R-CNN 增加了一點開銷,運行速度為 5 fps。此外,Mask R-CNN 很容易推廣到其他任務,例如,允許我們在同一框架中估計人體姿勢。我們在 COCO 挑戰套件的所有三個軌道中展示了最佳結果,包括實例分割、邊界框目標檢測和人物關鍵點檢測。沒有花里胡哨的東西,Mask R-CNN 在每項任務上都優于所有現有的單一模型條目,包括 COCO 2016 挑戰賽的獲勝者。我們希望我們簡單而有效的方法將作為一個堅實的基準,并有助于簡化未來在實例級識別方面的研究。代碼已在以下位置提供:https://github.com/facebookresearch/Detectron。

1. Introduction

視覺社區在短時間內迅速改進了目標檢測和語義分割結果。在很大程度上,這些進步是由強大的基線系統推動的,例如分別用于目標檢測和語義分割的 Fast/Faster RCNN [12, 36] 和全卷積網絡 (FCN) [30] 框架。這些方法在概念上很直觀,提供了靈活性和魯棒性,以及快速的訓練和推理時間。我們在這項工作中的目標是為實例分割開發一個類似的支持框架。

實例分割(Instance segmentation)具有挑戰性,因為它需要正確檢測圖像中的所有目標,同時還要精確分割每個實例。因此,它結合了目標檢測的經典計算機視覺任務中的元素,其中目標是對單個目標進行分類并使用邊界框定位每個目標,以及語義分割,其中目標是將每個像素分類為一組固定的類別而不區分目標實例。鑒于此,人們可能會期望需要一種復雜的方法才能獲得良好的結果。然而,我們表明,一個令人驚訝的簡單、靈活和快速的系統可以超越先前最先進的實例分割結果。

我們的方法稱為 Mask R-CNN,擴展了 Faster R-CNN [36],方法是在每個感興趣區域 (Region of Interest , RoI) 上添加一個用于預測分割掩碼的分支,與用于分類和邊界框回歸的現有分支并行(圖 1)。掩碼分支 (mask branch) 是應用于每個 RoI 的小型 FCN,以像素到像素的方式預測分割掩碼。鑒于 Faster R-CNN 框架,Mask R-CNN 易于實現和訓練,這有助于廣泛的靈活架構設計。此外,掩碼分支僅增加了少量計算開銷,從而實現了快速系統和快速實驗。

原則上,Mask R-CNN 是 Faster R-CNN 的直觀擴展,但正確構建 mask 分支對于獲得良好結果至關重要。最重要的是,Faster R-CNN 并不是為網絡輸入和輸出之間的像素到像素對齊(pixel-to-pixel alignment)而設計的。這在 RoIPool [18, 12](用于處理實例的事實上的核心操作)如何為特征提取執行粗略空間量化時最為明顯。為了解決錯位(misalignment)問題,我們提出了一個簡單的無量化層(quantization-free layer),稱為 RoIAlign,它忠實地保留了精確的空間位置。盡管看起來很小的變化,但 RoIAlign 產生了很大的影響:它將掩碼準確率提高了 10% 到 50%,在更嚴格的定位指標(localization metrics)下顯示出更大的收益。其次,我們發現解耦(decouple)掩碼和類別預測至關重要:我們獨立地為每個類別預測一個二進制掩碼,沒有類別之間的競爭,并依靠網絡的 RoI 分類分支來預測類別。相比之下,FCN 通常執行逐像素多類分類,將分割和分類結合起來,并且根據我們的實驗,實例分割效果不佳

沒有花里胡哨的東西,Mask R-CNN 在 COCO 實例分割任務 [28] 上超越了所有以前最先進的單模型結果,包括 2016 年競賽獲勝者的精心設計的條目。作為副產品,我們的方法在 COCO 目標檢測任務上也表現出色。在消融實驗中,我們評估了多個基本實例,這使我們能夠證明其穩健性并分析核心因素的影響。

我們的模型可以在 GPU 上以每幀約 200 毫秒的速度運行,而在 COCO 上的訓練在單個 8-GPU 機器上需要一到兩天時間。我們相信,快速的訓練和測試速度,以及框架的靈活性和準確性,將有利于并簡化未來對實例分割的研究。

最后,我們通過在 COCO 關鍵點數據集 [28] 上進行人體姿態估計的任務展示了我們框架的通用性通過將每個關鍵點視為 one-hot 二進制掩碼,只需進行最小修改,Mask R-CNN 就可以用于檢測特定于實例的姿勢。 Mask R-CNN 超越了 2016 年 COCO 關鍵點競賽的獲勝者,同時以 5 fps 的速度運行。因此,Mask R-CNN 可以被更廣泛地視為實例級識別的靈活框架,并且可以很容易地擴展到更復雜的任務

我們已經發布了代碼以促進未來的研究。

2. Related Work

R-CNN:基于區域的 CNN (Region-based CNN, R-CNN) 方法 [13] 進行邊界框目標檢測是關注可管理數量的候選目標區域 [42, 20] 并在每個 RoI 獨立評估卷積網絡 [25, 24]

  • R-CNN 被擴展 [18, 12] 以允許使用 RoIPool 在特征圖上處理 RoI,從而實現更快的速度和更好的準確性。

  • Faster R-CNN [36] 通過使用區域建議網絡 (RPN) 學習注意機制來推進這一流。 Faster R-CNN 對許多后續改進(例如 [38、27、21])具有靈活性和魯棒性,并且是當前多個基準測試中的領先框架。

實例分割(Instance Segmentation):在 RCNN 的有效性驅動下,許多實例分割方法都基于分割提議(segment proposals)

  • 早期的方法 [13, 15, 16, 9] 采用自下而上的分段 [42, 2]。

  • DeepMask [33] 和后續作品 [34, 8] 學習提出候選片段(propose segment candidates),然后由 Fast R-CNN 分類。

  • 在這些方法中,分割先于識別,這是緩慢且不太準確的。同樣,[10] 提出了一個復雜的多階段級聯(multiple-stage cascade),從邊界框建議中預測分段建議,然后進行分類

相反,我們的方法基于掩碼和類標簽的并行預測,更簡單、更靈活

最近,[26] 將 [8] 中的分割提議系統(segment proposal system)和 [11] 中的目標檢測系統結合起來,用于“全卷積實例分割”(fully convolutional instance segmentation, FCIS)。[8, 11, 26] 中的共同思想是全卷積地預測一組位置敏感的輸出通道。這些通道同時處理目標類、框和掩碼,使系統運行速度更快。但是 FCIS 在重疊實例上表現出系統錯誤并產生虛假邊緣(圖 6),表明它受到分割實例的基本困難的挑戰

實例分割的另一類解決方案 [23, 4, 3, 29] 是由語義分割(semantic segmentation)的成功驅動的。從每個像素的分類結果(例如,FCN 輸出)開始,這些方法試圖將同一類別的像素切割成不同的實例。與這些方法的分割優先策略相比,Mask R-CNN 基于實例優先策略。我們預計未來將研究更深入地整合這兩種策略。

3. Mask R-CNN

Mask R-CNN 在概念上很簡單:Faster R-CNN 對每個候選目標有兩個輸出,一個類標簽和一個邊界框偏移量;為此,我們添加了輸出目標掩碼的第三個分支。因此,Mask R-CNN 是一個自然而直觀的想法。但是額外的掩碼輸出與類和框輸出不同,需要提取更精細的目標空間布局。接下來,我們介紹 Mask R-CNN 的關鍵元素,包括像素到像素對齊(pixel-to-pixel alignment),這是 Fast/Faster R-CNN 的主要缺失部分。

Faster R-CNN:我們首先簡要回顧 Faster R-CNN 檢測器 [36]。 Faster R-CNN 由兩個階段組成

  • 第一階段稱為區域提議網絡(RPN),提出候選目標邊界框。

  • 第二階段本質上是 Fast R-CNN [12],使用 RoIPool 從每個候選框中提取特征,并執行分類和邊界框回歸。

兩個階段使用的特征可以共享以加快推理速度。我們推薦讀者參考 [21],以了解 Faster R-CNN 和其他框架之間的最新、全面的比較。

Mask R-CNNMask R-CNN 采用相同的兩階段過程

  • 具有相同的第一階段(即 RPN)。
  • 在第二階段,在預測類和框偏移的同時,Mask R-CNN 還為每個 RoI 輸出一個二進制掩碼。這與最近的系統形成對比,其中分類取決于掩碼預測(例如 [33、10、26])

我們的方法遵循了 Fast R-CNN [12] 的精神,它并行應用邊界框分類和回歸(結果在很大程度上簡化了原始 R-CNN [13] 的多階段管道)。

正式地,在訓練期間,我們將每個采樣 RoI 上的多任務損失定義為 L = Lcls + Lbox + Lmask

  • 分類損失 Lcls 和邊界框損失 Lbox 與 [12] 中定義的相同。
  • 掩碼分支對每個 RoI 都有一個 Km2Km^2Km2 維輸出,它對分辨率為 m × m 的 K 個二進制掩碼進行編碼,K 個類中的每一個對應一個。為此,我們應用每像素 sigmoid,并將 Lmask 定義為平均二元交叉熵損失。對于與 ground-truth 類 k 相關的 RoI,Lmask 僅在第 k 個 mask 上定義(其他 mask 輸出對損失沒有貢獻)

我們對 Lmask 的定義允許網絡為每個類生成掩碼,而不會在類之間進行競爭;我們依靠專用的分類分支來預測用于選擇輸出掩碼的類標簽。這將掩碼和類別預測解耦。這與將 FCN [30] 應用于語義分割時的常見做法不同,FCN通常使用每像素 softmax 和多項交叉熵損失。在這種情況下,不同類別的掩碼會相互競爭;在我們的例子中,對于每像素 sigmoid 和二元損失,它們不會。我們通過實驗表明,該公式是獲得良好實例分割結果的關鍵。

掩碼表示掩碼對輸入目標的空間布局進行編碼。因此,與通過全連接(fc)層不可避免地折疊成短輸出向量的類標簽或框偏移(box offsets)不同,提取掩碼的空間結構可以通過卷積提供的像素到像素的對應關系自然地解決

具體來說,我們使用 FCN [30] 從每個 RoI 預測一個 m × m 掩碼。這允許掩碼分支中的每一層保持明確的 m × m 目標空間布局,而不會將其折疊成缺乏空間維度的向量表示。與以前使用 fc 層進行掩碼預測的方法不同 [33、34、10],我們的完全卷積表示需要更少的參數,并且如實驗所示更準確

這種像素到像素的行為要求我們的 RoI 特征(它們本身就是小特征圖)能夠很好地對齊,以忠實地保留顯式的每像素空間對應關系。這促使我們開發以下 RoIAlign 層,該層在掩碼預測中起關鍵作用

RoIAlign:RoIPool [12] 是一種標準操作,用于從每個 RoI 中提取一個小的特征圖(例如,7×7)。 RoIPool 首先將一個浮點數 RoI 量化為特征圖的離散粒度,然后將這個量化的 RoI 細分為空間 bin,這些空間 bin 本身也進行了量化,最后聚合每個 bin 覆蓋的特征值(通常通過最大池化)。例如,通過計算 [x/16] 在連續坐標 x 上執行量化,其中 16 是特征圖步幅,[·] 是舍入;同樣,在劃分為 bin(例如,7×7)時執行量化。這些量化引入了 RoI 和提取的特征之間的錯位(misalignments)。雖然這可能不會影響分類,分類對小翻譯很穩健,但它對預測像素精確的掩碼有很大的負面影響

圖 3. RoIAlign:虛線網格表示特征圖,實線表示 RoI(在本例中為 2×2 箱),點表示每個箱中的 4 個采樣點。 RoIAlign 通過特征圖上附近網格點的雙線性插值計算每個采樣點的值。不對任何涉及 RoI、其 bin 或采樣點的坐標執行量化。

為了解決這個問題,我們提出了一個 RoIAlign 層,它消除了 RoIPool 的苛刻量化(harsh quantization),將提取的特征與輸入正確對齊。我們提出的改變很簡單:我們避免對 RoI 邊界或 bin 進行任何量化(即,我們使用 x/16 而不是 [x/16])。我們使用雙線性插值(bilinear interpolation) [22] 來計算每個 RoI bin 中四個定期采樣位置的輸入特征的精確值,并聚合結果(使用最大值或平均值),詳見圖 3。我們注意到,只要不執行量化,結果對確切的采樣位置或采樣的點數不敏感

如第 4.2 節所示,RoIAlign 帶來了巨大的改進。我們還比較了 [10] 中提出的 RoIWarp 操作。與 RoIAlign 不同,RoIWarp 忽略了對齊問題,并在 [10] 中實現為像 RoIPool 一樣量化 RoI。因此,即使 RoIWarp 也采用了由 [22] 推動的雙線性重采樣,它的性能與實驗所示的 RoIPool 相當(表 2c 中的更多細節),證明了對齊的關鍵作用。

網絡架構:為了展示我們方法的通用性,我們用多種架構實例化了 Mask R-CNN。為清楚起見,我們區分:

i)用于對整個圖像進行特征提取的卷積骨干架構

ii)用于邊界框識別(分類和回歸)和掩碼預測的網絡頭,分別應用于每個 RoI

我們使用命名網絡深度特征(network-depth-features)來表示骨干架構。我們評估深度為 50 或 101 層的 ResNet [19] 和 ResNeXt [45] 網絡。使用 ResNets [19] 的 Faster R-CNN 的原始實現從第 4 階段的最終卷積層中提取特征,我們稱之為 C4。例如,具有 ResNet-50 的主干由 ResNet-50-C4 表示。這是 [19, 10, 21, 39] 中使用的常見選擇。

我們還探索了 [27] 最近提出的另一個更有效的骨干網絡,稱為特征金字塔網絡(FPN)。 FPN 使用帶有橫向連接的自上而下的架構,從單尺度輸入構建網絡內特征金字塔。具有 FPN 主干的 Faster R-CNN 根據其規模從特征金字塔的不同級別提取 RoI 特征,但除此之外,該方法的其余部分類似于 vanilla ResNet。使用 ResNet-FPN 骨干網和 Mask RCNN 進行特征提取可以在準確度和速度上獲得出色的提升。有關 FPN 的更多詳細信息,我們請讀者參考 [27]。

圖 4. 頭部架構:我們擴展了兩個現有的 Faster RCNN 頭部 [19, 27]。左/右面板分別顯示了來自 [19] 和 [27] 的 ResNet C4 和 FPN 主干的頭部,其中添加了掩碼分支。數字表示空間分辨率和通道。箭頭表示可以從上下文推斷的 conv、deconv 或 fc 層(conv 保留空間維度,而 deconv 增加它)。所有的 conv 都是 3×3,除了輸出 conv 是 1×1,deconv 是 2×2,步長為 2,我們在隱藏層中使用 ReLU [31]。左:“res5”表示 ResNet 的第五階段,為簡單起見,我們對其進行了更改,以便第一個 conv 在 7×7 的 RoI 上運行,步幅為 1(而不是 [19] 中的 14×14 / 步幅 2)。右圖:“×4”表示四個連續轉換的堆棧。

對于網絡頭,我們密切遵循之前工作中提出的架構,我們在其中添加了一個完全卷積的掩碼預測分支。具體來說,我們從 ResNet [19] 和 FPN [27] 論文中擴展了 Faster R-CNN box head。詳細信息如圖 4 所示。ResNet-C4 主干上的頭部包括 ResNet 的第 5 階段(即 9 層“res5”[19]),這是計算密集型的。對于 FPN,主干已經包含 res5,因此允許使用更少過濾器的更高效的部

我們注意到我們的掩碼分支具有簡單的結構。更復雜的設計有可能提高性能,但不是這項工作的重點。

3.1. Implementation Details

我們根據現有的 Fast/Faster R-CNN 工作 [12、36、27] 設置超參數。盡管這些決策是在原始論文 [12、36、27] 中針對目標檢測做出的,但我們發現我們的實例分割系統對它們來說是穩健的。

訓練(Traning):與 Fast R-CNN 一樣,如果 RoI 的 IoU 與 ground-truth box 至少為 0.5,則認為 RoI 為正,否則為負掩碼損失 Lmask 僅在正 RoI 上定義掩碼目標是 RoI 與其關聯的真實掩碼之間的交集

我們采用以圖像為中心的訓練[12]。圖像被調整大小,使其比例(較短的邊緣)為 800 像素 [27]。每個 mini-batch 每個 GPU 有 2 個圖像,每個圖像有 N 個采樣的 RoI,正負比為 1:3 [12]。對于 C4 主干網絡,N 為 64(如 [12, 36] 中),對于 FPN 為 512(如 [27] 中)。我們在 8 個 GPU(因此有效的 minibatch 大小為 16)上訓練 160k 次迭代,學習率為 0.02,在 120k 次迭代時降低了 10。我們使用 0.0001 的權重衰減和 0.9 的動量。使用 ResNeXt [45],我們使用每個 GPU 的 1 張圖像和相同的迭代次數進行訓練,起始學習率為 0.01。

RPN 錨點跨越 5 個尺度和 3 個縱橫比(aspect ratios),遵循 [27]。為了方便消融,RPN 是單獨訓練的,不與 Mask R-CNN 共享特征,除非另有說明。對于本文中的每個條目,RPN 和 Mask R-CNN 具有相同的主干,因此它們是可共享的

推斷(Inference):在測試時,C4 骨干網的提案編號為 300(如 [36] 中),FPN 為 1000(如 [27] 中)。我們在這些提議上運行框預測分支,然后是非最大抑制(non-maximum suppression) [14]。然后將掩碼分支應用于得分最高的 100 個檢測框。盡管這與訓練中使用的并行計算不同,但它加速了推理并提高了準確性(由于使用了更少、更準確的 RoI)。mask 分支可以為每個 RoI 預測 K 個 mask,但我們只使用第 k 個 mask,其中 k 是分類分支預測的類。然后將 m×m 浮點數掩碼輸出調整為 RoI 大小,并以 0.5 的閾值進行二值化

請注意,由于我們只計算前 100 個檢測框上的掩碼,Mask R-CNN 為其 Faster R-CNN 對應物增加了少量開銷(例如,在典型模型上約為 20%)。

4. Experiments: Instance Segmentation

我們對 Mask R-CNN 與最先進的技術進行了徹底的比較,并對 COCO 數據集 [28] 進行了全面的消融。我們報告標準 COCO 指標,包括 AP(IoU 閾值的平均值)、AP50、AP75 和 APS、APM、APL(不同尺度的 AP)。除非另有說明,否則 AP 正在使用掩碼 IoU 進行評估。與之前的工作 [5, 27] 一樣,我們使用 80k 訓練圖像和 35k val 圖像子集 (trainval35k) 的聯合進行訓練,并在剩余的 5k val 圖像 (minival) 上報告消融。我們還報告了 test-dev [28] 的結果。

4.1. Main Results

我們將 Mask R-CNN 與表 1 中實例分割中最先進的方法進行了比較。我們模型的所有實例都優于先前最先進模型的基線變體。這包括 MNC [10] 和 FCIS [26],分別是 COCO 2015 和 2016 細分挑戰賽的獲勝者。沒有花里胡哨的東西,帶有 ResNet-101-FPN 主干的 Mask R-CNN 優于 FCIS+++ [26],其中包括多尺度訓練/測試、水平翻轉測試和在線硬示例挖掘 (OHEM) [38]。雖然超出了這項工作的范圍,但我們希望許多這樣的改進適用于我們。

Mask R-CNN 輸出在圖 2 和圖 5 中可視化。即使在具有挑戰性的條件下,Mask R-CNN 也能取得良好的效果。在圖 6 中,我們比較了我們的 Mask R-CNN 基線和 FCIS+++ [26]。 FCIS+++ 在重疊實例上表現出系統性偽影(systematic artifacts),這表明它受到實例分割基本困難的挑戰。 Mask R-CNN 沒有顯示出這樣的偽影。

4.2. Ablation Experiments

我們運行了許多消融來分析 Mask R-CNN。結果如表 2 所示,接下來將詳細討論。

架構:表 2a 顯示了具有各種主干的 Mask R-CNN。它受益于更深層次的網絡(50 對 101)和先進的設計,包括 FPN 和 ResNeXt。我們注意到,并非所有框架都會自動受益于更深或更高級的網絡(參見 [21] 中的基準測試)。

多項式與獨立掩碼:掩碼 R-CNN 將掩碼和類預測解耦:由于現有的框分支預測類標簽,我們為每個類生成一個掩碼,而不會在類之間進行競爭(通過逐像素 sigmoid 和二元損失)。在表 2b 中,我們將其與使用每像素 softmax 和多項式損失(如 FCN [30] 中常用的)進行比較。這種替代方案將掩碼和類別預測的任務結合起來,并導致掩碼 AP 的嚴重損失(5.5 分)。這表明,一旦實例被分類為一個整體(通過框分支),就足以預測二進制掩碼而無需考慮類別,這使得模型更容易訓練。

Class-Specific vs. Class-Agnostic Masks:我們的默認實例預測類特定掩碼,即每個類一個 m×m 掩碼。有趣的是,具有類別不可知掩碼的 Mask R-CNN(即預測單個 m×m 輸出而不管類別)幾乎同樣有效:它具有 29.7 的掩碼 AP,而 ResNet-50-C4 上的特定類別對應物的掩碼 AP 為 30.3。這進一步突出了我們方法中的分工,該方法在很大程度上分離了分類和分割

RoIAlign:我們提出的 RoIAlign 層的評估如表 2c 所示。在這個實驗中,我們使用 ResNet50-C4 主干,其步長為 16。RoIAlign 比 RoIPool 提高了大約 3 個點的 AP,其中大部分增益來自高 IoU (AP75)。 RoIAlign 對最大/平均池不敏感;我們在本文的其余部分使用平均值

此外,我們與同樣采用雙線性采樣的 MNC [10] 中提出的 RoIWarp 進行了比較。如第 3 節所述,RoIWarp 仍然量化了 RoI,失去了與輸入的對齊。從表 2c 中可以看出,RoIWarp 的性能與 RoIPool 相當,但比 RoIAlign 差得多。這突出表明正確對齊是關鍵

我們還使用 ResNet-50-C5 主干評估 RoIAlign,其步幅更大,為 32 像素。我們使用與圖 4(右)相同的頭,因為 res5 頭不適用。表 2d 顯示 RoIAlign 將 mask AP 提高了 7.3 個點,將 mask AP75 提高了 10.5 個點(相對提高了 50%)。此外,我們注意到使用 RoIAlign,使用 stride-32 C5 特征(30.9 AP)比使用 stride-16 C4 特征(30.3 AP,表 2c)更準確。 RoIAlign 在很大程度上解決了使用大步長特征進行檢測和分割的長期挑戰

最后,RoIAlign 在與 FPN 一起使用時顯示了 1.5 mask AP 和 0.5 box AP 的增益,FPN 具有更精細的多級步幅。對于需要更精細對齊的關鍵點檢測,即使使用 FPN,RoIAlign 也顯示出很大的增益(表 6)。

掩碼分支分割是一個像素到像素的任務,我們通過使用 FCN 來利用掩碼的空間布局。在表 2e 中,我們使用 ResNet-50-FPN 主干比較了多層感知器 (MLP) 和 FCN。與 MLP 相比,使用 FCN 可提供 2.1 掩碼 AP 增益。我們注意到我們選擇了這個主干,以便 FCN 頭部的卷積層沒有預先訓練,以便與 MLP 進行公平比較。

4.3. Bounding Box Detection Results

我們將 Mask R-CNN 與表 3 中最先進的 COCO 邊界框目標檢測進行了比較。對于這個結果,即使訓練了完整的 Mask R-CNN 模型,也只使用了分類和框輸出推理(掩碼輸出被忽略)。使用 ResNet-101FPN 的 Mask R-CNN 優于所有先前最先進模型的基本變體,包括 GRMI [21] 的單模型變體,它是 COCO 2016 檢測挑戰賽的獲勝者。使用 ResNeXt-101-FPN,Mask R-CNN 進一步改進了結果,與 [39](使用 Inception-ResNet-v2-TDM)的最佳先前單個模型條目相比,框 AP 的邊距為 3.0 點。

作為進一步的比較,我們訓練了一個版本的 Mask R-CNN,但沒有掩碼分支,在表 3 中用“Faster R-CNN, RoIAlign”表示。由于 RoIAlign,該模型的性能優于 [27] 中提出的模型。另一方面,它比 Mask R-CNN 低 0.9 點 box AP。因此,Mask R-CNN 在框檢測方面的差距完全是由于多任務訓練的好處

最后,我們注意到 Mask R-CNN 在其 mask 和 box AP 之間獲得了一個小的差距:例如,在 37.1(mask,表 1)和 39.8(box,表 3)之間有 2.7 個點。這表明我們的方法在很大程度上縮小了目標檢測和更具挑戰性的實例分割任務之間的差距

4.4. Timing

推理:我們訓練了一個 ResNet-101-FPN 模型,該模型在 RPN 和 Mask R-CNN 階段之間共享特征,遵循 Faster R-CNN [36] 的 4 步訓練。該模型在 Nvidia Tesla M40 GPU 上以每張圖像 195 毫秒的速度運行(加上將輸出大小調整為原始分辨率的 15 毫秒 CPU 時間),并且在統計上實現了與非共享模型相同的掩碼 AP。我們還報告說,ResNet-101-C4 變體需要 ~400 毫秒,因為它具有較重的 box head(圖 4),因此我們不建議在實踐中使用 C4 變體

盡管 Mask R-CNN 速度很快,但我們注意到我們的設計并未針對速度進行優化,并且可以實現更好的速度/準確性權衡 [21],例如,通過改變圖像大小和提議數量,這超出了本文的范圍。

訓練:Mask R-CNN 訓練也很快。在 COCO trainval35k 上使用 ResNet-50-FPN 進行訓練在我們同步的 8-GPU 實現中需要 32 小時(每 16 張圖像小批量 0.72 秒),而使用 ResNet-101-FPN 需要 44 小時。事實上,在訓練集上訓練時,可以在不到一天的時間內完成快速原型制作。我們希望如此快速的訓練能夠消除這一領域的主要障礙,并鼓勵更多人對這一具有挑戰性的課題進行研究。

5. Mask R-CNN for Human Pose Estimation

我們的框架可以很容易地擴展到人體姿態估計。我們將關鍵點的位置建模為 one-hot 掩碼,并采用 Mask R-CNN 預測 K 個掩碼,K 個關鍵點類型(例如左肩、右肘)中的每一個對應一個掩碼。此任務有助于展示 Mask R-CNN 的靈活性。

我們注意到,我們的系統利用了人體姿勢的最小領域知識,因為實驗主要是為了證明 Mask R-CNN 框架的通用性。我們期望領域知識(例如,modeling structures [6])將補充我們的簡單方法。

實施細節:在為關鍵點調整分割系統時,我們對分割系統進行了微小的修改。對于一個實例的 K 個關鍵點中的每一個,訓練目標是一個單一的 m × m 二進制掩碼,其中只有一個像素被標記為前景(foreground)。在訓練過程中,對于每個可見的 ground-truth 關鍵點,我們最小化 m2-way softmax 輸出的交叉熵損失(這鼓勵檢測單個點)。我們注意到,在實例分割中,K 個關鍵點仍然是獨立處理的。

我們采用 ResNet-FPN 變體,關鍵點頭架構類似于圖 4(右)。關鍵點頭由八個 3×3 512-d 卷積層的堆棧組成,然后是一個反卷積層和 2× 雙線性放大,產生 56×56 的輸出分辨率。我們發現關鍵點級別的定位精度需要相對高分辨率的輸出(與掩碼相比)。

模型在所有包含注釋關鍵點的 COCO trainval35k 圖像上進行訓練。為了減少過擬合,由于該訓練集較小,我們使用從 [640, 800] 像素中隨機采樣的圖像比例進行訓練;推理是在 800 像素的單一尺度上進行的。我們訓練 90k 次迭代,從 0.02 的學習率開始,在 60k 和 80k 次迭代時將其減少 10。我們使用閾值為 0.5 的邊界框 NMS。其他細節與§3.1 相同。

主要結果和消融:我們評估人員關鍵點 AP (APkp) 并使用 ResNet-50-FPN 主干進行實驗;更多的主干將在附錄中研究。表 4 顯示我們的結果(62.7 APkp)比使用多級處理管道的 COCO 2016 關鍵點檢測獲勝者 [6] 高 0.9 個點(參見表 4 的標題)。我們的方法相當簡單和快速。更重要的是,我們有一個統一的模型,可以同時預測框、段和關鍵點,同時以 5 fps 運行。添加一個段分支(針對人員類別)在 test-dev 上將 APkp 提高到 63.1(表 4)。更多關于 minival 的多任務學習的消融在表 5 中。將掩碼分支添加到僅框(即 Faster R-CNN)或僅關鍵點版本始終可以改進這些任務。然而,添加關鍵點分支會略微減少框/掩碼 AP,這表明雖然關鍵點檢測受益于多任務訓練,但它反過來并不能幫助其他任務。然而,聯合學習所有三個任務使統一系統能夠同時有效地預測所有輸出(圖 7)。

我們還研究了 RoIAlign 對關鍵點檢測的影響(表 6)。盡管這個 ResNet-50-FPN 主干具有更精細的步幅(例如,在最好的水平上有 4 個像素),但 RoIAlign 仍然顯示出比 RoIPool 有顯著改進,并將 APkp 提高了 4.4 個百分點。這是因為關鍵點檢測對定位精度更敏感。這再次表明對齊對于像素級定位至關重要,包括掩碼和關鍵點

鑒于 Mask R-CNN 在提取對象邊界框、掩碼和關鍵點方面的有效性,我們希望它成為其他實例級任務的有效框架

Appendix A: Experiments on Cityscapes

我們進一步報告了 Cityscapes [7] 數據集上的實例分割結果。該數據集具有 2975 個訓練、500 個驗證和 1525 個測試圖像的精細注釋。它有 20k 個沒有實例注釋的粗訓練圖像,我們不使用這些圖像。所有圖像均為 2048×1024 像素。實例分割任務涉及 8 個目標類別,

此任務上的實例分割性能由 COCO 樣式的掩碼 AP 測量(平均超過 IoU 閾值);還報告了 AP50(即 IoU 為 0.5 的掩碼 AP)。

Appendix B: Enhanced Results on COCO

作為一個通用框架,Mask R-CNN 與為檢測/分割開發的互補技術兼容,包括對 Fast/Faster R-CNN 和 FCN 的改進。在本附錄中,我們描述了一些改進原始結果的技術。由于其通用性和靈活性,Mask R-CNN 在 COCO 2017 實例分割競賽中被三個獲勝團隊用作框架,均顯著優于之前的最先進技術。

Instance Segmentation and Object Detection

Keypoint Detection

總結

以上是生活随笔為你收集整理的【CV】Mask R-CNN:用于目标实例分割的通用框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。