美團無人配送CVPR2020論文CenterMask解讀

計算機視覺技術是實現自動駕駛的重要部分,美團無人配送團隊長期在該領域進行着積極的探索。不久前,高精地圖組提出的CenterMask圖像實例分割算法被CVPR2020收錄,本文將對該方法進行介紹。算法

CVPR的全稱是IEEE Conference on Computer Vision and Pattern Recognition,IEEE國際計算機視覺與模式識別會議,它和ICCV、ECCV並稱爲計算機視覺領域三大頂會。本屆CVPR大會共收到6656篇投稿,接收1470篇,錄用率爲22%。微信

背景

one-stage實例分割的意義

圖像的實例分割是計算機視覺中重要且基礎的問題之一,其在衆多領域具備十分重要的應用,好比:地圖要素提取、自動駕駛車輛感知等。不一樣於目標檢測和語義分割,實例分割須要對圖像中的每一個實例(物體)同時進行定位、分類和分割。從這個角度看,實例分割兼具目標檢測和語義分割的特性,所以更具挑戰。當前兩階段(two-stage)目標檢測網絡(Faster R-CNN[2]系列)被普遍用於主流的實例分割算法(如Mask R-CNN[1])。網絡

2019年,一階段(one-stage)無錨點(anchor-free)的目標檢測方法迎來了新一輪的爆發,不少優秀的one-stage目標檢測網絡被提出,如CenterNet[3], FCOS[4]等。這一類方法相較於two-stage的算法,不依賴預設定的anchor,直接預測bounding box所需的所有信息,如位置、框的大小、類別等,所以具備框架簡單靈活,速度快等優勢。因而很天然的便會想到,實例分割任務是否也可以採用這種one-stage anchor-free的思路來實現更優的速度和精度的平衡?咱們的論文分析了該問題中存在的兩個難點,並提出CenterMask方法予以解決。框架

圖1. 目標檢測,語義分割和實例分割的區別

one-stage實例分割的難點

相較於one-stage目標檢測,one-stage的實例分割更爲困難。不一樣於目標檢測用四個角的座標便可表示物體的bounding box,實例分割的mask的形狀和大小都更爲靈活,很難用固定大小的向量來表示。從問題自己出發,one-stage的實例分割主要面臨兩個難點:性能

  • 如何區分不一樣的物體實例,尤爲是同一類別下的物體實例。two-stage的方法利用感興趣區域(Region of Interest,簡稱ROI)限制了單個物體的範圍,只須要對ROI內部的區域進行分割,大大減輕了其餘物體的干擾。而one-stage的方法須要直接對圖像中的全部物體進行分割。
  • 如何保留像素級的位置信息,這是two-stage和one-stage的實例分割面臨的廣泛問題。分割本質上是像素級的任務,物體邊緣像素的分割精細程度對最終的效果有較大影響。而現有的實例分割方法大多將固定大小的特徵轉換到原始物體的大小,或者利用固定個數的點對輪廓進行描述,這些方式都沒法較好的保留原始圖像的空間信息。

相關工做介紹

遵守目標檢測的設定,現有的實例分割方法可大體分爲兩類:二階段(two-stage)實例分割方法和一階段(one-stage)實例分割方法。spa

  • two-stage的實例分割遵循先檢測後分割的流程,首先對全圖進行目標檢測獲得bounding box,而後對bounding box內部的區域進行分割,獲得每一個物體的mask。two-stage的方法的主要表明是Mask R-CNN[1],該方法在Faster R-CNN[2]的網絡上增長了一個mask分割的分支,用於對每一個感興趣區域(Region of Interest,簡稱ROI)進行分割。而把不一樣大小的ROI映射爲一樣尺度的mask會帶來位置精度的損失,所以該方法引入了RoIAlign來恢復必定程度的位置信息。PANet[5]經過加強信息在網絡中的傳播來對Mask R-CNN網絡進行改進。Mask Scoring R-CNN[6]經過引入對mask進行打分的模塊來改善分割後mask的質量。上述two-stage的方法能夠取得SOTA的效果,可是方法較爲複雜且耗時,所以人們也開始積極探索更簡單快速的one-stage實例分割算法。
  • 現有的one-stage實例分割算法能夠大體分爲兩類:基於全局圖像的方法和基於局部圖像的方法。基於全局的方法首先生成全局的特徵圖,而後利用一些操做對特徵進行組合來獲得每一個實例的最終mask。好比,InstanceFCN[7]首先利用全卷積網絡[8](FCN)獲得包含物體實例相對位置信息的特徵圖(instance-sensitive score maps),而後利用assembling module來輸出不一樣物體的分割結果。YOLACT[9]首先生成全局圖像的多張prototype masks,而後利用針對每一個實例生成的mask coefficients對prototype masks進行組合,做爲每一個實例的分割結果。基於全局圖像的方法可以較好的保留物體的位置信息,實現像素級的特徵對齊(pixel-to-pixel alignment),可是當不一樣物體之間存在相互遮擋(overlap)時表現較差。與此相對應的,基於局部區域的方法直接基於局部的信息輸出實例的分割結果。PolarMask[10] 採用輪廓表示不一樣的實例,經過從物體的中心點發出的射線組成的多邊形來描述物體的輪廓,可是含有固定端點個數的多邊形不能精準的描述物體的邊緣,而且基於輪廓的方法沒法很好的表示含有孔洞的物體。TensorMask[11]利用4D tensor來表示空間中不一樣物體的mask,而且引入了aligned representation 和 tensor bipyramid來較好的恢復物體的空間位置細節,可是這些特徵對齊的操做使得整個網絡比two-stage的Mask R-CNN還要慢一些。

不一樣於上述方法,咱們提出的CenterMask網絡,同時包含一個全局顯著圖生成分支和一個局部形狀預測分支,可以在實現像素級特徵對齊的狀況下實現不一樣物體實例的區分。prototype

CenterMask介紹

本工做旨在提出一個one-stage的圖像實例分割算法,不依賴預先設定的ROI區域來進行mask的預測,這須要模型同時進行圖像中物體的定位、分類和分割。爲了實現該任務,咱們將實例分割拆分爲兩個平行的子任務,而後將兩個子任務獲得的結果進行結合,以獲得每一個實例的最終分割結果。3d

第一個分支(即Local Shape分支)從物體的中心點表示中獲取粗糙的形狀信息,用於約束不一樣物體的位置區域以天然地將不一樣的實例進行區分。第二個分支(即Global Saliency分支)對整張圖像預測全局的顯著圖,用於保留準確的位置信息,實現精準的分割。最終,粗糙但instance-aware的local shape和精細但instance-unaware的global saliency進行組合,以獲得每一個物體的分割結果。rest

1. 網絡總體框架

圖2. CenterMask網絡結構圖

CenterMask總體網絡結構圖如圖2所示,給定一張輸入圖像,通過backbone網絡提取特徵以後,網絡輸出五個平行的分支。其中Heatmap和Offset分支用於預測全部中心點的位置座標,座標的得到遵循關鍵點預測的通常流程。Shape和Size分支用於預測中心點處的Local Shape,Saliency分支用於預測Global Saliency Map。能夠看到,預測的Local Shape含有粗糙可是instance-aware的形狀信息,而Global Saliency含有精細可是instance-aware的顯著性信息。最終,每一個位置點處獲得的Local Shape和對應位置處的Global Saliency進行乘積,以獲得最終每一個實例的分割結果。Local Shape和Global Saliency分支的細節將在下文介紹。orm

2.Local Shape 預測

爲了區分位於不一樣位置的實例,咱們採用每一個實例的中心點來對其mask進行建模,中心點的定義是該物體的bounding box的中心。一種直觀的想法是直接採用物體中心點處提取的圖像特徵來進行表示,可是固定大小的圖像特徵難以表示不一樣大小的物體。所以,咱們將物體mask的表示拆分爲兩部分:mask的形狀和mask的大小,用固定大小的圖像特徵表示mask的形狀,用二維向量表示mask的大小(高和寬)。以上兩個信息都同時能夠由物體中心點的表示獲得。如圖3所示,P表示由backbone網絡提取的圖像特徵,shape和size表示預測以上兩個信息的分支。用Fshape(大小爲H x W x S x S)表示shape分支獲得的特徵圖,Fsize(大小爲H x W x 2)表示size分支獲得的特徵圖。假設某個物體的中心點位置爲(x,y),則該點的shape特徵爲Fshape(x,y),大小爲1 x 1 x S x S,將其reshape成S x S大小的二維平面矩陣;該點的size特徵爲Fsize(x,y),用h和w表示預測的高度和寬度大小,將上述二維平面矩陣resize到h x w的大小,即獲得了該物體的LocalShape表示。

圖3. Local Shape預測分支

3. Global Saliency 生成

儘管上述Local Shape表示能夠生成每一個實例的mask,可是因爲該mask是由固定大小的特徵resize獲得,所以只能描述粗糙的形狀信息,不能較好的保留空間位置(尤爲是物體邊緣處)的細節。如何從固定大小的特徵中獲得精細的空間位置信息是實例分割面臨的廣泛問題,不一樣於其餘採用複雜的特徵對齊操做來應對此問題的思路,咱們採用了更爲簡單快速的方法。啓發於語義分割領域直接對全圖進行精細分割的思路,咱們提出預測一張全局大小的顯著圖來實現特徵的對齊。平行於Local Shape分支,Global Saliency分支在backbone網絡以後預測一張全局的特徵圖,該特徵圖用於表示圖像中的每一個像素是屬於前景(物體區域)仍是背景區域。

實驗結果

1. 可視化結果

圖4. CenterMask網絡不一樣設定下的分割結果

爲了驗證本文提出的Local Shape和Global Saliency兩個分支的效果,咱們對獨立的分支進行了分割結果的可視化,如圖4所示。其中(a)表示只有Local Shape分支網絡的輸出結果,能夠看到,雖然預測的mask比較粗糙,可是該分支能夠較好的區分出不一樣的物體。(b)表示只有Global Saliency分支網絡輸出的結果,能夠看到,在物體之間不存在遮擋的情形下,僅用Saliency分支即可實現物體精細的分割。(c)表示在複雜場景下CenterMask的表現,從左到右分別爲只有Local Shape分支,只有Global Saliency分支和兩者同時存在時CenterMask的分割效果。能夠看到,在物體之間存在遮擋時,僅靠Saliency分支沒法較好的分割,而Shape和Saliency分支的結合能夠同時在精細分割的同時實現不一樣實例之間的區分。

2. 方法對比

圖5. CenterMask與其餘方法在COCO test-dev數據集上的對比

CenterMask與其餘方法在COCO test-dev數據集上的精度(AP)和速度(FPS)對比見圖5。其中有兩個模型在精度上優於咱們的方法:two-stage的Mask R-CNN和one-stage的TensorMask,可是他們的速度分別大約4fps和8fps慢於咱們的方法。除此以外,咱們的方法在速度和精度上都優於其餘的one-stage實例分割算法,實現了在速度和精度上的均衡。CenterMask和其餘方法的可視化效果對比見圖6。

圖6. CenterMask與其餘方法在COCO 數據集上的可視化對比

除此以外,咱們還將提出的Local Shape和Global Saliency分支遷移至了主流的one-stage目標檢測網絡FCOS,最終的實驗效果見圖7。最好的模型能夠實現38.5的精度,證實了本方法較好的適用性。

圖7. CenterMask-FCOS在 COCO test-dev數據集上的性能

將來展望

首先,CenterMask方法做爲咱們在one-stage實例分割領域的初步嘗試,取得了較好的速度和精度的均衡,可是本質上仍未能徹底脫離目標檢測的影響,將來但願可以探索出不依賴box crop的方法,簡化整個流程。其次,因爲CenterMask預測Global Saliency的思想啓發自語義分割的思路,而全景分割是同時融合了實例分割和語義分割的任務,將來但願咱們的方法在全景分割領域也能有更好的應用,也但願後續有更多同時結合語義分割和實例分割思想的工做被提出。

更多細節見論文:CenterMask: single shot instance segmentation with point representation

招聘信息

美團無人車配送中心大量崗位持續招聘中,誠招感知/高精地圖/決策規劃/預測算法專家、無人車系統開發工程師/專家。無人車配送中心主要是藉助無人駕駛技術,依靠視覺、激光等傳感器,實時感知周圍環境,經過高精定位和智能決策規劃,保證無人配送機器人具備全場景的實時配送能力。歡迎感興趣的同窗發送簡歷至:hr.mad@meituan.com(郵件標題註明:美團無人車團隊)

參考文獻

  • [1] He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2017: 2961-2969.
  • [2] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]//Advances in neural information processing systems. 2015: 91-99.
  • [3] Zhou X, Wang D, Krähenbühl P. Objects as points[J]. arXiv preprint arXiv:1904.07850, 2019.
  • [4] Tian Z, Shen C, Chen H, et al. Fcos: Fully convolutional one-stage object detection[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 9627-9636.
  • [5] Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8759-8768.
  • [6] Huang Z, Huang L, Gong Y, et al. Mask scoring r-cnn[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 6409-6418.
  • [7] Dai J, He K, Li Y, et al. Instance-sensitive fully convolutional networks[C]//European Conference on Computer Vision. Springer, Cham, 2016: 534-549.
  • [8] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.
  • [9] Bolya D, Zhou C, Xiao F, et al. YOLACT: real-time instance segmentation[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 9157-9166.
  • [10] Xie, Enze, et al. "Polarmask: Single shot instance segmentation with polar representation." //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2020
  • [11] Chen, Xinlei, et al. "Tensormask: A foundation for dense object segmentation." Proceedings of the IEEE International Conference on Computer Vision. 2019.

閱讀更多技術文章,請掃碼關注微信公衆號-美團技術團隊!

相關文章
相關標籤/搜索