王瀟天
(西安市航天中學(xué),陜西西安,710100)
目標(biāo)檢測(Object Detection)作為計算機視覺的重要應(yīng)用,其主要目標(biāo)是從給定的圖像或者視頻中定位感興趣的目標(biāo)并進行目標(biāo)分類[1],這就需要從圖像中對目標(biāo)進行特征提取從而進行目標(biāo)分類,而且需要對目標(biāo)進行邊界框的提取。近年來,隨著卷積神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等方法的應(yīng)用,目標(biāo)檢測在速度和精度上都有了較大的進步,并廣泛的應(yīng)用在安防、自動駕駛等領(lǐng)域。
圖1 目標(biāo)檢測流程圖
如圖1所示,目標(biāo)檢測一般包括區(qū)域選擇,特征提取和分類三大步驟。區(qū)域選擇主要產(chǎn)生檢測使用的邊框,由于目標(biāo)出現(xiàn)的隨機性,最初采用滑動窗口的方式實現(xiàn)。特征提取則直接影響了分類的準(zhǔn)確性,傳統(tǒng)方法是使用人工的方式提取特征,但往往由于目標(biāo)形態(tài)、環(huán)境、光照的多樣性導(dǎo)致結(jié)果不夠穩(wěn)定從而影響最終的效果。在此理論基礎(chǔ)上,傳統(tǒng)的方法主要使用圖像預(yù)處理、待評價滑動窗口、目標(biāo)特征提取、目標(biāo)分類等。這些方法其研究的核心是基于機器學(xué)習(xí)的方法,主要關(guān)注特征工程的提取方面。
隨著深度學(xué)習(xí)的發(fā)展,相比于人工設(shè)計的特征,通過模型自動提取和學(xué)習(xí)的特征可以更好的表達圖像中的目標(biāo)。而且在傳統(tǒng)的方法中,手動提取的特征泛化能力較弱,不能很好的適應(yīng)大規(guī)模的目標(biāo)檢測任務(wù)。隨著深層次的卷積神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用,通過多層級的卷積核,實現(xiàn)由低層次抽象到高層抽象的組合,從而將圖像的特征進行更精確的提取。尤其是2012年在ImageNet挑戰(zhàn)賽使用深度卷積神經(jīng)網(wǎng)絡(luò)以來,圖像分類精度日益提高,并在2015年ImageNet挑戰(zhàn)中首次超越了人類識別分類的能力[2]。
目標(biāo)檢測本質(zhì)上屬于有監(jiān)督的機器學(xué)習(xí)問題,因此對于模型的輸入,需要圖片信息以及該圖片的label信息[3]。圖像在計算機中的存儲使用三原色的方式,即每個像素點通常使用三個0–255的數(shù)值進行存儲,在實際模型運算中,需要將三維的圖像數(shù)據(jù)進行拼接,并添加對應(yīng)的標(biāo)簽信息,隨后將該數(shù)據(jù)作為輸入進入到神經(jīng)網(wǎng)絡(luò)模型中。本文先簡要介紹全連接神經(jīng)網(wǎng)絡(luò),并在此基礎(chǔ)上引入深度卷積神經(jīng)網(wǎng)絡(luò)。
如圖2所示的全連接神經(jīng)網(wǎng)絡(luò),假定模型的batchsize為1,其輸入節(jié)點數(shù)為圖像的總維度(3×224×224),輸出為要提取的特征向量的維度,或者是目標(biāo)分類的個數(shù),輸出的節(jié)點總數(shù)與對應(yīng)的輸入的標(biāo)簽信息是一致的。中間部分是0–n個串行連接的隱藏層,使用多個網(wǎng)絡(luò)層次的根本原因是增加模型的非線性,從而提高其擬合效果。
圖2 全連接神經(jīng)網(wǎng)絡(luò)
對具體的每個計算節(jié)點,主要包括線性部分和激活函數(shù)部分,如圖3所示,線性部分WTX+b 為每個輸入節(jié)點匹配一定的權(quán)重并進行線性加權(quán),激活函數(shù)部分σ(WXT+b)則為模型添加了非線性,從而更好的擬合真實數(shù)據(jù)分布。
圖3 單個神經(jīng)網(wǎng)絡(luò)節(jié)點
通過增加隱藏層的數(shù)目,可以實現(xiàn)更加復(fù)雜函數(shù)的擬合。但是在圖像處理領(lǐng)域,簡單的增加網(wǎng)絡(luò)層次有一定的局限性:全連接神經(jīng)網(wǎng)絡(luò)對圖像輸入數(shù)據(jù)來說,數(shù)據(jù)維度過大,導(dǎo)致神經(jīng)網(wǎng)絡(luò)參數(shù)過大。在此基礎(chǔ)上提出了使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)的方法進行圖像數(shù)據(jù)處理[4]。
由于全連接神經(jīng)網(wǎng)絡(luò)存在權(quán)重參數(shù)冗余的問題,在此基礎(chǔ)上提出的卷積神經(jīng)網(wǎng)絡(luò)通過使用權(quán)值共享和局部感受視野的方法,實現(xiàn)了權(quán)重數(shù)量的大幅度降低,同時將多個卷積層級聯(lián)起來構(gòu)成一定深度的網(wǎng)絡(luò)模型,可以使圖像抽象層次得以逐步提高,從而可以較好的實現(xiàn)圖像的特征抽取。
圖4 卷積操作
卷積神經(jīng)網(wǎng)絡(luò)的核心即局部處理和參數(shù)共享。如圖4所示,通過使用卷積核對輸入數(shù)據(jù)的局部進行統(tǒng)一處理;并且共享同一個卷積核從而實現(xiàn)參數(shù)的共享。這樣,大大降低了權(quán)重參數(shù)的數(shù)目,同時由于圖像數(shù)據(jù)本身帶有局部特性,因此這種方法也有利于提取圖像的局部特征而不是孤立的以像素點的方式對待數(shù)據(jù)。
另外,卷積神經(jīng)網(wǎng)絡(luò)還使用了池化的方法進一步降低參數(shù)的維度并進一步提高抽象能力。如圖5所示,在經(jīng)典的vgg16模型中,將卷積、池化、全連接操作有機的組織在一起,從而實現(xiàn)降低參數(shù)維度、提取局部特征最終實現(xiàn)圖像的特征分類。
圖5 典型的卷積神經(jīng)網(wǎng)絡(luò)VGG16
綜上,使用CNN進行圖像分類操作是基于深度神經(jīng)網(wǎng)絡(luò)、反向傳播、卷積操作、池化、Softmax分類等操作最終實現(xiàn)了數(shù)據(jù)集的劃分。而隨著正則化、參數(shù)更新優(yōu)化算法等新技術(shù)的不斷完善,深層次的卷積神經(jīng)網(wǎng)絡(luò)模型取得了超越人類識別精度的表現(xiàn),這也帶來了其巨大的應(yīng)用價值。
在目標(biāo)檢測領(lǐng)域,我們不僅需要找出圖片中感興趣的物體,而且要知道它們的位置。位置一般由矩形邊界框來表示,可以通過中心點坐標(biāo),高度,寬度(x,y,h,w)來表述,這也是數(shù)據(jù)標(biāo)簽組成的一部分。在分類問題的基礎(chǔ)上,針對邊框的預(yù)測需要相應(yīng)的增加對邊框的預(yù)測和回歸。通常的做法是在輸入的圖片中采樣大量的區(qū)域作為邊框,然后判斷這些邊框中是否有我們感興趣的物體,并通過回歸的方法進一步調(diào)整區(qū)域邊緣該來預(yù)測真實的邊框位置。
邊框的生成方法可以有多種,經(jīng)典的方式通過圖像中的紋理,邊緣,顏色等信息產(chǎn)生候選區(qū)域(region proposal),經(jīng)典的R–CNN就使用region proposal + CNN的方式替代了傳統(tǒng)的滑動窗口+手工設(shè)計特征[5],開啟了基于深度學(xué)習(xí)進行目標(biāo)檢測的熱潮。在此基礎(chǔ)上,改進的方法通過統(tǒng)一使用神經(jīng)網(wǎng)絡(luò)產(chǎn)生候選區(qū)域(Region Proposal Networks),更高效的利用了卷積后的feature map,從而大幅加快了速度和性能。
圖6 IoU計算示意圖
另外,神經(jīng)網(wǎng)絡(luò)可能會產(chǎn)生多個邊框,如何評價預(yù)測邊框的好壞并對其進行篩選是一個重要的評價指標(biāo)。目標(biāo)檢測中主要使用交并比(IOU)即交集比并集對邊框的好壞進行評價。在預(yù)測中,我們需要給定預(yù)測概率的閾值,只保留概率大于閾值的邊框,但是仍有可能導(dǎo)致對同一物體產(chǎn)生大量相似的預(yù)測邊界框。為了使得結(jié)果更加簡潔,我們需要消除相似的冗余邊框。常用的方法是非極大值抑制(Non–Maximum Suppression,NMS),對于產(chǎn)生的比較相近的預(yù)測邊框,NMS只保留置信度最高的邊框。通過不斷的移除較小的IOU的邊框,最終實現(xiàn)對每個物體只保留置信度最高的邊框,從而實現(xiàn)高精度的對目標(biāo)的識別和檢測。
目前較為主流的檢測框架主要有R–CNN系列和YOLO,SSD等,通過使用更高效的邊框生成策略和卷積神經(jīng)網(wǎng)絡(luò),使得目標(biāo)檢測的精度逐漸提高,并得以廣泛應(yīng)用。
通過機器實現(xiàn)目標(biāo)檢測的本質(zhì)是模擬人的視覺感知能力,隨著深度學(xué)習(xí)方法的大放異彩,目標(biāo)檢測取得了理論和應(yīng)用上的突破。因此在安防,無人駕駛,機器人領(lǐng)域有著豐富的應(yīng)用場景。比如在無人駕駛領(lǐng)域,對行人、道路、交通標(biāo)志的準(zhǔn)確識別直接影響到自動駕駛汽車的感知能力,并影響汽車的決策和判斷,從而直接關(guān)系到其駕駛安全。在安防領(lǐng)域,通過大規(guī)模的目標(biāo)檢測應(yīng)用,可以及時的發(fā)現(xiàn)可疑物體,并可以廣泛的應(yīng)用在智慧園區(qū)、智能城市中。同時,高精度的目標(biāo)檢測技術(shù)也是機器人領(lǐng)域必備的技能,物流機器人、無人機避障、機器手等高科技高度依賴于物體檢測與識別技術(shù)。
高精度與實時性是當(dāng)前物體檢測領(lǐng)域的重點研究方向,也是進一步影響目標(biāo)檢測能否取得廣泛應(yīng)用的關(guān)鍵。其中R–CNN系列得益于更復(fù)雜的網(wǎng)絡(luò)在精度方面不斷取得佳績,尤其是Mask R–CNN的提出,將R–CNN系列推向了一個高峰;另一方面,以YOLO為代表的精簡網(wǎng)絡(luò)則在實時性方面不斷取得進展,同時融合了各方面的優(yōu)勢,目前在精度上也不斷提高。總之,隨著精度和實時性的不斷進展,目標(biāo)檢測將更廣泛的應(yīng)用在諸多領(lǐng)域。