交通燈信號識別系統設計分析

時間:2022-02-25 10:00:18

導語:交通燈信號識別系統設計分析一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

交通燈信號識別系統設計分析

摘要:設計一個基于數字圖像處理的交通燈信號識別系統。系統主要包含三大模塊,分別是圖像預處理,BP神經網絡設計,GUI可視化界面設計。圖像預處理進行裁剪圖像大小,彩色圖轉化為灰度圖像并進行二值化處理等步驟。BP網絡的設計主要是搭建網絡模型,完成訓練過程并作出分析。最后設計一個可視化用戶界面。系統完成后調試程序,輸入樣本圖像檢測識別結果。經過大量測試證明,系統實現了識別功能,達到了識別交通燈信號圖像的目的,實現了數字圖像識別的可視化操作。

關鍵詞:MATLAB;BP網絡;交通燈

交通燈信號識別系統作為智能交通信息化系統當中最基本的部分,有著至關重要的作用。我國最近幾年的駕車出行比例逐年升高,但交通燈設置仍然存在不合理的現象。原本固定的交通燈等待時長很難能適應路口的動態變化情況,如上下班高峰時段、復雜路口路況、車流量差異較大等,使得車流量壓力無法得到緩解甚至加劇擁堵情況。因此,通過圖像識別技術的提高,交通燈信號識別系統可實現對路口信號燈的實時調整,能有效地解決路口出現的擁堵問題,從而實現對路口交通信號燈的控制。本設計運用MATLAB/GUI(圖形用戶界面)設計實現交通燈信號識別系統,該系統包括GUI界面設計、圖像預處理、BP(反向傳播,backpropagation)神經網絡設計。首先搜集目標圖像,完成數據庫的建立,接著將選取的目標圖像進行預處理等操作,最后通過對數據庫的比較判斷,輸出識別結果。

1交通燈信號識別系統方案

交通燈信號識別系統的具體實現方案為:首先對系統具體實現功能進行深入分析,得出GUI界面需要的控件種類和數量,通過編寫每個控件的回調函數,完成GUI界面的設計;接著將采集到的交通燈信號圖像保存并生成數據庫,進行預處理,包括對圖像本身大小的裁剪、色彩對比度的調節、原始圖像的轉化等操作;然后建立BP網絡,設置神經網絡訓練次數、訓練目標、學習效率等相關參數;最后進行系統的各個模塊運行調試,修改相關程序,完善設計系統。交通燈信號識別系統主要由GUI界面設計、圖像預處理、BP神經網絡設計三大模塊構成。GUI界面設計是為了方便地進行人機交互,設計出可視化用戶界面[1,2]。圖像預處理包括對原始圖像尺寸裁剪、對比度調整、旋轉處理等操作。BP網絡設計主要是構建網絡模型,完成各項參數的設置。神經網絡的建立,首先是對數據庫圖像進行預處理等操作,完成網絡訓練,繪制出灰度圖像和迭代誤差曲線:然后將交通燈信號圖像輸入,與數據庫進行匹配識別:最后輸出識別結果。

2交通燈信號預處理

預處理在圖像識別技術中有著舉足輕重的地位,因為圖片本身質量參差不齊,每個圖片的大小光亮等參數各不相同,所以計算機最后識別出的圖像質量也各不相同,這直接影響了后面系統的數據分析,會造成不可彌補的誤差[3,4]。預處理過程包括圖像本身的輸入與大小的調整、灰度化處理、向量轉化等操作步驟。

2.1圖像的輸入與調整

本設計采用BP網絡實現相關系統的功能,所以需要提前將原始目標圖像建成數據庫。首先要標識總的樣本圖片個數,接著將圖片進行保存,建立一個新數組用來存放圖像。再對數據庫中的圖片進行預處理,然后完成網絡的訓練,最后從數據庫中任意選取一張圖片進行系統的識別,完成識別過程的仿真。為了保證輸入圖像在GUI界面內顯示的美觀整齊,需要對輸入圖像進行修改剪裁,在MATLAB軟件中可以使用imresize函數完成。設計中將所有圖像都變成大小為40×40的圖像,保證了數據庫的整齊。接著,對圖像對比度進行調節。調用imadjust函數來調整圖像的強度變化數值或顏色展現圖。

2.2圖像灰度化處理

想要提高一個系統的數據處理速度,減少系統的處理時間就必須減少系統處理的總數據量。所以在理論技術中,對圖像進行灰度化操作的本質就是把原本的三通道R、G、B色彩圖像進行一系列變化處理,轉變成為單通道的灰度圖像。這樣變換使得通道數量減少,系統分析處理數據的時間就減少,進而實現系統處理速度的改善。在MATLAB軟件中使用rgb2gray函數,對彩色圖像或RGB(紅綠藍)圖像進行灰度化處理,轉化為灰度圖像。調用rgb2gray函數轉換為灰度圖本質上是消除色調和飽和度的數據信息,保留了亮度。

2.3圖像二值化處理

對圖像進行二值化處理,也就是將圖像上每個像素點的灰度值設定成0或255,最終將一幅圖像完整地呈現出只有黑白色的反差效果。即將256個亮度級別的灰度圖像根據已經設置的亮度閾值,能呈現出原始圖像的整體特征和局部特征的二值化圖像。為了獲得理想的二值化圖像,通常使用完全封閉且相互連通的邊界來定義不交互重疊的區域。如果圖像中有像素點的灰度值大于或等于特定閾值,則該像素點被判定為屬于特定物體的范圍,灰度值表示為255;如果這些像素點判斷出來屬于物體范圍之外,則它們的灰度值設置成0,表示這些點是圖像背景或屬于目標物體以外的區域。在MATLAB軟件中,使用im2bw函數對目標圖像進行二值化處理。

3BP神經網絡的選用與建立

本設計選用了BP神經網絡。BP神經網絡是一種帶有隱含層的多層前饋網絡,在人工神經網絡與實際運用結合中,BP神經網絡廣泛應用在函數逼近、模式識別、數據壓縮等模塊。基本BP算法包括信號的前向傳播和誤差的反向傳播兩個過程。即計算誤差輸出時按從輸入到輸出的方向進行,而調整權值和閾值則從輸出到輸入的方向進行。正向傳播時,輸入信號通過隱含層作用于輸出節點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳,并將誤差分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元權值的依據。通過調整輸入節點與隱層節點的聯接強度和隱層節點與輸出節點的聯接強度以及閾值,使誤差沿梯度方向下降,經過反復學習訓練,確定與最小誤差相對應的網絡參數(權值和閾值),訓練即告停止。此時經過訓練的神經網絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經過非線形轉換的信息。MATLAB軟件內的神經網絡工具箱提供了大量方便快捷的函數用于建立神經網絡、學習和訓練網絡以及顯示網絡訓練過程等。使用BP神經網絡,首先要調用函數創建網絡模型,在本設計中,使用函數feedforwardnet建立BP網絡模型,隱含層神經元個數設定為23。該網絡可以作為輸入和輸出的映射。當feedforwardnet神經網絡只設置一個隱含層時,該網絡可以擬合任意有限輸入輸出的映射問題;并且即使設定一定數量的隱含層神經元時,兩層或多層的前饋網絡也可以實現有限輸入和輸出的功能。然后對BP神經網絡的各個參數進行設置,如訓練次數epochs,訓練目標goal,學習率lr,檢測次數max_fail,最小梯度min_grad等。網絡各項參數設置完成之后,就要對建立的網絡模型進行仿真訓練,訓練網絡采用train函數,網絡仿真采用sim函數。網絡訓練仿真操作完成之后,最后對需要的數據進行分析輸出,將輸出數據與真實樣本數據比較,繪制曲線圖形,直觀的表達出網絡性能的優良。

4交通燈信號識別系統的調試與分析

設計出GUI用戶界面后,開始運行BP神經網絡的M文件代碼,進行網絡訓練。測試系統經過8次訓練后達到設定要求。運行BP神經網絡程序還會顯示出數據集中已經處理好的灰度圖像轉化成二值化圖像后的結果,迭代誤差曲線圖,識別錯誤個數。最后會彈出網絡訓練完成的對話框。隨著迭代次數的增加,系統誤差越來越小,系統逐漸趨于穩定,得到的仿真結果數據也越來越準確,如圖1所示。圖2表示在系統仿真過程中,仿真出的數據與數據集中的原始數據擬合程度非常好,沒有數據出現錯誤。圖1迭代誤差曲線圖2識別錯誤個數BP神經網絡模型構建完成,并且已經對數據集中的數據進行網絡訓練之后,導入交通燈信號圖像,進行目標圖像與數據庫中樣本圖像的匹配,完成交通燈信號圖像的識別,將識別結果輸出到空白欄中,顯示目標圖像的名稱。兩組測試數據識別結果分別如圖3、4所示。兩組測試結果都正確識別出了交通燈信號圖像的標志。再次增加數據集,進行大量測試后的結果證明設計的交通燈信號識別系統能完成識別功能,且識別性能良好。

參考文獻

[1]厲俊.基于MATLAB/GUI圖像處理系統的設計與實現[J].軟件工程,2020,23(05):59-62,30.

[2]張廣才,萬守鵬,何繼榮.MATLAB/GUI數字圖像處理系統開發設計[J].軟件,2019,40(11):123-127.

[3]錢弘毅,王麗華,牟宏磊.基于深度學習的交通信號燈快速檢測與識別[J].計算機科學,2019,46(12):272-278.

[4]田佳欣.基于圖像處理的智能交通燈控制系統[J].電子制作,2017(21):33-35.

作者:劉艷華 單位:鹽城工學院信息工程學院