全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

AIBigbull2050發表於2019-12-16


2019-12-14 05:46:31
全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

作者 | 王紹儒

編輯 | 唐裡

本篇文章是AI 科技評論 AAAI 2020 論文系列解讀第 02 篇

往期論文解讀

新角度看雙線性池化,冗餘、突發性問題本質源於哪裡?| AAAI系列解讀 01

本文對中科院自動化所、地平線合作的論文《RDSNet: A New Deep Architecture for Reciprocal Object Detection and Instance Segmentation》進行解讀,該論文發表在AAAI 2020,且已開源:

論文連結: xiv.org/abs/1912.05070

程式碼連結: .com/wangsr126/RDSNet

論文其中第一作者王紹儒為中科院自動化所碩士生,目前在地平線實習。

論文對當前目標檢測及例項分割演算法的現狀進行了簡要的概述,並對各種方法的優劣進行了簡要的分析,據此提出了一套完整的框架,同時完成目標檢測與例項分割任務,並且兩個任務相互輔助,同時取得了效能的提升。

一、問題背景

目標檢測與例項分割是計算機視覺領域重要的兩個任務,近年來出現了非常多優秀的演算法解決這兩個問題,且都取得了優異的效果,但是,卻鮮有文章深入分析兩者之間的關聯,也就導致了諸如下圖所示的錯誤的出現:

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

圖中所示結果由 Mask R-CNN 得到,可以看到由於邊界框定位不準導致的例項掩碼缺失((a), (b))及邊界框與例項掩碼不統一的問題((c), (d))。這些問題都可以在這篇論文提出的演算法中得到很好的解決。

二、方法介紹

演算法框架如下圖所示:

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

文章中認為:目標檢測屬於 object level 的任務,這類任務更 關注物體級別的特徵,對解析度的需求不高,但需要更多的高階語義資訊;而例項分割任務屬於 pixel level 的任務,這類任務需要給出逐畫素的輸出,對解析度的需求較高,需要更多的細節資訊。

因此便設計瞭如圖所示的雙流網路,上面的 object stream 重點完成目標檢測任務,可以是 SSD, YOLO, RetinaNet 等任一 anchor-based 的目標檢測演算法(文中採用了 RetinaNet);下面 pixel stream 重點完成分割的任務,解析度很高(文中採用了類似 PanopticFPN 的方式融合了多尺度的特徵,得到了高解析度的輸出);後續的若干操作則是文章的重點,介紹瞭如何使得兩個任務相互輔助:

“物體”輔助例項分割:

目前常見的例項分割演算法分為兩類,

一類是類似於 Mask R-CNN 的 proposal-based 的方法,是目標檢測演算法的直接擴充套件,但這類方法會面臨上文提到的諸多問題:得到的例項掩碼解析度相對較低且嚴重依賴於 proposal 的邊界框;

另一類基於分割演算法,首先預測每個點的 embe dding,然後再透過聚類得到每個例項的掩碼(屬於相同物體的點具有相似的 embe dding,透過聚類,即可使得屬於同一物體的點形成一個簇,也就得到了每個物體的掩碼),這類方法天然克服了 proposal-based 的缺陷,但一般無法 end-to-end 訓練(一般需要 metric learning 的方式訓練 embe dding),且受限於聚類演算法,效能一般有限。

仔細分析發現,聚類的難題主要源於聚類中心的缺失,換句話說,如果我們擁有每個簇的中心,我們就可以拋棄聚類演算法,進行 end-to-end 的訓練;而這個「中心」,應該是每個物體的 embe dding,也就是說,它應該源於 object level,而非 pixel level!因此,也就形成了論文裡提出的基於相關濾波的例項掩碼生成演算法:

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

Object stream 和 pixel stream 分別提取 object 和 pixel 的 embe dding(object embe dding 的獲取方式也很簡單,直接在目標檢測演算法的 detection head 中在 classification 和 regression 分支的基礎上額外增加一個分支進行預測就可以),屬於同一物體的 pixel 和與其對應的物體具有相近的 embe dding,相似性的衡量採用了內積相似度,也就是說:對於每個檢測到的物體,以其 embe dding 作為 kernel,在 pixel embe dding 上執行相關濾波,即可得到這一物體的掩碼。

除此之外,文中還充分利用了 object stream 得到的目標邊界框,對距離物體中心較遠的噪聲進行了抑制,本質上是在一定程度上克服 CNN 的 translation-variant 對例項分割任務的影響。

“掩碼”輔助目標檢測:

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

邊界框定位是目標檢測的一項重要任務,而現有的方法大多采用迴歸的方式得到邊界框的位置。然而我們回顧邊界框的定義,發現它本身就是透過物體的掩碼定義的(minimum enclosing rectangle of an object mask)!

那麼,既然我們可以得到物體的掩碼,為什麼還要依賴於迴歸演算法,多此一舉呢(前提是物體掩碼的獲取應該不依賴於邊界框)?然而文中透過實驗發現,直接利用透過上述基於相關濾波方法得到的例項掩碼生成邊界框,精度並不太高,甚至低於迴歸方法得到的邊界框!文章作者透過視覺化發現:大多數物體的掩碼都可以提供十分準確的邊界框,然而也存在部分物體的掩碼預測結果不太理想,使得邊界框出現了較大的偏移。

據此觀察,文章提出了一種基於貝葉斯公式的邊界框定位演算法,首先將邊界框定位定義為分類任務(在 width/height 維度上某個座標是不是物體的邊界),將問題轉化為給定物體掩碼,座標屬於邊界框的後驗機率的預測:

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

然後利用貝葉斯公式,將回歸得到的邊界框作為先驗機率 P(X=i),而 P(M』|X=i) 則由物體例項掩碼透過逐列(行)取最大、一維卷積和啟用函式得到。

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

整體過程如下圖所示:

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

此方法綜合考慮了迴歸得到的邊界框和例項掩碼的優勢,得到了更準確的邊界框。具體結果可以看下圖,可以明顯發現,由此方法得到的邊界框可以以更高的 IOU 和 ground truth bbox 匹配。

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

三、實驗結果

全新視角,探究「目標檢測」與「例項分割」的互惠關係 | AAAI系列解讀 02

文章在 COCO 資料集上進行了實驗驗證:

在例項分割任務中,此方法在單階段演算法中可以達到更優的速度與精度的平衡,以近 3 倍的速度取得了和 TensorMask 相近的精度,以相近的速度在 YOLACT 的基礎上取得了 2.3mAP 的提升。

在目標檢測任務中,此方法以極低的計算代價在不同的 backbone 上取得了一致的效能提升。

值得注意的是:文章中採用的是 RetinaNet 作為 detector,且在其基礎上擴充套件到例項分割任務中並不會帶來顯著的計算量的增加,如果採用其他更先進的目標檢測演算法,其精度與速度還能取得更進一步的提升。

四、一些題外話

文章的解讀到此已經結束,但是作者還提供了一些其他的角度來理解這篇文章:

Anchor-based or Anchor-free?

Anchor-free 可以算得上是 2019 年目標檢測領域爆火的詞彙,本文也蹭一下熱點,分析一下和這篇論文的關聯。

仔細觀察這篇文章提出的演算法框架可以發現,object stream 實際上是 anchor-based,而 pixel stream 則是 anchor-free:object stream 中的 detector 可以由很多目標檢測演算法充當,包括但不限於 SSD, YOLO, RetinaNet, 甚至可以是兩階段的 Faster R-CNN;而 pixel stream 不只可以預測 pixel embe dding,還可以額外預測邊界框角點(類似 CornerNet),或人體關鍵點(類似於 Assoc. Embed.),或是其他物體例項畫素級的表徵;而這兩個分支透過相關濾波聯絡到一起,一定程度上解決了如 CornerNet 中的 grouping 的問題。

從這個角度說,這篇文章提出的框架算得上是真正的 anchor-based 和 anchor-free 的結合,未來可能催生出更多有意思的工作。

Bbox or Mask?

正如 Ross 大神在 ICCV 的 Tutorial 上提到的內容,object detection 是一個很廣義的概念,不同的物體表徵也對應著不同 level 的任務:

例如:bbox 對應著傳統意義上的 object detection,mask 對應著 instance segmentation,human keypoints 對應著 pose estimation,human surfaces 對應著 dense human pose estimation……這些任務相互關聯,對應著不同角度、不同 level 的對物體的理解。現有的方法或是將這些問題獨立看待,或是 high-level task 直接建立在 low-level task 上(例如 Mask R-CNN,兩階段的人體姿態估計等),但這些任務的關聯絕不僅限於此。

這篇文章的 關注點是 bbox 和 mask 的關聯,但也並未做到極致。從這個角度說,object detection 仍然還有巨大的發展空間。

參考文獻

Kaiming He, et al. "Mask R-CNN." In Proceedings of IEEE International Conference on Computer Vision. 2017.

Wei Liu, et al. "SSD: Single shot multibox detector." In Proceedings of European Conference on Computer Vision. 2016.

Joseph Redmon and Ali Farhadi. "YOLOv3: An incremental improvement." arXiv preprint arXiv: 1804.02767 (2018).

Tsung-Yi Lin, et al. "Focal loss for dense object detection." In Proceedings of IEEE International Conference on Computer Vision. 2017.

Alexander Kirillov, et al. "Panoptic feature pyramid networks." In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. 2019.

Xinlei Chen, et al. "Tensormask: A foundation for dense object segmentation." arXiv preprint arXiv:1903.12 174 (2019).

Daniel Bolya, et al. YOLACT: Realtime instance segmentation. In Proceedings of IEEE International Conference on Computer Vision. 2019.

Shaoqing Ren, et al. "Faster R-CNN: Towards real-time object detection with region proposal networks." In Proceedings of Advances in Neural Information Processing Systems. 2015.

Hei Law and Jia Deng. "CornerNet: Detecting objects as paired keypoints." In Proceedings of European Conference on Computer. 2018.

Alejandro Newell, et al. "Associative embe dding: End-to-end learning for joint detection and grouping." In Proceedings of Advances in Neural Information Processing Systems. 2017.



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2668761/,如需轉載,請註明出處,否則將追究法律責任。

相關文章