計算機視覺技術是實現自動駕駛的重要部分,美團無人配送團隊長期在該領域進行着積極的探索。不久前,高精地圖組提出的CenterMask圖像實例分割算法被CVPR2020收錄,本文將對該方法進行介紹。算法
CVPR的全稱是IEEE Conference on Computer Vision and Pattern Recognition,IEEE國際計算機視覺與模式識別會議,它和ICCV、ECCV並稱爲計算機視覺領域三大頂會。本屆CVPR大會共收到6656篇投稿,接收1470篇,錄用率爲22%。微信
圖像的實例分割是計算機視覺中重要且基礎的問題之一,其在衆多領域具備十分重要的應用,好比:地圖要素提取、自動駕駛車輛感知等。不一樣於目標檢測和語義分割,實例分割須要對圖像中的每一個實例(物體)同時進行定位、分類和分割。從這個角度看,實例分割兼具目標檢測和語義分割的特性,所以更具挑戰。當前兩階段(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方法予以解決。框架
相較於one-stage目標檢測,one-stage的實例分割更爲困難。不一樣於目標檢測用四個角的座標便可表示物體的bounding box,實例分割的mask的形狀和大小都更爲靈活,很難用固定大小的向量來表示。從問題自己出發,one-stage的實例分割主要面臨兩個難點:性能
遵守目標檢測的設定,現有的實例分割方法可大體分爲兩類:二階段(two-stage)實例分割方法和一階段(one-stage)實例分割方法。spa
不一樣於上述方法,咱們提出的CenterMask網絡,同時包含一個全局顯著圖生成分支和一個局部形狀預測分支,可以在實現像素級特徵對齊的狀況下實現不一樣物體實例的區分。prototype
本工做旨在提出一個one-stage的圖像實例分割算法,不依賴預先設定的ROI區域來進行mask的預測,這須要模型同時進行圖像中物體的定位、分類和分割。爲了實現該任務,咱們將實例分割拆分爲兩個平行的子任務,而後將兩個子任務獲得的結果進行結合,以獲得每一個實例的最終分割結果。3d
第一個分支(即Local Shape分支)從物體的中心點表示中獲取粗糙的形狀信息,用於約束不一樣物體的位置區域以天然地將不一樣的實例進行區分。第二個分支(即Global Saliency分支)對整張圖像預測全局的顯著圖,用於保留準確的位置信息,實現精準的分割。最終,粗糙但instance-aware的local shape和精細但instance-unaware的global saliency進行組合,以獲得每一個物體的分割結果。rest
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
爲了區分位於不一樣位置的實例,咱們採用每一個實例的中心點來對其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表示。
儘管上述Local Shape表示能夠生成每一個實例的mask,可是因爲該mask是由固定大小的特徵resize獲得,所以只能描述粗糙的形狀信息,不能較好的保留空間位置(尤爲是物體邊緣處)的細節。如何從固定大小的特徵中獲得精細的空間位置信息是實例分割面臨的廣泛問題,不一樣於其餘採用複雜的特徵對齊操做來應對此問題的思路,咱們採用了更爲簡單快速的方法。啓發於語義分割領域直接對全圖進行精細分割的思路,咱們提出預測一張全局大小的顯著圖來實現特徵的對齊。平行於Local Shape分支,Global Saliency分支在backbone網絡以後預測一張全局的特徵圖,該特徵圖用於表示圖像中的每一個像素是屬於前景(物體區域)仍是背景區域。
爲了驗證本文提出的Local Shape和Global Saliency兩個分支的效果,咱們對獨立的分支進行了分割結果的可視化,如圖4所示。其中(a)表示只有Local Shape分支網絡的輸出結果,能夠看到,雖然預測的mask比較粗糙,可是該分支能夠較好的區分出不一樣的物體。(b)表示只有Global Saliency分支網絡輸出的結果,能夠看到,在物體之間不存在遮擋的情形下,僅用Saliency分支即可實現物體精細的分割。(c)表示在複雜場景下CenterMask的表現,從左到右分別爲只有Local Shape分支,只有Global Saliency分支和兩者同時存在時CenterMask的分割效果。能夠看到,在物體之間存在遮擋時,僅靠Saliency分支沒法較好的分割,而Shape和Saliency分支的結合能夠同時在精細分割的同時實現不一樣實例之間的區分。
CenterMask與其餘方法在COCO test-dev數據集上的精度(AP)和速度(FPS)對比見圖5。其中有兩個模型在精度上優於咱們的方法:two-stage的Mask R-CNN和one-stage的TensorMask,可是他們的速度分別大約4fps和8fps慢於咱們的方法。除此以外,咱們的方法在速度和精度上都優於其餘的one-stage實例分割算法,實現了在速度和精度上的均衡。CenterMask和其餘方法的可視化效果對比見圖6。
除此以外,咱們還將提出的Local Shape和Global Saliency分支遷移至了主流的one-stage目標檢測網絡FCOS,最終的實驗效果見圖7。最好的模型能夠實現38.5的精度,證實了本方法較好的適用性。
首先,CenterMask方法做爲咱們在one-stage實例分割領域的初步嘗試,取得了較好的速度和精度的均衡,可是本質上仍未能徹底脫離目標檢測的影響,將來但願可以探索出不依賴box crop的方法,簡化整個流程。其次,因爲CenterMask預測Global Saliency的思想啓發自語義分割的思路,而全景分割是同時融合了實例分割和語義分割的任務,將來但願咱們的方法在全景分割領域也能有更好的應用,也但願後續有更多同時結合語義分割和實例分割思想的工做被提出。
更多細節見論文:CenterMask: single shot instance segmentation with point representation
美團無人車配送中心大量崗位持續招聘中,誠招感知/高精地圖/決策規劃/預測算法專家、無人車系統開發工程師/專家。無人車配送中心主要是藉助無人駕駛技術,依靠視覺、激光等傳感器,實時感知周圍環境,經過高精定位和智能決策規劃,保證無人配送機器人具備全場景的實時配送能力。歡迎感興趣的同窗發送簡歷至:hr.mad@meituan.com(郵件標題註明:美團無人車團隊)
閱讀更多技術文章,請掃碼關注微信公衆號-美團技術團隊!