肖應(yīng)慧,張著洪
(1貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院;2貴州大學(xué) 貴州省系統(tǒng)優(yōu)化與科學(xué)計(jì)算特色重點(diǎn)實(shí)驗(yàn)室,貴陽(yáng) 550025)
大氣能見(jiàn)度被定義為視力正常的人在白天以靠近地平線的天空為背景,觀測(cè)黑色物體時(shí)易識(shí)別和辨認(rèn)的最長(zhǎng)距離。能見(jiàn)度的變化取決于大氣的透明度,不良天氣現(xiàn)象會(huì)導(dǎo)致大氣渾濁,使大氣透明度降低,特別在諸如霧、雨或空氣污染等惡劣天氣條件下,能見(jiàn)度較低。近年來(lái),由霧造成低能見(jiàn)度而導(dǎo)致交通事故頻繁發(fā)生,因此準(zhǔn)確、高效地對(duì)霧天能見(jiàn)度進(jìn)行實(shí)時(shí)預(yù)測(cè)尤為重要。目前,能見(jiàn)度預(yù)測(cè)的研究方法主要有應(yīng)用統(tǒng)計(jì)分析法和深度學(xué)習(xí)法。統(tǒng)計(jì)分析法通常有物理建模法和非參數(shù)建模法,其經(jīng)由圖像構(gòu)建物理或數(shù)據(jù)驅(qū)動(dòng)的概率模型,估計(jì)不同霧范圍下的大氣能見(jiàn)度。物理模型法是基于視覺(jué)分析的光反射、折射等物理現(xiàn)象,以及基于Koschmieder定理,建立光傳播物理模型,進(jìn)而利用消光系數(shù)實(shí)時(shí)估計(jì)能見(jiàn)度,能見(jiàn)度估計(jì)的準(zhǔn)確率高低很大程度上依賴于原始圖像和無(wú)霧參考圖像的相似程度;非參數(shù)建模法考慮了低能見(jiàn)度情況下圖像退化對(duì)圖像分類的影響。研究表明,能見(jiàn)度可由霧的空間特征進(jìn)行表征。例如,Nnolim將全局對(duì)比度算子與基于分階的多尺度濾波器結(jié)合,將熵和標(biāo)準(zhǔn)偏差融合,對(duì)圖像進(jìn)行去霧和圖像增強(qiáng),獲得多尺度融合去霧算法,但該算法雖能提升對(duì)霧天能見(jiàn)度估計(jì)的精度,但不能實(shí)時(shí)預(yù)測(cè)能見(jiàn)度。深度學(xué)習(xí)因能對(duì)霧天能見(jiàn)度時(shí)序數(shù)據(jù)在線處理,能捕獲數(shù)據(jù)的中長(zhǎng)期依賴關(guān)系,已受到廣泛關(guān)注,并在諸如氣象預(yù)報(bào)等能見(jiàn)度預(yù)測(cè)中已得到初步應(yīng)用。例如,Selvaraj等以最高溫度、最低溫度、最高相對(duì)濕度、最小相對(duì)濕度和風(fēng)速增強(qiáng)長(zhǎng)為輸入量,利用長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)降雨量;Akmaljon等借助快速傅里葉變換(FFT)濾波器去除輸入圖像的低層次特征,并對(duì)每個(gè)輸入應(yīng)用頻譜濾波器來(lái)提取低對(duì)比度區(qū)域,進(jìn)而利用三流集成卷積神經(jīng)網(wǎng)絡(luò)獲得能見(jiàn)度深度學(xué)習(xí)模型。
綜上,現(xiàn)有能見(jiàn)度預(yù)測(cè)方法主要集中于如何從輸入圖像中獲取有價(jià)值的能見(jiàn)度特征。相對(duì)而言,深度學(xué)習(xí)法比統(tǒng)計(jì)分析法在能見(jiàn)度預(yù)測(cè)中更有應(yīng)用前景,但因網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、計(jì)算效率低、易于出現(xiàn)過(guò)飽和或欠擬合現(xiàn)象,使得其應(yīng)用于能見(jiàn)度的研究有待深入開展。為此,本文在已獲針對(duì)碰撞檢測(cè)的果蠅前饋神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上,從果蠅視覺(jué)感知和學(xué)習(xí)的行為特性出發(fā),嘗試性提出一種深度果蠅神經(jīng)網(wǎng)絡(luò)(Deep Fly Neural Network,DFNN),并應(yīng)用于實(shí)時(shí)能見(jiàn)度預(yù)測(cè)。
果蠅有兩只復(fù)眼,每只復(fù)眼由大約3500個(gè)小眼組成,且每個(gè)小眼包含8個(gè)光感受器。光信息通過(guò)復(fù)眼進(jìn)入果蠅的視覺(jué)系統(tǒng),實(shí)現(xiàn)光傳遞。果蠅視覺(jué)系統(tǒng)具有獨(dú)特和簡(jiǎn)單的眼結(jié)構(gòu),對(duì)外界環(huán)境信息的感知能力強(qiáng),其神經(jīng)系統(tǒng)依次經(jīng)由光感受器(Photorceptor)、視網(wǎng)膜(Retina)、薄膜層(Lamina)、髓質(zhì)(Medulla)、小葉(Lobula)及大腦神經(jīng)信息處理層,執(zhí)行視覺(jué)信息的處理和傳遞,各層之間分工明確又聯(lián)系緊密,如圖1所示。
圖1 果蠅視覺(jué)信息處理的流程圖Fig.1 Flow chart of visual information processing in fly
光感受器層(Photorceptor)主要由感光細(xì)胞組成,負(fù)責(zé)接收外來(lái)的光強(qiáng)度信息;視網(wǎng)膜層(Retina)接收光感受器層輸出的信號(hào),負(fù)責(zé)消除視覺(jué)噪聲信號(hào);薄膜層又稱為視葉神經(jīng)層(Lamina),包含墨盒cartridge(cart)和開關(guān)on-off(oo)這兩種類型節(jié)點(diǎn),其中cart節(jié)點(diǎn)接收來(lái)自視網(wǎng)膜上對(duì)應(yīng)節(jié)點(diǎn)的鄰域節(jié)點(diǎn)的輸入,并通過(guò)卷積濾波產(chǎn)生輸出信號(hào),而oo節(jié)點(diǎn)負(fù)責(zé)接收對(duì)應(yīng)cart節(jié)點(diǎn)鄰域內(nèi)節(jié)點(diǎn)的輸出信號(hào),并經(jīng)由超極化和去極化處理,產(chǎn)生行為輸出量;髓質(zhì)層包含柱狀神經(jīng)元和切向細(xì)胞,由主通道子單元的兩類結(jié)點(diǎn)(、)組成,其中節(jié)點(diǎn)接收薄膜層中對(duì)應(yīng)的oo節(jié)點(diǎn)的輸出,并輸出檢測(cè)節(jié)點(diǎn)處的局部方向;節(jié)點(diǎn)接收節(jié)點(diǎn)鄰域處的局部方向量,經(jīng)由投影產(chǎn)生在水平、豎直方向的方向量;小葉層匯集髓質(zhì)層中所有節(jié)點(diǎn)的水平、豎直方向量,并將信息整合后輸入果蠅大腦神經(jīng)系統(tǒng)。最后,大腦神經(jīng)通過(guò)接收小葉層的信息以及神經(jīng)元相互作用機(jī)制,獲得視覺(jué)信息刺激后的反饋信號(hào),并將誤差信號(hào)反饋入光感受器層。
基于果蠅視覺(jué)系統(tǒng)的信息處理機(jī)制,針對(duì)視覺(jué)場(chǎng)景下的碰撞檢測(cè)與預(yù)警問(wèn)題,獲得一種人工果蠅視覺(jué)神經(jīng)網(wǎng)絡(luò)(Artificial Fly Visual Neural Network,AFVNN),其由4個(gè)神經(jīng)層構(gòu)成。在此,對(duì)該神經(jīng)網(wǎng)絡(luò)作適當(dāng)改進(jìn),得到用于實(shí)時(shí)能見(jiàn)度預(yù)測(cè)的改進(jìn)型深度果蠅神經(jīng)網(wǎng)絡(luò)(Deep Fly Neural Network,DFNN)。DFNN由提取圖像特征的視覺(jué)神經(jīng)網(wǎng)絡(luò)和多層感知器(Multiple Layer Preceptor,MLP)構(gòu)成前向傳播神經(jīng)網(wǎng)絡(luò),經(jīng)由梯度下降更新網(wǎng)絡(luò)中卷積參數(shù)、權(quán)值和閾值,實(shí)現(xiàn)誤差反向傳播。改進(jìn)型果蠅深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 果蠅深度前饋神經(jīng)網(wǎng)絡(luò)的示意圖Fig.2 Schematic diagram of the Fly deep feedforward neural network
給定由時(shí)間序列灰度圖與標(biāo)簽構(gòu)成的訓(xùn)練集{(A,Y)},A為第時(shí)刻的灰度圖,Y為維的標(biāo)簽或觀測(cè)值向量。經(jīng)由圖2獲知,DFNN接收連續(xù)的視頻圖像幀,并依次經(jīng)由視網(wǎng)膜、薄膜層、髓質(zhì)層這3個(gè)視覺(jué)神經(jīng)層提取輸入圖像的特征信息,進(jìn)而經(jīng)由MLP產(chǎn)生神經(jīng)網(wǎng)絡(luò)的輸出信號(hào)。
2.1.1 Retina層
該層由個(gè)Retina節(jié)點(diǎn)形成的行和列矩陣表示,在第時(shí)刻接收灰度圖像A,在此3(2),3(2)。Retina節(jié)點(diǎn)(,)在第時(shí)刻接收輸入圖像中對(duì)應(yīng)像素點(diǎn)處的灰度值L()(光亮強(qiáng)度),并經(jīng)由式(1)輸出光亮強(qiáng)度偏差信號(hào):
其中,()表示時(shí)滯函數(shù)。
2.1.2 Lamina層
此層由cartridge和on-off兩個(gè)子層構(gòu)成。cartridge層由(2)(2)個(gè)cart節(jié)點(diǎn)構(gòu)成,依據(jù)窗口大小為3×3、步長(zhǎng)為1的滑動(dòng)方式,每個(gè)節(jié)點(diǎn)接收對(duì)應(yīng)的3×3個(gè)Retina節(jié)點(diǎn)的輸出,并經(jīng)由高斯濾波器產(chǎn)生該節(jié)點(diǎn)的輸出膜電位,即式(2):
其中,1≤≤2;1≤≤2;w是待定的33權(quán)重矩陣中位置(,)處的元素;()是非線性激活函數(shù)。類似地,on-off層由(2)(2)個(gè)oo節(jié)點(diǎn)構(gòu)成,其依據(jù)擴(kuò)邊方式和窗口大小為3×3、步長(zhǎng)為1的滑動(dòng)方式,每個(gè)節(jié)點(diǎn)接收對(duì)應(yīng)的3×3個(gè)cart節(jié)點(diǎn)的輸出,并經(jīng)由如下側(cè)抑制機(jī)制,輸出其膜電位,式(3):
在此,E()是cartridge層中節(jié)點(diǎn)(,)輸出的膜電位的偏差量,即式(4):
2.1.3 Medulla層
此層由個(gè)m節(jié)點(diǎn)按矩陣排列表示,其中(2)3,(2)3。首先,將Lamina層中按矩陣排列的(2)(2)個(gè)oo節(jié)點(diǎn)劃分為個(gè)子塊?;趯?duì)稱EMD運(yùn)動(dòng)方向檢測(cè)器和3×3權(quán)值矩陣,m節(jié)點(diǎn)(,)經(jīng)由式(5)輸出膜電位:
2.1.4 全連接層
其中,為L(zhǎng)amina層中權(quán)重矩陣;與分別是MLP中連接權(quán)值和閾值構(gòu)成的矩陣;Y()為標(biāo)簽值;為一個(gè)訓(xùn)練周期的批量大小。
由式(8)可知,F(xiàn)VNN的反向傳播是將前饋傳播的誤差量反向傳遞給各神經(jīng)層,并更新全連接層中的權(quán)值、閾值和Lamina層的權(quán)值。Lamina層的權(quán)值由式(9)更新:
其中,是給定的學(xué)習(xí)率。全連接層的權(quán)值與閾值經(jīng)由式(10)~(11)更新:
其中,∈(0,1),學(xué)習(xí)率()依據(jù)前饋誤差作自適應(yīng)調(diào)節(jié),即式(12):
其中,k和k為增量和減量因子。
結(jié)合以上各層的設(shè)計(jì),DFNN的算法描述如下:
(1)參數(shù)設(shè)置:灰度圖大??;學(xué)習(xí)率;參數(shù)k和k;
(2)置←,,,隨機(jī)初始化、及;
(3)輸入第時(shí)刻的樣例(A,Y);
(4)依據(jù)式(8)計(jì)算前饋誤差值;
(5)經(jīng)由式(9)~式(11)更新網(wǎng)絡(luò)中的權(quán)值和閾值,并輸出第t+1時(shí)刻的能見(jiàn)度預(yù)測(cè)值;
(6)←1;若不滿足終止條件,則返回(3);否則,則結(jié)束。
DFNN的算法計(jì)算復(fù)雜度主要由步4~5確定。在一個(gè)迭代周期內(nèi),Retina和Lamina層分別進(jìn)行2和20(224)次運(yùn)算;Medulla層共進(jìn)行(13262652)3次運(yùn)算;全連接層共運(yùn)算2(2222)9次。另一方面,在反向傳播中,全連接層共進(jìn)行(36666)9次信息傳播操作;Medulla層共進(jìn)行(10202040)9次乘除法運(yùn)算;Lamina層共進(jìn)行9(82164164409)9次運(yùn)算。因此,DFNN在一個(gè)時(shí)間周期內(nèi),前向傳播的計(jì)算總次數(shù)為
由此可知,DFNN的計(jì)算復(fù)雜度主要由輸入圖像分辨率、和確定;因此,只要適當(dāng)設(shè)置、和的取值,DFNN的運(yùn)行效率能得到保障。
在Windows10(CPU/i34170 3.70 GHz,RAM/4 GB)/Python 3.6環(huán)境下展開數(shù)值實(shí)驗(yàn)。為驗(yàn)證神經(jīng)網(wǎng)絡(luò)DFNN應(yīng)用于能見(jiàn)度預(yù)測(cè)問(wèn)題的有效性,選擇經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)CNN、多層感知器MLP以及改進(jìn)型的VisNet參與比較。各算法的最大迭代次數(shù)均為1858。經(jīng)參數(shù)調(diào)試,DFNN的參數(shù)設(shè)置為k=2,k=05,4,001,01;CNN的卷積層和池化層的層數(shù)均為5,隱含層數(shù)5;CNN與MLP網(wǎng)絡(luò)的激活函數(shù)為和一元線性函數(shù)(),學(xué)習(xí)率為0.01;VisNet的參數(shù)設(shè)置源于相應(yīng)的文獻(xiàn)。
為評(píng)估模型的性能,各模型的輸出和預(yù)測(cè)值時(shí)間序列均利用已有的均方根誤差(Root Mean Square Error,)、平均絕對(duì)誤差(Mean Absolute Error,)、平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,)、決定系數(shù)(Coefficient of Determination,)以及準(zhǔn)確率(Accuracy,)進(jìn)行模型評(píng)價(jià)。作為一種絕對(duì)誤差度量指標(biāo),刻畫模型的離散程度,該值越接近0,則模型的穩(wěn)定性越好;度量模型的預(yù)測(cè)能力,其值越小,則模型的預(yù)測(cè)精度越高;是基于相對(duì)比誤差的精度度量,刻畫預(yù)測(cè)結(jié)果與觀測(cè)值的平均偏離程度;表征預(yù)測(cè)值與觀測(cè)值之間的相關(guān)性,其越接近1,則預(yù)測(cè)值與觀測(cè)值的時(shí)間序列的關(guān)聯(lián)度越高;的值越接近1,則模型的輸出值或預(yù)測(cè)值與觀測(cè)值的誤差越小。
基于2020年全國(guó)研究生數(shù)學(xué)建模競(jìng)賽E題提供的視頻幀和能見(jiàn)度標(biāo)簽數(shù)據(jù),選取分辨率為320×320的1862幅灰度圖及對(duì)應(yīng)的觀測(cè)能見(jiàn)度值構(gòu)成樣本集Σ,每張圖像內(nèi)包含目標(biāo)物燈塔和天空信息,部分灰度圖如圖3所示。
圖3 不同能見(jiàn)度下樣板圖像示例Fig.3 Example of sample images at different visibility levels
由圖3的視覺(jué)效果可知,隨著時(shí)間的推移,霧的濃度越來(lái)越大,目標(biāo)物體燈塔的可見(jiàn)性越來(lái)越差,且逐漸模糊,即圖像的能見(jiàn)度距離逐漸變低。該視頻在較長(zhǎng)時(shí)間段內(nèi),目標(biāo)物體的可見(jiàn)度都很低。
將樣本集Σ中的樣例作為DFNN及參與比較模型的輸入,獲得各模型輸出神經(jīng)元輸出的能見(jiàn)度值和下一時(shí)刻的預(yù)測(cè)值,依據(jù)評(píng)價(jià)指標(biāo)獲得各自的評(píng)價(jià)指標(biāo)值,見(jiàn)表1。另外,各模型作用于Σ中時(shí)間序列樣例,獲得的能見(jiàn)度預(yù)測(cè)曲線與觀測(cè)值曲線比較如圖4所示。
表1 算法的誤差性能比較Tab.1 Comparison of error performance of algorithms
圖4 不同能見(jiàn)度下模型的能見(jiàn)度預(yù)測(cè)值與觀測(cè)值對(duì)比Fig.4 Modeled visibility predictions versus observed values at different visibility levels
由表1可知,DFNN獲得的均方根誤差值最小且與其它模型獲得的值偏差較大,說(shuō)明DFNN獲得的能見(jiàn)度預(yù)測(cè)值時(shí)間序列與能見(jiàn)度觀測(cè)時(shí)間序列的離散程度較低,因而其預(yù)測(cè)霧天環(huán)境下能見(jiàn)度的穩(wěn)定性較好;MLP獲得的值最大,說(shuō)明將輸入灰度圖的灰度值直接用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型會(huì)導(dǎo)致MLP的預(yù)測(cè)值與觀測(cè)值的離散程度高,模型預(yù)測(cè)的穩(wěn)定性較差;CNN和VisNet獲得的相對(duì)于MLP的值偏小,說(shuō)明將輸入灰度圖作特征提取有助于改善模型預(yù)測(cè)效果的穩(wěn)定性。由各模型獲得的指標(biāo)值可知,DFNN的能見(jiàn)度預(yù)測(cè)效果最好,VisNet次之,而MLP的預(yù)測(cè)效果最差。由指標(biāo)值獲知,DFNN獲得的值接近0,表明其在各個(gè)時(shí)刻獲得的能見(jiàn)度預(yù)測(cè)值較為逼近觀測(cè)值,但其它模型卻相反,即在特定的時(shí)刻或時(shí)間段出現(xiàn)預(yù)測(cè)誤差偏大。另外,DFNN和VisNet得到的值已接近1,說(shuō)明這兩種模型獲得各時(shí)刻的能見(jiàn)度預(yù)測(cè)值與觀測(cè)值高度相關(guān),因此模型的擬合能力強(qiáng);雖然MLP和CNN得到的能見(jiàn)度預(yù)測(cè)值與觀測(cè)值也具有一定的相關(guān)性,但模型的擬合能力相對(duì)較差。最后,指標(biāo)的值表明,DFNN的模型預(yù)測(cè)精度高,VisNet次之,而MLP最差。概括起來(lái),DFNN具有最好的實(shí)時(shí)能見(jiàn)度預(yù)測(cè)效果,其預(yù)測(cè)精度高且穩(wěn)定,VisNet次之,且MLP對(duì)實(shí)時(shí)預(yù)測(cè)能見(jiàn)度的能力偏弱。
由圖4可知,因MLP未涉及圖像的特征提取,所以其解決能見(jiàn)度時(shí)間序列預(yù)測(cè)問(wèn)題的能力較弱,且預(yù)測(cè)效果出現(xiàn)明顯不穩(wěn)定的現(xiàn)象;CNN的能見(jiàn)度預(yù)測(cè)效果比MLP的要好,但預(yù)測(cè)效果的波動(dòng)性較為明顯,且在預(yù)測(cè)后期,預(yù)測(cè)曲線與觀測(cè)值曲線存在一定的偏離;VisNet的預(yù)測(cè)效果比CNN要好,且預(yù)測(cè)值與觀測(cè)值的偏差較小,但預(yù)測(cè)曲線在后期出現(xiàn)波動(dòng)現(xiàn)象;DFNN明顯優(yōu)于參與比較的模型,能快速地在預(yù)測(cè)初期使預(yù)測(cè)值與觀測(cè)值的偏差變小,所得預(yù)測(cè)曲線逼近觀測(cè)值曲線的程度較高,且預(yù)測(cè)效果未出現(xiàn)波動(dòng)現(xiàn)象,因此其較適合基于圖像的預(yù)測(cè)問(wèn)題。
能見(jiàn)度估計(jì)一直是交通出行與管理關(guān)注的重要話題,也是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要課題。本文在分析果蠅視覺(jué)信息處理與傳遞的生物學(xué)原理基礎(chǔ)上,基于果蠅的視覺(jué)信息處理機(jī)制和學(xué)習(xí)特性,以及梯度下降算法,獲得一種深度果蠅神經(jīng)網(wǎng)絡(luò)模型。計(jì)算復(fù)雜度分析表明,該模型的計(jì)算代價(jià)主要由其輸入分辨率確定。實(shí)驗(yàn)結(jié)果表明,此模型應(yīng)用于時(shí)間序列能見(jiàn)度預(yù)測(cè)問(wèn)題,具有較好的預(yù)測(cè)能力和抗干擾能力,預(yù)測(cè)效果穩(wěn)定,實(shí)時(shí)能見(jiàn)度預(yù)測(cè)精度高。此外,該模型雖能滿足實(shí)時(shí)性要求,但環(huán)境的自適應(yīng)能力有待進(jìn)一步開展研究。