基于图像识别的智能红绿灯控制研究
2023-11-15赵尧瑶雷蕾姚利青王京冕李梦飞
赵尧瑶 雷蕾 姚利青 王京冕 李梦飞
摘要:针对当前红绿灯秒数分配不合理的问题,本文采用基于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.
作者简介:趙尧瑶,本科,研究方向:智能红绿灯。