詹玉 吳欽木
摘?要:交通燈的識別對人工智能以及無人駕駛都有著舉足輕重的作用,本文研究交通識別中的紅綠燈判斷,用于改善駕駛員疲勞以及維護(hù)交通秩序從而提高駕駛安全系數(shù)減少交通事故的發(fā)生。通過機(jī)器視覺采集紅綠燈交通信號圖,運用Matlab進(jìn)行圖片處理截取紅綠燈區(qū)域,提取每張圖片的121個像素點RGB值,運用1和2分別表示綠燈和紅燈,建立紅綠燈樣本訓(xùn)練庫,通過Matlab自帶的數(shù)據(jù)擬合工具nftool進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,調(diào)整訓(xùn)練、驗證、測試數(shù)據(jù)比例,最終得到識別效果較好的神經(jīng)網(wǎng)絡(luò)算法。運用樣本均值進(jìn)行測試也能夠得到較好的識別。
關(guān)鍵詞: 機(jī)器視覺;紅綠燈識別;RGB值;數(shù)據(jù)擬合工具nftool;神經(jīng)網(wǎng)絡(luò)
文章編號: 2095-2163(2021)01-0032-04 中圖分類號:TP391.41 文獻(xiàn)標(biāo)志碼:A
【Abstract】The identification of traffic lights plays a decisive role in both artificial intelligence and unmanned driving. This paper studies the judgment of traffic lights in traffic identification, which can be used to improve driver fatigue and maintain traffic order so as to improve the driving safety coefficient and reduce the occurrence of traffic accidents.By machine vision gathering traffic signal of traffic light, using Matlab image processing to crop traffic area, in each image RGB values of 121 pixels are extracted, 1 and 2 are used to represent the traffic lights respectively, and red and green traffic light sample training library in built, through the Matlab's own data fitting tool nftool neural network training is conducted, the ratio among training, validation, test data is adjusted, so the neural network algorithm with better identification effect is achieved.Using the sample mean for testing can also be well identified.
【Key words】machine vision; traffic light identification; RGB values; nftool, a data fitting tool; the neural network
0 引?言
在道路交通信息中,作為重要交通信號標(biāo)志的紅綠燈出現(xiàn)得最為頻繁,及時且準(zhǔn)確地識別紅綠燈對保障交通安全與交通秩序穩(wěn)定具有重要意義。因此,本文基于神經(jīng)網(wǎng)絡(luò)對紅綠燈識別開展研究。以紅綠燈顏色為研究對象,通過機(jī)器視覺系統(tǒng)采集紅綠燈圖像數(shù)據(jù),建立紅綠燈的圖像數(shù)據(jù)庫作為訓(xùn)練樣本,利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練模型,實現(xiàn)對紅燈與綠燈的識別。
在顏色識別中,傳統(tǒng)方法是對圖片進(jìn)行處理,轉(zhuǎn)換顏色空間運用算法進(jìn)行識別,涉及的方法包括模糊隸屬度函數(shù)[1]、歸一化方法[2]、高斯分布建模方法[3]、殘差法[4]、k均值聚類法[5]。這些方法都是通過圖像處理來進(jìn)行顏色識別,在車聯(lián)網(wǎng)中識別速度有待提高。對比傳統(tǒng)方法,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)優(yōu)勢就在于能夠通過大量樣本進(jìn)行訓(xùn)練,訓(xùn)練出的算法識別精度也較高,例如支持向量機(jī)[6]、深度學(xué)習(xí)[7]等。因此,本文將機(jī)器學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)相結(jié)合來訓(xùn)練紅綠燈識別網(wǎng)絡(luò),最終得到了識別效果較好的算法。
1 機(jī)器視覺系統(tǒng)
機(jī)器視覺運用光學(xué)裝置和非接觸的傳感器裝置通過視覺鏡頭對目標(biāo)物體的圖像進(jìn)行采集,將模擬信號自動轉(zhuǎn)換為計算機(jī)可以識別的數(shù)字信號,而后進(jìn)行特征提取以獲得所需要的信息。一個典型的機(jī)器視覺應(yīng)用系統(tǒng)包括光源系統(tǒng)、視覺傳感器、圖像采集系統(tǒng)、圖像處理系統(tǒng)、以及控制系統(tǒng)等模塊,如圖1所示。
本文研究的機(jī)器視覺主要完成圖像采集,選擇白天在適合的天氣條件下對各個路口的紅綠燈進(jìn)行圖像采集,采用CCD、CMOS傳感器的攝像頭根據(jù)拍攝當(dāng)天的光照強(qiáng)度和紅綠燈的位置調(diào)好攝像頭的焦距、光圈等,盡可能地拍攝出符合要求的圖片。
2 建立訓(xùn)練樣本集
RGB空間是一種色光表色模式,現(xiàn)已廣泛用于社會生活中。計算機(jī)定義顏色時,R、G、 B三種成分的取值范圍是0~255,0表示沒有刺激量,255表示刺激量達(dá)到最大值。RGB模式是一種加色法模式,通過R、G、B的輻射量,可描述出任一顏色。
將采集到的圖片運用Matlab進(jìn)行處理,提取出紅燈和綠燈區(qū)域,將提取的圖片分為RGB三層提取像素點R、G、B的值。本次研究中,采集到的綠燈圖片見圖2,提取的綠燈區(qū)域見圖3,采集的紅燈圖片見圖4,提取的紅燈區(qū)域見圖5。
進(jìn)而得到,Matlab提取紅綠燈圖片區(qū)域代碼如下:
clearall
clc
a=imread('16.bmp');
a_gray=rgb2gray(a);
[m,n]=size(a_gray(:,:));
a_new=a(m/2-5:m/2+5,n/2-5:n/2+5,:);
將20張紅綠燈圖片作為樣本數(shù)據(jù),其中紅燈和綠燈分別為10張。每張圖片提取121個像素點RGB值,總共2420個樣本進(jìn)行訓(xùn)練。由此得到RGB部分訓(xùn)練樣本見表1。表1中,1表示綠燈圖片,2表示紅燈圖片。
3 基于nftool的神經(jīng)網(wǎng)絡(luò)紅綠燈判斷系統(tǒng)設(shè)計
目前,機(jī)器學(xué)習(xí)研究的是如何通過計算手段,利用經(jīng)驗來改善系統(tǒng)自身的性能,神經(jīng)網(wǎng)絡(luò)即是機(jī)器學(xué)習(xí)的一種。其主要研究內(nèi)容可概括為:是關(guān)于在計算機(jī)上從數(shù)據(jù)中產(chǎn)生“模型”的算法,即學(xué)習(xí)算法。也就是將經(jīng)驗數(shù)據(jù)提供給學(xué)習(xí)算法,如此就能基于數(shù)據(jù)產(chǎn)生模型,當(dāng)有新的情況時,模型就能做出相應(yīng)的判斷[8]。
3.1 Matlab神經(jīng)網(wǎng)絡(luò)工具箱
神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)擬合工具nftool用于數(shù)據(jù)擬合問題,也就是采用前向神經(jīng)網(wǎng)絡(luò)實現(xiàn)輸入數(shù)據(jù)到輸出數(shù)據(jù)的映射。通過R、G、B三個值的范圍進(jìn)行顏色評估,R、G、B屬于一個數(shù)據(jù)群,是神經(jīng)網(wǎng)絡(luò)的輸入,紅色和綠色所對應(yīng)的數(shù)字則是另一個數(shù)據(jù)集,是神經(jīng)網(wǎng)絡(luò)的輸出。
3.2 神經(jīng)網(wǎng)絡(luò)訓(xùn)練
將樣本分為3部分,即:訓(xùn)練、驗證和測試。訓(xùn)練部分的數(shù)據(jù)提供給神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)根據(jù)誤差進(jìn)行調(diào)整。驗證數(shù)據(jù)用于測量網(wǎng)絡(luò)泛化,并在泛化停止改進(jìn)時結(jié)束訓(xùn)練。在訓(xùn)練期間和訓(xùn)練后,訓(xùn)練數(shù)據(jù)提供一個獨立的網(wǎng)絡(luò)性能測量。這里,將神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本中的85%用作訓(xùn)練,5%用作驗證,10%用作測試。
3.2.1 學(xué)習(xí)算法
研究中選擇Levenberg-Marquardt。Levenberg-Marquardt學(xué)習(xí)算法本質(zhì)上是一種擬牛頓算法,該算法的步驟可簡述如下:
Step 1 隨機(jī)給定初始權(quán)值w0,設(shè)定目標(biāo)誤差ε,k=1。
Step 2 對于如下n元方程組,計算其對權(quán)值向量w的Jacobi矩陣J。此時需要用到:
Step 3 按公式(2)進(jìn)行搜索:
Step 4 若E(w(k)≤ε),則算法終止,得到滿足精度要求的權(quán)值向量;否則,轉(zhuǎn)Step 5。
3.2.2 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置
神經(jīng)網(wǎng)絡(luò)是由自帶適應(yīng)性的簡單單元組成的廣泛并行互連的網(wǎng)絡(luò),在整體上能夠模擬生物神經(jīng)系統(tǒng)對真實世界物體所做出的交互反應(yīng)。將神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分為3層,即:輸入層、隱含層、輸出層。其中,隱含層神經(jīng)元個數(shù)設(shè)置為10,其結(jié)構(gòu)如圖6所示。
3.2.3 訓(xùn)練結(jié)果
數(shù)據(jù)擬合圖見圖7,誤差直方圖見圖8,訓(xùn)練數(shù)據(jù)、驗證數(shù)據(jù)、測試數(shù)據(jù)以及所有樣本數(shù)據(jù)回歸圖則詳見圖9。由圖7可知,在第37步時,最好的驗證值為1.6092e-13。
通過訓(xùn)練結(jié)果分析后可知,在誤差直方圖中誤差很小的數(shù)據(jù)都集中在一起,訓(xùn)練效果理想,數(shù)據(jù)回歸圖中所有R=1,數(shù)據(jù)相關(guān)性好,訓(xùn)練后的網(wǎng)絡(luò)不僅能識別原有樣本,將訓(xùn)練樣本的每張圖片取RGB均值作為輸入,測試所訓(xùn)練的神經(jīng)網(wǎng)絡(luò),訓(xùn)練的算法也能夠完全識別,部分識別結(jié)果見表2。
4 結(jié)束語
本文通過機(jī)器視覺采集紅綠燈圖片,將紅綠燈圖片通過Matlab算法進(jìn)行預(yù)處理,將圖片分成R、G、B三層提取RGB值制作樣本訓(xùn)練集,運用神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)擬合工具nftool進(jìn)行訓(xùn)練,得到的紅綠燈識別算法能夠精確地識別樣本,將每張樣本紅綠燈圖片的RGB均值作為神經(jīng)網(wǎng)絡(luò)輸入也能夠精準(zhǔn)地識別紅綠燈圖片,本文為車聯(lián)網(wǎng)的紅綠燈識別研究提供了一種思路,利用神經(jīng)網(wǎng)絡(luò)能夠訓(xùn)練出高效、快速的算法,相較于傳統(tǒng)圖像處理識別更具優(yōu)勢。
參考文獻(xiàn)
[1]HU Mingdi, ZHANG M, LOU Y. Retrieval of vehicle images based on color space fuzzy quantification in criminal investigation[J]. International Journal of Performability Engineering , 2017,13(6):823-831.
[2]OMACHI M, OMACHI S. Traffic light detection with color and edge information[C]//2009 2nd IEEE International Conference on Computer Science and Information Technology(ICCSIT 2009). Beijing, China:IEEE, 2009:945-948.
[3]SHEN Yehu, OZGUNER U, REDMILL K, et al. A robust video based traffic light detection algorithm for intelligent vehicles[C]//2009 IEEE Intelligent Vehicles Symposium. Xi'an, China: IEEE,2019:521-526.
[4]薛旭琴. 基于機(jī)器學(xué)習(xí)的車輛顏色識別方案的研究[D]. 北京:北京郵電大學(xué),2018.
[5]佀君淑,朱文興,沙永賀.復(fù)雜背景下的交通信號燈綜合識別方法[J].山東大學(xué)學(xué)報(工學(xué)版),2014,44(2):64-68,75.
[6]HU Chuanping,BAI Xiang, QI Li,et al.Vehicle color recognition with spatial pyramid deep learning[J]. IEEE Transactions on Intelligent Transportation Systems, 2015,16(5):2925-2934.
[7]KIM H K, PARK J H, JUNG H Y,et al. An efficient color space for deep-learning based traffic light recognition[J]. Journal of Advanced Transportation, 2018, 2018:2365414.
[8]周志華. 機(jī)器學(xué)習(xí)[M]. 北京:清華大學(xué)出版社,2016.
[9]陳攀. 自然場景下車輛顏色識別研究[D]. 武漢:華中科技大學(xué),2016.
[10]??镂? 智能車輛的交通信號燈識別[D]. 上海:上海交通大學(xué),2012.
[11]WANG Xiaoqiang, CHENG Xianghui, WU Xue, et al. Design of traffic light identification scheme based on TensorFlow and HSV color space[J]. Journal of Physics Conference Series,2018, 1074(1):012081.