王瀟天
(西安市航天中學,陜西西安,710100)
目標檢測(Object Detection)作為計算機視覺的重要應用,其主要目標是從給定的圖像或者視頻中定位感興趣的目標并進行目標分類[1],這就需要從圖像中對目標進行特征提取從而進行目標分類,而且需要對目標進行邊界框的提取。近年來,隨著卷積神經網絡、深度學習等方法的應用,目標檢測在速度和精度上都有了較大的進步,并廣泛的應用在安防、自動駕駛等領域。

圖1 目標檢測流程圖
如圖1所示,目標檢測一般包括區域選擇,特征提取和分類三大步驟。區域選擇主要產生檢測使用的邊框,由于目標出現的隨機性,最初采用滑動窗口的方式實現。特征提取則直接影響了分類的準確性,傳統方法是使用人工的方式提取特征,但往往由于目標形態、環境、光照的多樣性導致結果不夠穩定從而影響最終的效果。在此理論基礎上,傳統的方法主要使用圖像預處理、待評價滑動窗口、目標特征提取、目標分類等。這些方法其研究的核心是基于機器學習的方法,主要關注特征工程的提取方面。
隨著深度學習的發展,相比于人工設計的特征,通過模型自動提取和學習的特征可以更好的表達圖像中的目標。而且在傳統的方法中,手動提取的特征泛化能力較弱,不能很好的適應大規模的目標檢測任務。隨著深層次的卷積神經網絡的廣泛應用,通過多層級的卷積核,實現由低層次抽象到高層抽象的組合,從而將圖像的特征進行更精確的提取。尤其是2012年在ImageNet挑戰賽使用深度卷積神經網絡以來,圖像分類精度日益提高,并在2015年ImageNet挑戰中首次超越了人類識別分類的能力[2]。
目標檢測本質上屬于有監督的機器學習問題,因此對于模型的輸入,需要圖片信息以及該圖片的label信息[3]。圖像在計算機中的存儲使用三原色的方式,即每個像素點通常使用三個0–255的數值進行存儲,在實際模型運算中,需要將三維的圖像數據進行拼接,并添加對應的標簽信息,隨后將該數據作為輸入進入到神經網絡模型中。本文先簡要介紹全連接神經網絡,并在此基礎上引入深度卷積神經網絡。
如圖2所示的全連接神經網絡,假定模型的batchsize為1,其輸入節點數為圖像的總維度(3×224×224),輸出為要提取的特征向量的維度,或者是目標分類的個數,輸出的節點總數與對應的輸入的標簽信息是一致的。中間部分是0–n個串行連接的隱藏層,使用多個網絡層次的根本原因是增加模型的非線性,從而提高其擬合效果。

圖2 全連接神經網絡
對具體的每個計算節點,主要包括線性部分和激活函數部分,如圖3所示,線性部分WTX+b 為每個輸入節點匹配一定的權重并進行線性加權,激活函數部分σ(WXT+b)則為模型添加了非線性,從而更好的擬合真實數據分布。

圖3 單個神經網絡節點
通過增加隱藏層的數目,可以實現更加復雜函數的擬合。但是在圖像處理領域,簡單的增加網絡層次有一定的局限性:全連接神經網絡對圖像輸入數據來說,數據維度過大,導致神經網絡參數過大。在此基礎上提出了使用卷積神經網絡(CNN)的方法進行圖像數據處理[4]。
由于全連接神經網絡存在權重參數冗余的問題,在此基礎上提出的卷積神經網絡通過使用權值共享和局部感受視野的方法,實現了權重數量的大幅度降低,同時將多個卷積層級聯起來構成一定深度的網絡模型,可以使圖像抽象層次得以逐步提高,從而可以較好的實現圖像的特征抽取。

圖4 卷積操作
卷積神經網絡的核心即局部處理和參數共享。如圖4所示,通過使用卷積核對輸入數據的局部進行統一處理;并且共享同一個卷積核從而實現參數的共享。這樣,大大降低了權重參數的數目,同時由于圖像數據本身帶有局部特性,因此這種方法也有利于提取圖像的局部特征而不是孤立的以像素點的方式對待數據。
另外,卷積神經網絡還使用了池化的方法進一步降低參數的維度并進一步提高抽象能力。如圖5所示,在經典的vgg16模型中,將卷積、池化、全連接操作有機的組織在一起,從而實現降低參數維度、提取局部特征最終實現圖像的特征分類。

圖5 典型的卷積神經網絡VGG16
綜上,使用CNN進行圖像分類操作是基于深度神經網絡、反向傳播、卷積操作、池化、Softmax分類等操作最終實現了數據集的劃分。而隨著正則化、參數更新優化算法等新技術的不斷完善,深層次的卷積神經網絡模型取得了超越人類識別精度的表現,這也帶來了其巨大的應用價值。
在目標檢測領域,我們不僅需要找出圖片中感興趣的物體,而且要知道它們的位置。位置一般由矩形邊界框來表示,可以通過中心點坐標,高度,寬度(x,y,h,w)來表述,這也是數據標簽組成的一部分。在分類問題的基礎上,針對邊框的預測需要相應的增加對邊框的預測和回歸。通常的做法是在輸入的圖片中采樣大量的區域作為邊框,然后判斷這些邊框中是否有我們感興趣的物體,并通過回歸的方法進一步調整區域邊緣該來預測真實的邊框位置。
邊框的生成方法可以有多種,經典的方式通過圖像中的紋理,邊緣,顏色等信息產生候選區域(region proposal),經典的R–CNN就使用region proposal + CNN的方式替代了傳統的滑動窗口+手工設計特征[5],開啟了基于深度學習進行目標檢測的熱潮。在此基礎上,改進的方法通過統一使用神經網絡產生候選區域(Region Proposal Networks),更高效的利用了卷積后的feature map,從而大幅加快了速度和性能。

圖6 IoU計算示意圖
另外,神經網絡可能會產生多個邊框,如何評價預測邊框的好壞并對其進行篩選是一個重要的評價指標。目標檢測中主要使用交并比(IOU)即交集比并集對邊框的好壞進行評價。在預測中,我們需要給定預測概率的閾值,只保留概率大于閾值的邊框,但是仍有可能導致對同一物體產生大量相似的預測邊界框。為了使得結果更加簡潔,我們需要消除相似的冗余邊框。常用的方法是非極大值抑制(Non–Maximum Suppression,NMS),對于產生的比較相近的預測邊框,NMS只保留置信度最高的邊框。通過不斷的移除較小的IOU的邊框,最終實現對每個物體只保留置信度最高的邊框,從而實現高精度的對目標的識別和檢測。
目前較為主流的檢測框架主要有R–CNN系列和YOLO,SSD等,通過使用更高效的邊框生成策略和卷積神經網絡,使得目標檢測的精度逐漸提高,并得以廣泛應用。
通過機器實現目標檢測的本質是模擬人的視覺感知能力,隨著深度學習方法的大放異彩,目標檢測取得了理論和應用上的突破。因此在安防,無人駕駛,機器人領域有著豐富的應用場景。比如在無人駕駛領域,對行人、道路、交通標志的準確識別直接影響到自動駕駛汽車的感知能力,并影響汽車的決策和判斷,從而直接關系到其駕駛安全。在安防領域,通過大規模的目標檢測應用,可以及時的發現可疑物體,并可以廣泛的應用在智慧園區、智能城市中。同時,高精度的目標檢測技術也是機器人領域必備的技能,物流機器人、無人機避障、機器手等高科技高度依賴于物體檢測與識別技術。
高精度與實時性是當前物體檢測領域的重點研究方向,也是進一步影響目標檢測能否取得廣泛應用的關鍵。其中R–CNN系列得益于更復雜的網絡在精度方面不斷取得佳績,尤其是Mask R–CNN的提出,將R–CNN系列推向了一個高峰;另一方面,以YOLO為代表的精簡網絡則在實時性方面不斷取得進展,同時融合了各方面的優勢,目前在精度上也不斷提高。總之,隨著精度和實時性的不斷進展,目標檢測將更廣泛的應用在諸多領域。