【项目团队】Chathuranga Liyanage, Sandali Jayaweera
该项目使用基于视觉的交通拥堵测量方法来调整红绿灯时间,以减少车辆拥堵。
【项目物料】
【项目背景】
如今,一个众所周知的事实是,城市地区的交通拥堵已加剧到影响人们的日常生活。人口的增长和街上车辆数量的增加正导致更多的交通拥堵,更长的旅行时间和更多的排放。因此,交通拥堵会浪费大量时间在道路上,还会污染环境,从而影响国民经济和劳动生产率。
该项目旨在通过提供可扩展的解决方案来减少路口的交通拥堵。通过预测每个交通信号灯相位的更好时序调整,可以减少路口的交通拥堵。传统的信号系统使用定时电路,该电路与时间无关,并且在没有任何当前流量估计的情况下变为红色和绿色,并让车辆从一个交叉路口流出,却不知道下游交叉路口的交通拥堵,从而阻塞了大面积区域与洪水车辆。此解决方案分为三个主要部分:从实时视频流中提取交通参数,为交通信号灯预测更好的时序调整,并将预测的时序调整传递给现有系统。
第一部分涉及视觉算法的工作。从路口的摄像机,我们可以获取实时视频流进行分析。通过分析此实时视频流,它在绿灯阶段输出车辆计数。系统的第二部分是预测更好的时序调整。第一部分的输出(车辆计数)被输入到算法中,并且输出应该改变什么时间改变以增加一个周期通过交叉路口的车辆数量。我们解决方案的最后一部分是将预测的时间调整传递给现有交通信号灯系统的控制器。
将系统开发为单独的三个部分的主要目的是在不干扰其他模块的情况下并行执行每个部分,因此可以高效地实现这些模块。由于具有可扩展性,即使在较大的流量网络中也可以轻松使用此解决方案,只需进行较小的更改即可处理流量拥塞。
【项目架构】
预期系统的架构如下所示:
由于该项目与R&D部件相关联,因此实施该系统需要大量时间和精力。因此,存在将所有系统安装在道路附近并执行实施的实际问题。为方便起见,我们使用了第三方服务(Firebase)在交通信号灯和我们位于远程位置的已实现系统之间传输数据。在这种情况下,我们可以监控来自IP流量摄像机的视频,测试我们的算法,然后从我们位于远程的实验室将输出发送到交通灯控制器。
以下是修改后的系统架构。中间设备包括一个树莓派和一个逻辑电平转换器。
【视觉模块】
该视觉部分的主要目的是制定算法,从环境中提取信息(在我们的情况下为环形交叉路口),可以轻松地将其用作时间预测算法的状态,以作为衡量每个阶段拥塞程度的好方法。我们希望从场景中提取的信息对于具有不同特征(如相位,视野,地质模式和类型)的所有类型的路口都应该是可推广的。我们甚至认为从真实世界中提取的信息应该与模拟环境高度相关,而无需进行场景特定的校准。我们的目标是构建一种精度高,实时性强的算法。
最后,考虑到上述原因,我们决定考虑每个阶段通过绿色信号的车辆数量。这给了我们一个特殊的优势,即可以获取有关节点上游和下游流量状况的部分信息。
我们按照以下步骤提取车辆计数信息:
-车辆本地化
-车辆通过使用检测到的物体跟踪连续帧
车辆本地化
更具体地说,我们需要从场景中定位各个移动的车辆。我们将此问题表述为前景分离,而不是分类观点。最初,我们尝试了标准的数字视频处理算法,例如使用高斯混合模型和密集光流的自适应背景减法。由于恶劣的天气条件,遮挡和相机晃动,他们在本地化方面的结果并不可靠。为了实现现实世界,我们想要一个比此更一致的算法。最后,我们使用yolo tiny v3 prn架构,并使用收集的数据集从头开始对其进行训练。
与yolov3-tiny相比,Yolov3 prn的精度与yolov3 tiny相同,但内存减少了37%,计算量减少了38%。
它在Jetson NANO上以45fps的速度运行。
我们从霍顿广场路口收集了3000张图像。最初,我们对其中的500个进行了注释,并对其进行了训练,并使用它对图像进行了注释。然后,我们进行了模型注释并纠正了错误,并使用所有图像增强对所有图像进行了重新训练,例如随机翻转,色调和饱和度变化,比例尺变化和混合方法。我们能够获得84%的mAP(平均精度均值)。我们使用Darknet框架训练模型。
我们使用SORT(简单的在线跟踪)来跟踪车架上的车辆。它首先使用卡尔曼滤波器估计边界框的位置,并使用匈牙利算法根据联合的相交度量将每个轨迹分配给新检测到的框。
我们从最先进的算法SORT(简单的在线和实时跟踪)开始。它具有以下步骤
-我们之前训练过的YOLO-V3-tiny的Box detection。
-通过卡尔曼滤波器跟踪盒子坐标,流速
-通过使用IoU作为度量标准的匈牙利算法,将当前帧中新近检测到的盒子与轨迹相关联。
我们创建了一个管道来实时处理该过程。为了识别交通拥堵,我们需要每个阶段两台摄像机的视图以获取该阶段的完整视图。因此,我们需要同时处理来自Jetson nano的两个通道的图像。
这包括——
1.解码RTSP流
2.检测
3.追踪
4.可视化结果