陳文云 覃煥昌
百色學(xué)院 信息工程學(xué)院 廣西 百色 533000
近三十年來,隨著反向傳播算法的發(fā)明[1]、卷積神經(jīng)網(wǎng)絡(luò)技術(shù)的問世[2-4]、計算機(jī)運算速度和存儲技術(shù)不斷深化,推動計算機(jī)視覺技術(shù)水平不斷提高,對象檢測技術(shù)是其最基礎(chǔ)、最重要、最具挑戰(zhàn)性的技術(shù)之一。對象檢測技術(shù)是圖像識別和理解的關(guān)鍵技術(shù),其通過對圖片中的各區(qū)域、各層特征的提取,通過機(jī)器學(xué)習(xí)檢測出圖片中各對象及其位置和關(guān)聯(lián)。
對象檢測技術(shù)[5]首先選定圖像中某一特定位置,然后對該區(qū)域圖像進(jìn)行識別、分類,反復(fù)進(jìn)行可以找出圖像中所有對象及其位置,再對各對象的關(guān)聯(lián)性進(jìn)行分析,以完成對整張圖像的理解。其已廣泛地應(yīng)用于日常生活中,譬如人臉檢測與識別[6-7],行人檢測[8],醫(yī)學(xué)上的人體骨架檢測[9],圖像分類[10-11],人類行為分析[12]和自動駕駛[13-14]等。
傳統(tǒng)的對象檢測技術(shù)由區(qū)域推薦、特征提取和對象分類等部分組成。
不同對象在圖像中出現(xiàn)的位置不同、大小以及比例也不同,用不同大小和不同尺寸比例的候選滑動窗口去掃描圖像是必要的,從而篩選出最佳的區(qū)域推薦。巨量的窮舉候選滑動窗口會消耗大量的計算資源,同時會帶來冗余候選窗口。如果過少的候選滑動窗口數(shù)量,可能找不到最佳滑動窗口。
為了識別滑動窗口中的對象,必須對窗口中能代表圖像的結(jié)構(gòu)特征進(jìn)行提取,對這些特征的表示是通過模擬外部刺激在大腦神經(jīng)元中產(chǎn)生的激勵[20]來完成的。常采用的先進(jìn)特征提取技術(shù)有:比例無關(guān)的特征變換[20],方向梯度直方圖HOG[21],哈爾特征Haar-like[22]等。但現(xiàn)實應(yīng)用中對象的外觀、光照條件和背景的巨大差異,通過人工找到一個完美的、適合所有場景、所有對象的特征是極其困難的。
在提取的特征的基礎(chǔ)上,需要找到一個強有力的分類器來區(qū)分在滑動窗口中的對象歸屬某一特定種類,常采用的分類器有:支持向量機(jī)SVM[23],AdaBoost[24],DPM[25]等。
傳統(tǒng)的對象檢測技術(shù)以滑動窗口為基礎(chǔ),生成冗余低效的、人工定義的、淺層局部的特征描述和淺層學(xué)習(xí)模型為主要特征,無法獲取圖像中對象的深層次特征并完成深層學(xué)習(xí),很快就遇到了識別率提升的瓶頸[15]。深層神經(jīng)網(wǎng)絡(luò)DNN[11,26]通過自動提取和學(xué)習(xí)深層特征,打破了這一僵局,實現(xiàn)各層級特征自動提取,取消人工特征定義[27]。
新型對象檢測技術(shù)能在圖像中定位、識別特定的一個或多個已知對象。定位可以通過邊框(bounding box)來表示,識別就是對邊框中對象進(jìn)行分類。根據(jù)其技術(shù)特點可將其分為兩類:第一種技術(shù)是基于區(qū)域推薦的對象檢測,與傳統(tǒng)的圖像理解技術(shù)類似,首先進(jìn)行區(qū)域推薦,再將推薦區(qū)域的圖像進(jìn)行識別和分類,典型代表有R-CNN[15],fast R-CNN[16],faster R-CNN[17],SPP-net[28],R-FCN[29],F(xiàn)PN[30]等,與傳統(tǒng)技術(shù)主要區(qū)別是取消了特征的人工定義;第二種技術(shù)是基于回歸的對象檢測,它將對象檢測與分類識別過程視為回歸問題,采用統(tǒng)一的框架一并完成,這類框架主要有YOLO[18],SSD[19],YOLOv2[31],DSSD[32]等。
基于區(qū)域推薦的對象檢測技術(shù)與人腦觀察物體的過程類似,先粗略掃描整個物體的概貌,再仔細(xì)關(guān)注感興趣的區(qū)域RoI。這類框架主要有如下幾種:

圖1 R-CNN信息流圖
R-CNN:通過采用選擇搜索算法[33]來快速提供精確的推薦區(qū)域,并在推薦區(qū)域中應(yīng)用CNN提取深層次的高維(4096維)特征表示,然后利用線性SVM分類器對區(qū)域特征打分,最后在貪婪非最大抑制算法作用下對邊框BoundingBox進(jìn)行回歸,從而得到最優(yōu)的邊框[15],從而識別出圖片中所有對象及其邊框。對比結(jié)果顯示該框架比當(dāng)時mAP最好結(jié)果提高了30%左右,其信息流圖如圖1所示。

圖2 SPP-net架構(gòu)
SPP-net:所有CNN最后都需要全連接層來匯總所有特征圖中的特征信息,而全連接層只會接收固定大小的輸入,故在R-CNN模型中需要對推薦區(qū)域進(jìn)行裁剪,從而會導(dǎo)致邊框的不準(zhǔn)確。為此,空間金字塔匹配SPM算法[34-35]被用于在卷積層和全連接層之間構(gòu)建空間金字塔池化層SPP[28],從而生成全連接層所需要的輸入特征尺寸大小。其提高邊框預(yù)測的準(zhǔn)確率的同時,還能提高對象檢測的效率,架構(gòu)如圖2所示

圖3 Fast R-CNN架構(gòu)
Fast R-CNN:盡管SPP層能提高R-CNN的精度和效率,但是它還是采用單一管道、串行、多任務(wù)方式來完成所有處理,導(dǎo)致額外的內(nèi)存花銷而且SPP的網(wǎng)絡(luò)微調(diào)算法不能影響到之前的卷積層。Fast R-CNN通過簡化SPP層為一層,并在全連接層后引入了兩個孿生的分別處理分類和邊框回歸的輸出層,并將所有參數(shù)進(jìn)行端到端多任務(wù)損失優(yōu)化[16],進(jìn)而進(jìn)一步提高對象檢測和分類的精度和效率,其架構(gòu)如圖3所示。

圖4 RPN的架構(gòu)
Faster R-CNN: 主要創(chuàng)新是采用了區(qū)域推薦網(wǎng)絡(luò)RPN[17,36],RPN通過向?qū)ο髾z測網(wǎng)絡(luò)分享全圖像的卷積特征圖來為其實現(xiàn)特征提取共享計算,幾乎無成本的去掉了Fast R-CNN中耗時的區(qū)域推薦處理;引入k個錨框分別對應(yīng)k個區(qū)域推薦,每個錨框與RPN中滑動的小網(wǎng)絡(luò)進(jìn)行卷積產(chǎn)生每個推薦的低維特征,以供邊框分類和回歸。RPN的架構(gòu)圖如圖4所示。
R-FCN[29]:不同于faster R-CNN在于,其在最后一個卷積層就基于k*k固定大小網(wǎng)格為每類生成k2個得分列表,后續(xù)的RoI池化層、分類器和邊框回歸器都基于這個得分表來進(jìn)行對象檢測。FPN[30]提取各個層級(由下至上、由上至下和直接互聯(lián))的特征,在不犧牲速度和存儲空間的前提下,可用于訓(xùn)練各種大小的圖片。Mask R-CNN[37]將faster R-CNN技術(shù)擴(kuò)展至對象分割,在并行的分類和邊框回歸的基礎(chǔ)上增加了一個新分支:分割線掩碼。
基于回歸的對象檢測技術(shù)只需一步就能根據(jù)輸入圖片計算出所有對象的邊框及其類別。這類技術(shù)主要有:

圖5 YOLO的對象檢測信息流圖
YOLO[18]:將對象檢測設(shè)計為一個回歸問題,對邊框和類別概率同時回歸,只用一個神經(jīng)網(wǎng)絡(luò)和一次評價就可以從輸入圖像直接預(yù)測出邊框和類別。YOLO將輸入圖像分割成S*S個網(wǎng)格,每個網(wǎng)格只負(fù)責(zé)檢測中心落在其中的對象,預(yù)測B個邊框和相應(yīng)的置信得分(),此外每個網(wǎng)格還要給出一組所有類別的條件類別概率()。根據(jù)邊框的置信得分和網(wǎng)格的條件類別概率,就可以計算出每個邊框的類別置信得分:

其信息流圖如圖5所示。
由此看出YOLO在一個模型中同時考慮了邊框類別、邊框的位置和大小,很容易進(jìn)行端到端的損失優(yōu)化,從而提高了效率、運算速度和預(yù)測精度。基本型YOLO處理速度可達(dá)45fps,fast YOLO處理幀率為155fps。引入塊歸一化、高分辨率分類器、錨框、維數(shù)聚類、細(xì)粒度特征、直接位置預(yù)測和多尺度訓(xùn)練等新技術(shù)的YOLO稱為YOLOv2。

圖6 SSD的網(wǎng)絡(luò)架構(gòu)
SSD[19]:是在受到錨框、區(qū)域推薦網(wǎng)RPN和多尺度表示技術(shù)的啟發(fā)下提出的,為了解決其他技術(shù)在檢測小尺寸對象時碰到的困難。它以VGG16的網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),在后面增加了幾個特征層來預(yù)測不同尺度和比例的對象的偏移量機(jī)器置信得分,從而使對象檢測時融合了不同分辨率的特征圖中的預(yù)測信息,而非基于單一分辨率的特征圖,最后在非最大抑制算法的作用下得到最佳對象預(yù)測結(jié)果。其架構(gòu)圖如圖6。

Faster R-CNN YOLO SSD速度(fps) 7 45 59 mAP(%) 63.4 73.2 74.3
通過比較SSD、YOLO和faster R-CNN在PASCAL VOC和Microsoft COCO數(shù)據(jù)集的測試表現(xiàn),得到如左表結(jié)果,結(jié)果表明SSD無論在速度(59fps),或是精度(74.3%)都是目前最好的對象檢測技術(shù)。
對象識別技術(shù)近些雖然年取得了突飛猛進(jìn)的發(fā)展,但仍然還有很多問題亟待攻克。其一,小尺寸對象(尤其是在局部遮擋情況下)的識別;其二,如何減少人工介入(打標(biāo)簽等),提高對象檢測的自主化;其三,如何提高對象檢測的速度實現(xiàn)實時化,尤其對大尺寸圖片;其四,如何實現(xiàn)三維對象的檢測,甚至視頻對象檢測。