楊 帆,吳韶波
(北京信息科技大學(xué) 信息與通信工程學(xué)院,北京 100101)
近年來,智能駕駛越來越受到廣大消費(fèi)者的青睞,該技術(shù)控制車輛在無人類干預(yù)的情況下安全地完成駕駛?cè)蝿?wù)。車輛目標(biāo)檢測(cè)就是其中的重要一環(huán):利用傳感器采集的信息檢測(cè)周圍車輛和智能駕駛車輛的相對(duì)位置。隨著深度學(xué)習(xí)算法的發(fā)展,通用目標(biāo)檢測(cè)技術(shù)也逐漸發(fā)展成熟。但對(duì)于智能駕駛場(chǎng)景而言,通用目標(biāo)檢測(cè)技術(shù)存在實(shí)時(shí)性差、易受天氣和光照等變化的影響等缺點(diǎn),需要做進(jìn)一步的改善才能滿足需求。深度學(xué)習(xí)中的SSD(Single Shot MutiBox Detectior, SSD)算法[1]采用卷積層替代全連接層,實(shí)現(xiàn)了特征提取和定位,克服了由于車輛數(shù)據(jù)集問題帶來的各種困難,具有一定的泛化能力。該算法較傳統(tǒng)目標(biāo)檢測(cè)算法計(jì)算效率更高,在性能上有了極大提升,然而仍存在下列缺陷:
(1)在現(xiàn)實(shí)交通環(huán)境中,車輛較為集中,普遍存在遮擋問題,檢測(cè)結(jié)果仍有所欠缺;
(2)由于交通場(chǎng)景視野較遠(yuǎn),存在許多尺寸較小的目標(biāo),且交通場(chǎng)景環(huán)境多變,容易出現(xiàn)誤檢、漏檢等現(xiàn)象[2]。
針對(duì)以上問題,還需要在SSD算法的基礎(chǔ)上做進(jìn)一步優(yōu)化,才能使模型在更加復(fù)雜的場(chǎng)景下提高判斷和檢測(cè)能力,減少誤判和漏檢等現(xiàn)象。
SSD網(wǎng)絡(luò)架構(gòu)是由VGG16[3]和大小不同的卷積層組成,由于一張圖片中可能會(huì)有多個(gè)目標(biāo)需要檢測(cè),所以之前的全連接層(FC6和FC7)便體現(xiàn)出很大的局限性。考慮到卷積層提取特征的作用,產(chǎn)生了用卷積層替代全連接層的想法,相應(yīng)的最后做預(yù)測(cè)時(shí)也需要使用卷積層。SSD架構(gòu)如圖1所示。
圖1 SSD架構(gòu)
最初的輸入數(shù)據(jù)為300×300×3的可見光圖像,經(jīng)過VGG16基礎(chǔ)特征提取層后,依次使用不同的卷積層Conv6、Conv7、Conv8_2、Conv9_2、Conv10_2進(jìn)行處理。因?yàn)椴煌瑢拥奶卣鲌D(feature map)對(duì)應(yīng)到原圖上的感受野存在差異,所以在不同層上生成的默認(rèn)框(default box)大小不同,可以檢測(cè)到不同大小的車輛目標(biāo)。每個(gè)檢測(cè)層后接上2路3×3卷積用做分類與回歸,之后運(yùn)用NMS(非極大值抑制)選擇出置信度最大的候選框作為最終的檢測(cè)結(jié)果。
SSD網(wǎng)絡(luò)模型中共使用了6個(gè)不同尺度的特征,相應(yīng)分別產(chǎn)生了6個(gè)不同形狀的anchor,底層的特征圖尺度較大,點(diǎn)也較密集,適合使用較小的anchor檢測(cè)小目標(biāo);高層的特征圖尺度較小,點(diǎn)也比較稀疏,適合使用較大的anchor檢測(cè)大目標(biāo)。假設(shè)用m個(gè)特征圖進(jìn)行預(yù)測(cè),那么對(duì)于每個(gè)特征圖而言,其anchor尺度的計(jì)算方式如下:
SSD算法的匹配策略:首先給每個(gè)anchor分配一個(gè)真實(shí)標(biāo)簽,通過anchor與Groundtruth box比較計(jì)算最佳重疊。IOU大于閾值0.5,則該anchor為正樣本,反之為負(fù)樣本。實(shí)際上,每張圖片中負(fù)樣本的數(shù)量遠(yuǎn)多于正樣本,為避免負(fù)樣本主導(dǎo)整個(gè)loss,按照預(yù)設(shè)正負(fù)樣本比例1∶3挑選出一定數(shù)量的負(fù)樣本,即對(duì)負(fù)樣本按照loss從大到小排序,只選擇前n個(gè)loss較大的負(fù)樣本進(jìn)行梯度更新[5]。SSD對(duì)正負(fù)樣本比例進(jìn)行了一定控制,能夠提高訓(xùn)練結(jié)果的穩(wěn)定性和優(yōu)化速度。總體目標(biāo)損失函數(shù)是置信損失(conf)和位置損失(loc)的加權(quán)和:
式中:N為匹配的anchor的數(shù)量(正負(fù)樣本的數(shù)量之和);c為置信度;置信損失是Softmax對(duì)多類別的損失;l為預(yù)測(cè)框;g為真實(shí)框;位置損失是l和g之間的smoothL1損失,α為兩者的權(quán)重。
SSD選用的位置損失函數(shù)smoothL1計(jì)算方式如下:
SSD用了6個(gè)不同尺寸的特征圖進(jìn)行預(yù)測(cè),每層都會(huì)先得到默認(rèn)框的尺寸,然后再在默認(rèn)邊界框的基礎(chǔ)上添加不同的長寬比得到不同的anchor,如圖2所示。anchor的設(shè)置通常會(huì)有幾個(gè)像素偏移中心位置,未與感受野對(duì)齊。大目標(biāo)對(duì)于這樣的現(xiàn)象不會(huì)太敏感,IOU變化不會(huì)太大(IOU計(jì)算方法見式(7));而小目標(biāo)不同,尤其當(dāng)感受野不夠大時(shí),anchor甚至?xí)瞥龈惺芤皡^(qū)域,影響最終的檢測(cè)性能。
圖2 8×8和4×4特征圖
為了使小目標(biāo)的檢測(cè)效果更好,充分利用最底層的特征圖,將各特征層對(duì)應(yīng)的anchor種類數(shù)[6]由之前的[4,6,6,6,4,4]提升至 [6,6,6,6,4,4]。SSD模型中 anchor的數(shù)量計(jì)算方式為:各層的像素點(diǎn)數(shù)×各層anchor的類別數(shù),由之前的8 732增加到11 620。
增加底層特征圖anchor的類別數(shù)能夠更好地捕捉到一些易被漏檢的小目標(biāo),提升模型對(duì)車輛檢測(cè)的整體準(zhǔn)確率。
考慮到特殊場(chǎng)景下,如夜晚或大霧天氣時(shí),單憑可見光圖像進(jìn)行訓(xùn)練具有一定的局限性,而紅外熱成像不受光源的影響,特別是光線不足的情況下依然可以有效成像,因此本實(shí)驗(yàn)利用紅外熱成像的特點(diǎn)[7],在可見光的基礎(chǔ)上引入紅外熱像圖。紅外熱像圖的特點(diǎn)如下:
(1)包含移動(dòng)物體的溫度信息;
(2)不受周圍環(huán)境的影響,例如強(qiáng)光、霧霾等;
(3)對(duì)比度低,有利于關(guān)鍵特征的提取。
綜合以上特點(diǎn),將對(duì)紅外熱像圖提取的特征與對(duì)可見光圖像提取的特征進(jìn)行融合,經(jīng)過分類和回歸計(jì)算出最終檢測(cè)結(jié)果。兩組圖像數(shù)據(jù)可視化如圖3所示。
圖3 兩組圖像數(shù)據(jù)可視化
本實(shí)驗(yàn)數(shù)據(jù)集選取了城市道路、普通公路、高速公路和鄉(xiāng)村道路多個(gè)場(chǎng)景,分別進(jìn)行下采樣、標(biāo)注及數(shù)據(jù)增強(qiáng)等操作。車輛數(shù)據(jù)來源于實(shí)景拍攝,普遍存在車輛之間相互重疊、遮擋的現(xiàn)象,檢測(cè)難度較大。數(shù)據(jù)集處理流程如圖4所示。
圖4 數(shù)據(jù)集處理流程
在本實(shí)驗(yàn)訓(xùn)練過程中,大量使用了數(shù)據(jù)增強(qiáng)的方法進(jìn)行水平翻轉(zhuǎn)、縮放、隨機(jī)裁剪,并調(diào)整亮度、對(duì)比度、飽和度和色調(diào)等。經(jīng)過數(shù)據(jù)增強(qiáng),對(duì)于不同大小、不同尺度的物體均有較好的檢測(cè)性能,有效提升了SSD模型的魯棒性[8];數(shù)據(jù)增強(qiáng)對(duì)待測(cè)目標(biāo)進(jìn)行變形后,有助于豐富數(shù)據(jù),防止模型過擬合,提高泛化性。
本文在自己制作的數(shù)據(jù)集上對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,車輛檢測(cè)網(wǎng)絡(luò)基于SSD算法,訓(xùn)練環(huán)境為Tensor flow,對(duì)特征層anchor數(shù)量進(jìn)行調(diào)整,學(xué)習(xí)率設(shè)置為0.000 1,weight decay為0.000 04,momentum為0.9,batch為32,正負(fù)樣本比例為1∶3。將車輛檢測(cè)實(shí)驗(yàn)的系統(tǒng)流程總結(jié)如下:
(1)配置文件和環(huán)境變量;
(2)制作數(shù)據(jù)集,對(duì)2路數(shù)據(jù)進(jìn)行預(yù)處理,如批量修改圖片名稱、下采樣、校準(zhǔn)對(duì)齊及對(duì)數(shù)據(jù)集標(biāo)簽進(jìn)行標(biāo)注等;
(3)修改腳本,訓(xùn)練可見光數(shù)據(jù)得到模型1;
(4)重新設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu),加入紅外熱像圖,融合可見光數(shù)據(jù)和紅外熱像圖數(shù)據(jù)經(jīng)過卷積層提取的特征,訓(xùn)練得到模型2;
(5)將預(yù)測(cè)圖片分別輸入訓(xùn)練好的模型1和模型2,輸出檢測(cè)結(jié)果。
本文使用典型評(píng)價(jià)指標(biāo)—平均精度均值(mean Average Precision, mAP)對(duì)車輛檢測(cè)模型的精度進(jìn)行衡量,mAP是各類別平均精度(Average Precision, AP)的均值。平均精度結(jié)合精確率(Precision)和召回率(Recall),可以評(píng)估模型在某一類別上的好壞,精確率和召回率計(jì)算方法分別見式(8)、式(9)所示:
式中:TP為IOU>0.5的預(yù)測(cè)框的數(shù)量;FP為IOU≤0.5的預(yù)測(cè)框或是檢測(cè)到同一個(gè)ground truth的多余檢測(cè)框的數(shù)量;FN為未檢測(cè)到ground truth的預(yù)測(cè)框的數(shù)量。
實(shí)際上,AP為Precision和Recall構(gòu)成的曲線下的面積,mAP即各類別AP的平均值,如有n個(gè)類,則mAP用式(10)表示:
本實(shí)驗(yàn)中,模型1的mAP計(jì)算為76.5%,引入紅外熱像圖模型2的mAP計(jì)算為79.3%,提高了2.8%,最終的車輛檢測(cè)效果如圖5所示。
圖5 車輛目標(biāo)檢測(cè)效果
通過以上結(jié)果可看出,本文實(shí)驗(yàn)較好地完成了車輛檢測(cè)的任務(wù),anchor在卷積層上數(shù)量的改進(jìn),以及在普通數(shù)據(jù)集基礎(chǔ)上增加紅外熱像圖,都有效提高了目標(biāo)檢測(cè)的精確率。這是因?yàn)楣饩€不足時(shí),網(wǎng)絡(luò)難以從可見光數(shù)據(jù)中提取足夠的特征,而紅外熱像圖的加入更有利于昏暗環(huán)境下目標(biāo)特征提取。但本文的實(shí)驗(yàn)環(huán)境不一定是最佳的,還需要進(jìn)一步完善。
本文基于SSD模型在采集的可見光和紅外熱像圖兩路數(shù)據(jù)集上進(jìn)行車輛目標(biāo)檢測(cè),該方法使用全卷積網(wǎng)絡(luò)進(jìn)行特征提取、回歸和分類,具有一定的魯棒性。首先,在SSD模型的基礎(chǔ)上對(duì)anchor進(jìn)行改進(jìn),有效降低了小目標(biāo)漏檢的概率。然后,增加紅外熱像圖數(shù)據(jù)集進(jìn)行特征補(bǔ)充,不僅提高了小目標(biāo)檢測(cè)的準(zhǔn)確率,更有利于夜晚等特殊環(huán)境下的大目標(biāo)檢測(cè)。從實(shí)驗(yàn)結(jié)果可以得出結(jié)論,該模型的檢測(cè)效果還有提升空間,今后的工作方向?yàn)檫M(jìn)一步改進(jìn)模型性能,提高車輛目標(biāo)檢測(cè)的精確度。