陶曉力,劉寧鐘,沈家全
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106)
隨著無(wú)人機(jī)技術(shù)的快速發(fā)展,無(wú)人機(jī)在遙感圖像拍攝中的應(yīng)用越來(lái)越頻繁。無(wú)人機(jī)技術(shù)的優(yōu)點(diǎn)在于低成本,設(shè)備尺寸小,安全,最重要的是能夠快速和按需完成任務(wù)。現(xiàn)階段,無(wú)人機(jī)技術(shù)的發(fā)展已經(jīng)能夠?yàn)槿藗兲峁┚哂袠O高分辨率的遙感圖像,同時(shí)能夠包含空間信息如GPS定位等。這使得基于無(wú)人機(jī)圖像的分析應(yīng)用場(chǎng)景大大擴(kuò)展,包括植被檢測(cè)、電氣設(shè)備檢查、城市交通監(jiān)測(cè)等等。
近年來(lái),隨著汽車數(shù)量的快速增長(zhǎng),在給人們的生活和工作帶來(lái)便利的同時(shí),交通事故、道路擁擠等問(wèn)題也變得更加頻發(fā)。因此,結(jié)合無(wú)人機(jī)檢測(cè)技術(shù)的智能交通越來(lái)越受到交通部門以及學(xué)者的關(guān)注。而車輛檢測(cè)作為智能交通領(lǐng)域中繞不開(kāi)的點(diǎn),更是研究的重點(diǎn)。然而,由于無(wú)人機(jī)航拍圖像中的車輛尺寸相對(duì)較小且方向可變,自動(dòng)車輛檢測(cè)存在著很多困難與挑戰(zhàn)。此外,在復(fù)雜背景下的目標(biāo)實(shí)時(shí)檢查也是一大難點(diǎn)。
根據(jù)現(xiàn)有的目標(biāo)檢測(cè)方法,檢測(cè)任務(wù)主要分為三個(gè)部分:特征提取,候選區(qū)域的生成以及分類[1]。在大部分已經(jīng)存在的車輛檢測(cè)方法中,手工設(shè)計(jì)的特征應(yīng)用廣泛。文獻(xiàn)[2-3]使用類哈爾特征(Haar-like)和局部二值化模式(LBP)進(jìn)行特征提取。文獻(xiàn)[2]使用了尺度不變特征變換描述符(SIFT)。文獻(xiàn)[4]中使用了方向梯度直方圖。這些算法通過(guò)滑動(dòng)窗口的方法,以預(yù)設(shè)的窗口遍歷整張?zhí)卣鲌D,然后使用SVM或adaboost等分類器對(duì)提取的特征進(jìn)行預(yù)測(cè),以判斷窗口中是否存在可能的車輛[5-6]。
目標(biāo)檢測(cè)的性能表現(xiàn)主要依賴于特征提取。然而上述方法并不能很好地適用于所有的應(yīng)用場(chǎng)景,尤其是復(fù)雜背景下的車輛檢測(cè)。同時(shí)滑動(dòng)窗口的方式會(huì)導(dǎo)致過(guò)多的重復(fù)計(jì)算,在檢測(cè)效率上也不盡如人意。
最近隨著深度學(xué)習(xí)的興起,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在目標(biāo)檢測(cè)領(lǐng)域取得了重大的進(jìn)步。多種檢測(cè)模型包括RCNN[7]、Fast-RCNN、Faster-RCNN[8]、YOLO[9]、SSD[10]等都有著良好的表現(xiàn),在識(shí)別精確率以及檢測(cè)時(shí)間上都優(yōu)于傳統(tǒng)的人工設(shè)計(jì)特征的檢測(cè)算法。
RCNN使用選擇性搜索算法來(lái)生成候選區(qū)域,之后對(duì)每一個(gè)區(qū)域通過(guò)卷積神經(jīng)網(wǎng)絡(luò)提取深度特征,并使用SVM分類器進(jìn)行分類。RCNN是最早的基于CNN的目標(biāo)檢測(cè)算法,盡管識(shí)別準(zhǔn)確率有了極大的提升,但由于大量的重復(fù)計(jì)算以及候選區(qū)域的生成,CNN的訓(xùn)練和SVM都不在一個(gè)網(wǎng)絡(luò)中,導(dǎo)致訓(xùn)練的繁瑣和檢測(cè)時(shí)間的過(guò)長(zhǎng)。Faster RCNN使用區(qū)域建議網(wǎng)絡(luò)(RPN)來(lái)生成候選區(qū)域,并與特征提取的卷積神經(jīng)網(wǎng)絡(luò)共享參數(shù),之后通過(guò)全連接層實(shí)現(xiàn)目標(biāo)分類,真正意義上實(shí)現(xiàn)了端到端的網(wǎng)絡(luò)結(jié)構(gòu),加快了網(wǎng)絡(luò)的訓(xùn)練和檢測(cè)速度。
目前,F(xiàn)aster RCNN在目標(biāo)檢測(cè)方面達(dá)到了一個(gè)領(lǐng)先的水平,但是,在航拍車輛檢測(cè)方面仍然存在缺陷。由于粗糙的特征圖設(shè)計(jì),RPN網(wǎng)絡(luò)不適合小目標(biāo)檢測(cè)。同時(shí),在航拍圖像的復(fù)雜大背景下,誤識(shí)別也影響著模型的識(shí)別效果[11-12]。
ZFNet[13]和VGG16[14]是兩類典型的基于CNN的目標(biāo)檢測(cè)網(wǎng)絡(luò)。ZFNet是一種輕量型的模型,它的模型參數(shù)較少,主要包括5層卷積層以及2層全連接層。VGG模型是一系列不同深度的神經(jīng)網(wǎng)絡(luò)模型,包括VGG13、VGG16、VGG19等。這一系列模型顯示了隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深,模型的表現(xiàn)將會(huì)得到提升。其中VGG16的綜合表現(xiàn)最好,因此,文中將在VGG16的基礎(chǔ)上進(jìn)行優(yōu)化,結(jié)合Faster RCNN模型,構(gòu)建出可行的車輛檢測(cè)網(wǎng)絡(luò)。
VGG16網(wǎng)絡(luò)共包含13層卷積網(wǎng)絡(luò)以及緊接其后的三層全連接網(wǎng)絡(luò),若按照網(wǎng)絡(luò)的輸出大小劃分,也可以將前面13層卷積網(wǎng)絡(luò)分為5部分。不同于傳統(tǒng)的將第五部分的輸出特征圖直接傳遞給RPN網(wǎng)絡(luò),在文中網(wǎng)絡(luò),通過(guò)添加concat層將后面的三部分結(jié)合形成新的超特征層,具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。串聯(lián)模型可以通過(guò)學(xué)習(xí)權(quán)重的融合獲得目標(biāo)體系結(jié)構(gòu)信息,減少背景噪聲對(duì)檢測(cè)性能的影響。同時(shí),相關(guān)研究表明,更深的網(wǎng)絡(luò)可以得到更高的召回率,而淺層的網(wǎng)絡(luò)可以得到更好的準(zhǔn)確率。因此,結(jié)合淺層特征和深層特征的方式可以有效地提高模型的檢測(cè)效果。
超特征圖如圖1所示,這是基于VGG16的卷積網(wǎng)絡(luò),輸入為701*623*3的jpg格式圖片。因?yàn)橐獙onv3,conv4,conv5三部分的輸出通過(guò)concat層鏈接,而由于這三部分的輸出結(jié)果的長(zhǎng)寬不一樣,所以具體的做法是使用512個(gè)大小為3*3*256的卷積核對(duì)conv3的輸出進(jìn)行卷積,步幅為2,然后再接一層maxpool層,得到的結(jié)果為22*20*512。使用512的大小為3*3*512的卷積核對(duì)conv4的輸出進(jìn)行卷積,步幅為2,得到的結(jié)果為22*20*512。接著使用concat層將conv3_out,conv4_out和conv5進(jìn)行通道合并,使用512個(gè)1*1*1 536卷積核進(jìn)行卷積,得到所需的超特征層,大小為22*20*512。
輸入圖片經(jīng)過(guò)一系列卷積之后變成超特征圖傳入RPN層。RPN層的目的是預(yù)測(cè)所有可能的候選區(qū)域,并給出前背景的概率[9]。通過(guò)3*3的滑動(dòng)窗口,RPN層將得到的超特征圖的對(duì)應(yīng)部分變成一個(gè)512維的特征向量,然后對(duì)其進(jìn)行前背景的分類以及包圍框的回歸。因?yàn)閷?duì)于每一個(gè)滑動(dòng)窗口預(yù)測(cè)k個(gè)物體可能存在的位置,所以共有2k個(gè)前背景的分?jǐn)?shù)以及4k個(gè)包圍框的值。如圖2所示,文中k的值是9。
(1)
其中,area(Bp∩Bg)表示Bp與Bg的交集的面積;area(Bp∪Bg)表示Bp與Bg的并集的面積。
使用多任務(wù)損失函數(shù)來(lái)反向傳播用以更新網(wǎng)絡(luò)參數(shù),目的是最小化分類和回歸的錯(cuò)誤率。多任務(wù)損失函數(shù)定義如下:
(2)
(3)
(4)
RPN網(wǎng)絡(luò)中最重要的是預(yù)測(cè)包圍框的生成。上文提到過(guò)卷積之后圖片大小成為了原來(lái)的1/32,即特征圖上的一點(diǎn)對(duì)應(yīng)于原圖中32*32大小的一個(gè)區(qū)域。在VGG16-faster-RCNN中,包圍框的大小設(shè)置:基礎(chǔ)大小為16,比例變換為(0.5,1,2),尺度變換為(8,16,32),因此最終得到三類尺度的包圍框(256,512,1 024),對(duì)應(yīng)比例變換后得到9種包圍框,如圖3所示。
圖3 9種包圍框
從包圍框的大小可知,如此之大的包圍框只適合正常大小的目標(biāo),不適用小目標(biāo)檢測(cè)。根據(jù)航拍車輛的大小,在包圍框基礎(chǔ)大小和比例變換不變的情況下,修改尺度變換為(2,4,8),最終得到的包圍框大小如表1所示。
表1 各包圍框大小
使用了兩個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)對(duì)比,一是慕尼黑航拍車輛數(shù)據(jù)集,另一個(gè)是自己使用無(wú)人機(jī)收集的南京石楊路和東麟路的航拍車輛數(shù)據(jù)。
DLR 3K慕尼黑航拍車輛數(shù)據(jù)收集的車輛地點(diǎn)是德國(guó)城市慕尼黑。這些圖像是通過(guò)Canon Eos 1Ds Mark III相機(jī)從飛機(jī)上拍攝的,分辨率為5 616*3 744像素,焦距為50 mm,并以JPEG格式存儲(chǔ)。圖像拍攝自地面1 000米的高度,地面采樣距離約為13厘米。數(shù)據(jù)集中共包括20張圖片,其中10張為訓(xùn)練集,10張為測(cè)試集,共細(xì)分為7種類型的車。將pkw_car和pkw_van合并為car,將cam和truck合并為truck,這樣共得到car 8 381輛,truck 130輛。將每張5 616*3 744的原始圖片裁剪成11*10的有重合的圖像塊,每個(gè)圖像塊大小為702*624。最后將每個(gè)圖像塊通過(guò)旋轉(zhuǎn)90°,180°,270°的方式增加4倍,共得到8 800張圖。
自己收集的車輛數(shù)據(jù)包括石楊路和東麟路兩部分,拍攝點(diǎn)據(jù)地面約為100米,分辨率為5 472*3 078。其中石楊路376張,包含3 565輛汽車以及127輛卡車共3 692輛,東麟路101張,包含1 930輛汽車以及318輛卡車。將原圖像的長(zhǎng)寬縮小1/4到1 368*770,同時(shí)通過(guò)鏡像變換將車輛樣本增加4倍。
采用mAP指標(biāo)來(lái)衡量模型的好壞,定義如下:
(5)
其中,R表示召回率;P表示該召回率下的準(zhǔn)確率。
(6)
(7)
其中,TP表示將正樣本預(yù)測(cè)為正的數(shù)量;FP表示將負(fù)樣本預(yù)測(cè)為正的數(shù)量;FN表示將正樣本預(yù)測(cè)為負(fù)的數(shù)量。
實(shí)驗(yàn)結(jié)果如表2所示。分別在慕尼黑數(shù)據(jù)集和自己的數(shù)據(jù)上運(yùn)行了ZF模型,改進(jìn)后的ZF模型,VGG16模型以及改進(jìn)后的VGG16模型??梢钥吹?,改進(jìn)后的模型相較于原始模型,其mAP都有了較大的提升,VGG16模型的效果又好于ZF模型。而最終基于VGG16改進(jìn)的方案得到了最好的效果。同時(shí),在自己數(shù)據(jù)集上的效果比慕尼黑數(shù)據(jù)集上好的原因在于,自己收集的車輛數(shù)據(jù)集分辨率更高、更清晰,特征相較于慕尼黑車輛數(shù)據(jù)集更為明顯。部分實(shí)驗(yàn)結(jié)果如圖4和圖5所示。
表2 不同模型的mAP
基于Faster RCNN設(shè)計(jì)了一個(gè)具有較好精確率和魯棒性的航拍車輛檢測(cè)模型。建立一個(gè)超特征圖,將深度網(wǎng)絡(luò)的淺層特征和深層特征相結(jié)合,進(jìn)行目標(biāo)車輛的特征提取。實(shí)驗(yàn)結(jié)果表明,該方法在小目標(biāo)檢測(cè)上具有良好的效果。同時(shí),在RPN層上,通過(guò)先驗(yàn)知識(shí),根據(jù)車輛的大小設(shè)計(jì)了合適的anchor box,也提升了檢測(cè)模型的性能。另外,該方法也存在不足,仍舊會(huì)有小部分的車輛漏檢。因此,將會(huì)繼續(xù)深入研究網(wǎng)絡(luò)模型,在提升準(zhǔn)確率和召回率的同時(shí),減少檢測(cè)時(shí)間。
圖4 慕尼黑車輛數(shù)據(jù)結(jié)果
圖5 自己收集的車輛數(shù)據(jù)結(jié)果