「房間里的大象」:讓目標檢測器一臉懵逼

「房間里的大象」:讓目標檢測器一臉懵逼

來自專欄機器之心42 人贊了文章

選自arXiv,作者:Amir Rosenfeld、Richard Zemel、John K. Tsotsos,機器之心編譯。

可靠的圖像理解系統對於自動駕駛、醫學成像等應用至關重要。對抗樣本被認為是一種有針對性的小型擾動。約克大學和多倫多大學的研究者在本文中展示了另一種擾動。與對抗樣本相反,這些擾動不受範數的約束。它們把一幅圖像中的物體放置(「移植」)到另一幅圖像的新位置。這種做法對目標檢測器的結果有多種非局部影響,比如房間里走動的大象讓目標檢測器把沙發認成椅子,或讓杯子、書消失。本文通過一系列實驗證明了這一點,並提出了一些可能的解釋。

Gary Marcus 在其推特上評論道:這個針對機器學習系統魯棒性的技術問題給自駕汽車的實現提出了相當大的挑戰。

實驗

作者從一些定性結果開始。圖 1(a)展示了一種當前最優目標檢測方法(具備 NASNet 骨幹網路 [20] 的 Faster-RCNN [9])應用於來自 Microsoft COCO 目標檢測基準 [6] 的客廳圖像的結果,目標檢測器是在該基準數據集上訓練的。作者利用真實數據,從另一幅圖像中提取了一個目標(大象)及其掩碼,並將其「移植」到客廳圖像的不同位置上。作者把移植的目標稱為 T。結果可以在圖 1 b-i 中看到。當目標 T 沿著圖像平移時,作者發現了幾個有趣的現象:

  1. 檢測不穩定:目標有時無法被檢測到,或者能夠被檢測到但置信度出現急劇變化。
  2. 目標 T 被檢測到的身份不一致(在圖 1-f 中被當成椅子):根據位置變化,目標可能被檢測為各種不同的東西。
  3. 目標帶來非局部影響:未與 T 重疊的目標可能會變換類別、邊界框,或者完全消失。

圖 1:在房間中檢測一隻大象。(a): 當前最優目標檢測器在客廳圖像里檢測到多個目標;(b,d,e,g,i):移植的目標(大象)在很多情況下和任意位置未被檢測到;(f): 目標類別被誤認為是「椅子」。該目標(大象)具有非局部影響,導致其它目標消失(圖 d、f 中的杯子,e、i 中的書)或變換類別(圖 e 中的椅子被誤認為是沙發)。

論文:The Elephant in the Room

論文鏈接:arxiv.org/abs/1808.0330

摘要:我們展示了一系列當前最優目標檢測器的常見故障。這些故障是通過用包含訓練目標的另一個子圖像替換圖像子區域而獲得的。我們將這種做法稱為「目標移植」(object transplanting)。結果表明,以這種方式修改圖像會對目標檢測造成非局部影響。根據目標檢測器的結果,目標位置的微小變化會影響目標以及圖像中其他對象的類別確認。對此,我們提供了一些分析,並提出了一些可能的解釋。

實驗中採用的圖像均來自 MS-COCO 數據集 2017 版的驗證集。除非另有說明,我們採用的所有模型均來自 Tensorflow 目標檢測 API [5]。因此,我們的實驗易於復現,並且可以訪問一組不同的當前最優目標檢測架構。此外,如無特殊情況,我們僅使用在 MS-COCO 上訓練的模型。這些模型可以從相應的 API 網頁下載,還可以利用官方提供的代碼將模型應用於圖像。表 2 列出了我們使用的模型。

測試圖像生成: 圖 1 中的例子看起來有點不自然,我們提供了更多隨機生成的例子。簡而言之,通過挑選一對隨機圖像 I、J,將隨機目標從圖像 J 移植到圖像 I 中,然後測試目標檢測的效果。

表 2:實驗中所用模型,及其平均準確率(mAP)

共現目標

我們已經展示了隨機選擇一對圖像和待移植目標的結果。可以說,想讓一個從未在同一圖像中看到兩個類別組合的網路能夠在測試時成功地處理此類圖像有點期望過高。我們認為,無論是在實際中還是理論上,要求每對目標類別在訓練集中共現都是不合理的。當然,這對人類來說要求不高。人類不依靠語境也能識別物體,儘管需要的時間更長 [2]。

然而,我們現在轉向生成另一個極端的圖像:我們從圖像中複製一個目標,並將其複製到同一圖像中的另一個位置。圖 2 顯示了 4 幅隨機挑選圖像的生成圖像的檢測結果。我們看到,這種效果也發生在這些圖像上。部分遮擋和語境似乎在這裡發揮了作用。例如,在(b)欄的最下面一行,當靠近電視機時,牛的腳會變成「遙控器」。當植物的一部分被遮擋(d 欄,最後 2、3 行),但一個人的手在附近時,植物的底部被檢測為手提包或杯子。圖 2 中的結果都是使用 faster_rcnn_nas_coco 模型生成的。

圖 2:把目標從圖像的某個位置移植到該圖像另一位置的效果。最上一行:原始檢測。後續每一行:通過複製移植目標,相對於前一行新檢測到的目標。

特徵干擾

以下將展示特徵干擾對檢測過程的不利影響,這可能是對檢測誤差的合理解釋。例如,考慮圖 3(a)中的檢測結果。一隻部分可見的貓被檢測到並歸類為斑馬。我們證實,從不屬於實際目標(cat)的像素中獲得的特徵對指定的類有影響。這點同樣適用於目標感興趣區域(ROI)以內及以外的像素:在圖 3(b)中,我們將邊界框外的所有像素都設置為零。檢測結果不變。當我們把邊界框內的像素也歸零,留下屬於貓的像素時,得到的標籤也會變成「貓」。這顯示了 ROI 內像素的影響。然而,當我們將 ROI 之外的背景強度隨機化時,標籤會變成「狗」。這表明 ROI 之外的特徵會影響檢測的最終結果。此次實驗是用 Yolov3[8] 方法的 PyTorch 埠執行的,速度非常快,產生的結果與目標檢測的最新水平相當。這種情況下的最終分類需要依賴來自卷積層單個網格單元的特徵。

圖 3:特徵干擾。(a):一隻部分可見的貓被檢測為斑馬;(b):丟棄檢測邊界框外的所有像素並不能固定對象的分類,這表明 ROI 內的特徵可能會導致混淆;(c):丟棄 ROI 內的所有非「貓」像素也會導致固定的分類;(d):在邊界框之外的範圍內添加隨機雜訊再次導致錯誤的檢測結果,顯示了 ROI 外特徵的影響。

超出檢測範圍的全局影響

在一項初步實驗中,我們將幾張沒有檢測到任何物體的圖像上傳至谷歌的 Vision API 網站。這些圖像是任意挑選的。本文中呈現出實驗結果,因為我們發現它值得進一步探索。似乎其方法的 OCR 部分對移植目標也表現出驚人的非局部影響。圖 4 顯示了這一點:鍵盤放置在圖像的兩個不同位置。儘管每個位置中鍵盤都遠離標誌,但在每種情況下,標誌的檢測結果都是不同的。

圖 4:谷歌 OCR 上目標移植的非局部影響。放置在圖像中兩個不同位置的鍵盤會導致對右側標誌中文本的不同解釋。頂部圖像的輸出是「dog bi」,底部是「La Cop」。

討論

我們提出了當前目標檢測器出現這些奇異行為的幾個可能原因。儘管我們報告了很多種現象,我們相信這些現象不是獨立的,某些現象之間存在一些共同的潛在原因。

部分遮擋:人們普遍認為部分遮擋目前仍然是目標檢測器的一大挑戰。能應對部分遮擋被認為是泛化的良好信號。實際上,我們測試的很多現代目標檢測器都對部分遮擋具備很高的魯棒性。

上下文推理:對目前的目標檢測器而言,明確地考慮語義級別的上下文並不常見,這意味著目標類別之間的相互作用以及它們的相對空間布局(或可能的額外關係)是被編碼在網路的推理過程中的。儘管很多方法聲稱整合了上下文推理,但更多地是在特徵層面上,意味著全局圖像信息在某種程度上編碼在每一次推斷中。這和以前流行的明確使用上下文推理的研究相反。

特徵干擾:現代目標檢測器使用從卷積層中獲得的特徵來生成最終的目標類別和邊框預測。這些區域的尺寸是固定或矩形的。ROI 池化運算在感興趣區域的卷積特徵圖子窗口上執行特徵的最大池化。這種運算受到以下事實的影響:

  1. 感興趣區域是矩形的。這意味著不屬於目標的區域部分也會被池化,包括背景外觀以及目標外觀。
  2. 特徵圖的每個部分可能擁有一個很大的有效感受野。在實踐中,這意味著特徵是從檢測目標的邊框以外池化得到的。

一方面,來自目標周圍的特徵可以提供有用的語境線索來提升目標檢測,特別是對於那些由於尺寸、部分遮擋等原因而不能提供足夠信息的目標。另一方面,一味將額外特徵混合至最終類別分數可能會影響結果的正確性。

其它可能原因還包括:超出樣本分布、缺乏信號完整性、非極大值抑制等(詳見原文)。

我們相信特徵干擾(如圖 3 所示)可能是多數觀察到的現象的根本原因,而那些由於部分遮擋或語境推理導致的現象則可能是該問題的特殊案例。


推薦閱讀:

手殘也能出好片 圖像處理APP推薦
背景及基本概念介紹
style transfer
這個強大的圖片處理庫我學定了(2)
圖像風格化演算法綜述三部曲之 (二) (Neural Style Transfer: A Review)

TAG:人工智慧 | 圖像處理 | 計算機視覺 |