1. 引言
随着科技的发展以及人民生活水平的不断提高,汽车走进了千家万户。据统计,2021年上半年全国机动车保有量达3.84亿辆,其中汽车保有量达2.92亿辆 [1]。但是飞速增长的机动车保有量与城市建设、交通道路整改力度等往往不是同步的,因此在现实中常见如车辆加塞等违法行为。虽然近年来交警部门通过无人机航拍、电子警察抓拍以及路面查处等方式查处多起车辆加塞行为,但是目前尚无完善的检测车辆加塞的设备与方法,且上述查处方式对人力以及财力的消耗是巨大的。
在技术领域中,进行车辆加塞行为识别时,主流的方法是依托监控视频流的信息:通过传统图像处理方法对整幅图像进行处理,提取出相应车辆信息,进而预测车辆行驶轨迹。但此类方法在提取车辆信息时计算量大,严重依赖传统算法对图像的信息提取能力,且车辆信息提取的好坏直接影响预测结果。
随着大数据时代的到来以及深度学习的兴起,基于深度学习的目标检测算法飞速发展。目标检测可分为两阶段目标检测算法 [2] - [8] 和一阶段目标检测算法 [9] - [14],是一类用来检测图片或视频中物体的位置以及类别的算法。虽然该算法可以有效检测道路上的车辆,却不能实现加塞车辆的检测。
基于上述分析,本文提出基于目标检测的城市路口车辆加塞行为的识别研究。以目标检测算法为基础,对算法检测到的城市交通路口的目标车辆进行建模,通过模型分析,有效检测加塞行为的车辆。在现实场景中可对其进行抓拍上传网络,有利于减轻民警负担,同时该方法不需要购买设备,减轻相关部门财政开销。
2. 相关知识
2.1. Faster R-CNN网络结构
Faster R-CNN以Fast R-CNN为基础,提出了区域选取网络(RPN):通过在特征图上设置的大量锚框并对其进行分类和回归,得到目标候选区域。RPN代替了Fast R-CNN以及R-CNN中使用的传统特征聚合方法Selective Search,使得Faster R-CNN成为第一个真正意义上的端到端的目标检测网络,并被广泛应用于工业界中。
Faster R-CNN首先将输入网络的图片进行裁剪,使其符合网络输入尺寸,接着使用13个卷积激活层和4个池化层组成的卷积神经网络对其进行特征提取。生成的特征图输入RPN进行检测,得到目标存在的大概位置,为最后的分类和回归提供一次预选。将RPN得到的候选区域坐标映射到特征图上获取对应特征,再经过RoI Pooling将每一个候选区域的特征映射成相同大小,然后输入下游网络进行分类和回归。
2.2. Hough变换原理
Hough变换于1962年由P.V.C. Hough首次提出 [15],用于对气泡室照片进行机器分析。1972年,Richard Duda和Peter Hart对其进行改进,提出广义Hough变换 [16],通过检测图像中的特征来识别形状,如直线、圆形、椭圆形等。
Hough变换将原始空间中的曲线(包括直线)通过参数化表示,映射到参数空间,通过统计参数空间中的投票结果,确定可以准确描述原始空间中曲线的参数,从而得到准确描述原始空间曲线的方程。
如图1所示,给出一个二维图像,以图像中心为坐标原点建立直角坐标系,直线l可以被法向量角度
和原点到直线l的距离
参数化表示。在
和r参数平面中,直线 的参数方程如公式(1)所示,可以看出,图像坐标下的一个点在参数空间中表示为一条曲线,参数系中多条曲线的交点即为平面直角坐标系中共线的点的所在直线方程参数。
(1)
参数空间中的投票结果计算过程如下:首先建立一个二维投票数组
,初始化为0,其中第一个维度是r的取值范围,第二个维度是
的取值范围。然后对于图像坐标中每一个点
,将参数空间中每一个角度
代入,得到对应的r,每计算出一组
,将投票数组
的对应位置加1,以此类推。计算结束则投票结束,票数最高位置对应的r和
为最大峰值,该参数即为原图像中共线点数目最多的直线方程的参数。接下来还可继续寻找次峰值以及第三峰值、第四峰值等,分别对应原图像中共线点数目逐渐减少的直线。
Figure 1. Schematic diagram of parameters in Hough transform
图1. Hough变换中参数示意图
3. 基于目标检测的城市路口车辆加塞行为的识别研究
本文将目标检测算法与Hough变换相结合,进行城市交通路口车辆加塞行为的识别。首先利用目标检测算法检测图片中的目标,得到它们的位置以及类别信息;其次将可能会发生加塞行为的目标类别挑选出来,比如汽车、公交车、卡车;然后利用Hough变换拟合路口每一车道排队的直线,计算每一车辆到最近车道直线的距离,并设置阈值区间;最后通过判断车辆到车道方向直线的距离判断车辆是否具有加塞行为:距离小于阈值下限的即可认为该车在车道内;距离大于阈值上限的即可认为该车位于别的车道且该车道车辆过少或者是逆向车道,不参与加塞行为的识别;距离位于阈值范围内的即可认为该车有可能偏离车道进行加塞行为。
3.1. 车辆加塞行为识别模型构建
本文使用Hough变换对路口车辆进行直线检测,是因为在路口直行、左转弯、右转弯以及掉头车道较窄,同一车道的车辆几乎位于一条直线上,那么该车道的车辆的中心也几乎位于同一条直线上,进行加塞行为的车辆会偏离该车道的直线,即为寻找的可能发生加塞行为的车辆。同时因为道路上车辆大小不等,但是车辆在路口排队时,中心点偏差微小,因此为了避免尺寸对拟合准确性带来的影响,使用检测目标的中心点进行Hough变换。
首先使用目标检测算法Faster R-CNN对城市路口交通图像进行检测,检测结果为图像中各个目标的类别以及位置信息,可视化如图2所示。
Figure 2. The urban traffic intersections image detection result by object detection
图2. 目标检测算法对城市交通路口图像检测结果
然后对检测结果通过类别信息进行过滤,仅保留可能会发生加塞行为目标的信息,如汽车、公交车、卡车,绘制保留的目标的中心点分布如图3所示。
Figure 3. Schematic diagram of vehicle target distribution
图3. 车辆目标分布示意图
接下来对图3进行Hough变换,检测车道内车辆所在直线,得到各个点在Hough空间的分布如图4所示,其中图3中的一个点对应Hough空间的一条曲线。
Figure 4. The result of Hough transform
图4. Hough变换结果
对Hough变换的结果进行非极大值抑制、非车道线方向直线抑制等操作,获得最终车道方向直线如图5所示。
经过Hough变换得到车道方向的直线之后,计算每一个目标中心点与每一条直线的距离。设置距离阈值区间,距离小于阈值下限的判定目标在车道内;距离大于阈值上限的判定该目标位于别的车道且该车道车辆过少或者是逆向车道,不参与加塞行为的识别;距离位于阈值范围内的判定该车有可能偏离车道进行加塞行为。由于每一目标距离不同车道会有不同的距离值,距离最小值为车辆与所在车道的直线的距离,因此用最小距离对其进行距离判别,若是位于区间内,则将该目标框选出来,并标注“warning”,识别结果如图6所示。
Figure 6. Vehicle cut in line test results
图6. 车辆加塞检测结果
3.2. 模型具体实施过程
根据模型构建的描述,具体描述模型实施过程流程图如图7所示,详细步骤描述如下:
步骤一,读取城市路口监控图像。目标检测算法的输入为图像,本文将城市路口的监控图像作为目标检测的输入。
步骤二,目标检测算法对步骤一中的图像进行检测。目标检测的输出结果是图像中目标的位置信息、置信度以及类别标签。
步骤三,获取目标检测结果中交通类目标信息。本文使用的是已经训练完成的目标检测算法,可有效检测多种类别的目标。由于使用目标中心点进行Hough变换拟合车道方向直线时,只需交通类目标,且在检测加塞行为时,只需对交通类目标进行识别,因此非交通类目标在该模型中属于噪声点。但是重新标注只含有交通类目标的数据集并进行训练工作量繁琐且耗时费力,因此在原有检测结果上对类别进行筛选,只保留交通类目标的信息,如汽车、卡车、公交车。
步骤四,对上述类别目标的中心点进行Hough变换。根据目标检测结果中目标的位置信息计算目标的中心点坐标。由于交通图像中车道线的数量不止一条,对交通图像中拟合车道线所在直线不能使用常用的最小二乘法、梯度下降法等。因此对目标的中心点进行Hough变换,并绘制其在参数坐标系下对应曲线所示,并计算对应参数的投票矩阵。
步骤五,对Hough变换的结果进行非极大值抑制,抑制一条直线周边相近直线,更新投票结果。由于相近的直线会得到相近的票数,因此在将Hough变换的结果绘制到原图时,在同一车道位置将得到多条直线。对其进行非极大值抑制,分别给参数设置相似范围,范围内只保留得票最高的一对参数,其余参数对的票数归零,更新参数坐标系下对应参数的投票矩阵。
步骤六,选出投票结果中得票最高的K对极值,并计算相应直角坐标下的K个表达式。对于投票结果,有许多票数低的参数对表示的直线并不符合预期,因此对此类直线进行硬阈值操作,票数低于某阈值的直线,其对应的参数对的投票结果归零,更新参数坐标系下投票矩阵。
步骤七,对K条直线进行非车道方向抑制,删除不符合车道线方向的直线,得到符合车道线方向的k条直线,绘制到输入图像如图4所示。由于车道的整齐性以及车辆在车道排队的规整性,Hough变换会产生方向不同于车道的直线,比如垂直车道线方向的直线。为了抑制此类直线,对结果进行非车道方向抑制,通过对交通场景的图像及视频的观察,注意到符合车道方向直线上的相邻点距较小,不符合车道方向的直线上的相邻点距较大,因此通过计算每条直线上相邻点距的平均值判断直线抑制与否,直线上相邻点平均点距高于阈值则判定为不符合车道线方向,对其进行抑制。
步骤八,计算每个目标到k条直线的距离,判断每一目标的k个距离中最小距离是否处于距离区间内,若处于距离区间内,则判定该目标正在发生加塞行为。计算每个目标与k条直线的距离,距离大于距离区间的上界则说明计算的是该目标到别的车道的距离,距离小于距离区间的下界则说明是该目标到本车道的距离,处于距离区间内则说明该目标正在进行加塞行为,则将该目标框选出来,并标注“warning”。
Figure 7. Operation flow chart of vehicle cut in line model
图7. 车辆加塞模型操作流程图
3.3. 结果分析
本文构建城市路口车辆加塞行为识别模型,首先利用基于深度学习的目标检测算法有效检测交通图像中的车辆,然后通过类别筛选保留所需交通类目标信息,再通过对交通类目标信息的中心点进行Hough变换进行车道方向直线拟合,再通过非极大值抑制等后处理抑制错误直线,得到准确的车道方向直线,并通过对目标到车道线方向直线的距离可准确检测车辆与车道之间的位置关系,从而判定目标是否具有加塞行为。如图6所示,本文构建的模型可有效检测城市路口的车辆加塞。通过可视化信息处理结果可以看出,本文构建的模型可准确拟合车道方向直线,可有效识别加塞车辆,证明了模型的有效性。
4. 结语
本文针对现实场景中城市交通路口常见的车辆加塞行为,构建一种基于目标检测的城市路口车辆加塞行为识别模型。利用Hough变换对目标检测算法检测出的交通类目标进行拟合,经过非极大值抑制等后处理,得到车道方向直线。通过计算每一交通类目标与每一车道方向直线的距离,判断出车辆与车道之间的状态,进而判断出车辆是否具有加塞行为。本文构建的模型简单有效,即插即用,具有一定的实用价值。
基金项目
国家自然科学基金(No. 62072024);北京建筑大学北京未来城市设计高精尖创新中心资助项目(UDC2017033322, UDC2019033324);北京建筑大学市属高校基本科研业务费专项资金资助(No. X20084, ZF17061)。