邱祺 李杰
摘 要:2020年,中国的汽车保有量已经突破3.7亿辆,基于非智能传感器辅助的人工管理模式受到的挑战越来越大。基于此,许多城市开始建设自己的智能交通系统,在这些工作中,对一些复杂场景,如十字路口,的建模是一个绕不开的难题。文章提出了一种通过分析车辆行驶轨迹等信息进行建模的新方案,与以往基于语义分割网络的建模方案相比,该方案具有稳定性更高、适用性更广、需要配置更低、速度更快的优势。
关键词:场景建模;检测跟踪;K-Means聚类;曲线拟合
中图分类号:月的TP391.9 文献标识码:A 文章编号:2096-4706(2020)24-0089-04
Intersection Modeling Scheme Based on Behavior Analysis
QIU Qi,LI Jie
(University of South China,Hengyang 421001,China)
Abstract:In 2020,Chinas car ownership has exceeded 370 million,and the artificial management mode based on non-intelligent sensor is facing more and more challenges. Based on this,many cities have started to build their own intelligent transportation systems. In these works,the modeling of some complex scenes,such as intersections,is a difficult problem. In this paper,a new modeling scheme is proposed by analyzing the vehicle trajectory and other information. Compared with the previous modeling scheme based on semantic segmentation network,this scheme has the advantages of higher stability,wider applicability,lower configuration and faster speed.
Keywords:scene modeling;detection and tracking;K-Means clustering;curve fitting
0 引 言
随着计算机视觉技术的发展和成熟,智能交通、自动驾驶等技术开始兴起,其中,通过图片信息对道路状况进行建模,作为这些热点研究中绕不开的一环,一直是学者研究的热点[1-3]。
在自动驾驶中,我们需要通过摄像头获取前方道路中车道线位置等信息指导车辆前进,在智慧交通系统中,我们也需要获取斑马线位置、转向标志等信息,来完成“车辆违规判定”等交通管理任务。本文将整理图片中的道路信息的過程,称为交通场景建模。交通场景建模大致可以分为两类:
(1)通过车载摄像头进行场景建模;
(2)通过定点摄像头进行场景建模。
第一类主要应用于自动驾驶领域,其任务特点是:输入画面为司机视角、场景不断变动;第二类主要应用于智能交通管理中,输入画面为路口、街头的交通管理摄像头,场景基本不变,相较于第一类,第二类具有明显特点:
(1)场景基本不变;
(2)不需要实时更新;
(3)目的是完成诸如“闯红灯检测”等交通管理任务而不是指导车辆驾驶。
目前学界对第一类任务的研究较多,但对第二类任务的研究相对较少,且人们在解决第二类任务时常常也在使用第一类任务的解决方案,即通过语义分割提取图片中的重要信息进行建模。
在2020年到2021年的湖南省创新训练计划中,笔者的《基于计算机视觉的智能交通管理系统》项目被选入国家级项目立项,在解决道路建模技术的过程中,笔者自主研发了一种新的建模技术路线,取得了良好的效果。
在该路线中,我们提出了一种基于行为分析的路口交通建模方案:通过分析一段视频中通过路口的车辆的行为,来提取路口中每个区域的语义信息,如:停止线、斑马线的位置,每个车道允许的行进方向等,并希望可以通过这些信息完成闯红灯检测、违规转向检测等常见的交通任务。
在本文中我们需要对一段路口交通监控做的处理有:
(1)提取该路口有多少个车道;
(2)每个车道的行进方向;
(3)停止线位置;
(4)斑马线位置。
在该方案中,我们假设大多数司机都是遵守交通规则的,那么,我们可以通过车辆的行进轨迹判断哪些驾驶方式在当前场景中是合乎规范的,基于上述原理,我们通过检测跟踪算法得到车辆的行进轨迹,然后对这些轨迹进行聚类,获得车道数量和每个车道的行进方向,通过车辆等红灯时的暂停,我们可以得到停止线的位置,通过收收集行人的运动轨迹,我们可以知道斑马线的位置。从而建立模型如图1、图2所示。
在接来的部分:第1部分我们将介绍该论文中需要用到的核心算法,第2部分将重点介绍路口建模的具体过程,第3部分将总结该建模方案的特性和可能的扩展空间,最后一部分为参考文献索引。
1 检测跟踪算法
检测跟踪算法是指将检测网络和跟踪算法相结合提取视频中物体运动轨迹的方法。由多目标检测和多目标跟踪算法组成。
多目标检测检测一般是指多目标检测神经网络,多目标检测网络大致可分为“两阶段检测模型”和“单阶段检测模型”两种。我们选用的是单阶段检测模型中的YOLO系列最新成果YOLOv4[4],相较于之前的版本,其有更快的速度和更高的准确率。
多目标跟踪主要任务是在给定视频中同时对多个感兴趣的目标进行定位,并维持他们的ID,记录他们的轨迹。常见的多目标跟踪算法有,SORT[5]、DeepSORT、JDE算法、FAIRMOT算法等,本文中使用的是SORT算法。
通过YOLOv4+SORT算法,就可以实现车辆和行人行为的提取。
2 路口建模方案
2.1 方案原理
在现有的建模方案中,大都是以单帧图片作为原始信息建模的,但实际上以视频为单位可以得到的信息量要比图片大得多,得到的信息越多,往往意味着后续的处理可以更加简单。基于行为分析的路口建模采用的就是以视频为输入的方式提取数据的。
我们将提取一段视频中车辆和行人的运动轨迹,用这些运动轨迹来判断场景中重要标志的位置:
(1)利用车辆等红绿灯的停止位置来判断停止线的位置;
(2)通过车流分散成多少股来判断有多少个车道;
(3)通过车辆的行进方向来判断每个车道的行进方向;
(4)通过行人行进方向来判断斑马线位置。
2.2 建模过程
该方案的一次建模过程可以分为检测跟踪、路径过滤、提取路径特征、停止线预测、斑马线预测共五个步骤,具体方案为:
(1)检测跟踪:采用检测跟踪算法,对该视频进行逐帧的多目标探测,并每检测一帧就将检测到的目标放入SORT算法进行跟踪,对于跟踪结束的物体,我们将保存其路径。用检测跟踪提取到的路径可视化后如图3所示。
(2)路径过滤:在路径被刚刚提取出来的时候,不乏一些长度极短的。或者与监测区域完全无关的路径(例如横向路径),我们通过限定路径的长短和方向,去除不需要的路径,处理结果如图4所示。
从图中我们已经可以看到:这些路径分为两股,分别流向三个方向,其中第一个车道为左转/直行车道,而第二个车道为右转/直行车道,但如果要让机器理解这些问题则还需要一些其他的手段。
值得注意的是,我們将在该步骤统计过滤后的路径中的小轿车在刚进入图像时的宽度的平均值W,作为接下来步骤的一个比例尺。
(3)提取路径特征:为了对上图的路径进行聚类,我们需要对这些路径进行一次特征提取,首先,我们用以图片的左下角为原点,水平方向为x轴建立直角坐标系,将图片中的路径表达成一个以时间路径s为参数的方程组,当s等于0时,实数对(x,y)为车辆进入画面的位置,当s=1时,(x,y)则表示车辆在画面中行驶了一个单位长度后的车辆的位置。
其中:
X(s)=a1·s4+a2·s3+a3·s2+a4·s+a5
Y(s)=b1·s4+b2·s3+b3·s2+b4·s+b5
我们通过线性拟合确定(a1,a2,a3,a4,a5,b1,b2,b3,b4,b5),记该10维行向量为V拟合之后,x-s,y-s的函数关系可视化之后如图5所示。
纵坐标为0的直线之下为(y-s)曲线,之上为(x-s)曲线,对于(y-s)曲线可以看到,所有车辆都是朝远离摄像头区域运行的,且没有先升后降得曲线,说明没有掉头车辆。
从(x-s)曲线来看,从起点看,这些曲线明显被分为两簇,对应图中的两个车道,曲线的终点对应的纵坐标被分为三个层次,对应左转、右转、直行三个方向,如图6所示。
我们以(x-s)曲线的起始部分,也就是曲线的截距a5为值进行聚类,记所有曲线的截距的集合设为{a5},记a5i为第i条曲线的截距。
取N为{a5}的极差除W的k倍并向上取整,通过观察一般取k=1.5。
然后分别以[N,N-1,N+1,N-2,N+2]为聚类核数,对{a5}进行K-Means聚类,将聚类结果记为{lane},lanei表示第i个曲线在这次分类中的标签,也就是此次分类中曲线i所属车道的编号,将聚类结果带入罚函数L:
其中,abs为绝对值函数。
选择可以使得L最小的核聚类数。将该方案获得K-Means分类器作为车道分类器,按车道分类后,曲线分类结果可视化后如图7,图8所示。
(4)停止线检测:在步骤(2)中过滤后的路径中找到因为汽车等红灯时产生的暂停点,然后选择每个车道最靠前的那一个,记{xi,yi}为第i个车道上最靠前的停止点,根据{xi,yi}拟合出直线l,将该直线沿y轴方向上移W/2,得到停止线如图9所示。
(5)斑马线提取:类似于以上的思路,首先收集行人过马路的路径,筛选出方向与停止线方向相差不大且行进距离大于等于{a5}极差的一半的行人路径,可视化后如图10所示。
生成一个与视频帧长宽相等的矩阵,对每一条行人路径上的任意一个点做大小为[W/5,W/2]的膨胀处理,得到斑马线的范围如图11所示。
由此确定出斑马线的位置,从图中可以看出,我们得到的斑马线位置较真实位置略微偏上,但这将使得之后判断行人是否在斑马线上更准确,因为其将透视问题一并考虑在模型之中。
3 结 论
该方案以监控视频中车辆和行人的行为为建模材料,通过检测跟踪算法(YOLOv4+SORT)提取车辆和人的行为特征,对当前摄像头下的路径进行建模,相较于原来基于语义分割网络的建模方案,我们在建模过程中引入了人的行为信息,改变了在单张图片中提取信息的方案,而采用在视频中提取信息,取得的改进有:
(1)由于其避免了使用容易被遮挡、磨损的地面标识等信息,使得该方案相较于以往的方案更加具有鲁棒性;避开了一标多义或多标同义的问题,方案的普适性更高。
(2)由于其没有使用到大型的神经网络,所以对计算机配置很低,可以节约经费。
(3)该方案的思维可以有更多扩展,例如:统计车道上行驶车辆的类型,可以猜测该车道的类型(如公交车专用道、非机动车道等),还可以检测停车区域等等诸多扩展。
(4)该方案选择了一个大小较为稳定的车型(小轿车)的宽度,作为比例尺,实现了许多参数的自适应,所以方案中需要手动设置的参数很少,使用方便。
该方案在多个路口视频上进行测试,获得了良好的效果,但还有一些问题有待解决:比如,该建模技术暂时只涉及了路口交通建模,并不能覆盖全部交通场景;且在开始使用之前,建模程序需要进行10分钟左右的预热等。在未来的版本中,我们将致力于将行为分析应用于更广泛的交通场景,通过新的技术缩短预热时间,优化建模过程,提高算法的实用性。
参考文献:
[1] LV Z H,ZHANG S B,XIU W Q. Solving the Security Problem of Intelligent Transportation System With Deep Learning [J/OL].IEEE Transactions on Intelligent Transportation Systems,2020(99):1-10.[2020-03-20].https://ieeexplore.ieee.org/document/9043888.DOI:10.1109/TITS.2020.2980864
[2] WAN S H,XU X L,WANG T,et al. An Intelligent Video Analysis Method for Abnormal Event Detection in Intelligent Transportation Systems [J/OL].IEEE Transactions on Intelligent Transportation Systems,2020:1-9.[2020-09-09].https://ieeexplore.ieee.org/document/9190063.DOI:10.1109/TITS.2020.3017505.
[3] HAYDARI A,YILMAZ Y. Deep Reinforcement Learning for Intelligent Transportation Systems:A Survey [J/OL].arXiv:2005.00935 [cs.LG].(2020-05-02).https://arxiv.org/abs/2005.00935v1.
[4] BOCHKOVSKIY A,WANG C Y,LIAO H Y M. YOLOv4:Optimal Speed and Accuracy of Object Detection [J/OL].arXiv:2004.10934 [cs.CV].(2020-04-23).https://arxiv.org/abs/2004.10934.
[5] WOJKE N,BEWLEY A,PAULUS D. Simple Online and Realtime Tracking with a Deep Association Metric [C]//2017 IEEE International Conference on Image Processing.Beijing:IEEE,2017:3645-3649.
作者簡介:邱祺(1999—),男,汉族,湖南益阳人,本科在读,研究方向:计算机视觉、群体智能;李杰(2000—),男,汉族,湖南娄底人,本科在读,研究方向:软件工程、计算机视觉。