Zhiqiang Shen, Zhuang Liu, Jianguo Li, Yu-Gang Jiang, Yurong Chen, Xiangyang Xue
翻譯水平有限,如有錯誤歡迎指正。
摘要
在這篇論文中,我們提出 Deeply Supervised Object Detectors (DSOD),這是一個能夠否從頭被訓練的目標檢測框架。最近,目標檢測的的進步主要依賴於那些現成的模型,這些模型是在 ImageNet 和 OpenImage 這樣的大規模分類資料集合上進行預訓練而得來的。但是,將預訓練模型從圖片分類任務轉而應用在目標檢測任務上將會帶來一個問題,那就是由目標函式 (objective function) 的不同和目標類別的不同分佈 (diverse distributions of object categories) 而導致的學習偏差 (learning bias)。像微調 (fine-tune) 這樣的技術應用於檢測任務中能夠在某種程度上減輕這個問題,但仍不能從根本上解決它。此外,這些預訓練模型在不同領域之間的轉化將會十分困難(例如,從 RGB 到深度圖片。因此,解決這個重要問題的更好的方法就是從頭訓練目標檢測器,這也促進了我們提出的這個方法的誕生。過去我們在這個方向上的努力主要失敗於受限的訓練資料和不成熟的、面向目標檢測的主幹網路架構。在 DSOD 中,我們為從頭訓練目標檢測器提出一系列的設計準則。其中一條關鍵準則就是深度監督 (deep supervision),這條準則使主幹網路 (backbone networks) 和預測層 (prediction layers) 之間逐層的稠密連線 (layer-wise dense connections) 成為可能,該準則在從頭訓練目標檢測器的過程中扮演著重要的角色。在引入幾條其他準則之後,我們基於 SSD(single-shot detection) 框架建立了 DSOD。我們在 PASCAL VOC 2007, 2012 和 COCO 資料集合上評估了我們的方法。 DSOD 以更緊湊的模型,相比於其他前沿的方法,一致地取得了更好的結果。特別地,DSOD 在三個不同基準下比原版本 SSD 方法表現更好,卻只需要原來 1/2 的引數。我們也觀察到 DSOD 在沒有使用額外的資料或預訓練模型時,能夠(在輸入近似大小圖片的情況下)相比於 Mask RCNN[1] + FPN[2] 取得可比的或略微更好的結果,同時只需要其 1/3 的引數。
1 引言
目標檢測一類的任務旨在自動地在自然圖片上定位多種目標物體。這種任務由於在監視偵察、自動駕駛、智慧安全等多領域的廣泛應用而被重點研究。近幾年來,隨著越來越多的創新和基於強大卷積神經網路 (Convolutional Neural Networks) 的目標檢測系統的提出,目標檢測問題已經成為計算機視覺領域發展最快的分支之一。
為了達到期望的效能,先進的目標檢測系統通常使用的方法是微調 (fine-tune) 在 ImageNet 資料集上預訓練過的模型。這個微調 (fine-tune) 的過程也被看作是遷移學習 (transfer learning)。特別地,如圖1所示,研究人員們常常首先使用像是 ImageNet 這樣的大規模圖片分類資料集訓練卷積模型 (CNN models),而後針對目標任務對這些模型進行微調 (fine-tune),例如,圖片分類[5], [6], [7], [8], [9],目標檢測[10], [11], [12], [13], [1], [14], [15],影象分割[16], [17], [18], [19],細粒度影象識別 (finegrained recognition) [20], [21], [22], [23],影象描述 (captioning) [24], [25], [26], [27], [28], [29] 等等。從頭開始學習意味著在不涉及其他附加的資料或額外的微調過程的情況下直接以目標任務為據訓練模型。以過去的經驗來看,在預訓練模型上進行微調過程至少存在兩個優點。第一個是,目前有大量的、先進的卷積預訓練模型是公開的。研究人員將這些模型應用在他們各自的領域是十分方便的。第二,相比於基本的圖片分類任務來說,在預訓練的模型上進行微調能夠使訓練快速收斂到最終狀態,並且只需要更少的標註了的訓練資料。
但是,在目標檢測領域應用預訓練模型的幾個重要侷限性也是如此地明顯:(I)*限制了模型架構的設計空間。*現存的目標檢測演算法直接套用預訓練模型,所帶來的結果是控制/調整精細網路結構的餘地很小,甚至是在神經網路架構設計上做出小的調整都很困難。此外,由於預訓練模型大部分來自於大規模圖片分類任務,因此這些模型非常笨重(包含了大量的引數)而且在某些特定的場景下直接使用這些笨重的模型是不合適的。笨重的神經網路架構往往和計算資源的需求量存在聯絡。(II)*學習/優化偏差。*因為在圖片分類任務和目標檢測任務之間,在目標函式和類別的分佈方面存在著一些差異,這些差異或許會導致不同的搜尋/優化空間 (searching / optimization spaces)。因此,當所有的引數都從圖片分類的預訓練模型中得來時,目標檢測任務模型的學習或許會陷入區域性最小值的偏差中,而這並不是目標檢測任務的最好結果。(III)*領域不匹配。*眾所周知,微調能夠緩和不同任務的類別分佈(category distribution)之間的差異。但是,當源領域(例如,ImageNet)和目標領域之間存在巨大的差異時,微調仍然會產生一些問題。例如目標領域是深度影象,醫療影像等等[30]。
因此,我們的工作動力來源於下面的兩個問題。第一,在不使用預訓練模型的情況下直接從頭訓練一個目標檢測網路是否可行?第二,如果第一個問題的答案是肯定的,是否存在一些準則能夠為目標檢測任務設計一個資源消耗少網路結構提供一些指導,而同時,這個網路結構還能夠保持較高檢測精度呢?為了達到這個目的,我們提出了深度監督目標檢測(DSOD),一個能夠從頭訓練目標檢測模型的簡單卻高效的框架。DSOD 有著相當的靈活度,我們為像伺服器、臺式電腦、移動手機甚至嵌入式裝置等不同的計算平臺而調整神經網路架構。
我們為設計 DSOD 提出了一系列的設計準則。其中關鍵點在於*深度監督(deeply supervised)*結構,這受到了近期工作[31],[32]的啟發。在[32]中,(Xie et al)提出了一個用於邊緣檢測的整體巢狀架構(holistically-nested structure),這個結構包括了為明確的深度監督而服務的基準神經網路中的每一個卷積階段的邊緣輸出層(side-output layers)。相比於使用