1. 程式人生 > >目標檢測分割--Mask R-CNN

目標檢測分割--Mask R-CNN

Mask R-CNN ICCV2017 best paper
https://arxiv.org/pdf/1703.06870
Mask R-CNN= Faster R-CNN + FCN, 大致可以這麼理解!

大神都去哪了? Facebook AI Research (FAIR) 越來越厲害了,強強聯合

本文主要講 Faster R-CNN 拓展到影象分割上,提出了 Mask R-CNN 簡單快捷的解決 Instance segmentation,什麼是 Instance segmentation,就是將一幅影象中所有物體框出來,並將物體進行畫素級別的分割提取。如下圖示例:
這裡寫圖片描述

2 Related Work
R-CNN: 基於候選區域的物體檢測成為目標檢測演算法中最流行的的,尤其是 Faster R-CNN 效果很好。

Instance Segmentation: 受到 R-CNN 的影響,大家紛紛採用R-CNN 思路來做 分割,文獻【8】提出的 fully convolutional instance segmentation 是效果最好的。但是有明顯的問題,如下圖所示:
這裡寫圖片描述

3 Mask R-CNN
Mask R-CNN在概念上是很簡單:對於每一個候選區域 Faster R-CNN 有兩個輸出,一個類別標籤,一個矩形框座標資訊。這裡我們加了第三個分支用於輸出 object mask即分割出物體。

Faster R-CNN: 這裡簡要回顧一下 Faster R-CNN,它有兩個步驟組成,Region Proposal Network (RPN) 用於提取候區域,第二個步驟本質上和Fast R-CNN一樣,使用 RoIPool 對候選區域提取特徵進行類別分類和座標迴歸。用於兩個步驟的特徵是可以共享的,這樣可以提高速度。

Mask R-CNN: Mask R-CNN 也是採用了兩個步驟,第一個步驟就是 RPN 提取候選區域,在第二個步驟,平行於預測類別和座標資訊,對於每個 RoI, Mask R-CNN 輸出一個二值 mask。這與當前大部分系統不一樣,當前這些系統的類別分類依賴於 mask 的預測。我們還是沿襲了 Fast R-CNN 的精神,它將矩形框分類和座標迴歸並行的進行,這麼做很大的簡化了R-CNN的流程。

在訓練階段,我們對每個樣本的 RoI 定義了多工損失函式 L = L_cls + L_box + L_mask ,其中 L_cls 和 L_box 的定義和Fast R-CNN 是一樣的。在 mask 分支中對每個 RoI 的輸出是 K*m*m,表示K個 尺寸是 m*m的二值 mask,K是物體類別數目,。這裡我們使用了 per-pixel sigmoid,將 的損失函式定義為 L_mask average binary cross-entropy,我們的 L_mask 只定義對應類別的 mask損失,其他類別的mask輸出不會影響該類別的 loss。

我們定義 L_mask 的方式使得我們的網路在生成每個類別的 mask 不會受類別競爭影響,解耦了mask和類別預測。

Mask Representation: 對於每個 RoI 我們使用 一個 FCN 網路來預測 m*m mask。m*m是一個小的特徵圖尺寸,如何將這個小的特徵圖很好的對映到原始影象上?為此我們提出了一個 叫 RoIAlign 的網路層來解決該問題,它在 mask 預測中扮演了重要的角色。

RoIAlign: RoIPool 是一個標準的提特徵運算,它從每個 RoI 提取出一個小的特徵( 7×7),RoIPool 首先對浮點的 RoI 進行量化,然後再提取分塊直方圖,最後通過 最大池化 組合起來。這種分塊直方圖對於分類沒有什麼大的影響,但是對畫素級別精度的 mask 有很大影響。

為了解決上述問題,我們提出了一個 RoIAlign 網路層 解決 RoIPool 量化引入的問題,將提取的特徵和輸入合適的對應起來。我們的改變也是很簡單的:我們避免對 RoI 的邊界或 bins 進行量化。使用線性差值精確計算每個 RoI bin 最後組合起來。

Network Architecture: 為了驗證我們方法的適應性,我們在不同的網路系統中實現了 Mask R-CNN,這裡主要分別考慮了文獻【14,21]中的兩個系統,如下圖所示:
這裡寫圖片描述

其中採用 FPN 的架構在精度和速度上都更勝一籌。

3.1. Implementation Details
Training: 對於 mask loss L_mask 只在正樣本的 RoIs 上面定義。
我們採用文獻【9】的影象-中心 訓練方法。將影象長寬較小的一側歸一化到 800個畫素。在每個 mini-batch 上每個 GPU 有2個影象,每個影象 N個樣本 RoIs,正負樣本比例 1:3.其中 對於 C4 框架的 N=64, 對 FPN框架的 N=512。在8個GPU上訓練,還有其他一些引數設定。

Inference: 在測試階段,C4的候選區域個數是300, FPN 是 1000.對這些候選區域我們進行座標迴歸,再非極大值抑制。然後對前100個得分最高的檢測框進行 mask 分支運算。這樣做可以提高速度改善精度。在 mask 分支中 ,我們對每個 RoI 給出 K 個 mask預測,但是我們只使用 分類分支給出的那個類別對應的 mask。然後我們將 m×m 浮點 mask 歸一化到 RoI 尺寸,使用一個0.5閾值進行二值化。

  1. Experiments: Instance Segmentation
    更多的圖片結果:

這裡寫圖片描述

Instance segmentation:

這裡寫圖片描述

一些對比:
這裡寫圖片描述

Object detection:
這裡寫圖片描述

Human Pose Estimation:
這裡寫圖片描述

4.4. Timing
Inference:
ResNet-101-FPN model runs at 195ms per image on an Nvidia Tesla M40 GPU (plus
15ms CPU time resizing the outputs to the original resolution)

ResNet-101-C4 : ∼400ms

相關推薦

目標檢測分割--Mask R-CNN

Mask R-CNN ICCV2017 best paper https://arxiv.org/pdf/1703.06870 Mask R-CNN= Faster R-CNN + FCN, 大致可以這麼理解! 大神都去哪了

目標檢測】Cascade R-CNN 論文解析

都是 org 檢測 rpn 很多 .org 實驗 bubuko pro 目錄 0. 論文鏈接 1. 概述 @ 0. 論文鏈接 Cascade R-CNN 1. 概述 ??這是CVPR 2018的一篇文章,這篇文章也為我之前讀R-CNN系列困擾的一個問題提供了一個解決方案

基於DL的目標檢測技術:R-CNN、Fast R-CNN、Faster R-CNN

目標檢測:在給定的圖片中精確找到物體所在位置,並標註出物體的類別。 目標檢測=影象識別(CNN)+定位(迴歸問題/取影象視窗) 遇到多物體識別+定位多個物體? 用選擇性搜尋找出可能含有物體的框(候選框)判定得分。這些框之間是可以互相重疊互相包含的,從而避免暴力列舉的所有框了。 1.R

論文筆記:目標檢測演算法(R-CNN,Fast R-CNN,Faster R-CNN,YOLOv1-v3)

R-CNN(Region-based CNN) motivation:之前的視覺任務大多數考慮使用SIFT和HOG特徵,而近年來CNN和ImageNet的出現使得影象分類問題取得重大突破,那麼這方面的成功能否遷移到PASCAL VOC的目標檢測任務上呢?基於這個問題,論文提出了R-CNN。 基本步驟:如下圖

目標檢測論文Cascade R-CNN: Delving into High Quality Object Detection

轉自:https://zhuanlan.zhihu.com/p/36095768 Cascade R-CNN: Delving into High Quality Object Detection 論文連結:https://arxiv.org/abs/1712.00726 程式碼連結:htt

常用目標檢測演算法:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD

一、目標檢測常見演算法         object detection,就是在給定的圖片中精確找到物體所在位置,並標註出物體的類別。所以,object detection要解決的問題就是物體在哪裡以及是什麼的整個流程問題。

影象分割Mask R-CNN

在faster-rcnn網路上增加了一條與bbox迴歸和分類平行的結構,檢測目標的同時輸出目標的分割掩碼圖,執行效率為5fps,網路結構如下圖所示: 掩碼分支是一個用於每個RoI的小fcn網路,以pixel-to-pixel的方式預測分割掩碼。Faster

帶你深入AI(4)- 目標檢測領域:R-CNN,faster R-CNN,yolo,SSD, yoloV2

系列文章,請多關注 Tensorflow原始碼解析1 – 核心架構和原始碼結構 自然語言處理1 – 分詞 帶你深入AI(1) - 深度學習模型訓練痛點及解決方法 帶你深入AI(2)- 深度學習啟用函式,準確率,優化方法等總結 帶你深入AI(3)- 物體分類領域:AlexNet VGG I

目標檢測定位與分割論文閱讀心得總結:FCN U-Net R-CNN FR-CNN Faster R-CNN Mask R-CNN

   目前,基於區域的方法主要分為兩類:任務解耦和的RCNN[1]和任務高度耦合的FCN[2]。 RCNN是將任務分解,目標檢測、定位與分割依次逐一進行,前者決定後者的輸入,因此稱為任務解耦和。而

目標檢測】【語義分割】—Mask-R-CNN詳解

一、mask rcnn簡介 論文連結:論文連結 論文程式碼:Facebook程式碼連結;Tensorflow版本程式碼連結; Keras and TensorFlow版本程式碼連結;MxNet版本程式碼連結 mask rcnn是基於faster rcnn架構提出的卷積網

Tensorflow實現Mask R-CNN實例分割通用框架,檢測分割和特征點定位一次搞定(多圖)

優點 設計 orf 時間 rcnn 超越 rain 沒有 add Mask R-CNN實例分割通用框架,檢測,分割和特征點定位一次搞定(多圖) 導語:Mask R-CNN是Faster R-CNN的擴展形式,能夠有效地檢測圖像中的目標,同時還能為每個實例生成一個

目標檢測演算法理解:從R-CNNMask R-CNN

  因為工作了以後時間比較瑣碎,所以更多的時候使用onenote記錄知識點,但是對於一些演算法層面的東西,個人的理解畢竟是有侷限的。我一直做的都是影象分類方向,最近開始接觸了目標檢測,也看了一些大牛的論文,雖然網上已經有很多相關的演算法講解,但是每個人對同一個問題的理解都不太一樣,本文主

目標檢測演算法的演進(two-stage檢測演算法):R-CNN、SPP-Net、Fast R-CNN、Faster R-CNNMask R-CNN

什麼是目標檢測(object detection): 目標檢測(object detection),就是在給定的一張圖片中精確找到物體所在的位置,並標註出物體的類別。所以,目標檢測要解決的問題就是物體在哪裡以及是什麼的整個流程問題。 但是,在實際照片中,物體的尺寸變化範圍很大,擺放物體的

Pytorch1.0目標檢測Faster R-CNN and Mask R-CNN 官方實踐程式碼

                                                                微信掃描二維碼,回覆“nn”獲取完整程式碼! // Copyright (c) Facebook, Inc. and its affiliates

目標檢測(二十)--Mask R-CNN

大神都去哪了? Facebook AI Research (FAIR) 越來越厲害了,強強聯合 本文主要講 Faster R-CNN 拓展到影象分割上,提出了 Mask R-CNN 簡單快捷的解決 Instance segmentation,什麼是 Instan

終極指南:構建用於檢測汽車損壞的Mask R-CNN模型(附Python演練)

介紹 計算機視覺領域的應用繼續令人驚歎著。從檢測視訊中的目標到計算人群中的人數,計算機視覺似乎沒有無法克服的挑戰。 這篇文章的目的是建立一個自定義Mask R-CNN模型,可以檢測汽車上的損壞區域(參見上面的影象示例)。這種模型的基本應用場景為,如果使用

詳解何愷明團隊4篇大作 !(附程式碼)| 從特徵金字塔網路、Mask R-CNN到學習分割一切

來源:新智元作者:krish本文5000字,建議閱讀10+分鐘。本文介紹FAIR何愷明、Tsun

例項分割模型Mask R-CNN詳解:從R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN

   Mask R-CNN是ICCV 2017的best paper,彰顯了機器學習計算機視覺領域在2017年的最新成果。在機器學習2017年的最新發展中,單任務的網路結構已經逐漸不再引人矚目,取而代之

CNN影象分割簡史:從R-CNNMask R-CNN(譯)

另外還有一類基於FCN(Fully Convolutional Network)的語義分割方法,大家可以參考十分鐘看懂影象語義分割技術 | 雷鋒網,瞭解此類方法。 在Athelas中可以看到,卷積神經網路(Convolutional Neural Networks,

Mask RCNN】《Mask R-CNN

ICCV-2017 目錄 目錄 1 Motivation 2 Innovation 3 Advantages 4 Methods