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

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

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

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