林少丹, 李伙欽, 洪朝群
(1.福建船政交通職業(yè)學(xué)院 信息工程系, 福建 福州 350007; 2.廈門理工學(xué)院 計(jì)算機(jī)與信息工程學(xué)院, 福建 廈門 361024)
車輛與行人的辨識(shí),主要用于道路監(jiān)控,自動(dòng)駕駛等方面。在辨識(shí)的算法上多采用傳統(tǒng)模型,在正常的開放環(huán)境中辨識(shí)率較高,但如遇霧霾天氣、沙塵天氣等惡劣環(huán)境條件,交通視頻監(jiān)控的對(duì)比度與能見度均會(huì)產(chǎn)生較大幅度的下降,導(dǎo)致視頻成像無法識(shí)別,這將使路況觀測(cè)、目標(biāo)跟蹤、智能導(dǎo)航、自動(dòng)駕駛等基于視覺的檢測(cè)系統(tǒng)無法正常運(yùn)行,對(duì)道路交通安全帶來了諸多隱患。圖像去模糊技術(shù)將有效降低惡劣天氣對(duì)于視頻成像的影響。傳統(tǒng)的單目視覺是正常的開放環(huán)境中檢測(cè)車輛和行人的主要方法[1],主要特點(diǎn)在于其硬件的性能和價(jià)格合理,獲取信息量大等特征,但其處理模糊圖像的算法相對(duì)簡(jiǎn)單且效果不佳。采用雙路式卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)結(jié)合高斯背景差分法進(jìn)行車輛與行人的辨識(shí),將提高在夜間或惡劣環(huán)境條件下車輛與行人的辨識(shí)準(zhǔn)確率,有利于加強(qiáng)道路監(jiān)控、自動(dòng)駕駛等方面的應(yīng)用,在智能交通等相關(guān)領(lǐng)域具有重要的應(yīng)用價(jià)值和前景。
雙路式卷積神經(jīng)網(wǎng)絡(luò)分為A網(wǎng)絡(luò)和B網(wǎng)絡(luò),分別定義為A-NET和B-NET。A-NET針對(duì)正常環(huán)境下車輛行人檢測(cè)網(wǎng)絡(luò),而B-NET則針對(duì)低能見度環(huán)境中車輛行人的檢測(cè)網(wǎng)絡(luò)。圖1為雙路式卷積神經(jīng)網(wǎng)絡(luò)模型。
圖1 雙路式卷積神經(jīng)網(wǎng)絡(luò)模型
雙路式卷積神經(jīng)網(wǎng)絡(luò)模型可以定義為f=(fA,fB),這里fA和fB分別代表A-NET與B-NET的特征函數(shù),那么雙路特征函數(shù)可以定義為
f=ω×Xi, j+b,
(1)
式中:Xi,j代表A-NET和B-NET輸入的第i,j個(gè)圖片[2],ω代表一個(gè)濾波器,是一個(gè)偏置量,f是一個(gè)非線性激活函數(shù)。雙路式網(wǎng)絡(luò)模型的特點(diǎn)在用A-NET和B-NET分別采用不同尺寸的濾波器,調(diào)整濾波器的大小可以得到不同環(huán)境下圖片的特征值[3]。雙路式網(wǎng)絡(luò)模型包含了一個(gè)圖像描述符,即池化函數(shù)P。如果要在圖像中的所有位置聚合雙路式特征,一種方法是通過池化簡(jiǎn)單地總結(jié)所有雙路式特征,可定義為
(2)
式中:Pi, j為池化函數(shù);X為輸入圖片,根據(jù)X的下標(biāo)i×W+ω,j×H+h,定位得到雙路式特征;H,W為池化窗口的高和寬。另一種方法是最大池方法,可定義為
Pi, j=max(Xi×W+ω, j×H+h),
(3)
式中,X的下標(biāo)參數(shù)h和ω的取值范圍分別是0≤h≤H-1、0≤ω≤W-1。最大池方法忽略了圖像特征的位置,如輸入數(shù)據(jù)大小不一時(shí)可以采用最大池采樣的方式進(jìn)行處理,雙路式網(wǎng)絡(luò)模型允許使用最大池方法進(jìn)行采樣[4]。
雙路式卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集整合了清晰和模糊兩種圖片源,其中包含車輛和行人的高清圖片,也包含了低能見度下車輛和行人的圖片,這些圖片均是在開放環(huán)境中車輛與行人的圖片,模糊圖片的取得,也可以通過把高清圖片進(jìn)行模糊化處理生成模糊圖片,建議通過Photoshop的高斯模糊功能實(shí)現(xiàn)數(shù)據(jù)集圖片的模糊處理。本文所采用的數(shù)據(jù)集分別為12 000張車輛圖片和12 000張行人圖片組成,A和B各12 000張圖片。
圖片加載程序直接從圖片目錄中讀取圖片文件,然后對(duì)圖片進(jìn)行JPEG格式解碼操作,將圖片調(diào)整成208×208。由于是二分類問題,因此,把車分類標(biāo)記為1,人分類標(biāo)記為0。此外,為提高后續(xù)訓(xùn)練的準(zhǔn)確率,應(yīng)隨機(jī)打亂圖片與標(biāo)簽的對(duì)應(yīng)順序,并生成Batch導(dǎo)入A-NET和B-NET進(jìn)行處理。
雙路式網(wǎng)絡(luò)主要通過待識(shí)別圖像2路信息同時(shí)輸入網(wǎng)絡(luò),卷積層提取特征后,在全連接(FC)層融合形成判別特征,最終在輸出層進(jìn)行邏輯回歸實(shí)現(xiàn)分類[5]。雙路式網(wǎng)絡(luò)包含了2套獨(dú)立的卷積網(wǎng)絡(luò),輸入圖片源將分為2類,清晰圖片作為A-NET的輸入,模糊圖片作為B-NET的輸入,2路輸入在經(jīng)過卷積層后被映射為高層特征,然后在全連接(FC)層中進(jìn)行融合,從而構(gòu)成雙路式卷積神經(jīng)網(wǎng)絡(luò)模型。
由于A-NET對(duì)應(yīng)的數(shù)據(jù)集屬于正常的高清近景圖片,識(shí)別復(fù)雜度較低,故A-NET采用2個(gè)卷積層,2個(gè)池化層,2個(gè)全連接層組成;并通過softmax分類函數(shù)進(jìn)行分類。B-NET采用4個(gè)卷積層,3個(gè)池化層,2個(gè)全連接層組成。B-NET增加卷積層的目的主要是解決了模糊圖片的識(shí)別。A-NET和B-NET各自用softmax作為分類函數(shù),針對(duì)小規(guī)模數(shù)據(jù)集可以通過取A-NET和B-NET的softmax函數(shù)的平均值完成識(shí)別模型的訓(xùn)練[6]。
根據(jù)雙路式架構(gòu)的特點(diǎn)采用反向傳播算法計(jì)算梯度。假定兩個(gè)網(wǎng)絡(luò)的輸出是大小分別為L(zhǎng)*A和L*B的矩陣,則梯度函數(shù)為f(A,B),可表示為
x=f(A,B),
(4)
設(shè)特征大小為A*B,使f(x)=f(A,B),dL/dx定義為損失函數(shù)的梯度,其中f(x)為特征大小函數(shù),L為特征圖像位置[7]。通過分類損失的反向擴(kuò)展梯度進(jìn)行訓(xùn)練,可計(jì)算f(x)的梯度。其中A和B分別代表兩個(gè)輸入集,使用梯度鏈法則,可得
(5)
假設(shè)y=g(x)并且z=f(g(x))=f(y),可得
(6)
由(5)和(6)可得
(7)
(8)
(9)
將模糊圖像作為訓(xùn)練網(wǎng)絡(luò)的輸入,并設(shè)定對(duì)應(yīng)的清晰圖像作為標(biāo)簽,這一思路通過實(shí)驗(yàn)證明訓(xùn)練模型對(duì)模糊圖像的識(shí)別率較低。對(duì)模糊圖像識(shí)別率較低的主要原因是直接運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)去模糊,只能間接利用輸入圖像的先驗(yàn)特征,容易受到噪聲影響。因此本文提出將高斯差分法用于去模糊方法是利用對(duì)模糊圖像進(jìn)行灰度轉(zhuǎn)換后,進(jìn)行高斯濾波預(yù)處理,將圖像的先驗(yàn)特征直接用于去模糊, 得到一個(gè)較魯棒的初值,并以此作為差分模型的輸入, 最終得到較為清晰的圖像[8]。
基于高斯差分法基本原理是將模糊圖像中的模糊像素點(diǎn)看作一個(gè)隨機(jī)過程,假設(shè)這個(gè)隨機(jī)過程中的模糊像素點(diǎn)出現(xiàn)的概率遵循高斯分布,像素點(diǎn)的像素觀察值為(X1,……,Xt),可得:
(10)
(11)
本文取模糊圖像灰度化作為背景輸入高斯濾波進(jìn)行運(yùn)算,所得值作為下一次高斯濾波運(yùn)算的輸入。經(jīng)過前后兩次高斯濾波運(yùn)算所得值再進(jìn)行差分運(yùn)算,便得出去除模糊的圖像。高斯差分法去模糊效果如圖2。
根據(jù)輸入圖片大小為208×208,配置3×3的卷積核,3通道代表圖片RGB格式,16個(gè)卷積核。采用最大池化(max-pooling)窗口,滑動(dòng)距離(stride)為1,可以根據(jù)圖片的大小調(diào)整窗口滑動(dòng)距離;采用relu作為激活函數(shù)[9]。本文通過上述高斯差分法所得圖像作為B-NET的輸入數(shù)據(jù)集進(jìn)行訓(xùn)練,A-NET則作為常規(guī)環(huán)境下清晰圖像的訓(xùn)練網(wǎng)絡(luò)。B-NET較A-NET增加了2個(gè)卷積層和1個(gè)池化層,主要為了防止過擬合,提高模型泛化能力。
圖2 高斯差分去模糊效果
本文提供24 000張圖片作為訓(xùn)練數(shù)據(jù)集,導(dǎo)入雙路式卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行處理,訓(xùn)練步數(shù)設(shè)為6 000至10 000步,訓(xùn)練步數(shù)通常根據(jù)數(shù)據(jù)集規(guī)模大小而定[10]。采用傳統(tǒng)的單路式卷積神經(jīng)網(wǎng)絡(luò)(即A-NET或B-NET單個(gè)網(wǎng)絡(luò)),進(jìn)行大規(guī)模的數(shù)據(jù)集訓(xùn)練,需要耗費(fèi)大量的內(nèi)存資源和時(shí)間,對(duì)硬件要求較高,且識(shí)別率較低。本文用于訓(xùn)練的硬件環(huán)境參數(shù)為Intel(R) Core(TM) i7-6820HQ 8核,32G,NVIDIA Quadro M2000M;軟件環(huán)境以tensorflow1.4結(jié)合cuda-8.0構(gòu)建。上述軟硬件環(huán)境結(jié)合雙路式架構(gòu)進(jìn)行訓(xùn)練,較之前的單路式架構(gòu)在訓(xùn)練所用時(shí)間、損失率、準(zhǔn)確率上均有明顯提高,將對(duì)單路式模型和雙路式模型進(jìn)行比較,具體比較見表1及圖3、圖4。
表1 單雙路架構(gòu)訓(xùn)練參數(shù)比較
圖3 損失率走勢(shì)對(duì)比圖
圖4 準(zhǔn)確率走勢(shì)對(duì)比圖
從圖3和圖4中可以看出,單路式架構(gòu)損失梯度并不穩(wěn)定,雙路式架構(gòu)較為穩(wěn)定,但兩種架構(gòu)都不存在過擬合現(xiàn)象,且雙路式架構(gòu)擬合度較高??梢缘贸?,雙路式架構(gòu)的訓(xùn)練效果優(yōu)于傳統(tǒng)的單路式架構(gòu)。
通過上述訓(xùn)練后生成雙路式和單路式檢測(cè)模型,然后開展測(cè)試驗(yàn)證。準(zhǔn)備了2 000張的車輛圖片和2 000張行人圖片,包含了在大霧天氣下的模糊圖片與正常天氣下的清晰圖片,構(gòu)成了測(cè)試數(shù)據(jù)集,并嘗試了2種試驗(yàn)方法:(1)對(duì)測(cè)試圖片未進(jìn)行特殊處理,導(dǎo)入2個(gè)檢測(cè)模型;(2)使用高斯差分法將霧天圖片進(jìn)行處理后導(dǎo)入檢測(cè)模型中。實(shí)驗(yàn)所得辨識(shí)準(zhǔn)確率如表2所示。
從表2可以得出,單路式架構(gòu)與雙路式架構(gòu)對(duì)比,雖然在對(duì)清晰圖片的識(shí)別準(zhǔn)確率上與雙路式架構(gòu)不相上下,但在識(shí)別低能見度環(huán)境中的車與人的識(shí)別率就大大降低,實(shí)驗(yàn)證實(shí),如導(dǎo)入一張大霧天氣下的車輛與人物圖片給單路式架構(gòu)識(shí)別,圖中分別標(biāo)注出,單路式架構(gòu)對(duì)車的判別率為56%,對(duì)人的判別率為53%;而雙路式架構(gòu)對(duì)車的判別率為83%,對(duì)人的判別率為87%??梢姡p路式架構(gòu)在識(shí)別模糊圖像上有一定的優(yōu)勢(shì)。將測(cè)試數(shù)據(jù)集中隨機(jī)抽取的模糊車輛與模糊行人圖片,導(dǎo)入單雙路架構(gòu)中進(jìn)行測(cè)試,結(jié)果如圖5,6所示。(圖5,6為使用單雙路式架構(gòu)進(jìn)行模糊環(huán)境下車輛與行人判別效果圖)。
表2 單雙路架構(gòu)實(shí)驗(yàn)參數(shù)比較
圖5 單雙路霧天環(huán)境車輛判別對(duì)比圖
圖6 單雙路霧天環(huán)境人物判別對(duì)比圖
課題研發(fā)了基于雙路式卷積神經(jīng)網(wǎng)絡(luò)辨識(shí)模型的道路監(jiān)控系統(tǒng),該系統(tǒng)硬件由采集攝像頭、識(shí)別系統(tǒng)、監(jiān)控中心三個(gè)部分組成。系統(tǒng)搭建在樹莓派開發(fā)板上,在安裝Tensorflow后載入雙路式卷積神經(jīng)網(wǎng)絡(luò)辨識(shí)模型對(duì)采集來的車輛與行人圖像進(jìn)行檢測(cè)。系統(tǒng)架構(gòu)如圖7所示。
圖7 道路監(jiān)控系統(tǒng)架構(gòu)
傳統(tǒng)的視頻監(jiān)控系統(tǒng)主要是對(duì)道路黑點(diǎn)、繁忙路段交匯點(diǎn)、隧道口等位置進(jìn)行監(jiān)視,往往在惡劣天氣環(huán)境下只能看到某段道路小部分的實(shí)況,這種監(jiān)控方式通常對(duì)突發(fā)性較強(qiáng)的交通異常事件無法做到提前預(yù)警,很容易造成二次嚴(yán)重性的交通事故,如連環(huán)車相撞等[11]。將傳統(tǒng)的道路監(jiān)控系統(tǒng)與基于雙路式卷積神經(jīng)網(wǎng)絡(luò)的道路監(jiān)控系統(tǒng)的檢測(cè)參數(shù)進(jìn)行對(duì)比(如表3所示),說明使用了雙路式卷積神經(jīng)網(wǎng)絡(luò)的道路監(jiān)控系統(tǒng)比傳統(tǒng)的監(jiān)控系統(tǒng)在檢測(cè)低能見度環(huán)境中的車輛與行人的準(zhǔn)確率上有了明顯的提高。
表3 監(jiān)控系統(tǒng)檢測(cè)參數(shù)對(duì)比
本文提出了一種雙路式卷積神經(jīng)網(wǎng)絡(luò),采用雙路數(shù)據(jù)集對(duì)應(yīng)雙路網(wǎng)絡(luò)架構(gòu)進(jìn)行圖像特征提取,并通過反向擴(kuò)展梯度算法結(jié)合2正則化,得出雙路式卷積神經(jīng)網(wǎng)絡(luò)模型的梯度模型[12]。與單路式卷積神經(jīng)網(wǎng)絡(luò)對(duì)比,特別在能見度低的環(huán)境中,對(duì)車輛的辨識(shí)率提高至83.49%,對(duì)行人的辨識(shí)率提高至87.36%。然而,本研究仍有不足之處,比如在有效消除圖像背景干擾,以及設(shè)定模型參數(shù)方面有待進(jìn)一步的研究。