今天看的是《Object Detection with Deep Learning: A Review》
目錄
一、摘要
1.1 原文
1.2 翻譯
二、介紹
2.1 信息區域選擇
2.2 特征提取
2.3 分類
三、深度學習的簡要回顧
3.1 歷史、誕生、衰落和繁榮
3.2 CNN架構和優勢
一、摘要
1.1 原文
Due to object detection’s close relationship with video analysis and image understanding, it has attracted much research attention in recent years. Traditional object detection methods are built on handcrafted features and shallow trainable architectures. Their performance easily stagnates by constructing complex ensembles which combine multiple low-level image features with high-level context from object detectors and scene classifiers. With the rapid development in deep learning, more powerful tools, which are able to learn semantic, high-level, deeper features, are introduced to address the problems existing in traditional architectures. These models behave differently in network architecture, training strategy and optimization function, etc. In this paper, we provide a review on deep learning based object detection frameworks. Our review begins with a brief introduction on the history of deep learning and its representative tool, namely Convolutional Neural Network (CNN). Then we focus on typical generic object detection architectures along with some modifications and useful tricks to improve detection performance further. As distinct specific detection tasks exhibit different characteristics, we also briefly survey several specific tasks, including salient object detection, face detection and pedestrian detection. Experimental analyses are also provided to compare various methods and draw some meaningful conclusions. Finally, several promising directions and tasks are provided to serve as guidelines for future work in both object detection and relevant neural network based learning systems.
1.2 翻譯
由于目標檢測與視頻分析和圖像理解的密切關系,近年來引起了人們的廣泛關注。傳統的目標檢測方法是建立在手工特征和淺層可訓練架構上的。通過構建復雜的集成,將多個低級圖像特征與來自目標檢測器和場景分類器的高級上下文相結合,它們的性能很容易停滯不前。隨著深度學習的快速發展,越來越多功能強大的工具被引入,這些工具能夠學習語義的、高層次的、更深層次的特征,以解決傳統架構中存在的問題。這些模型在網絡架構、訓練策略和優化功能等方面表現不同。本文回顧了基于深度學習的目標檢測框架。我們的回顧首先簡要介紹了深度學習的歷史及其代表工具,即卷積神經網絡(CNN)。然后,我們重點討論了典型的通用目標檢測體系結構以及一些改進和有用的技巧,以進一步提高檢測性能。由于不同的特定檢測任務具有不同的特征,我們還簡要介紹了幾種特定的檢測任務,包括顯著目標檢測、人臉檢測和行人檢測。實驗分析比較了各種方法,得出了一些有意義的結論。最后,提出了幾個有前途的方向和任務,為未來目標檢測和相關的基于神經網絡的學習系統的工作提供指導。
二、介紹
為了理解圖像,我們要對圖像進行分類和精確定位其中目標的概念和位置,這就是“目標檢測”。其中包含許多子任務:人臉檢測、行人檢測、骨架檢測等等。
目標檢測作為計算機視覺的基礎問題之一,能夠為圖像和視頻的語義理解提供有價值的信息,涉及到圖像分類,人類行為分析,人臉識別,自動駕駛等諸多應用。
然而,由于視角、姿態、遮擋和光照條件的巨大變化,通過額外的物體定位任務很難完美地完成目標檢測。近年來,這一領域受到了廣泛的關注。目標檢測的問題定義是確定物體在給定圖像中的位置(物體定位)和每個物體屬于哪個類別(物體分類)。因此傳統目標檢測模型的流水線主要分為三個階段:信息區域選擇、特征提取和分類。
2.1 信息區域選擇
由于不同的物體可能出現在圖像的任何位置,并且具有不同的長寬比或大小,因此使用多尺度滑動窗口掃描整個圖像是一種自然的選擇。由于候選窗口數量多,計算成本高,產生過多冗余窗口。然而,如果只應用固定數量的滑動窗口模板,可能會產生不滿意的區域。
2.2 特征提取
為了識別不同的對象,我們需要提取能夠提供語義和魯棒的表示的視覺特征。然而,由于外觀、光照條件和背景的多樣性,很難手動設計一個魯棒的的特征描述符來完美地描述所有類型的物體。
2.3 分類
目標檢測中,需要使用分類器將目標與其他類進行區分,并表示的更具有層次性、語義性和信息量,以便于視覺的識別。常見分類器有支持向量機(Support Vector Mechine,SVM)、AdBoost和可變形零件模型(Deformable Part-based Model,DPM)。其中DPM比較靈活,可以結合物體的部分與變形的代價處理嚴重變形的情況。它還借助了圖形模型,將低級特征和各部件分解相結合。
本篇文章系統介紹通用目標檢測、顯著性目標檢測、人臉檢測和行人檢測幾個應用領域代表模型和不同特點。這幾類模型關系如下:
通常而言,基于基礎的CNN架構,采用邊界框回歸實現通用目標檢測,局部對比度增強和像素級分割實現顯著性目標檢測。人臉檢測和行人檢測通過多尺度自適應和多特征融合/增強森林實現。上圖中虛線表示相應的域在一定條件下相互轉換。行人和人臉具有相同規則結構,一般物體和場景圖像變化更為復雜。不同圖像需要不同的深度模型。
三、深度學習的簡要回顧
3.1 歷史、誕生、衰落和繁榮
深度學習即為具有深層結構的神經網絡。神經網絡最初用于模擬人類大腦系統,之后由于訓練過擬合,數據缺乏和計算能力的限制,神經網絡與21世紀初就過時了。深度學習與2006年流行,最初在語音識別方面得到突破,其繁榮歸因于以下因素:
- 大規模帶注釋的訓練數據出現,如ImageNet,展示了強大的學習能力
- 快速開發高性能并行計算系統,如GPU集群
- 網絡結構設計和訓練策略方面的重大進展。dropout和數據增強的出現緩解了數據過擬合問題,采用批處理歸一化(BatchNormalization,BN)神經網絡訓練變得高效。各種網絡結構也被提出以提高性能。
3.2 CNN架構和優勢
CNN是最有代表性的深度學習模型,典型的CNN架構被稱為VGG16。它的每一層被稱為一個特征圖,輸入特征映射是不同顏色的通道(如RGB三通道)像素強度3D矩陣。任意一個內層的特征圖都是一個多通道圖像。“像素”就可以稱為一個特定的特征。每個神經元與前一層(感受野)的小部分相鄰神經元相連。在特征映射時進行不同的轉換,如過濾、池化等。濾波(卷積)操作將濾波矩陣(學習權值)與神經元感受野的值進行卷積,并采用非線性函數(如sigmoid,ReLU)獲得最終響應。池化操作如max池化、平均池化、l2池化和局部對比度歸一化,將感受野響應總結為一個值,以產生更具有魯棒性的特征描述。
卷積和池化之間的交錯,可以構造一個初始的特征層次結構,再添加幾個完全連接層(Full Connection,FC)以監督方式進行微調,適應不同視覺任務。經典VGG16具有13個卷積層(Conv),3個全連接層,3個最大池化層和一個softmax分類層。卷積特征圖分辨率通過3*3的濾波窗口生成的。特征圖分辨率通過兩步最大池化層降低。訓練后網絡可以處理任意與訓練樣本大小相同的測試圖像。若大小不同,則需重新縮放和裁剪。
CNN相比于傳統方法的優勢總結如下:
- 層次化特征表示,通過層次化多階段結構學習到的像素到高級語義特征多層次表示,自動從數據中學習,并通過多層次非線性映射解除輸入數據的隱藏因素
- 深層架構提高指數級增長的表達能力
- CNN架構提供聯合優化多個相關任務的機會(Fast RCNN將分類和邊界框回歸結合成多任務學習方式)
- CNN使得一些經典計算機視覺挑戰可以被重塑為高維數據轉換問題,并從不同角度解決
因此CNN也被用于許多領域,如圖像超分辨率重建、圖像分類、圖像檢索、人臉識別和視頻分析等。