BBAVectors:無Anchor的旋轉物體檢測方法

2020-09-26 AI公園

導讀

WACV2021的一篇文章,將CenterNet的方案用到了旋轉物體的檢測中,設計了一種精巧的旋轉框表達方式,免去了設計anchor麻煩,效果也非常好,而且代碼也開源了。

摘要

這是一篇有方向的物體檢測的文章。當前的有方向物體檢測往往是兩階段的基於anchor的檢測方法,但是這種方法會有正負anchor的不平衡的問題。這篇文章將基於水平關鍵點的物體檢測的方法擴展了一下,用於有方向的物體檢測。我們首先進行物體的中心點的檢測,然後回歸一個包圍框的邊緣感知向量(BBAVectors)來得到有方向的包圍框。為了讓這個向量的學習變得簡單,我們還進一步將有方向的包圍框分成了水平框和選擇框兩類。

1. 介紹

兩階段的基於anchor的旋轉框檢測有一些缺點:(1)anchor的設計非常的複雜,要去設計不同的比例,不同的尺寸。(2)正負樣本會非常的不均衡,這會導致訓練很慢,而且無法達到最優的效果。(3)第二個階段的crop和regress策略在計算量上也比較大。除了基於anchor的方法之外,最近anchor free的物體檢測方法得到了較大的發展,CenterNet的方法是先檢測物體的中心點,然後直接回歸出物體的寬和高,當然,我們可以直接再回歸一個旋轉角度θ來將CenterNet擴展到有方向的物體檢測,但是,對於任意的旋轉物體,寬和高實際上依賴於不同的旋轉坐標系統,所以直接回歸會有些難度。

本文中,我們擴展了CenterNet的方法,將其應用到有方向物體的檢測中,但是,並不是直接回歸w,h和θ,而是學習一個box boundary-aware vectors(BBAVectors),如圖1(b),然後得到物體的有方向的包圍框。在實際做的過程中,我們發現,在一些極端情況下,向量和象限的邊界非常的靠近,如圖1(c),這樣區分向量的類型就比較困難。

總結一下,我們的貢獻如下:

  • 提出了一個描述OBB的方法,box boundary-aware vectors(BBAVectors),非常的簡單有效。BBAVectors對於所有的物體都在同一個笛卡爾坐標系中。
  • 我們將基於特徵點檢測的CenterNet擴展到了方向物體檢測場景中。這是一個單階段而且anchor free的方法。

圖1:帶方向的包圍框的表示方式

2. 方法

2.1 結構

網絡結構如圖2,是一個U型的結構,我們使用了ResNet101的Conv1~5作為主幹,然後再進行上採樣,得到一個原始圖像1/4大小的特徵圖。在上採樣的過程中,會有下採樣時候的層的跳躍連接拼接到一起。

圖2:本文提出的方法的整體結構以及OBB的描述方法

2.2 熱圖

Heatmap是用來定位關鍵點的。這裡,我們用來檢測物體的中心點。熱圖有k個通道,分別對應了不同類別的物體。熱圖的每個像素點的值表示物體的置信度。

Groundtruth 假設c=(cx,cy)是旋轉框的中心點,我們以c為中心,構建一個2D的高斯分布來作為熱圖的groundtruth,其中,高斯分布的方差是和物體的尺寸相關的一個自適應的值。

訓練損失 在訓練熱圖的時候,只有中心點c是正樣本,其他的點,包括高斯分布範圍中的點都是負樣本。由於這個正負樣本的極度不平衡,所以直接去學習中心點是比較困難的,所以,我們對高斯分布以內的點的損失做了一定程度的衰減,使用了一個focal loss的變體來訓練這個熱圖。

其中,p_hat表示groundtruth,p表示預測值,N是物體的數量,α和β是超參數,這裡α=2,β=4。

2.3 中心點的偏移

在預測階段,從熱圖中提取峰值點作為物體的中心點,這個中心點c是一個整數,但是,原始圖經過下採樣之後,得到的中心點的坐標是一個浮點數,為了彌補這個量化的誤差,我們還需要再預測一個偏移量O:

用L1 loss來進行優化:

其中,SmoothL1的表達式可以是:

2.4 包圍框的參數

為了得到帶方向的包圍框,一個很自然的想法就是回歸出寬,高,和角度θ,我們把這個base line稱為Center+wh+θ,如圖1(a)。這個方法有幾個缺點:(1)小的角度的變化對於損失來說可能是微不足道的,但是對於IOU卻會產生較大的影響。(2)OBB中的w,h是在各自獨立的旋轉坐標系統中定義的,角度θ是相對於y軸的,這樣,網絡很難去聯合訓練所有的物體。所以,我們提出了一種描述OBB的方法,叫做box boundary-aware vectors(BBAVectors),包括4個向量,t,r,b,l。在我們的設計中,這4個向量分布在笛卡爾坐標系的4個象限中,所有的旋轉物體都共用一個坐標系,這樣可以高效的利用共同的信息,並提升模型的泛化能力。我們有意的設計了4個向量,而不是2個,為的是當某些局部特徵不是很明確的時候可以得到更多的交互信息。

此時,包圍框的參數定義為:b = [t,r,b,l,w,h],其中w,h是外接水平包圍框的寬和高,如圖2所示。這樣,每個包圍框就有2x4+2=10個參數,我們還是用L1 loss來回歸box的參數:

2.5 方向

我們發現,當物體框和xy軸對齊的時候,檢測會失敗,這個原因可能是象限的邊界問題,這種類型的向量的差別很難區分。我們把這個問題叫做corner case,我們把OBBs分為兩類,一類是水平的,一類是旋轉的,當OBBs是水平的,w和h幫助我們得到準確的包圍框。另外,外接矩形的參數也可以幫助我們去更好的描述OBB。

我們定義了一個旋轉特徵圖α,我們這樣定義:

然後通過交叉熵來優化:

3. 實驗

我們在兩個數據集上進行了驗證,DOTA和HRSC2016。

3.1 和其他模型的對比

DOTA:

HRSC2016:

3.2 消融實驗

我們對比了BBAVectors+r和BBAVectors+rh兩種方法,一種是不區分水平和旋轉物體,一種區分水平和旋轉物體:

3.3 和baseline的對比

我們還對比了Center+wh+θ的baseline模型:

3.4 在DOTA數據上的結果可視化

更多內容,請關注微信公眾號「AI公園」。

相關焦點

  • FCOS:全卷積一階段Anchor Free物體檢測器
    提出了一個非常簡單和靈活的物體檢測的框架,效果也非常的好。1. 介紹基於anchor的物體檢測器的缺點,這個基本上每篇anchor free的文章都會列一遍。檢測性能依賴於anchor的尺寸,比例,數量,這些都需要非常精細的設計。
  • Guided Anchoring: 物體檢測器也能自己學 Anchor
    這篇 paper 的方法用在了 COCO Challenge 2018 檢測任務的冠軍方法中,在極高的 baseline 上漲了 1 個點。最近公開在 ArXiv 上,歡迎大家提出意見。概述我們提出了一種新的 anchor 生成方法 —— Guided Anchoring,即通過圖像特徵來指導 anchor 的生成。
  • ODTK:來自NVIDIA的旋轉框物體檢測工具箱
    ODTK (b)檢測到的旋轉框解決了這個問題,並且更好地擬合了目標的輪廓。旋轉物體和特徵的檢測的應用包括遙感(圖1)、 「in the wild」 文本檢測、醫學和工業檢測。當你使用軸對齊的邊框來訓練模型背景時,每個旋轉的目標都會包含一些特徵,從而降低了模型從背景圖像中區分感興趣的目標的能力。此外,如果目標是近距離的,例如停車場的汽車,背景和附近的目標也包括在目標實例中。
  • FCOS:全卷積一階段Anchor Free物體檢測器,多種視覺任務的統一框架
    介紹基於anchor的物體檢測器的缺點,這個基本上每篇anchor free的文章都會列一遍。檢測性能依賴於anchor的尺寸,比例,數量,這些都需要非常精細的設計。一旦anchor設計好了,尺寸,比例就固定了,在物體的尺寸和比例多樣性非常大的時候會有困難,特別是小物體。預設的anchor的泛化能力也有限,對於新的任務,需要重新去設計anchor。
  • FCOS:全卷積一階段Anchor Free物體檢測器,多種視覺任務的統一框架
    的物體檢測器的缺點,這個基本上每篇anchor free的文章都會列一遍。檢測性能依賴於anchor的尺寸,比例,數量,這些都需要非常精細的設計。一旦anchor設計好了,尺寸,比例就固定了,在物體的尺寸和比例多樣性非常大的時候會有困難,特別是小物體。預設的anchor的泛化能力也有限,對於新的任務,需要重新去設計anchor。
  • Anchor Boxes——目標檢測質量的關鍵
    然後我們就可以回答網絡應該預測什麼:預測 1:梨預測 2:蘋果目前最先進的物體檢測系統如下:為每個預測器創建數千個「bounding box」或「prior boxes」,它們表示它專門用於預測對象的理想位置、形狀和大小。
  • ATSS:自動選擇物體檢測中的正負樣本
    based和anchor free物體檢測方法的本質區別在於如何選擇樣本,文章通過實驗驗證了這個想法,並提出了一種自動選取樣本的方法,在不引入任何計算量的情況下,提升了效果,並且可以認為是沒有任何超參數。
  • AAAI 2021 | 用於旋轉目標檢測的動態錨框學習策略
    對於旋轉目標檢測而言,預設旋轉anchor要額外引入角度先驗,使得預設的anchor數目成倍增加。  此外,旋轉anchor角度稍微偏離gt會導致IoU急劇下降,所以預設的角度參數很多。(例如旋轉文本檢測RRD設置13個角度,RRPN每個位置54個anchor)。    分類回歸的不一致。
  • PPDet:減少Anchor-free目標檢測中的標籤噪聲,小目標檢測提升明顯
    在此基礎上,開發了一種新的單階段anchor-free目標檢測器PPDet,以在訓練過程中採用這種標記策略,並在推理過程中採用類似的預測合併方法。在COCO數據集上,PPDet在anchor-free的自上而下檢測器中實現了最佳性能,並與其他最新方法具有同等水平。它在檢測小物體方面也優於所有最新方法(AP 31.4)。
  • 細說物體檢測中的Anchors
    今天,我將討論在物體檢測器中引入的一個優雅的概念 —— Anchors,它是如何幫助檢測圖像中的物體,以及它們與傳統的兩階段檢測器中的Anchor有何不同。像往常一樣,讓我們看看在哪些問題中,anchors被引入作為解決方案。
  • 超越bounding box的代表性點集:視覺物體表示的新方法
    近日,來自北大、清華和微軟亞研的研究者們提出了一種新的視覺物體表示方法,稱作 RepPoints(representative points,代表性點集),這種方法能更精細地描述物體的幾何位置和進行圖像特徵的提取,同時也兼有簡便和方便特徵提取的特點。利用這種表示,很自然能得到一個 anchor-free 的物體檢測框架,取得了和目前 anchor-based 方法可比的性能。
  • FreeAnchor:拋棄單一的IoU匹配,更自由的anchor匹配 | NIPS 19
    論文拋棄以往根據IoU硬性指定anchor和GT匹配關係的方法,提出FreeAnchor方法來進行更自由的匹配,該方法將目標檢測的訓練定義為最大似然估計(MLE)過程,端到端地同時學習目標分類、目標檢測以及匹配關係,從實驗來看,效果十分顯著   來源:曉飛的算法工程筆記 公眾號論文
  • 目標檢測:Anchor-Free時代
    密集預測5FSAFMotivation讓每個實例選擇最好的特徵層來優化網絡,因此不需要anchor來限制特徵的選擇。一個anchor-free的分支在每個特徵金字塔層構建,獨立於anchor-based的分支。和anchor-based分支相似,anchor-free分支由分類子網絡和回歸子網絡。
  • CVPR 2020 | 商湯提出 Anchor-free 目標檢測新網絡
    目標檢測網絡centripetalnet,為基於關鍵點的目標檢測方法研究帶來了新思路。Centripetalnet在大型公開數據集MS-COCO上達到了目前anchor-free檢測模型中的最優效果。  2  動機  1、現有的基於關鍵點的目標檢測網絡(如CornerNet、CenterNet、ExtremeNet等)通過使用關聯嵌入向量進行物體關鍵點的匹配,然而關聯嵌入向量具有訓練難度大且容易混淆同類物體的缺點,這會造成許多錯誤的關鍵點匹配從而導致錯誤的檢測結果。
  • 卷積神經網絡 物體檢測 FPN
    2017年,kaiming和rbg再次合作(一作Tsung-Yi Lin),提出了FPN解決小物體檢測的問題FPN(feature pyramid network)從rcnn到fater rcnn,物體的分類都是在最後conv層的feature map上做的,而此時
  • 卷積神經網絡 物體檢測 SSD
    2015年,YOLO之後,另外一個直接回歸的方法SSD,以state-of-the-art的檢測效果和檢測效率橫空出世;SSD,single shot multibox detector直接看下圖吧,可以看出,YOLO是在卷積層後加了FC,然後預估2*7*7共49個位置
  • 細粒度物體檢測算法的升級揭秘
    FasterRCNN檢測方案使用CNN網絡來提取特徵圖(feature map),然後在特徵圖的每個單元(cell)上基於錨框(anchor box)去做是否有物體的二分類任務,及物體相對於錨框位移的回歸任務。這個階段被稱作Region Proposal Network(RPN)。
  • PIoU Loss:傾斜目標檢測專用損失函數 |ECCV20
    論文提出從IoU指標延伸來的PIoU損失函數,能夠有效地提高傾斜目標檢測場景下的旋轉角度預測和IoU效果,對anchor-based方法和anchor-free方法均適用。BB(bounding boxes)的特性,對傾斜和密集物體的檢測存在一定的局限性。
  • 論文也撞衫,你更喜歡哪個無錨點CenterNet?
    Single-stage and Two-stage DetectorFaster RCNN [1] 及其變體自提出以來一直是主流目標檢測架構之一。由於其模型的 capacity 大,以及對 proposal 有預先處理等方面的優勢,這些模型在減輕物體姿態(角度)、光照和旋轉等問題方面都表現的十分出色。通過適當的 anchor 設置和訓練策略,也可以有效地檢測到微小和帶有遮擋的物體。
  • 香港中文大學陳愷:物體檢測算法的近期發展及開源框架介紹 | 大...
    分享主題:物體檢測算法的近期發展及開源框架介紹分享提綱:1. 深度學習背景下物體檢測算法的發展2. COCO 2018 Instance Segmentation 冠軍團隊算法分享3.今天我報告的題目是《物體檢測算法的近期發展》。深度學習背景下物體檢測算法的發展 對於物體檢測,有的人可能比較了解,有的人可能還不怎麼清楚,這裡我借用 COCO dataset 論文(論文查看地址:https://arxiv.org/pdf/1405.0312.pdf)裡面的 4 張圖來形象地介紹一下相關的任務: