照片中的遮擋關系如何判斷?北郵、字節跳動新方法刷新SOTA
到底是誰擋住了誰?遮擋邊界又在哪里?對于人類來說,物體之間的遮擋關系非常容易判斷,但對于 AI 來說,這個任務就沒那么簡單了。
從現實世界中的 3D 場景拍攝得到 2D 圖片時,會不可避免地產生「遮擋」,即距離相機近的物體會擋住后面的物體,使其部分不可見。如何從一張單目圖像中識別遮擋并同時推理出物體間遮擋與被遮擋的關系?這個任務被稱為遮擋關系推理(Occlusion relationship reasoning)。
由于圖像邊界的稀疏性,檢索單目圖像中物體之間的遮擋關系具有挑戰性。研究人員觀察到,現有工作中存在兩個關鍵問題:1)缺乏可以利用****階段兩個子任務遮擋邊界提取和遮擋方向預測之間有限耦合量的架構;2)遮擋方向的不正確表示。
為了解決第一個問題,來自北京郵電大學和字節跳動視覺技術團隊的研究者們提出了一種被稱為遮擋共享和路徑分離網絡(OPNet)的網絡結構,它通過利用共享 high-level 特征中的豐富遮擋線索和特定任務的 low-level 特征中的結構化空間信息來解決該問題。
為了解決第二個問題,研究者又提出了用于預測遮擋方向的正交遮擋表示法(OOR)。該方法在標準 PIOD / BSDS ownership 數據集上以 6.1%/8.3% Boundary-AP 和 6.5%/10% Orientation-AP 超過此前最先進的方法。
論文鏈接:https://arxiv.org/abs/2108.05722
代碼鏈接:https://github.com/fengpanhe/MT-ORL
傳統方法存在哪些問題?
基于卷積神經網絡(CNN)的遮擋關系推理方法(DOC、DOOBNet、OFNet)通常將任務分解為兩個子任務:遮擋邊界提取和遮擋方向預測。前者旨在從圖像中提取物體邊界,而后者目標是推理遮擋方向關系,然后通過逐步累積提取邊界上的方向信息來恢復遮擋關系。
上述方法在網絡架構上采用了共享全部 encoder-decoder 的形式,使兩個任務可以共享信息、相互促進。在預測遮擋方向時,直接使用逐像素角度值進行遮擋方向的指示,這方便了之后與邊界結果的耦合。但是,這些方法在兩任務的共享網絡結構和遮擋方向的預測上還有不足。
在共享的網絡結構中,DOOBNet、OFNet 采用完全共享的****,這使得兩個子任務在網絡較低階段的初始化特征階段進行了特征的組合與共享,這種方式忽略了兩任務本身在空間信息獲取時的差異性,從而導致不好的結果。在遮擋方向的表示和預測上,也缺乏對遮擋方向的良好表示方法。
DOC 首次提出使用逐像素連續方向變量作為表示,但是由于角度周期性,這使得損失函數的設計變得復雜和難以學習。DOOBNet 提出將變量截斷到 (-\pi,\pi] 范圍內,這會導致嚴重的端點錯誤:接近 -\pi 和 \pi 的角度產生較大的損失值,而保持相對接近的方向。這些都給訓練過程留下了問題。因此,在遮擋關系推理中,設計合適的遮擋方向表示仍然具有挑戰性。
新方法有何創新之處?
本文提出的 MT_ORL(Multi-task occlusion relationship learning,即多任務遮擋關系學習),也主要從上述兩個問題出發,做出了兩個主要貢獻:
提出了一種新的遮擋共享和路徑分離網絡(OPNet),用于替代現有的遮擋邊界和遮擋方向共享網絡架構。
提出了用于預測遮擋方向的正交遮擋表示法(OOR),它解決了端點誤差和角度周期性難題。
遮擋共享和路徑分離網絡
本文提出的遮擋共享和路徑分離網絡(OPNet)如下圖所示:
該網絡首先使用一個 Resnet 結構作為 encoder 部分,之后的 decoder 階段是為遮擋關系推理兩子任務聯合學習所設計的遮擋共享與路徑分離****(Occlusion-shared and Path-separated Decoder,OPDecoder)。
邊界提取和遮擋方向預測都是密集預測任務,目的都是通過理解高級遮擋信息來恢復像素級空間細節。但是前者側重于遮擋定位,而后者則表達了發生遮擋的區域之間的關系。
為了更好地考慮兩個任務之間的聯系和區別,作者將****分為兩部分:具有共享價值的遮擋信息深層階段和具有具體空間細節的淺層階段。相比于分別學習遮擋邊界和遮擋方向,網絡在學習深層階段共享的高級語義特征時,通過同時接受來自兩者的監督信號可以學習到更抽象的遮擋線索。邊界提取路徑更注重空間細節,而方向回歸路徑則側重于恢復區域關系。而之前的全 decoder 共享的方式導致了特征過度共享,使兩個任務之間相互干擾。因此,作者在淺層采用了單獨的結構。
如圖所示,****包含一個深遮擋共享階段和一個淺空間信息分支階段。在遮擋共享階段,作者使用 OSM 對兩個最深階段的特征進行解碼和聚合,然后將它們傳遞給后續的邊界路徑和方向路徑。在淺分支階段,考慮到兩個任務之間可能的干擾,作者使用 OPM 來增強來自編碼器淺層的特征,然后這些特征將被傳送到邊界和方向兩條路徑。
具體來說,在邊界提取路徑中,來自 OSM 的共享特征圖與從深到淺階段轉換的編碼器特征逐漸聚合,為了更好地利用不同尺度的空間信息,作者針對解碼的每一階段生成了一組多尺度邊界圖,然后將它們融合在一起以提取合并的邊界圖。與邊界路徑不同,方向路徑被故意設計為僅接受來自 res2 層的跳躍連接特征,以利用淺層中較少共享的空間細節。
遮擋方向的正交遮擋表示法
下圖展示了四種基于邊界的遮擋方向表示示意圖。
圖 (a) 是抽象的圖片中遮擋發生的示意圖,圖中顯示了在圖像中指示前景和背景的「左手規則」,即遮擋邊界用箭頭表示,其左側是前景。
圖 (b) 是基于人工特征和機器學習的傳統方法常用的基于完整邊界的標簽分類方法,但由于對完整邊界的強依賴,其難以直接應用到基于卷積神經網絡的深度學習中。
圖 (c) 是 DOC 中提出的像素級方向變量表示,它通過預測一個連續的在 $(-\pi,\pi]$ 的方向變量來預測邊界方向圖像中的每個像素。像素級方向變量表示可以很好地適應預測屬性密集的卷積塊,但是依舊存在兩個問題,一是這種方式對每個像素都預測了一個準確的角度,造成了不必要的負擔,二是角度本身存在周期性,DOOBNet 強制將預測角度的范圍限制在 $(-\pi,\pi]$,會在區間的兩端產生不自然的預測,從而導致大量的端點值錯誤。
作者提出遮擋方向的正交遮擋表示(Orthogonal Occlusion Representation,OOR)。如圖 (d),他們使用一對正交向量(即沿水平軸的向量 a 和沿垂直軸的向量 b)來表示遮擋方向。兩個向量都指向遮擋邊界附近的背景。OOR 通過在水平和垂直方向同時指出背景來簡化遮擋方向的預測,大大增強了預測的魯棒性。與之前的方向變量表示相比,研究者提出的 OOR 更簡單,效果更好,繞過了角度周期性和端點誤差的問題。
下圖是使用不同遮擋方向預測方式的取出的 decoder 階段的特征圖的可視化表示。網絡都采用了本文的 OPNet,第一行使用了 DOOBNet 預測遮擋方向的方法,第二行使用了本文提出的 OOR。很明顯,本文提出的 OOR 進行表示和預測遮擋方向的方式產生了前后景區分強烈的特征度,或者說使網絡學習到了更好的遮擋信息。
為了證明 OOR 對于角度區間 $(-\pi,\pi]$ 端點值預測的優化,作者分別對三種遮擋方向預測方式的預測結果進行了分角度區間的遮擋方向預測召回率的比較。從下圖可以看到,相比于之前最好的 DOOBNet 的遮擋方向預測,本文的方法在兩端分別提升了 0.23 和 0.18。這證明了之前采用區間預測方式存在嚴重的端點值錯誤的問題,而本文的 OOR 有效地解決了這一問題。
實驗結果
作者分別在 PIOD 和 BSDS ownership 兩個數據集上評估了模型和方法的有效性。
其中,OPNet + dor/dbr 為在作者網絡上使用 DOC 方向 loss 或 DOOBNet 方向 loss 的結果。通過比較 OPNet + dor/dbr 和之前方法的結果,可以證明作者的網絡在遮擋關系推理中明顯優于先前的網絡結構。在使用了作者提出的 OOR 作為方向預測的方式后,結果相比于之前最優的方法 OFNet 在 AP 上甚至有 6.5%/10% 的提升。并且在與單獨訓練邊界和方向任務的比較中,最終在同一網絡中聯合訓練兩子任務的方式獲得了更優的結果,這也證明了作者設計的 OPDecoder 可以使兩任務相互促進,更好地聯合學習、預測。
與之前方法在兩數據集下的 PR 曲線的對比,作者的方法均優于先前方法。
下圖是預測結果的可視化比較。如圖,作者的方案在邊界和遮擋關系的預測上都有明顯的提升。
總結
本文針對多任務學習遮擋關系提出了一種新的遮擋共享和路徑分離網絡(OPNet)和 用于預測遮擋方向的正交遮擋表示法(OOR)。OPNet 使得兩個任務通過有限的共享 encoder 階段的特征相互促進,獲得更好的遮擋邊界和遮擋方向。OOR 則是解決了遮擋方向預測的角度周期性難題和端點誤差的問題。大量實驗表明作者的方法極大的提升了遮擋關系推理的性能,在 AP 上相比于之前的方法甚至有 6.5%/10% 的提升。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。