国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

駕駛輔助硬件加速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2022-06-21 11:28趙佳怡彭武星
物聯(lián)網(wǎng)技術(shù) 2022年6期
關(guān)鍵詞:紅綠燈攝像頭灰度

趙佳怡,彭武星,宋 敏,盧 仕

(湖北大學(xué) 物理與電子科學(xué)學(xué)院,湖北 武漢 430061)

0 引 言

中國(guó)官方統(tǒng)計(jì)報(bào)告,每年因道路交通死亡的人數(shù)超過(guò)10萬(wàn),道路傷害數(shù)量達(dá)50萬(wàn),每5分鐘約有1人死亡,每1分鐘就會(huì)有1人因?yàn)榻煌ㄊ鹿识鴤麣?。造成交通事故的根本原因?個(gè),一方面是駕駛?cè)擞捎谛睦砘蛘呱矸矫娴脑颍瑳](méi)有正確觀察和判斷外界事物而造成精力分散、反應(yīng)遲鈍,表現(xiàn)為觀望不周、措施不及時(shí)或者不當(dāng)、未判斷清楚就盲目通行;另一方面是駕駛?cè)瞬话唇煌ǚㄒ?guī)和其他交通安全規(guī)定行車(chē)或者走路,致使交通事故發(fā)生。

針對(duì)以上交通事故產(chǎn)生的原因,文中設(shè)計(jì)的駕駛輔助系統(tǒng)能識(shí)別道路上的交通指示牌,為用戶(hù)提供正確的路況信息(路況包括停車(chē)點(diǎn)、更換道路、紅綠燈情況等),幫助用戶(hù)做出正確決定,降低交通事故發(fā)生率。同時(shí),系統(tǒng)輸出形式分為圖像和語(yǔ)音兩種,既可以為不方便接收聲音的用戶(hù)提供圖像形式的實(shí)時(shí)路況,也可以為獨(dú)自駕駛車(chē)輛的用戶(hù)提供語(yǔ)音播報(bào)形式的實(shí)時(shí)路況,從而使用戶(hù)集中注意力。文中構(gòu)造的基于駕駛員駕駛行為習(xí)慣的主動(dòng)式駕駛輔助人機(jī)交互系統(tǒng)極大地增強(qiáng)了用戶(hù)體驗(yàn),擴(kuò)大了該系統(tǒng)的應(yīng)用范圍。

1 系統(tǒng)框架設(shè)計(jì)

系統(tǒng)框架如圖1(a)所示,系統(tǒng)由OV5640攝像頭、VGA顯示器、數(shù)據(jù)處理模塊、驅(qū)動(dòng)模塊組成。圖1(b)為系統(tǒng)實(shí)物,F(xiàn)PGA芯片為主控部分,OV5640攝像頭接收外部圖像信號(hào),F(xiàn)PGA芯片存儲(chǔ)圖像信號(hào),并通過(guò)圖像處理模塊將信號(hào)進(jìn)行優(yōu)化,再通過(guò)VGA顯示模塊將優(yōu)化后的圖像呈現(xiàn)在VGA顯示屏上,獲取的有用信號(hào)則通過(guò)特征提取模塊、模板匹配模塊后輸出,隨后傳遞給驅(qū)動(dòng)模塊。

圖1 系統(tǒng)框架設(shè)計(jì)

2 系統(tǒng)功能設(shè)計(jì)

2.1 系統(tǒng)總體設(shè)計(jì)流程

系統(tǒng)功能的總體設(shè)計(jì)流程如圖2所示。將從SDRAM中讀取的數(shù)據(jù)傳遞給UART串口模塊,進(jìn)而驅(qū)動(dòng)APP;數(shù)據(jù)處理模塊對(duì)攝像頭采集的數(shù)據(jù)做進(jìn)一步處理,其輸出的數(shù)據(jù)能夠直接驅(qū)動(dòng)直流電機(jī)模塊和語(yǔ)音播報(bào)模塊。

圖2 系統(tǒng)功能設(shè)計(jì)流程

2.2 交通標(biāo)識(shí)識(shí)別的硬件加速算法設(shè)計(jì)

2.2.1 圖像數(shù)據(jù)的采集

系統(tǒng)將攝像頭寄存器配置分為2個(gè)模塊,其中一個(gè)模塊為攝像頭內(nèi)部寄存器地址的查找表,另一個(gè)模塊為IC總線(xiàn)控制器。通過(guò)IC將指令輸入攝像頭,并對(duì)攝像頭的工作模式以及各參數(shù)進(jìn)行配置。當(dāng)攝像頭寄存器全部配置完成后,先等待10幀數(shù)據(jù),待寄存器配置生效后再開(kāi)始采集數(shù)據(jù),并將攝像頭的8位輸出數(shù)據(jù)轉(zhuǎn)換成16位RGB 565格式的圖像數(shù)據(jù)。SDRAM的讀寫(xiě)模塊和SDRAM的控制模塊可以將圖像數(shù)據(jù)進(jìn)行不失真存儲(chǔ)。

2.2.2 圖像處理

圖3 圖像處理

通過(guò)灰度化處理模塊后,圖像數(shù)據(jù)由原來(lái)的24位轉(zhuǎn)化為8位灰度數(shù)據(jù),其中交通標(biāo)識(shí)藍(lán)底的RGB 888值為{6,0,134},對(duì)應(yīng)的灰度值為17;紅綠燈黑底的RGB值為{0,0,0},對(duì)應(yīng)灰度值為0;交通標(biāo)識(shí)的RGB 888值為{255,255,255},對(duì)應(yīng)灰度值為255;紅綠燈中綠燈的RGB 888值為{0,255,0},對(duì)應(yīng)的灰度值為150。由最佳閾值公式算出適合交通標(biāo)識(shí)和紅綠燈進(jìn)行二值化處理的最佳閾值為90,所以當(dāng)像素點(diǎn)的灰度值大于90時(shí),將灰度數(shù)據(jù)賦為0,該像素點(diǎn)視為黑色;當(dāng)像素點(diǎn)的灰度值小于90時(shí),將灰度值賦為255,視為白色。因?yàn)榧t綠燈中的紅燈灰化后的值有時(shí)可能大于90,所以需要多添加一個(gè)判斷語(yǔ)句,當(dāng)滿(mǎn)足上一個(gè)條件時(shí),對(duì)RGB 888中的green進(jìn)行判斷,當(dāng)green大于120時(shí),將灰度值賦0,視為黑色;當(dāng)green小于120時(shí),將灰度值賦為255,視為白色。通過(guò)此全局閾值,可以很好地屏蔽交通標(biāo)識(shí)和紅綠燈的背景。圖3(d)為二值化處理后的圖像。

從二值化后的圖像中不難看出,圖像存在椒鹽噪聲,系統(tǒng)利用中值濾波去除椒鹽噪聲。圖3(e)為中值濾波后的圖像,噪聲含量大大減少。圖4為模塊中值的計(jì)算方法,所謂中值濾波,即對(duì)以該像素點(diǎn)為中心的3×3矩陣進(jìn)行排序,用排序中值取代中心點(diǎn)像素值。同時(shí)為了簡(jiǎn)化模塊在讀取數(shù)據(jù)時(shí)對(duì)RAM地址的計(jì)算,并充分利用FPGA的并行特性對(duì)圖像數(shù)據(jù)進(jìn)行順序讀取,需逐行將順序讀取的數(shù)據(jù)轉(zhuǎn)化成3行的并行數(shù)據(jù)進(jìn)行處理。

圖4 移位寄存器工作原理

系統(tǒng)采用投影法實(shí)現(xiàn)對(duì)交通標(biāo)識(shí)及紅綠燈的定位,因?yàn)榻煌?biāo)識(shí)及紅綠燈是放在黑底背景的PPT中,所以交通標(biāo)識(shí)及紅綠燈周?chē)h(huán)境比較單一,利用投影法可以很好地確定交通標(biāo)識(shí)及紅綠燈的具體區(qū)域。圖5為定位后的圖像,當(dāng)交通標(biāo)識(shí)及紅綠燈出現(xiàn)在藍(lán)色框區(qū)域時(shí),綠色框就能動(dòng)態(tài)確定交通標(biāo)識(shí)及紅綠燈的位置。藍(lán)色框?yàn)樗惴▍^(qū)域,當(dāng)交通標(biāo)識(shí)和紅綠燈出現(xiàn)在此區(qū)域時(shí),綠色框會(huì)動(dòng)態(tài)將交通標(biāo)識(shí)和紅綠燈的位置框住,紅色框會(huì)動(dòng)態(tài)將交通標(biāo)識(shí)和綠燈的位置框住。

圖5 圖像定位后的照片展示

定位后,可以確定交通標(biāo)識(shí)及紅綠燈的具體位置,在確定的交通標(biāo)識(shí)區(qū)域進(jìn)行水平投影和垂直投影,進(jìn)而將交通標(biāo)識(shí)及紅綠燈等標(biāo)識(shí)分割出來(lái),然后通過(guò)特征識(shí)別算法進(jìn)行具體計(jì)算。識(shí)別算法設(shè)計(jì)流程如圖6所示。

圖6 識(shí)別算法設(shè)計(jì)流程

以數(shù)字識(shí)別為例,具體算法如下:

(1)選取直線(xiàn),提取特征值。如圖7(a)所示,在數(shù)字行寬的1/3處、2/3處,以及數(shù)字列寬的1/2處,通過(guò)選取數(shù)字與行1/3劃線(xiàn)的前沿交點(diǎn)、數(shù)字與行2/3劃線(xiàn)的后沿交點(diǎn),以及數(shù)字與列1/2處的后沿交點(diǎn)的位置和個(gè)數(shù)來(lái)識(shí)別數(shù)字。

圖7 圖像識(shí)別

(2)計(jì)算相似度。比較特征數(shù)據(jù)與模板數(shù)組各點(diǎn)的數(shù)據(jù)值,并設(shè)置閾值,當(dāng)兩組數(shù)據(jù)某點(diǎn)數(shù)據(jù)絕對(duì)值的差小于該閾值時(shí),相似度加1。

一部分投標(biāo)人在進(jìn)行報(bào)價(jià)投標(biāo)時(shí),并未按照填報(bào)要求對(duì)裝配式建筑在分項(xiàng)分布的各個(gè)項(xiàng)目中所實(shí)際消耗的機(jī)械設(shè)備材料、分?jǐn)偟恼叟f費(fèi)以及人工費(fèi)等數(shù)據(jù)進(jìn)行準(zhǔn)確的計(jì)量。此外,一些PC構(gòu)件的加工生產(chǎn)單位通過(guò)加速折舊的辦法將其生產(chǎn)基地投資等長(zhǎng)期費(fèi)用分?jǐn)偟搅藰?gòu)件的成本費(fèi)用中,造成了PC構(gòu)件成本中包括了過(guò)高的攤銷(xiāo)和折舊費(fèi)用,而投標(biāo)人的虛高報(bào)價(jià)對(duì)于工程項(xiàng)目的成本控制會(huì)產(chǎn)生不利的影響。

(3)獲得最大相似度模板。設(shè)置多分支選擇語(yǔ)句,取相似度最高的模板即為輸出結(jié)果。

2.2.3 圖像數(shù)據(jù)輸出

如圖8所示,首先通過(guò)VGA驅(qū)動(dòng)程序?qū)z像頭采集的數(shù)據(jù)從SDRAM中實(shí)時(shí)讀取出來(lái),并利用SDRAM 的乒乓操作實(shí)現(xiàn)對(duì)數(shù)據(jù)的實(shí)時(shí)采集和讀取。由于寫(xiě)SDRAM的速度和讀SDRAM的速度不一致,可能會(huì)出現(xiàn)兩幀重疊現(xiàn)象。為了達(dá)到顯示的實(shí)時(shí)性和同步性,利用SDRAM里的兩片bank進(jìn)行乒乓操作。

圖8 乒乓操作原理

2.3 外圍設(shè)備相關(guān)功能設(shè)計(jì)

2.3.1 車(chē)輪驅(qū)動(dòng)設(shè)計(jì)

小車(chē)的4個(gè)車(chē)輪,同側(cè)2個(gè)采用直流電機(jī)驅(qū)動(dòng),該直流電機(jī)由L298N驅(qū)動(dòng),一個(gè)L298N可以驅(qū)動(dòng)2個(gè)直流電機(jī),但為了增強(qiáng)控制的靈活性,文中選擇使用2個(gè)L298N模塊對(duì)兩側(cè)的直流電機(jī)分別進(jìn)行驅(qū)動(dòng)。L298N具有4個(gè)端口,通過(guò)對(duì)應(yīng)兩端口的電位差驅(qū)動(dòng)直流電機(jī)。

2.3.2 語(yǔ)音播報(bào)模塊設(shè)計(jì)

系統(tǒng)使用的語(yǔ)音模塊為YS-M3,在給模塊通電之前先將A10接地,之后可切換為編碼模式,再通過(guò)對(duì)A1~A5的編碼,使其播放正確的語(yǔ)音。文中在進(jìn)行語(yǔ)音播報(bào)模塊設(shè)計(jì)時(shí),首先在TF卡中下載并保存可能會(huì)出現(xiàn)的交通標(biāo)識(shí)、紅綠燈和數(shù)字對(duì)應(yīng)的語(yǔ)音播報(bào)內(nèi)容。當(dāng)攝像頭識(shí)別到某個(gè)圖像后,將相應(yīng)的處理信號(hào)輸出給語(yǔ)音模塊,語(yǔ)音模塊通過(guò)與已經(jīng)存儲(chǔ)的播報(bào)內(nèi)容進(jìn)行對(duì)比,進(jìn)而播報(bào)與該圖像對(duì)應(yīng)的內(nèi)容。

2.3.3 APP頁(yè)面顯示標(biāo)識(shí)功能實(shí)現(xiàn)

如圖9所示,文中設(shè)計(jì)的APP頁(yè)面能夠呈現(xiàn)出與識(shí)別結(jié)果對(duì)應(yīng)的圖像。FPGA開(kāi)發(fā)板中的TX通過(guò)USB串口傳導(dǎo)相應(yīng)數(shù)據(jù)到電腦上,再使用Python打開(kāi)相應(yīng)串口,將其數(shù)據(jù)編寫(xiě)入腳本文件,最后利用MATLAB打開(kāi)腳本文件,讀取相應(yīng)數(shù)據(jù)。

圖9 APP頁(yè)面效果

Python的具體設(shè)計(jì)流程如圖10所示。利用Python作數(shù)據(jù)中轉(zhuǎn)站,先利用串口調(diào)試助手檢驗(yàn)串口發(fā)送模塊(TX)的數(shù)據(jù)是否正確,再利用Python打開(kāi)相應(yīng)的com4,以相同的波特率(9 600)接收。為避免出錯(cuò),直接利用字符分割進(jìn)行數(shù)據(jù)傳遞,將分割出來(lái)的第一個(gè)字符存進(jìn)腳本文件,并根據(jù)TX傳來(lái)的數(shù)據(jù)不斷刷新腳本文件。這里要注意的是,因?yàn)樽筠D(zhuǎn)的字節(jié)取第一位后容易出錯(cuò),所以添加了一個(gè)判斷語(yǔ)句,當(dāng)左轉(zhuǎn)的字符為xab時(shí),將其字符改為b,當(dāng)不滿(mǎn)足這個(gè)條件時(shí),屏蔽xa。

圖10 Python代碼設(shè)計(jì)流程

MATLAB的具體設(shè)計(jì)流程如圖11所示,通過(guò)MATLAB生成一個(gè)簡(jiǎn)易的APP頁(yè)面,在其中調(diào)用Python寫(xiě)入數(shù)據(jù)的腳本文件,利用多分支選擇語(yǔ)句進(jìn)行相應(yīng)結(jié)果匹配。

圖11 MATLBA代碼設(shè)計(jì)流程

3 系統(tǒng)功能測(cè)試

系統(tǒng)硬件電路如圖12所示。系統(tǒng)硬件電路主要由OV5640攝像頭、數(shù)據(jù)傳導(dǎo)模塊、開(kāi)關(guān)模塊、L298N電機(jī)模塊和YS-M3語(yǔ)音模塊組成。

圖12 系統(tǒng)硬件電路

在10組不同的光照強(qiáng)度下(100~8 200 Lux,每組遞增900 Lux),將代碼燒入FPGA開(kāi)發(fā)板中,連接并安放好硬件設(shè)備,對(duì)三種交通標(biāo)識(shí)的識(shí)別效果依次進(jìn)行檢驗(yàn),測(cè)試流程如圖13所示。

圖13 系統(tǒng)功能測(cè)試流程

(1)將FPGA開(kāi)發(fā)板的開(kāi)關(guān)1、2撥至高低電平01,進(jìn)行數(shù)字識(shí)別,所識(shí)別數(shù)字照片分別為綠燈下的數(shù)字8、6、12,以及紅燈下的數(shù)字9。當(dāng)4張數(shù)字照片識(shí)別完成后,依次觀察小車(chē)車(chē)輪、語(yǔ)音播報(bào)、APP頁(yè)面,判斷識(shí)別第一類(lèi)路標(biāo)的結(jié)果是否正確。

(2)將開(kāi)關(guān)1、2撥至高低電平10,進(jìn)行紅綠燈交通標(biāo)識(shí)識(shí)別,所識(shí)別紅綠燈照片依次為左轉(zhuǎn)綠燈亮、直行綠燈亮、右轉(zhuǎn)綠燈亮。當(dāng)3張紅綠燈照片識(shí)別完成后,觀察小車(chē)轉(zhuǎn)向、語(yǔ)音播報(bào)、APP頁(yè)面,判斷識(shí)別第二類(lèi)路標(biāo)的結(jié)果是否正確。

(3)將開(kāi)關(guān)1、2撥至高電平11,進(jìn)行特殊交通標(biāo)識(shí)識(shí)別,路標(biāo)照片分別為允許掉頭、靠左行駛、前方向右行駛,當(dāng)3張?zhí)厥饨煌?biāo)識(shí)照片識(shí)別完成后,觀察小車(chē)轉(zhuǎn)向、語(yǔ)音播報(bào)、APP頁(yè)面,判斷識(shí)別第三類(lèi)路標(biāo)的結(jié)果是否正確。測(cè)試結(jié)果見(jiàn)表1所列。

表1 測(cè)試結(jié)果

通過(guò)測(cè)試結(jié)果可以看出,這套系統(tǒng)有較高的識(shí)別準(zhǔn)確率,但存在一定的局限性。為了提高系統(tǒng)的實(shí)用性,可從以下3方面作進(jìn)一步提升:

(1)增加更多的匹配模板以識(shí)別更多交通指示標(biāo)識(shí);(2)利用sobel算法優(yōu)化二值化算法;

(3)適當(dāng)采用CNN神經(jīng)網(wǎng)絡(luò)優(yōu)化因距離問(wèn)題導(dǎo)致的識(shí)別精度較低的問(wèn)題。

4 結(jié) 語(yǔ)

文中設(shè)計(jì)的駕駛輔助系統(tǒng)能夠有效降低因駕駛?cè)俗陨韱?wèn)題而導(dǎo)致的交通事故發(fā)生率,系統(tǒng)提供了2種輸出信號(hào)模式,即語(yǔ)音提示和頁(yè)面顯示,以適應(yīng)復(fù)雜的用戶(hù)操作環(huán)境,充分為用戶(hù)考慮,擴(kuò)大了其適用范圍。此外,通過(guò)車(chē)輛前方的攝像頭不僅可以獲得有用的路況信息,還可以將一張SD卡放在FPGA芯片內(nèi)部,攝像頭充當(dāng)行車(chē)記錄儀使用,進(jìn)而為用戶(hù)提供多樣化的服務(wù)。系統(tǒng)結(jié)構(gòu)巧妙,操作簡(jiǎn)單,在用戶(hù)駕駛時(shí)能夠起到高效的輔助作用,使用戶(hù)注意力保持高度集中,保障駕駛安全。

猜你喜歡
紅綠燈攝像頭灰度
浙江首試公路非現(xiàn)場(chǎng)執(zhí)法新型攝像頭
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
攝像頭連接器可提供360°視角圖像
基于灰度拉伸的圖像水位識(shí)別方法研究
紅綠燈前
基于太赫茲技術(shù)的新一代攝像頭及其在安防領(lǐng)域的應(yīng)用探討
神奇的紅綠燈
會(huì)說(shuō)話(huà)的紅綠燈
基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
基于灰度線(xiàn)性建模的亞像素圖像抖動(dòng)量計(jì)算
三明市| 通榆县| 威宁| 固始县| 壤塘县| 奉节县| 太仓市| 喜德县| 西盟| 高邮市| 夹江县| 蒲城县| 太仓市| 泗洪县| 新安县| 四川省| 夹江县| 儋州市| 武隆县| 浦县| 崇阳县| 武冈市| 桐乡市| 灵台县| 钟山县| 朝阳县| 绥江县| 惠安县| 合水县| 江山市| 同德县| 宜兴市| 大英县| 阿荣旗| 商城县| 县级市| 扎兰屯市| 龙门县| 周口市| 阜南县| 根河市|