趙堯瑤 雷蕾 姚利青 王京冕 李夢飛



摘要:針對當前紅綠燈秒數分配不合理的問題,本文采用基于Node-RED以及云端的智能紅綠燈控制系統,通過調用車流量檢測AI模型,識別實時監控圖像,判斷擁堵等級,Node-RED控制模塊在不同擁堵等級下,下發指令給紅綠燈,合理分配秒數。在只考慮單向通行的情況下,該智能紅綠燈系統能夠解決一部分交通資源分配不合理的問題,為解決該問題提供借鑒。
關鍵詞:智能紅綠燈;云端;Node-RED;數據;圖像識別
引言
我國是交通大國,但存在交通資源分配不均,交通效率不高的問題。因此,智能紅綠燈成為提高交通效率的一個重要課題。通過對目前部分城市的交通現狀的觀察和分析,發現同一路口的不同時間段,車流量較大的方向是不相同的,很容易造成車輛擁堵等問題。這種現象不僅影響日常居民出行,還容易造成交通事故。在過去,紅綠燈的秒數往往是固定的,不能夠靈活變通,這也就導致了前述情況的發生。這種落后的方式已經逐漸被現代的智能交通紅綠燈系統取代。
最早將機器視覺技術用于交通流檢測的想法是美國在1978年提出的[1]。我國雖然起步較晚,但發展十分迅速[2]。目前所了解到的國內外的智能紅綠燈控制系統中,有各種方法來獲取數據,但是這些方法都存在缺陷,如金屬傳感器對距離有一定限制,視頻圖像存在一定的視野盲區,同時數據處理也較為緩慢[3]。我們采用計算機視覺技術,實時監控十字路口的交通情況,并對車流量進行識別,通過網絡迅速將實時數據發送到云端,云端發送控制信號到邊緣端紅綠燈[4]。本文設計了基于Node-RED以及云端的數據存儲和處理技術的智能監控紅綠燈系統。主要設計內容包括視頻圖像處理與紅綠燈命令系統設計、基于云端AI模型訓練、基于Node-RED的可視化顯示系統UI界面設計,研究了智能紅綠燈控制的方法。
1. 系統
1.1 系統組成
本文所設計的智能紅綠燈系統由云端和本地端兩部分組成。其中本地端主要包含圖像采集模塊、控制器模塊等。本文中圖像采集模塊選用海康威視攝像頭,控制模塊選用IotRouter EG8100,該模塊完成物聯網協議轉換和控制功能。云端的圖像識別模塊采用EasyDL開發識別車流量的AI模型,圖像識別后得出識別結果,然后將擁堵分級識別結果數據返回到物聯網控制器,物聯網控制器根據此結果控制紅綠燈時間。顯示實時車流量信息狀態的部分,本文采用基于Node-RED的可視化UI界面實現。大部分系統顯示車流量的方式是基于數碼管或者LCD液晶屏的傳統顯示方式[5],傳統方式只能實現紅綠燈系統的現場顯示,無法實現遠程顯示和數據實時傳輸共享。在互聯網技術飛速發展的背景下,不同設備之間可以通過網絡進行遠程數據傳輸。通過互聯網遠程距離傳輸技術,可實現車流量在PC機上的UI界面顯示,還可借助互聯網實現數據遠程實時共享,從而讓智能紅綠燈在短時間內迅速做出改變。系統的總體結構圖如圖1所示。
1.2 系統硬件設計
本文所設計的智能紅綠燈硬件部分包含供電模塊、車流量信息采集模塊、聯網控制模塊、紅綠燈組,結構如圖2所示。攝像頭采用海康威視DS-2DC3326IZ-D3型攝像頭。該攝像頭是一款360度全景特寫攝像頭,采用ICR紅外濾片,實現全天候全視角的路況監控,能通過網線連接路由器將路段情況上傳至云端。
IotRouter EG8100作為本智能紅綠燈的聯網控制模塊負責對紅綠燈的控制,攝像頭將視頻截幀圖像上傳至云端進行識別處理,并將各方向紅綠燈亮起的時長返回到基于Node-RED平臺的EG8100,對紅綠燈下發指令,以完成在不同車流量下紅綠燈的智能控制。
本文使用了悅欣YX02S-RYG RS485型號的紅綠燈,采用Modbus協議線,經由集線器連接可與EG8100聯通接收亮燈指令。
1.3 系統軟件設計
本文所設計的系統軟件部分包含可視化管理界面、Node-RED聯網控制模塊兩部分。可視化管理界面部分主要包括接收/處理攝像頭上的數據,通過前期調用已經使用EasyDL開發識別車流量的AI模型進行車輛識別,將車流量圖片分類為無車、通暢、擁堵、嚴重擁堵四個等級,然后將數據返回到可視化管理界面,可視化管理界面再將數據傳輸到Node-RED聯網控制模塊。
Node-RED聯網控制模塊部分主要用于接收、發送和處理來自聯網設備的數據。該程序的基本邏輯為:首先,通過AI識別返回當時某個地方的車流量情況,同時和可視化管理頁面返回的數據相結合;其次,運行在Node-RED中已編寫好的代碼,并對獲取的信息進行分析,通過車流量大小決定紅燈、綠燈、黃燈的變換以及閃爍時間。圖3為系統軟件操作流程圖。
1.4 控制界面
控制界面設計使用的是Node-RED中官方的可下載節點Dashboard,這是一個用于構建交互式Web用戶界面的可視化工具。控制界面主要設計通過使用網關內配置好的Node-RED環境,通過檢測各個接口情況的方式收集各部分信息顯示設備的各項信息,如外界設備的連接情況、聯網控制器的各接口連接情況、電池信息以及當前定位位置等,最后將信息通過Node-RED的Dashboard統一呈現給控制界面。
界面分為三個部分:設備狀態信息、電池信息和GPS定位位置,設備信息和電池信息可以通過網關檢測所連接口和電源電池的方式檢測信息,GPS則需要網關獲得當前位置信息,然后再在Node-RED中調用高德地圖以地圖的形式呈現。其中紅綠燈狀態、攝像頭狀態設定為可由用戶界面控制開關,電量以一個儀表盤的形式顯示,以更直觀的方式顯示電量情況。
2. 實驗
2.1 實驗過程
在訓練模型的過程中,數據集采用UA-DETRAC官方發布的公開數據集,該數據集由Cannon EOS550D相機在北京和天津的24個不同地點拍攝的10小時視頻組成。對數據集中的圖片進行清洗標注后,訓練檢測車流量的AI模型。訓練平臺采用百度EasyDL平臺,數據分為無車、通暢、擁堵、嚴重擁堵四個等級,只考慮單向通行情況下,分別對應相應的紅綠燈秒數,詳見表1。
2.2 實驗結果分析
表2為車流量模型的混淆矩陣。混淆矩陣的每一列代表了預測類別,每一列的總數表示預測為該類別的數據的數目;每一行代表了數據的真實歸屬類別,每一行的數據總數表示該類別的數據實例的數目;每一列中的數值表示真實數據被預測為該類的數目。以矩陣中第1行第1列的元素1220為例,即表中行為通暢,列亦為通暢,所對應的數為1220,表示有1220個實際歸屬通暢類的圖片被預測為通暢類;矩陣中第1行第2列的28表示有28個實際歸屬為通暢類的圖片被錯誤預測為無車類。矩陣中第1行第3列的14表示有14個實際歸屬為通暢類的圖片被錯誤預測為擁堵類;矩陣中第1行第4列中的0表示沒有通暢類的圖片被錯誤預測為嚴重擁堵類。其余以此類推。
表3為該模型各個標簽的具體數據,無車標簽由于數據集不足,導致召回率較低。
3. 展望
本文實現了智能紅綠燈監控系統中最重要的車流量識別和紅綠燈控制系統部分,對于實際紅綠燈秒數的分配提供了一定的參考,更合理的分配方式還需進一步研究。在實驗中,并沒有實際地對道路路口使用智能紅綠燈控制系統前后的道路情況進行分析,接下來還需要對其進行實地實驗,分析本文所提出的方法對路口車流量的影響。
結語
針對紅綠燈的智能控制問題,本文提出了基于機器學習的車流量識別方法,并且通過EasyDL實現了車流量檢測AI模型的訓練,達成了根據車流量實時調節紅綠燈時間的目的。本文所設計的智能監控紅綠燈系統能夠合理分配紅綠燈秒數,實現了交通資源的調度,可為進一步解決交通調度問題提供借鑒。
參考文獻:
[1]閆徳瑩.基于MeanShift跟蹤算法的交通流檢測系統研究[D].合肥:中國科學技術大學,2011.
[2]林鑫.基于視頻的車流量檢測系統研究[D].貴陽:貴州民族大學,2014.
[3]孫藝琳,劉備,茍富強,等.基于北斗衛星定位的智能紅綠燈系統[C]//中國衛星導航系統管理辦公室學術交流中心.第十二屆中國衛星導航年會論文集——S01 衛星導航行業應用.中國衛星導航系統管理辦公室學術交流中心:中國衛星導航學術年會組委會,2021:6.
[4]劉佳陽,李浩,楊靖澤.智能紅綠燈的發展與應用探討[J].電腦知識與技術,2020,16(10):256-257.
[5]張立.基于Node-RED的可視化糧倉溫控系統設計[J].信息技術與信息化,2022(4):110-113.
作者簡介:趙堯瑤,本科,研究方向:智能紅綠燈。