一种车辆违章检测方法和装置与流程

文档序号:19747278发布日期:2020-01-21 18:42阅读:173来源:国知局
一种车辆违章检测方法和装置与流程

本申请涉及智能交通技术领域,尤其涉及一种车辆违章检测方法和装置。



背景技术:

高速公路的车道可分为快车道和慢车道。比如,可以将高速公路的车道划分为小客车车道(最高限速120km/h,最低限速110km/h)、大小客车车道(最高限速120km/h,最低限速90km/h)和货运车车道(最高限速100km/h,最低限速80或60km/h),这里的小客车车道和大小客车车道即快车道,货运车车道即慢车道。

生活中,大型车辆占用小型车辆的快车道的情况时有发生。为保证交通安全,有必要对车辆占道行为进行检测。



技术实现要素:

有鉴于此,本申请提供一种车辆违章检测方法和装置,用以区分大型车辆的占道行为是否违章。

具体地,本申请是通过如下技术方案实现的:

本申请第一方面,提供了一种车辆违章检测方法,包括:

对目标视频帧进行车辆检测;

当检测到快车道上出现大型车辆时,对所述大型车辆执行违章检测;

所述违章检测包括:

判断所述快车道的相邻右车道的车道类型;

如果所述快车道的相邻右车道为快车道,则判定所述大型车辆违章;

如果所述快车道的相邻右车道为慢车道,则根据能否在所述快车道的相邻右车道上找到与所述大型车辆距离最近的前车和/或后车,以及根据当找到所述前车和/或后车时所述前车和/或后车与所述大型车辆的距离,判断所述大型车辆是否违章。

本申请第二方面,提供了一种车辆违章检测装置,具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。

一种实现方式中,所述装置可以包括:

车辆检测模块,用于对目标视频帧进行车辆检测;

违章检测模块,用于当所述车辆检测检测到快车道上出现大型车辆时,对所述大型车辆执行违章检测;所述违章检测包括:判断所述快车道的相邻右车道的车道类型;如果所述快车道的相邻右车道为快车道,则判定所述大型车辆违章;如果所述快车道的相邻右车道为慢车道,则根据能否在所述快车道的相邻右车道上找到与所述大型车辆距离最近的前车和/或后车,以及根据当找到所述前车和/或后车时所述前车和/或后车与所述大型车辆的距离,判断所述大型车辆是否违章。

另一种实现方式中,所述装置可以包括处理器、存储器和总线,所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行本申请实施例第一方面提供的方法。

本申请提供的车辆违章检测方法,通过对目标视频流进行检测,分析出在快车道上行驶的大型车辆与相邻慢车道上的前车、后车之间相差的距离是否足够远,如果距离足够远则判定该大型车辆的行为属于违章的占道行驶行为,如果距离较近则判定该大型车辆的行为属于不违章的占道超车行为,从而及时对违章的大型车辆进行告警,保证交通安全。

附图说明

图1是本申请实施例提供的方法流程图;

图2是本申请实施例提供的车辆检测示意图;

图3是本申请实施例提供的双车道场景下的车道划分示意图;

图4是本申请实施例提供的前车和后车的示意图;

图5是本申请实施例提供的根据相邻慢车道的车辆情况判断大型车辆是否违章的方法流程图;

图6是本申请实施例提供的车辆的违章轨迹的示意图;

图7是本申请实施例提供的装置结构框图。

具体实施方式

生活中,大型车辆占用小型车辆的快车道的情况时有发生,其中,占道行为可分为两种:占道行驶行为和占道超车行为。占道行使是一种违章行为,即车辆要根据自己的车型在专用的车道上行使,大型车辆不允许在快车道行驶,只能在慢车道行使,以避免因慢速的大型车辆在快车道上行驶而发生交通事故。而占道超车则不属于违章行为,大型车辆一般允许进入快车道进行超车,但超车后要及时驶回慢车道。

为准确判断大型车辆的占道行为属于占道行驶行为还是占道超车行为,本申请实施例提出了一种车辆违章检测方案,通过对目标视频流进行检测,分析出在快车道上行驶的大型车辆与相邻慢车道上的前车、后车之间相差的距离是否足够远,如果距离足够远则判定该大型车辆的行为属于违章的占道行驶行为,如果距离较近则判定该大型车辆的行为属于不违章的占道超车行为。

参见图1,图1为本申请实施例提供的车辆违章检测方法的示范性实施例流程图。该方法可应用于监控相机,也可以应用于连接监控相机的后端服务器,其中监控相机可以安装在高速公路上的能够拍摄到快车道和快车道的相邻右车道的位置处。如图1所示,该方法包括以下步骤:

步骤101:对目标视频帧进行车辆检测。

这里对目标视频帧进行车辆检测,包括识别目标视频帧中是否存在车辆以及输出车辆的位置和车型。本申请实施例中,可以对目标视频流中的每个视频帧均进行检测,目标视频流是监控高速公路得到的视频流;由于视频流的每秒帧数可能多达20多帧,而相邻帧的画面变化非常细微,所以为了减少处理量,也可以对目标视频流进行采样后,对采样后的视频帧进行车辆检测。

车辆检测可以通过机器学习的方法实现,包括但不限于faster-rcnn(regionswithcnnfeatures)方法、yolo(youonlylookonce)方法等。无论使用何种方法,其训练过程是类似的,可以包括样本搜集(例如搜集包含车辆的正样本和不包含车辆的负样本,其中正样本中的车辆可以涵盖不同的车型、品牌和颜色)、样本标记(例如可以标记出正样本中的车辆的位置和车型)和样本训练(例如可以使用预先设计好的神经网络对标记号的正样本和负样本进行大量迭代训练)等过程,最终可得到训练好的用于对视频帧执行车辆检测的神经网络(以下称之为第一神经网络)。

训练得到第一神经网络后,步骤101中,可以将目标视频帧输入到训练好的第一神经网络,由第一神经网络识别目标视频帧包括的车辆,并输出识别出的车辆的车型,以及输出识别出的车辆所在矩形框的高、宽和坐标。矩形框的坐标可以是该矩形框的中心点坐标,也可以是该矩形框的左上角坐标。在一个例子中,可以简单地将车辆的车型分为大型车辆和小型车辆;在另一个例子中,可以更精细地将车辆的车型分为小客车、大客车、货运车等。

作为一个示例,上述第一神经网络可以是通过yolo方法训练得到的yolo网络。yolo网络是一个可以一次性预测多个box位置和类别的卷积神经网络,能够实现端到端的目标检测和识别,其直接选用整图训练模型,具有速度快的优势。在一个例子中,yolo网络可以由24个卷积层与2个全连接层构成,图片进入网络先经过resize(调整大小),网络的输出结果为一个张量,维度为s*s*(b*5+c),其中s为划分网格数,b为每个网格负责目标个数,c为类别个数。例如在本申请实施例中,c可以取值为2(即共大型车辆和小型车辆2个类别)。

参见图2,为对一视频帧进行车辆检测后的结果图;对于识别出的车辆可以用矩形框进行标记,并输出车辆的车型、车辆所在矩形框的中心点坐标(x1,y1)、矩形框的宽w1和高h1,一般情况下,这里的x1和y1是指矩形框的中心点相对于图的左上角的偏移值。车辆的位置坐标可以通过矩形框的下边沿的中心点坐标(x1’,y1’)表示,(x1’,y1’)可以通过矩形框的高h1和坐标(x1,y1)计算得到:x1’=x1,y1’=y1+h1/2。

步骤102:当检测到快车道上出现大型车辆时,对该大型车辆执行违章检测;该违章检测包括:判断该快车道的相邻右车道的车道类型;如果该快车道的相邻右车道为快车道,则判定该大型车辆违章;如果该快车道的相邻右车道为慢车道,则根据能否在该快车道的相邻右车道上找到与该大型车辆距离最近的前车和/或后车,以及根据当找到该前车和/或后车时该前车和/或后车与该大型车辆的距离,判断该大型车辆是否违章。

这里,某快车道的相邻右车道是指在机动车行驶方向上紧挨着该快车道右侧的车道。某快车道的相邻右车道可能是快车道,也可能是慢车道。例如在图3所示的单向双车道高速公路中,机动车行驶方向的左侧车道为快车道,机动车行驶方向的右侧车道为慢车道,这一场景下快车道的相邻右车道为慢车道。又例如在图4所示的单向四车道高速公路中,机动车行驶方向的左侧两车道为快车道,机动车行驶方向的右侧两车道为慢车道,这一场景下最左侧快车道的相邻右车道为快车道,左数第二个快车道的相邻右车道为慢车道。

车辆在高速公路上行驶时遵循“左侧超车”原则,例如最右侧货运车车道(最低限速80或60km/h)的货车可以借助其左侧的大小客车车道(最低限速90km/h)超越其他慢车,大小客车车道上的小客车可以借助更左侧的小客车车道(最低限速110km/h)超越其它慢车。本申请实施例中,当在快车道上检测到大型车辆且该快车道的相邻右车道为快车道时,显然该大型车辆横跨了两个快车道,因此可以直接判定该大型车辆的行为属于违章的占道行驶行为。而当在快车道上检测到大型车辆且该快车道的相邻右车道为慢车道时,则需要进一步依据该快车道的相邻右车道上的车辆情况判断是否出现车辆违章,其它车道上的车辆情况则不作为违章判断依据。

在图3中,通过车辆检测可以发现一大型车辆的位置坐标落在快车道的区域内,说明检测到快车道上出现了大型车辆,即检测到了占道行为。由于该出现大型车辆的快车道的相邻右车道为慢车道,因此接下来需要通过分析该占道行为属于占道行驶行为或是占道超车行为,来判断该大型车辆是否违章,具体如下:

第一种情况,如果在该快车道的相邻右车道上仅能够找到与该大型车辆距离(此距离可以是y方向上的距离,下同)最近的前车,未能找到与该大型车辆距离最近的后车,且找到的该前车与该大型车辆的距离在设定的安全距离内;这种情况对应的实际场景可能是,该大型车辆欲借助快车道超越该前车,所以可以判定该大型车辆的占道行为属于占道超车行为,该大型车辆不违章。

本申请实施例中的“安全距离”是判断大型车辆在快车道内的占道行为类型的依据,可以根据经验设置(如设置为25米)。大型车辆与相邻右车道上距离最近的车辆之间的距离超过这个安全距离,则该大型车辆为占道行驶;大型车辆与相邻右车道上距离最近的车辆之间的距离在这个安全距离内,则该大型车辆为占道超车行为。

第二种情况,如果在该快车道的相邻右车道上能够找到与该大型车辆距离最近的后车,未能找到与该大型车辆距离最近的前车,且找到的该后车与该大型车辆的距离在设定的安全距离内;这种情况对应的实际场景可能是,该大型车辆正在借助快车道超越该后车,所以可以判定该大型车辆的占道行为属于占道超车行为,该大型车辆不违章。

第三种情况,如果在该快车道的相邻右车道上能够找到与该大型车辆距离最近的前车和后车,且找到的该前车和后车中的至少一个与该大型车辆的距离在设定的安全距离内;那么可以判定该大型车辆的占道行为属于占道超车行为,该大型车辆不违章。

第四种情况,如果在该快车道的相邻右车道上未能找到与该大型车辆距离最近的前车和后车,即相邻车道上没有车辆,那么可以判定该大型车辆的占道行为属于占道行驶行为,该大型车辆违章。

第五种情况,如果在该快车道的相邻右车道上仅能够找到与该大型车辆距离最近的前车,未能找到与该大型车辆距离最近的后车,且找到的该前车与该大型车辆的距离在设定的安全距离外,那么可以判定该大型车辆的占道行为属于占道行驶行为,该大型车辆违章。

第六种情况,如果在该快车道的相邻右车道上仅能够找到与该大型车辆距离最近的后车,未能找到与该大型车辆距离最近的前车,且找到的该后车与该大型车辆的距离在设定的安全距离外,那么可以判定该大型车辆的占道行为属于占道行驶行为,该大型车辆违章。

第七种情况,如果在该快车道的相邻右车道上能够找到与该大型车辆距离最近的前车和后车,且找到的前车和后车与该大型车辆的距离均在设定的安全距离外,那么可以判定该大型车辆的占道行为属于占道行驶行为,该大型车辆违章。

作为一个示例,步骤102中可以通过以下方式在快车道的相邻右车道上查找与大型车辆距离最近的前车和后车:根据第一神经网络输出的车辆所在矩形框的高、宽和坐标,计算矩形框下边沿的中心点坐标,并将矩形框下边沿的中心点坐标作为该矩形框标记出的车辆的位置坐标;判断计算出的车辆位置坐标中是否存在至少一个第一位置坐标,该第一位置坐标位于快车道的相邻右车道对应的区域内,且该第一位置坐标的y值大于该大型车辆的y值;若存在,则从该至少一个第一位置坐标中筛选出y值最小的第一位置坐标,作为与该大型车辆距离最近的前车的位置坐标。以及,判断计算出的车辆位置坐标中是否存在至少一个第二位置坐标,该第二位置坐标位于快车道的相邻右车道对应的区域内,且该第二位置坐标的y值小于该大型车辆的y值;若存在,则从该至少一个第二位置坐标中筛选出y值最大的第二位置坐标,作为与该大型车辆距离最近的后车的位置坐标。以图4举例来说,通过这种方式可以将车辆2选定是相邻右车道上与快车道上的大型车辆距离最近的前车,以及将车辆3选定是相邻右车道上与快车道上的大型车辆距离最近的后车。

作为一个示例,步骤102中在快车道的相邻右车道为慢车道的情况下,根据相邻慢车道的车辆情况判断大型车辆是否违章的具体过程可以参见图5所示,包括以下步骤:

步骤1021:确定快车道上的大型车辆的位置;

步骤1022:判断快车道的相邻右车道上是否有前车(即行驶在该大型车辆前面的车辆);若是,执行步骤1023;否则执行步骤1025;

步骤1023:在该相邻右车道上查找距离该大型车辆最近的前车;

步骤1024:判断该最近的前车与大型车辆的距离是否在安全距离内;若是,判定该大型车辆不违章;否则继续执行步骤1025;

步骤1025:判断快车道的相邻右车道上是否有后车(即行驶在该大型车辆后面的车辆);若是,执行步骤1026;否则判定该大型车辆违章;

步骤1026:在该相邻右车道上查找距离该大型车辆最近的后车;

步骤1027:判断该最近的后车与大型车辆之间的距离是否在安全距离内;若是,确定该大型车辆不违章;否则判定该大型车辆违章。

可选的,在一个实施例中,为减少违章检测次数,如果在某一视频帧确定某大型车辆的占道行为不违章时,在后续视频帧便不再对该大型车辆执行违章检测;反之,如果在某一视频帧确定某大型车辆的占道行为违章,在后续视频帧继续对该大型车辆执行违章检测,直至该大型车辆从视野中消失,或者在某一后续视频帧中检测该大型车辆不再违章;具体实现过程如下:

1)当检测到快车道上出现大型车辆时,识别该大型车辆的车牌号;

2)判断该大型车辆的车牌号是否被记录在合法名单或违法名单中;合法名单用于记录执行过违章检测且检测结果为不违章的车辆的车牌号,违法名单用于记录执行过违章检测且检测结果为违章的车辆的车牌号;

3)当该大型车辆的车牌号已被记录在合法名单中时,禁止对该大型车辆执行违章检测,这样可以减少不必要的违章检测;

4)当该大型车辆的车牌号未被记录在合法名单和违法名单中(表示该大型车辆还未执行过违章检测),或者,该大型车辆的车牌号已被记录在违法名单中时,对该大型车辆执行违章检测。

在该大型车辆的车牌号未被记录在合法名单和违法名单的情况下,对该大型车辆执行违章检测之后,如果判定该大型车辆违章,则可以将该大型车辆的车牌号添加到违法名单中;反之,如果判定该大型车辆不违章,则可以将该大型车辆的车牌号添加到合法名单中。

在该大型车辆的车牌号已被记录在违法名单的情况下,对该大型车辆执行违章检测之后,如果判定该大型车辆违章,则可以将违法名单中记录的该大型车辆的车牌号被检测到违章的次数加1;反之,如果判定该大型车辆不违章,则可以将该大型车辆的车牌号从违法名单中删除,并将该大型车辆的车牌号添加到合法名单中。

作为一个示例,在对目标视频帧进行车辆检测后,可以对检测出的车辆的车牌号进行识别,并将识别出的车牌号与违法名单进行匹配;针对违法名单中已记录的、且在该目标视频帧中未检测到的车牌号,产生告警。这类记录在违法名单中但在目标视频帧未检测到的车牌号,其对应的车辆可能已经离开监控相机的视野范围,但在离开监控相机的视野范围之前一直存在占道行驶行为,因此有必要进行告警。一种告警方式可以是,获取能够表征该违章车辆的违章轨迹的多张图片,如图6所示,然后将这多张图片和违章车辆的车牌号作为证据上传。

至此,完成图1所示流程。

从图1所示流程可以看出,本申请实施例通过对目标视频流进行检测,分析出在快车道上行驶的大型车辆与相邻慢车道上的前车、后车之间相差的距离是否足够远,如果距离足够远则判定该大型车辆的行为属于违章的占道行驶行为,如果距离较近则判定该大型车辆的行为属于不违章的占道超车行为。

进一步地,本申请实施例通过训练神经网络识别视频帧中的存在占道行为的车辆,以及输出该车辆的位置坐标及车型,对于被遮挡的车辆也有较好的检测效果。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:

参见图7,图7为本申请提供的车辆违章检测装置的结构图。如图7所示,该装置包括:

车辆检测模块701,用于对目标视频帧进行车辆检测;

违章检测模块702,用于当所述车辆检测检测到快车道上出现大型车辆时,对所述大型车辆执行违章检测;所述违章检测包括:判断所述快车道的相邻右车道的车道类型;如果所述快车道的相邻右车道为快车道,则判定所述大型车辆违章;如果所述快车道的相邻右车道为慢车道,则根据能否在所述快车道的相邻右车道上找到与所述大型车辆距离最近的前车和/或后车,以及根据当找到所述前车和/或后车时所述前车和/或后车与所述大型车辆的距离,判断所述大型车辆是否违章。

在其中一种实施方式中,所述违章检测模块702,用于如果在所述快车道的相邻右车道上找到与所述大型车辆距离最近的前车和/或后车,且所述前车和/或后车与所述大型车辆的距离在设定的安全距离内,则判定所述大型车辆不违章。

在其中一种实施方式中,所述违章检测模块702,用于如果在所述快车道的相邻右车道上未找到与所述大型车辆距离最近的前车和后车,或者仅找到所述前车且所述前车与所述大型车辆的距离在设定的安全距离外,或者仅找到所述后车且所述后车与所述大型车辆的距离在设定的安全距离外,或者找到所述前车和后车且所述前车和后车与所述大型车辆的距离均在设定的安全距离外,则判定所述大型车辆违章。

在其中一种实施方式中,所述车辆检测模块701,用于将目标视频帧输入到训练好的第一神经网络,由所述第一神经网络识别所述目标视频帧包括的车辆,并输出识别出的车辆的车型,以及输出识别出的车辆所在矩形框的高、宽和坐标。

在其中一种实施方式中,所述违章检测模块702,在所述快车道的相邻右车道上查找与所述大型车辆距离最近的前车和后车时,用于根据所述第一神经网络输出的车辆所在矩形框的高、宽和坐标,计算矩形框下边沿的中心点坐标,并将矩形框下边沿的中心点坐标作为该矩形框标记出的车辆的位置坐标;判断计算出的车辆的位置坐标中是否存在至少一个第一位置坐标,所述第一位置坐标位于所述快车道的相邻右车道对应的区域内,且所述第一位置坐标的y值大于所述大型车辆的y值;若存在,则从所述至少一个第一位置坐标中筛选出y值最小的第一位置坐标,作为与所述大型车辆距离最近的前车的位置坐标;以及,判断计算出的车辆的位置坐标中是否存在至少一个第二位置坐标,所述第二位置坐标位于所述快车道的相邻右车道对应的区域内,且所述第二位置坐标的y值小于所述大型车辆的y值;若存在,则从所述至少一个第二位置坐标中筛选出y值最大的第二位置坐标,作为与所述大型车辆距离最近的后车的位置坐标。

在其中一种实施方式中,所述违章检测模块702,在对所述大型车辆执行违章检测时,用于识别所述大型车辆的车牌号;判断所述大型车辆的车牌号是否被记录在合法名单或违法名单中;当所述大型车辆的车牌号已被记录在合法名单中时,禁止对所述大型车辆执行违章检测;当所述大型车辆的车牌号未被记录在合法名单和违法名单中,或者,所述大型车辆的车牌号已被记录在违法名单中时,对所述大型车辆执行违章检测。

在其中一种实施方式中,当所述大型车辆的车牌号未被记录在合法名单和违法名单中时;所述违章检测模块702,在对所述大型车辆执行违章检测之后,还用于如果对所述大型车辆执行违章检测后判定所述大型车辆违章,则将所述大型车辆的车牌号添加到违法名单中;如果对所述大型车辆执行违章检测后判定所述大型车辆不违章,则将所述大型车辆的车牌号添加到合法名单中。

在其中一种实施方式中,当所述大型车辆的车牌号已被记录在违法名单中时;所述违章检测模块702,在对所述大型车辆执行违章检测之后,还用于如果对所述大型车辆执行违章检测后判定所述大型车辆违章,则将违法名单中记录的该大型车辆的车牌号被检测到违章的次数加1;如果对所述大型车辆执行违章检测后判定所述大型车辆不违章,则将所述大型车辆的车牌号从违法名单中删除,并将所述大型车辆的车牌号添加到合法名单中。

需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

至此,完成图7所示装置的描述。

本申请实施例还提供一种电子设备,包括处理器、存储器和总线,所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,以实现如图1所示的方法。

此外,本申请实施例还提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现图1所示的方法。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1