基于OpenCV的交通燈綠信比智能調(diào)節(jié)裝置的設(shè)計(jì)
祝朝坤,李宗賢(鄭州工商學(xué)院,河南?鄭州?450000)
本文引用地址:http://butianyuan.cn/article/201912/408676.htm摘?要:基于樹莓派為核心器件來設(shè)計(jì)的智能交通燈控制器,采用攝像頭來實(shí)時(shí)的捕捉路口的照片,發(fā)送給樹莓派,在樹莓派上運(yùn)行OpenCV視覺庫來處理分析路口車輛的數(shù)目。通過串口發(fā)送給STM32F103C8T6微控制器來設(shè)置紅綠燈亮滅的時(shí)長,最后可以通過屏幕顯示車流量,等待時(shí)間等信息。設(shè)備可靠性高、實(shí)用性強(qiáng)、操作簡單。
0 引言
國內(nèi)應(yīng)用和研究城市交通控制系統(tǒng)的工作起步較晚,20世紀(jì)80年代以來,國家一方面進(jìn)行以改善城市市中心交通為核心的 UTSM(urban traffic systemmanage)技術(shù)研究;另一方面采取引進(jìn)與開發(fā)相結(jié)合的方針,建立了一些城市道路交通控制系統(tǒng)。以北京、上海為代表的大城市,交通控制系統(tǒng)主要是簡易單點(diǎn)信號(hào)機(jī)、 SCOOT 系統(tǒng)、 TRANSYT系統(tǒng)和 SCATS 系統(tǒng)其中幾個(gè)結(jié)合使用;而如湘潭、岳陽等國內(nèi)中小城市,交通控制系統(tǒng)主要還是使用國產(chǎn)的簡易單點(diǎn)信號(hào)機(jī)和集中協(xié)調(diào)式信號(hào)機(jī)。 這些信號(hào)系統(tǒng)雖然取得了較好的效果,但我國實(shí)際情況決定了需要對這些系統(tǒng)進(jìn)行改進(jìn)。另外在一些城市中,有些紅綠燈裝有信號(hào)控制系統(tǒng),在所有道路資源都充分使用的條件下,紅綠燈的轉(zhuǎn)換頻率只能按時(shí)間分配,不可能讓道路變得更加通暢,不能合理的紅綠燈配時(shí)讓道路的通行率大大降低,同時(shí)會(huì)延長機(jī)動(dòng)車和行人等候通行的時(shí)間,降低了交通通行效率。比如道路東西方向的車輛已經(jīng)通行完畢,但對于南北方向的汽車來說,依然處于紅燈狀態(tài),不能通行,必須等到綠燈。這段時(shí)間就白白浪費(fèi)掉了,妨礙了人們出行和工作;同時(shí)汽車在等待期間為的尾氣排放,對于城市環(huán)境和市民的健康帶來了巨大的隱患;汽車在等待期間能源浪費(fèi);因?yàn)閾尩蓝l(fā)交通事故,等等一系列的問題。
1 功能概述及結(jié)構(gòu)框圖
產(chǎn)品為軟硬件結(jié)合的城市交通路口智能調(diào)節(jié)裝置,模擬了交通路口的環(huán)境情況。整體由樹莓派3B,樹莓派紅外感光夜視攝像頭,STM32F103RCT6最小系統(tǒng)板,等主要模塊構(gòu)成?;跇漭墒褂?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/OpenCV">OpenCV視覺庫實(shí)時(shí)對采集到的路口圖像進(jìn)行處理,識(shí)別路口的車輛狀況,處理后的結(jié)果送下位機(jī),下位機(jī)在各個(gè)時(shí)間合理的智能調(diào)節(jié)紅綠燈時(shí)間的長短,及時(shí)緩解路口的擁堵的設(shè)備。如圖1所示
該交通通路口識(shí)別設(shè)備具備學(xué)習(xí)功能,有一定的數(shù)據(jù)分析功能力??梢詫?shí)時(shí)對路口的狀況進(jìn)行圖像采集與識(shí)別分析,識(shí)別后的數(shù)據(jù)會(huì)以一定的時(shí)間間隔發(fā)送到樹莓派中。上位機(jī)通過調(diào)用攝像頭實(shí)時(shí)的對路口的車流量進(jìn)行檢測識(shí)別,并且將車輛數(shù)量信息,紅綠燈等待時(shí)間,擁堵情況等顯示在屏幕上。識(shí)別的結(jié)果發(fā)送到人機(jī)交互的下位機(jī)中。下位機(jī)負(fù)責(zé)驅(qū)動(dòng)紅綠燈,合理的規(guī)劃紅綠燈的時(shí)間間隔。從而一定程度緩解交通擁堵情況。
通過對晴天,陰天,雨天等,不同的天氣狀況來每一個(gè)小時(shí)采集一張路口沒有車輛的照片作為模板,然后通過樹莓派的視頻流實(shí)時(shí)的采集照片,將采集的照片和與他時(shí)間,天氣狀況相對應(yīng)的模板做對比。然后使用OpenCV視覺庫對實(shí)時(shí)采集到圖片與模板進(jìn)行圖片相減,降噪濾波,圖片的灰度,閾值化,漫水填充,二值化等,最終經(jīng)過一系列的算法對圖像處理,根據(jù)處理得到的車輛長度,大小,顏色等,來判斷出路口車輛的多少。然后通過串口將數(shù)據(jù)發(fā)送給下位機(jī),下位機(jī)經(jīng)過一系列的運(yùn)算之后得出合理的紅綠燈時(shí)長,然后通過引腳來控制紅綠燈。
2 設(shè)備硬件設(shè)計(jì)及原理圖
2.1 整體外部構(gòu)造
在樹莓派上運(yùn)行基于Python的OpenCV的視覺庫,用來處理數(shù)據(jù)。樹莓派端接有攝像頭,屏幕,下位機(jī)STM32F103RCT6核心板。攝像頭負(fù)責(zé)十字路口的圖像采集;屏幕負(fù)責(zé)進(jìn)行人機(jī)交互,顯示路口車輛信息與等待時(shí)間;下位機(jī)負(fù)責(zé)控制紅綠燈狀態(tài)。如圖 31所示
2.2 樹莓派
在主控方面我選擇了樹莓派。樹莓派(RaspberryPi)是只有信用卡大小的微型電腦,其系統(tǒng)基于Linux。當(dāng)然還可以選擇比較容易一些的OpenMV來進(jìn)行圖像處理,不過OpenMV處理能力有限,進(jìn)行數(shù)據(jù)量大或者實(shí)時(shí)性要求高的圖像處理的話就捉襟見肘了。因此設(shè)備的軟件方面就調(diào)用OpenCV視覺庫來處理圖像,需要強(qiáng)大的運(yùn)算速度和內(nèi)存,選用了樹莓派來做為處理器。直接在官網(wǎng)下載鏡像燒錄之后運(yùn)行,系統(tǒng)里邊直接就預(yù)裝了很多編譯軟件,這里是直接使用Python語言來進(jìn)行編譯,此次設(shè)計(jì)中是通過Python腳本語言來調(diào)用OpenCV視覺庫來完成處理,然后在通過控制樹莓派引腳的硬件串口功能將處理得到的數(shù)據(jù)發(fā)給下位機(jī)。
2.3 STM32F103RCT6核心板
在紅綠燈的控制板選擇上有F4和F1兩個(gè)系列。相比與F4,F(xiàn)1價(jià)格方面優(yōu)惠很多,還有F4雖然功能更加的強(qiáng)大,內(nèi)部資源也更豐富,可是此裝置由F1來控制完全能夠勝任,避免造成資源的浪費(fèi)。因此選擇了STM32F103RCT6,主頻是72 MHz,這個(gè)核心板是64引腳的,并且體積小,可以將它安裝在紅綠燈內(nèi)部進(jìn)行控制。在軟件方面,可以使用標(biāo)準(zhǔn)庫來進(jìn)行編寫代碼,操作簡單。次此設(shè)備主要用到它的定時(shí)器,引腳,串口,中斷等資源。主要是采用核心板來控制紅綠燈的亮滅和數(shù)碼管的倒計(jì)時(shí),通過串口接收到樹莓派發(fā)來的數(shù)據(jù)之后,在中斷里邊進(jìn)行判斷,確定是有用的信息的話就返回給主函數(shù),運(yùn)算之后通過引腳輸出來控制紅綠燈的亮滅,和數(shù)碼管顯示時(shí)間。
2.4 CSI攝像頭
在攝像頭的選擇上有普通的USB攝像頭和CSI攝像頭。但是經(jīng)過試驗(yàn)發(fā)現(xiàn)USB攝像頭像素低,存在電源無法帶動(dòng)的問題,而且夜間拍攝效果差,還有USB攝像頭,占USB帶寬,CPU使用率會(huì)高一些。所以便采用了樹莓派CSI攝像頭,CSI的CPU使用率會(huì)低一些,而且配置起來免驅(qū)動(dòng),更加方便。同時(shí)具備紅外夜視,紅外燈補(bǔ)光,可調(diào)焦等功能,在各個(gè)時(shí)間段都能夠清晰的獲取路面的圖像。
2.5 主要原理圖
主要原理圖如圖3。
3 設(shè)備軟件設(shè)計(jì)
主要采用數(shù)字圖像處理又稱為計(jì)算機(jī)圖像處理,它是指將圖像信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)并利用計(jì)算機(jī)對其進(jìn)行處理的過程。用計(jì)算機(jī)進(jìn)行圖像處理的前提是圖像必須以數(shù)字格式存儲(chǔ), 把以數(shù)字格式存放的圖像稱之為數(shù)字圖像。數(shù)字圖像處理技術(shù)得到了廣泛的應(yīng)用。在日常生活中見到的圖像一般是連續(xù)形式的模擬圖像,所以數(shù)字圖像處理的一個(gè)先決條件就是將連續(xù)圖像離散化,轉(zhuǎn)換為數(shù)字圖像。圖像的數(shù)字化包括采樣和量化兩個(gè)過程。
3.1 上位機(jī)圖像處理
加載原始圖像,獲取圖像的高和寬。進(jìn)行低通濾波處理,進(jìn)行濾波去掉噪聲和清除背景。轉(zhuǎn)換成灰度圖,此時(shí)目標(biāo)圖像周圍有寫不光滑,還有一些噪聲,因此進(jìn)行開閉運(yùn)算,得到比較光滑的目標(biāo),接著轉(zhuǎn)換成二值圖以便于獲取圖像的輪廓,最后進(jìn)行輪廓提取,抓取到目標(biāo)。再通過對輪廓外形無限逼近,刪除非關(guān)鍵點(diǎn)、得到輪 廓 的 關(guān) 鍵點(diǎn)。最后通過過圖像幾何距是圖像的幾何特征,高階幾何距中心化之后具有特征不變性,產(chǎn)生弧距輸出,用于形狀匹配等操作,這里我們通過計(jì)算一階幾何距得到指定輪廓的中心位。如圖 4所示:
3.2 上位機(jī)屏幕顯示數(shù)據(jù)
屏幕使用的是7英寸高清屏,是直接使用樹莓派上的HDMI接口來進(jìn)行擴(kuò)展的,數(shù)據(jù)是通過STM32核心板計(jì)算出來的紅綠燈時(shí)間長短通過串口返回給樹莓派的,然后在樹莓派上通過調(diào)用Python的GUI庫來實(shí)時(shí)的在屏幕上顯示不同時(shí)間段的路面車輛狀況,和紅黃綠燈的具體時(shí)間,以便更好地進(jìn)行人機(jī)交互。如圖 4圖 5所示。
4 設(shè)備的優(yōu)勢
4.1 相比傳統(tǒng)交通燈更高效更安全
本裝置加快了汽車通過路口效率,緩解城市交通擁堵問題。裝置通過對城市紅綠燈的有效實(shí)時(shí)調(diào)控,根據(jù)車流量的變化規(guī)律,給出相應(yīng)的紅綠燈最佳控制方案。
從而緩解城市交通壓力并在一定程度上解決塞車,堵車問題,同時(shí)還能減少尾氣的排放,使市民出行更加方便,安全,快捷。
4.2 安裝成本
低傳統(tǒng)的紅綠燈改造成智能交通燈好處很多,但對于智慧紅綠燈的改造大都是“局部”的。因?yàn)槟壳笆苤朴诟脑斐杀?一個(gè)路口的智慧信號(hào)燈改造需要接近100萬元),要在大城市全面推進(jìn)智慧信號(hào)燈改造,似乎并不現(xiàn)實(shí)。我們的產(chǎn)品使用樹莓派作為主控板,大大降低了開發(fā)成本,并且經(jīng)測試,其也能夠長時(shí)間的穩(wěn)定工作,可靠性高、維護(hù)方便、擴(kuò)展功能也較強(qiáng)。
5 結(jié)論
在隨著人工智能、物聯(lián)網(wǎng)等新一代信息技術(shù)加速應(yīng)用,發(fā)展智能交通也將是極其重要的一環(huán)。如果沒有智能化交通網(wǎng)絡(luò)的支撐,智慧城市建設(shè)也就無法順利展開。因此,智能交通概念走向落地是當(dāng)務(wù)之急。而其中,無論是打造智能交通管理系統(tǒng),還是著力解決道路擁堵,智能交通燈的設(shè)計(jì)又是其關(guān)鍵所在。因此,該設(shè)計(jì)為智能交通設(shè)備的應(yīng)用提供了廣闊的發(fā)展前景。
參考文獻(xiàn)
[1]石松泉,蓋累夫.智能交通路口控制器的設(shè)計(jì).計(jì)算機(jī)工程與應(yīng)用.2004(2):26-27.
[2]王志.智能交通信號(hào)燈控制器.創(chuàng)新科技,2007(10).
[3]岳浩.Linux操作系統(tǒng)教程[M].北京:機(jī)械工業(yè)出版社,2005.
[4]高峰, 陳雄, 陳婉秋. 基于樹莓派B+微處理器的視頻檢測跟蹤系統(tǒng)[J]. 電視技術(shù), 2015, 39(19):105-108.
[5]劉瑞禎,于仕琪.OpenCV 教程——基礎(chǔ)篇[C].北京:航空航天大學(xué)出版社,2007.06.
[6]李弼程,彭天強(qiáng).智能圖像處理技術(shù).北京:電子工業(yè)出版,2004.
[7]張若愚.Python科學(xué)計(jì)算.北京:清華大學(xué)出版社.2012.
本文來源于科技期刊《電子產(chǎn)品世界》2020年第01期第56頁,歡迎您寫論文時(shí)引用,并注明出處。
評(píng)論