于存江,張廣宇
(長春大學(xué)電子信息工程學(xué)院 吉林 長春 130000)
在某種程度上,深度學(xué)習(xí)可以理解為對于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的加深,其也是通過自主學(xué)習(xí)功能,實(shí)現(xiàn)對數(shù)據(jù)進(jìn)行處理的過程,尤其是在高維數(shù)據(jù)處理中。在深度學(xué)習(xí)網(wǎng)絡(luò)模型中,其中間層不止一個,通過將深度學(xué)習(xí)的特征和分類器進(jìn)行整合,簡化網(wǎng)絡(luò)模型結(jié)構(gòu),從而獲取低層的特征向量,通過不斷對模型進(jìn)行訓(xùn)練,從而實(shí)現(xiàn)模型的優(yōu)化。當(dāng)前在圖像檢測和復(fù)雜控制領(lǐng)域中,都得到了良好的應(yīng)用和發(fā)展。
對于深入研究,需要聯(lián)合運(yùn)用計算機(jī)軟件系統(tǒng)。當(dāng)前,國內(nèi)外關(guān)于深度學(xué)習(xí)的框架軟件中,較為常見的有Caffe和Pytorch等。通過對比各學(xué)習(xí)框架的優(yōu)缺點(diǎn),得出Caffe深度學(xué)習(xí)框架具有明顯的優(yōu)勢,其具有擴(kuò)展性能佳、計算效率高、開放性好等特征,因此在該領(lǐng)域得到了廣泛的應(yīng)用。
Caffe是由著名學(xué)者賈揚(yáng)清開發(fā)的,其主要運(yùn)用了C++語言,能夠?qū)崿F(xiàn)與MATLAB的互通連接,同時能夠提供包括Python等軟件的接口,通過對圖像實(shí)現(xiàn)可視化的操作,充分訓(xùn)練和利用CPU,對于強(qiáng)化其圖像識別、處理能力有著理想的效果。本文的研究中,綜合運(yùn)用Caffe深度學(xué)習(xí)框架實(shí)現(xiàn)課題研究。
無論是單特征還是多特征融合的檢測方法,都具有魯棒性差、操作復(fù)雜等缺點(diǎn),為了能夠進(jìn)一步解決這個問題,本文提出了基于深度學(xué)習(xí)的檢測方法,能夠很好地解決上述問題。在深度學(xué)習(xí)領(lǐng)域中,F(xiàn)aster R-CNN是該領(lǐng)域的一個重要方法,當(dāng)前情況下已經(jīng)獲得了較多的研究成果,基于此,本文采用該方法完成對交通標(biāo)志進(jìn)行檢測的目的。
Fukushimal(1984)提出了神經(jīng)感知機(jī),這種方式的提出被認(rèn)為是CNN的首次構(gòu)建,其實(shí)現(xiàn)了神經(jīng)元部分連接和分層結(jié)構(gòu)模型的建立。LeCun課題組(1989)對CNN模型進(jìn)行了優(yōu)化和改進(jìn),其融合了手寫識別技術(shù),取得了一定的科研成果。目前,CNN已經(jīng)在實(shí)際生活中得到了越來越廣泛的應(yīng)用,特別是在計算機(jī)視覺領(lǐng)域中,其特有的優(yōu)點(diǎn)和性能都得到了充分的發(fā)揮和利用。
在深度學(xué)習(xí)領(lǐng)域中,CNN是最為常用的,其具體的構(gòu)成主要包含3個部分,見圖1。其中輸入層的構(gòu)建通常為特征映射獲取的數(shù)據(jù)或圖片;全連接層主要包含兩個功能,一個功能是卷積,另一個功能是池化,前者主要目的是對特征值進(jìn)行卷積運(yùn)算,后者主要是對特征值進(jìn)行提取和轉(zhuǎn)換,從而降低預(yù)檢測數(shù)據(jù)的維度;輸出層的構(gòu)建主要是一些結(jié)構(gòu)簡單的分類器。

圖1 CNN結(jié)構(gòu)圖
通常情況下,調(diào)整待檢測圖像相應(yīng)尺寸像素塊,經(jīng)過求和處理之后,縮小其特征。然后采用池化處理,將數(shù)據(jù)結(jié)果的維度進(jìn)行有效降低,從而簡化計算過程,減少擬合現(xiàn)象的發(fā)生頻率。
CNN模型,對神經(jīng)網(wǎng)絡(luò)中的共享權(quán)值和局部連接都產(chǎn)生了較好的效果,不僅簡化了計算過程,也在較大程度上提升了訓(xùn)練速度,在輸入特征值和輸出特征值之間的關(guān)系并未確定的前提下,也能夠?qū)崿F(xiàn)對樣本的高效訓(xùn)練,從而確定高維數(shù)據(jù)之間的關(guān)系。
本文采用Faster R-CNN算法。在獲取到待測的目標(biāo)圖像后,CNN首先完成特征向量的提取,通過對特征進(jìn)行卷積和池化處理,從而獲取高維圖像特征,將其用于對檢測網(wǎng)絡(luò)和RPN網(wǎng)絡(luò)的共享環(huán)境中;RPN網(wǎng)絡(luò)通過對共享特征的有效利用,從而確定交通標(biāo)志的具體位置;檢測網(wǎng)絡(luò)則是通過對交通標(biāo)志的具體位置進(jìn)行微調(diào)操作,從而提升檢測的準(zhǔn)確度,然后獲取最終的檢測結(jié)果,并對檢測結(jié)果進(jìn)行分類。見圖2。

圖2 Faster R-CNN結(jié)構(gòu)圖
在對交通標(biāo)志檢測和識別時,能否對待測樣本的特征進(jìn)行準(zhǔn)確提取,會對檢測和識別的最終結(jié)果產(chǎn)生重要影響,綜合過去的研究成果,大多數(shù)采用的提取方法為人工進(jìn)行設(shè)計的,其中比較常見的特征提取方法,如加速魯棒特征和方向梯度直方圖等。但是在對圖像進(jìn)行特征提取的過程中,對其進(jìn)行有效的設(shè)計和優(yōu)化,通常需要耗費(fèi)大量的時間和精力,其所設(shè)計的提取方法的特征好壞,會對實(shí)際檢測結(jié)果產(chǎn)生較大影響。
與傳統(tǒng)特征方法相比,CNN摒棄了傳統(tǒng)方法的不足,具有較為突出的優(yōu)點(diǎn),CNN算法在獲取交通標(biāo)志圖像信號后,能夠通過對圖像信號進(jìn)行卷積和池化處理的方式,從而自動獲取圖像特征,在一定程度上提升了獲取圖像的效率。此外,還通過對權(quán)值進(jìn)行共享,簡化了數(shù)據(jù)構(gòu)建的過程,獲取了圖像的高維特征,對于圖像特征的提取結(jié)果進(jìn)行了優(yōu)化。
由于在對交通標(biāo)志檢測時,待檢測的交通標(biāo)志通常較小,如果網(wǎng)絡(luò)太深,在進(jìn)行提取的過程中,就會使得原始圖像目標(biāo)中的位置信息遭到破壞。因此,在對待測目標(biāo)的特征提取進(jìn)行網(wǎng)絡(luò)選擇時,以Faster R-CNN的基本原理作為基礎(chǔ),最終確定了ZF網(wǎng)絡(luò)的選擇,不僅對網(wǎng)絡(luò)層數(shù)較深的缺點(diǎn)進(jìn)行了優(yōu)化,也進(jìn)一步提升了待測目標(biāo)的檢測效果。
采用傳統(tǒng)方法對圖像進(jìn)行檢測時,通常會設(shè)置一個滑窗,通過滑窗滑動實(shí)現(xiàn)對待測目標(biāo)的掃描工作,當(dāng)滑窗進(jìn)入到待測目標(biāo)的待測范圍內(nèi),通過檢測分類器就能夠?qū)崿F(xiàn)對檢測目標(biāo)的準(zhǔn)確檢測。但是采用傳統(tǒng)的檢測方法具有一定的時差性,此外檢測效果不佳。
為了解決上述問題,采用RPN網(wǎng)絡(luò),其特征是能夠完成對于候選區(qū)數(shù)據(jù)信息的生成,其內(nèi)部結(jié)構(gòu)采用全連接,F(xiàn)aster R-CNN算法過程中的關(guān)鍵環(huán)節(jié)。其工作原理為,在ZF中生成一個滑窗,其大小為3×3,提取高維并輸入到256維區(qū)域中,再次輸入到全連接層中,即可確定目標(biāo)位置參數(shù)。
本文通過Faster R-CNN算法實(shí)現(xiàn)對交通標(biāo)志的檢測,其特征是能夠改善傳統(tǒng)檢測方法檢測速度慢、占用內(nèi)存多等問題。
Faster R-CNN算法在實(shí)際應(yīng)用過程中,其步驟可以簡化描述為:
(1)隨意待檢測圖像作為輸入?yún)?shù)。
(2)預(yù)處理待檢測圖像,借助CNN提取圖像特征,然后借助RPN網(wǎng)絡(luò)共享卷積特征,從而構(gòu)建完成建議區(qū)域,在錨點(diǎn)界定過程中引入了Softmax,以鑒定是否為預(yù)設(shè)目標(biāo)。
(3)對判斷后的錨點(diǎn)進(jìn)行回歸修正處理,從而對目標(biāo)區(qū)域進(jìn)行精準(zhǔn)確定,然后對卷積特征和目標(biāo)區(qū)域進(jìn)行整合,進(jìn)而得到目標(biāo)區(qū)域特征圖。
(4)分析目標(biāo)區(qū)域特征,借助網(wǎng)絡(luò)全連接層的針對性檢測,完成類別判斷,并多次進(jìn)行回歸修正,以確保目標(biāo)位置數(shù)據(jù)的有效性和準(zhǔn)確性。
(5)分類和輸出檢測結(jié)果。
Faster R-CNN識別模型的檢測算法具體流程,見圖3。

圖3 檢測算法流程
獲取訓(xùn)練數(shù)據(jù)后,構(gòu)建訓(xùn)練模型,優(yōu)化網(wǎng)絡(luò)參數(shù),使得其能夠?qū)煌z測標(biāo)志中的小目標(biāo)檢測達(dá)到良好效果,通過離線訓(xùn)練的方式得到模型結(jié)構(gòu),輸入待測圖像數(shù)據(jù),以獲得檢測結(jié)果[1-2]。
Faster R-CNN算法模型主要包含兩種訓(xùn)練方式,近似聯(lián)合方式和交替優(yōu)化方式。不過這里我們需要強(qiáng)調(diào)的是,雖然兩種方法在效果上沒有本質(zhì)差異,但是前者從本質(zhì)上來說是端到端的方式,與交替優(yōu)化相比,其對于硬件系統(tǒng)的要求較低,能夠在一定程度上提升訓(xùn)練效率。
在網(wǎng)絡(luò)訓(xùn)練過程中,反向傳播是一種利用率較高的方法,其不僅能夠使得檢測效果更好,也能夠在一定程度上優(yōu)化模型參數(shù)。
采用隨機(jī)梯度下降算法實(shí)現(xiàn)檢測,能夠減少計算過程,在訓(xùn)練樣本數(shù)量較大時,能夠提升訓(xùn)練的響應(yīng)速度,節(jié)省訓(xùn)練時間,同時能夠?qū)崿F(xiàn)在線更新。
對參數(shù)進(jìn)行更新處理:(1)輸入需要訓(xùn)練的樣本數(shù)據(jù);(2)借助高斯分布賦予初始數(shù)值;(3)以訓(xùn)練參數(shù)和樣本為基礎(chǔ),不斷向前傳播以生成輸出值;(4)分析預(yù)測結(jié)果和實(shí)際結(jié)果的差異,從而獲取參數(shù)梯度數(shù)值;(5)調(diào)整學(xué)習(xí)效率,以誤差極小化更新參數(shù);(6)重復(fù)3到5,直到收斂。
在傳統(tǒng)CNN檢測方法的基礎(chǔ)上,選取了Faster R-CNN算法模型對其進(jìn)行了優(yōu)化。首先闡述了該算法的基本原理,本文采用Faster R-CNN檢測算法,是基于深度學(xué)習(xí)原理,其具備檢測速度快、檢測準(zhǔn)確性高等優(yōu)點(diǎn),與傳統(tǒng)檢測方式相比,該算法無論是在檢測效果上,還是魯棒性能上,都得到了進(jìn)一步的提高[3]。