一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆闯红灯检测方法、装置、计算机设备和存储介质与流程

2021-11-24 22:15:00 来源:中国专利 TAG:


1.本技术涉及交通技术领域,特别是涉及一种车辆闯红灯检测方法、装置、计算机设备和存储介质。


背景技术:

2.随着现代化公路的建设与车辆的普及,自驾车辆出行逐渐成为人们出行的主流方式,自驾车辆的出行方式给人们的生活带来了诸多便捷。然而,部分驾驶员因缺乏安全驾驶意识而存在闯红灯等违规驾驶行为,由于闯红灯等违规驾驶行为的频繁发生导致交通事故逐渐增多。由此,如何对车辆闯红灯事件进行检测是值得关注的问题。
3.目前,通常是在公共道路、高速公路主路、重要出入口与主要车流通道等部署摄像头,由摄像头将采集的监控视频发送至服务器,并由服务器基于监控视频对车辆进行闯红灯事件的检测。但是,该种车辆闯红灯检测方式受限于摄像头的部署位置与数量,存在车辆闯红灯检测的覆盖面有限的问题,从而存在检测准确性较低的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高车辆闯红灯检测准确性的车辆闯红灯检测方法、装置、计算机设备和存储介质。
5.一种车辆闯红灯检测方法,所述方法包括:
6.获取第一图像帧;
7.当所处车辆处于静止状态时,检测所述第一图像帧对应的信号灯状态;
8.当所述信号灯状态为红灯时,根据所述第一图像帧判断所述车辆是否为斑马线后的第一辆车;
9.当判定所述车辆为所述斑马线后的第一辆车时,检测所述第一图像帧中的目标车辆;
10.对所述目标车辆进行跟踪,根据跟踪记录对所述目标车辆进行闯红灯判断;
11.当判定所述目标车辆存在闯红灯事件时,将所述目标车辆对应的车辆闯红灯信息发送至服务器。
12.一种车辆闯红灯检测装置,所述装置包括:
13.获取模块,用于获取第一图像帧;
14.状态检测模块,用于当所处车辆处于静止状态时,检测所述第一图像帧对应的信号灯状态;
15.斑马线检测模块,用于当所述信号灯状态为红灯时,根据所述第一图像帧判断所述车辆是否为斑马线后的第一辆车;
16.车辆检测模块,用于当判定所述车辆为所述斑马线后的第一辆车时,检测所述第一图像帧中的目标车辆;
17.跟踪模块,用于对所述目标车辆进行跟踪,根据跟踪记录对所述目标车辆进行闯
红灯判断;
18.发送模块,用于当判定所述目标车辆存在闯红灯事件时,将所述目标车辆对应的车辆闯红灯信息发送至服务器。
19.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现各方法实施例的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现各方法实施例的步骤。
21.上述车辆闯红灯检测方法、装置、计算机设备和存储介质,通过部署于车辆上的终端动态获取用于进行车辆闯红灯检测的第一图像帧,并基于动态获取的第一图像帧进行车辆闯红灯事件的动态检测,能够实现动态场景下的车辆闯红灯事件检测,从而能够提高闯红灯事件的检测准确性。进一步地,通过所处车辆的静止状态检测、第一图像帧对应的信号灯状态检测、斑马线检测、目标车辆的检测与跟踪等检测流程的依次执行,能够在提高车辆闯红灯检测效率的情况下,进一步提高检测准确性。
附图说明
22.图1为一个实施例中车辆闯红灯检测方法的应用环境图;
23.图2为一个实施例中车辆闯红灯检测方法的流程示意图;
24.图3为一个实施例中基于第一图像帧中各信号灯的信号灯状态确定第一图像帧对应的信号灯状态的原理示意图;
25.图4为一个实施例中综合多个第一图像帧各自的候选信号灯状态确定当前获取的第一图像帧对应的信号灯状态的原理示意图;
26.图5为一个实施例中根据第一图像帧判断终端所处车辆是否为斑马线后的第一辆车的原理示意图;
27.图6为一个实施例中根据第一图像帧得到相应斑马线拟合线段的效果示意图;
28.图7为一个实施例中对目标车辆进行跟踪,并根据跟踪记录对目标车辆进行闯红灯判断的原理示意图;
29.图8为一个实施例中在图像帧中标注出存在闯红灯事件的目标车辆的示意图;
30.图9为一个实施例中车辆闯红灯检测方法的原理示意图;
31.图10为一个实施例中车辆闯红灯检测装置的结构框图;
32.图11为一个实施例中计算机设备的内部结构图。
具体实施方式
33.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
34.本技术提供的车辆闯红灯检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102获取第一图像帧,当终端102所处车辆处于静止状态时,检测第一图像帧对应的信号灯状态,当信号灯状态为红灯时,根据第一图像帧判断终端102所处车辆是否为斑马线后的第一辆车,当判定车辆为斑马线后的第一辆车
时,检测第一图像帧中的目标车辆,并对目标车辆进行跟踪,以根据跟踪记录对目标车辆进行闯红灯判断,当判定目标车辆存在闯红灯事件时,将存在闯红灯事件的目标车辆对应的闯红灯图像帧与车辆信息发送至服务器104。其中,终端102可以但不限于是各种个人计算机、智能手机与便携式可穿戴设备,以及其他能够用于实现车辆闯红灯检测的车载设备,车载设备比如行车记录仪、车载cpu(central processing unit,中央处理器)、嵌入式设备或处理器。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
35.在一个实施例中,如图2所示,提供了一种车辆闯红灯检测方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
36.步骤202,获取第一图像帧。
37.其中,第一图像帧是从视频中提取出的视频帧,或者,是从图像集合中提取的图像帧。图像集合是由多个图像帧组成的集合。图像集合具体可以是图像帧序列,也即是由按照采集时间戳排序的多个图像帧组成的序列。
38.在一个实施例中,终端实时获取视频,并从所获取到的视频中提取第一图像帧。终端也可实时获取图像集合,并从所获取到的图像集合中提取第一图像帧。终端通过摄像头实时采集视频或图像集合。摄像头可作为组成部分内置于终端,也可作为独立设备外接于终端。
39.在一个实施例中,终端可固定安装于车辆上,也可在需要进行车辆闯红灯检测时被放置于车辆上。可以理解,终端所处车辆可以是机动车也可以是非机动车,在此不作具体限定。
40.在一个实施例中,终端按照预设检测频率获取第一图像帧,并在每次获取到第一图像帧后,基于当前所获取到的第一图像帧执行车辆闯红灯检测的相关步骤。终端按照预设检测频率从实时获取到的视频或图像集合中提取第一图像帧。预设检测频率是预先设定的从视频或图像集合中提取第一图像帧,并基于所提取的第一图像帧进行车辆闯红灯检测的频率,具体可根据实际情况自定义,比如2帧/秒。
41.步骤204,当所处车辆处于静止状态时,检测第一图像帧对应的信号灯状态。
42.其中,静止状态表征车辆处于静止不动的状态,静止状态与行驶状态相对应。信号灯状态是指交通信号灯的状态,具体可包括红灯、绿灯、黄灯与无效灯,也可包括红灯与非红灯。第一图像帧对应的信号灯状态是指根据第一图像帧确定的、且与终端所处车辆行驶时所参照的信号灯对应的信号灯状态,具体可以是指第一图像帧中终端所处车辆行驶时所参照的信号灯的状态。可以理解,车辆行驶时所参照的信号灯,是指用于指示该车辆保持行驶状态、保持静止状态、由静止状态转为行驶状态或由行驶状态转为静止状态的信号灯。
43.由于第一图像帧中除了包括终端所处车辆行驶时所参照的信号灯,还可能包括人行道的信号灯,以及与该终端所处车辆的行驶方向不一致的其他车辆行驶时所参照的信号灯,由此,通过本技术提供的信号灯状态确定方式,将第一图像帧中终端所处车辆行驶时所参照的信号灯的状态,确定为该第一图像帧对应的信号灯状态,以基于该信号灯状态判断该终端所处车辆是否按照其行驶时所参照的信号灯的状态来规范其行驶过程。
44.具体地,终端在获取到第一图像帧后,判断在采集该第一图像帧时该终端所处车辆是否处于静止状态,也即判断终端所处车辆在该第一图像帧对应的采集时间戳这一时间点是否处于静止状态。当判定车辆处于静止状态时,终端根据所获取到的第一图像帧,检测
该第一图像帧对应的信号灯状态,也即根据第一图像帧检测终端所处车辆行驶时所参照的信号灯对应的信号灯状态。
45.在一个实施例中,终端获取与所获取到的第一图像帧对应、且与终端所处车辆对应的定位信息与惯性测量数据,并根据所获取到的定位信息与惯性测量数据判断车辆是否处于静止状态。
46.在一个实施例中,终端根据当前获取到的第一图像帧,确定该第一图像帧对应的候选信号灯状态,并根据该第一图像帧对应的候选信号灯状态,以及与该第一图像帧前相邻的多个第一图像帧各自对应的候选信号灯状态,确定该当前获取到的第一图像帧对应的信号灯状态。可以理解,由于基于单个第一图像帧确定该第一图像帧对应的信号灯状态时,可能存在误判,由此将基于单个图像帧针对该第一图像帧所确定的信号灯状态,作为该第一图像帧对应的候选信号灯状态,也即将根据第一图像帧本身对应确定的信号灯状态作为该第一图像帧可能对应的信号灯状态,并按照该第一图像帧及其前相邻的多个第一图像帧各自对应的候选信号灯状态,确定该当前获取到的第一图像帧对应的信号灯状态,能够提高信号灯状态的准确性。
47.在一个实施例中,终端通过已训练好的信号灯检测模型,检测第一图像帧对应的信号灯状态。
48.在一个实施例中,当判定车辆处于行驶状态时,则不会基于该第一图像帧执行相应的车辆闯红灯检测操作。
49.步骤206,当信号灯状态为红灯时,根据第一图像帧判断车辆是否为斑马线后的第一辆车。
50.具体地,当判定第一图像帧对应的信号灯状态为红灯时,终端则对该第一图像帧进行斑马线语义分割,以从该第一图像帧中分割出距离终端所处车辆最近的目标斑马线区域,并根据该目标斑马线区域判断该车辆是否为斑马线后的第一辆车,也即是判断该车辆是否位于该斑马线后的第一位。
51.在一个实施例中,终端通过已训练好的路面语义分割模型对第一图像帧进行斑马线语义分割,以便于基于所得到的斑马线分割结果判断终端所处车辆是否为斑马线后的第一辆车,能够车辆所处位置的判断效率与准确性。
52.在一个实施例中,当判定第一图像帧对应的信号灯状态为非红灯时,终端则不再执行基于第一图像帧判断所处车辆是否为斑马线后的第一辆车的步骤。
53.步骤208,当判定车辆为斑马线后的第一辆车时,检测第一图像帧中的目标车辆。
54.具体地,当根据第一图像帧判定终端所处车辆为斑马线后的第一辆车时,终端对第一图像帧中的目标车辆进行检测,得到每个目标车辆对应车辆检测框。车辆检测框能够用于在第一图像帧中标识出相应目标车辆的位置。
55.在一个实施例中,终端对第一图像帧中的目标车辆进行检测,还得到每个目标车辆对应的车辆检测框数据与车辆分类标签。车辆检测框数据能够用于在第一图像帧中唯一确定相应车辆检测框。车辆分类标签包括目标车辆的企业归属,还可包括车辆朝向,车辆朝向是指目标车辆相对于终端所处车辆的朝向,具体可包括同向或反向。企业归属比如“美团”、“饿了么”、“无”等,在此不作具体限定。这样,当判定目标车辆存在闯红灯事件时,能够按照车辆分类标签对存在闯红灯事件的目标车辆进行汇总分析与管控。
56.在一个实施例中,终端通过已训练好的车辆检测模型检测第一图像帧中的目标车辆,能够提高目标车辆的检测效率和准确性。
57.在一个实施例中,目标车辆包括机动车辆与非机动车辆,在此不作限定。
58.在一个实施例中,当判定终端所处车辆不是斑马线后的第一辆车时,终端则不会继续执行检测该第一图像帧中的目标车辆的步骤。
59.步骤210,对目标车辆进行跟踪,根据跟踪记录对目标车辆进行闯红灯判断。
60.具体地,终端从视频或图像集合中获取第二图像帧,根据第二图像帧对从第一图像帧中检测出的每个目标车辆进行跟踪,并根据每个目标车辆对应的跟踪记录判断该目标车辆是否存在闯红灯事件。
61.在一个实施例中,终端按照预设跟踪频率从视频或图像集合中获取第二图像帧,在每次获取到第二图像帧后,根据当前所获取到的第二图像帧对从第一图像帧中检测出的每个目标车辆进行跟踪,以更新每个目标车辆对应的跟踪记录。当跟踪记录满足闯红灯判断条件时,终端根据该跟踪记录判断相应目标车辆是否存在闯红灯事件。闯红灯判断条件是用于判断是否对目标车辆执行闯红灯判断操作的依据或条件,比如目标车辆对应的跟踪记录中包括预设数量的跟踪位置,也即该跟踪记录是由依次获取的预设数量的第二图像帧确定的。终端根据目标车辆对应的跟踪记录能够确定该目标车辆的运动轨迹,以便于基于该运动轨迹对该车辆进行闯红灯判断。预设跟踪频率可自定义,比如6帧/秒。
62.在一个实施例中,终端按照预设检测频率从视频或图像集合中提取第一图像帧,按照预设跟踪频率从该视频或图像集合汇总提取第二图像帧。终端根据每个第一图像帧确定待跟踪的目标车辆,并根据该第一图像帧针对该每个目标车辆新增跟踪记录或校正当前的跟踪记录。终端根据每个第二图像帧对由采集时间最近的第一图像帧所确定的每个目标车辆进行跟踪,以更新该每个目标车辆的跟踪记录。可以理解,第一图像帧可理解为检测图像帧,第二图像帧可理解为跟踪图像帧。预设检测频率与预设跟踪频率可不一致,比如预设检测频率为2帧/秒,预设跟踪频率为6帧/秒。
63.在一个实施例中,终端在获取到第二图像帧后,判断在该第二图像帧的采集时间戳这一时间点终端所处车辆是否处于静止状态。若判定车辆处于静止状态,终端则根据该第二图像帧对相应目标车辆进行跟踪。若判定车辆处于行驶状态,终端则不再基于该第二图像帧执行对相应目标车辆的跟踪操作,进一步地,终端可结束当次车辆闯红灯检测流程,并删除相应的检测记录,终端还可继续提取下一个第二图像帧,并针对该下一个第二图像帧判断终端所处车辆是否处于静止状态,并根据判断结果执行相应操作。若针对依次提取的预设数量的第二图像帧,均判定终端所处车辆处于静止状态,终端则结束当次车辆闯红灯检测流程,并删除相应的检测记录。预设数量比如3。
64.步骤212,当判定目标车辆存在闯红灯事件时,将目标车辆对应的车辆闯红灯信息发送至服务器。
65.其中,车辆闯红灯信息是判定相应目标车辆存在闯红灯事件的记录或凭证,具体可包括记录有目标车辆的闯红灯证据的闯红灯图像帧与车辆信息,还可包括摄像头标识。闯红灯图像帧具体可包括携带该目标车辆的闯红灯记录的第一图像帧和/或第二图像帧。车辆信息包括目标车辆对应的车辆分类标签与车辆位置信息。车辆位置信息是指目标车辆的位置信息,具体可以是指经纬度信息。摄像头标识用于唯一标识采集视频或图像集合的
摄像头。
66.具体地,当判定从第一图像帧中检测出的目标车辆存在闯红灯事件时,终端针对存在闯红灯事件的每个目标车辆,分别获取相应的闯红灯图像帧与车辆信息,并将所获取到的闯红灯图像帧与车辆信息发送至服务器。终端可根据该终端所处车辆的定位信息确定目标车辆对应的车辆位置信息,比如,将定位信息中的经纬度信息确定为目标车辆对应的车辆位置信息。
67.在一个实施例中,服务器将终端上报的车辆闯红灯信息更新至数据库。服务器还可根据车辆闯红灯信息中的企业归属,对各企业的车辆闯红灯事件进行统计分析,以便于基于分析结果对相应企业进行问责与处理。
68.上述车辆闯红灯检测方法,通过部署于车辆上的终端动态获取用于进行车辆闯红灯检测的第一图像帧,并基于动态获取的第一图像帧进行车辆闯红灯事件的动态检测,能够实现动态场景下的车辆闯红灯事件检测,从而能够提高闯红灯事件的检测准确性。进一步地,通过所处车辆的静止状态检测、第一图像帧对应的信号灯状态检测、斑马线检测、目标车辆的检测与跟踪等检测流程的依次执行,能够在提高车辆闯红灯检测效率的情况下,进一步提高检测准确性。
69.在一个实施例中,步骤204之前,上述车辆闯红灯检测方法还包括:获取所处车辆的定位信息与惯性测量数据;定位信息和惯性测量数据均与第一图像帧对应;根据定位信息与惯性测量数据判断车辆是否处于静止状态。
70.其中,定位信息是用于表征终端所处车辆的当前位置的信息,具体可以是gps(global positioning system,全球定位系统)信息。定位信息中可包括终端所处车辆的瞬时速度。惯性测量数据是通过惯性测量装置采集到的数据,具体可包括角速度与加速度。惯性测量装置具体可以是imu(惯性测量单元),imu通常通过三轴的陀螺仪和三个方向的加速度计等,来测量相应车辆在三维空间中的角速度和加速度。
71.具体地,终端根据所获取到的第一图像帧获取该终端所处车辆的定位信息与惯性测量数据,该定位信息、惯性测量数据与第一图像帧各自对应的采集时间戳均一致。终端根据定位信息中的瞬时速度与惯性测量数据中的加速度,判断终端所处车辆是否处于静止状态。
72.在一个实施例中,当定位信息中的瞬时速度为零、且惯性测量数据中的加速度均为零时,终端则判定相应车辆处于静止状态。可以理解,当定位信息中的瞬时速度为零时,终端可直接判定车辆处于静止状态。而在判定定位信息中的瞬时速度为零时,进一步判断惯性测量数据中的加速度是否为零,且在进一步判定惯性测量数据中的加速度为零时,终端进一步判定车辆处于静止状态,能够提高车辆静止状态的判断准确性。
73.在一个实施例中,终端通过定位装置采集该终端所处车辆的定位信息。该定位装置可作为组成部分内置于终端,也可作为独立设备外接于终端。定位装置比如gps定位装置。
74.上述实施例中,根据终端所处车辆在第一图像帧对应的采集时间戳这一时间点的定位信息与惯性测量数据,动态判断该车辆在该采集时间戳这一时间点是否处于静止状态,能够提高静止状态的判断准确性。这样,基于静止状态下采集的第一图像帧进行车辆闯红灯检测时,能够提高检测准确性。
75.在一个实施例中,检测第一图像帧对应的信号灯状态,包括:通过已训练好的信号灯检测模型,确定第一图像帧中每个信号灯的信号灯状态、信号灯检测框与相应初始置信度;根据每个信号灯检测框的指定点与第一图像帧的垂直中心轴,确定相应信号灯检测框的偏置度;根据每个信号灯检测框对应的初始置信度与偏置度确定相应目标置信度;根据目标置信度确定第一图像帧对应的信号灯状态。
76.其中,信号灯检测框是从第一图像帧中检测出的信号灯所对应的检测框,用于标识相应信号灯在第一图像帧中的位置。初始置信度是指通过已训练好的信号灯检测模型根据第一图像帧预测得到的,且表示相应信号灯检测框所对应的信号灯为终端所处车辆行驶时所参照的信号灯的可信程度。偏置度是指偏置程度或偏离程度,具体可以是指信号灯检测框中的指定点相对于第一图像帧的垂直中心轴的偏置程度,也即用于表征信号灯检测框对应的信号灯相对于第一图像帧的垂直中心轴的偏置程度。信号灯检测框的指定点,比如信号灯检测框的中心点、左上角点或右上角点或右下角点灯。目标置信度是指根据每个信号灯检测框对应的初始置信度与偏置度对应确定的,且表示该信号灯检测框所对应的信号灯为终端所处车辆行驶时所参照的信号灯的可信程度。可以理解,信号灯检测框对应的初始置信度也即是该信号灯检测框对应的信号灯所对应的初始置信度,类似地,信号灯检测框对应的偏置度也即是相应信号灯所对应的偏置度,信号灯检测框对应的目标置信度也即是相应信号灯所对应的目标置信度。
77.具体地,当判定终端所处车辆处于静止状态时,终端将所获取到的第一图像帧输入已训练好的信号灯检测模型,通过该信号灯检测模型对该第一图像帧中的信号灯进行检测,得到该第一图像帧中每个信号灯对应的信号灯状态、信号灯检测框与初始置信度。终端根据第一图像帧中每个信号灯检测框的指定点与该第一图像帧的垂直中心轴之间的距离,确定相应信号灯检测框所对应的偏置度。终端根据每个信号灯检测框对应的初始置信度与偏置度,确定该信号灯检测框所对应的目标置信度,并根据第一图像帧对应的各信号灯检测框所对应的目标置信度,确定该第一图像帧所对应的信号灯状态。
78.在一个实施例中,终端通过信号灯检测模型能够得到第一图像帧中每个信号灯对应的信号灯检测框数据,根据信号灯检测框数据能够确定相应信号灯检测框在第一图像帧中的位置,也即能够在第一图像帧中唯一标注出相应信号灯检测框。信号灯检测框数据比如包括信号灯检测框的中心点坐标、左上角坐标与右下角坐标等,还比如包括信号灯检测框的中心点坐标,以及该信号灯检测框的长度与宽度,在此不作具体限定。
79.在一个实施例中,终端根据每个信号灯检测框的指定点与第一图像帧的垂直中心轴之间的距离,以及第一图像帧的宽度,按照第一预设映射关系确定相应信号灯检测框所对应的偏置度。其中,指定点以信号灯检测框的中心点为例,第一预设映射关系比如:其中,dscore
i
表示第i个信号灯检测框的偏置度,d
i
表示第i个信号灯检测框的中心点与第一图像帧的垂直中心轴的距离,width表示第一图像帧的图像宽度,s
dis
为自定义的常数值,比如0.2。
80.在一个实施例中,终端将每个信号灯检测框对应的初始置信度与偏置度进行求和,得到相应的目标置信度。其中,求和可以是直接算术求和,也可以是加权求和,加权求和的权重可自定义。
81.在一个实施例中,终端在得到第一图像帧对应的每个信号灯检测框所对应的目标置信度后,可将目标置信度度最大的信号灯检测框对应的信号灯所对应的信号灯状态,作为该第一图像帧对应的信号灯状态。终端也可将目标置信度最大的信号灯检测框所对应的信号灯状态,作为该第一图像帧对应的候选信号灯状态,并根据该第一图像帧及其前相邻的多个第一图像帧各自对应的候选信号灯状态,确定该当前的第一图像帧对应的信号灯状态。
82.在一个实施例中,信号灯检测模型的训练步骤,包括:获取多个样本图像帧,对每个样本图像帧进行标注,得到每个样本图像帧中每个信号灯对应的样本信号灯状态、样本信号灯检测框与相应样本置信度,依次将每个样本图像帧作为输入特征,将相应的样本信号灯状态、样本信号灯检测框与样本置信度作为期望的输出特征进行模型的迭代训练,得到已训练好的信号灯检测模型。其中,信号灯检测模型的训练步骤可由终端或服务器执行,在此不作具体限定。
83.在一个实施例中,训练信号灯检测模型所涉及的机器学习算法为神经网络算法,具体可以是卷积神经网络算法。
84.在一个实施例中,当第一图像帧中仅检测出一个信号灯时,则将该信号灯的信号灯状态作为该第一图像帧对应的信号灯状态。
85.在一个实施例中,终端通过信号灯检测模型,得到第一图像帧中每个信号灯的信号灯状态、信号灯检测框与相应初始置信度后,可直接根据该第一图像帧中各信号灯对应的初始置信度与信号灯状态,确定该第一图像帧对应的信号灯状态,比如将初始置信度最大的信号灯状态确定为该第一图像帧对应的信号灯状态。在本实施例中,在信号灯检测模型的训练阶段,在标注样本图像帧中每个信号灯对应的初始置信度时,需要考虑信号灯在样本图像帧中的位置。
86.图3为一个实施例中基于第一图像帧中各信号灯的信号灯状态确定第一图像帧对应的信号灯状态的原理示意图。第一图像帧中包括第一信号灯与第二信号灯两个信号灯,通过信号灯检测模型分别确定第一信号灯与第二信号灯各自对应的信号灯状态分别为无效灯与红灯,以及各自相应的初始置信度分别为0.5与0.6,还分别确定如图3虚线框所示的信号灯检测框。如图3所示,第一图像帧中的每个信号灯对应一个信号灯检测框,信号灯检测框用于标识相应信号灯在第一图像帧中的位置。此外,第一信号灯与第二信号灯距离第一图像帧的垂直中心轴的距离分别为d1与d2,基于该距离能够分别确定相应信号灯的偏置度,并基于偏置度与相应初始置信度能够确定相应目标置信度,若将目标置信度最大的信号灯的信号灯状态确定为第一图像帧对应的信号灯状态,则图3所示的第一图像帧对应的信号灯状态为红灯。值得说明的是,图3所示,将信号灯检测框的中心点与第一图像帧的垂直中心轴的距离,确定为该信号灯检测框对应的信号灯与该垂直中心轴的距离,该种距离计算方式仅作为示例,并不用于具体限定,比如还可将信号灯检测框的左上角点与第一图像帧的垂直中心轴的距离,确定为该信号灯检测框对应的信号灯与该垂直中心轴的距离。
87.上述实施例中,通过已训练好的信号灯检测模型,检测第一图像帧中每个信号灯对应的信号灯状态、信号灯检测框与相应初始置信度,能够提高检测效率与准确性,进一步地,根据由信号灯检测框与第一图像帧的垂直中心轴确定的偏置度,以及相应初始置信度确定目标置信度,以便于基于目标置信度确定第一图像帧的信号灯状态时,能够进一步提
高信号灯状态的准确性。
88.在一个实施例中,根据目标置信度确定第一图像帧对应的信号灯状态,包括:将目标置信度最大的信号灯检测框对应的信号灯状态确定为第一图像帧对应的候选信号灯状态;将候选信号灯状态更新至信号灯状态队列;根据更新后的信号灯状态队列中红灯的占比与预设占比阈值,确定第一图像帧对应的信号灯状态。
89.其中,信号灯状态队列是用于存储依次获取的多个第一图像帧各自对应的信号灯状态的队列。信号灯状态队列的队列长度可预设设定,比如3或5。预设占比阈值是预先设定的占比阈值,可自定义,比如60%。
90.具体地,终端在确定第一图像帧中每个信号灯对应的目标置信度后,根据所确定的目标置信度从各信号灯中筛选目标置信度最大的信号灯,将所筛选出的信号灯对应的信号灯状态确定为该第一图像帧所对应的候选信号灯状态,并将该第一图像帧对应的候选信号灯状态更新存储至信号灯状态队列,得到更新后的信号灯状态队列。终端计算得到该更新后的信号灯状态队列中红灯的占比,并将该红灯的占比与预设占比阈值进行比较。当红灯的占比大于或等于预设占比阈值时,终端则将该第一图像帧对应的信号灯状态确定为红灯。当红灯的占比小于预设占比阈值时,终端将该第一图像帧对应的信号灯状态确定为非红灯。
91.在一个实施例中,若在将第一图像帧对应的候选信号灯状态更新至信号灯状态队列之前,该信号灯状态队列中已存储的候选信号灯状态数量大于或等于预设的队列长度,终端则在将该第一图像帧对应的候选信号灯状态写入信号灯状态队列的同时,删除该信号灯状态队列中写入时间最早的候选信号灯状态。
92.举例说明,假设已有的信号灯状态队列为[1,0,1],当前获取到的第一图像帧对应的候选信号灯状态为红灯,红灯记为1,预设占比阈值为60%,则根据该候选信号灯状态更新后的信号灯状态队列为[0,1,1],由于该更新后的信号灯状态队列中红灯的占比为67%,该占比大于预设占比阈值60%,则判定该第一图像帧对应的信号灯状态为红灯。若假设第一图像帧对应的候选信号灯状态为绿灯,绿灯记为0,则更新后的信号灯状态队列为[0,1,0],由于该更新后的信号灯状态队列中红灯的占比为33%,该占比小于预设占比阈值60%,则判定该第一图像帧对应的信号灯状态为非红灯。可以理解,若候选信号灯状态包括红灯、绿灯、黄灯与无效灯,可将红灯记为1,将绿灯、黄灯与无效灯均记为0。
[0093]
图4为一个实施例中综合多个第一图像帧各自的候选信号灯状态确定当前获取的第一图像帧对应的信号灯状态的原理示意图。如图4所示,终端根据第一图像帧中每个信号灯与该第一图像帧的垂直中心轴的距离,确定该信号灯对应的偏置度,将每个信号灯对应的偏置度与初始置信度相加得到相应的目标置信度,将目标置信度最大的信号灯的信号灯状态确定为第一图像帧对应的候选信号灯状态,并将该候选信号灯状态写入已有的信号灯状态队列中,进而通过对信号灯状态队列中的候选信号灯状态进行投票,以根据投票结果确定该第一图像帧对应的信号灯状态。
[0094]
上述实施例中,在基于第一图像帧本身确定该第一图像帧对应的候选信号灯状态后,综合该第一图像帧对应的候选信号灯状态,以及与该第一图像帧前相邻的多个第一图像帧各自对应的候选信号灯状态,动态确定该当前获取到的第一图像帧对应的信号灯状态,以避免基于单个第一图像帧确定相应信号灯状态时可能存在误检或漏检的问题,能够
提高信号灯状态的检测准确性。
[0095]
在一个实施例中,根据第一图像帧判断车辆是否为斑马线后的第一辆车,包括:通过已训练好的路面语义分割模型,对第一图像帧进行斑马线语义分割得到斑马线分割结果;根据斑马线分割结果确定目标斑马线区域;对目标斑马线区域进行直线拟合与截断,得到斑马线拟合线段;根据斑马线拟合线段判断车辆是否为斑马线后的第一辆车。
[0096]
其中,斑马线分割结果中标注出第一图像帧中所能检测出的每个斑马线区域。斑马线分割结果具体可以是已标注出斑马线区域的二值化图像,其中,斑马线区域通过白色像素点来标注,第一图像帧中除斑马线以外的其他背景区域通过黑色像素点的表征。目标斑马线区域是指距离终端所处车辆最近的斑马线区域。
[0097]
具体地,终端将第一图像帧输入已训练好的路面语义分割模型中,通过该路面语义分割模型对该第一图像帧进行斑马线语义分割,得到相应的斑马线分割结果。终端根据斑马线分割结果筛选出连通域最大的斑马线区域,作为目标斑马线区域,并对该目标斑马线区域进行直线拟合与截断得到相应的斑马线拟合线段。终端根据该斑马线拟合线段与第一图像帧的位置关系,判断该终端所处车辆是否为斑马线后的第一辆车。
[0098]
在一个实施例中,终端调用预配置的连通域筛选算法,从斑马线分割结果中检测每个斑马线区域对应的连通域,并筛选最大的连通域对应的斑马线区域作为目标斑马线区域。连通域筛选算法比如基于opencv的算法。可以理解,第一图像帧中可包括多个斑马线区域,比如包括距离终端所处车辆最近的斑马线区域,以及马路对面的斑马线区域,通过上述方式能够筛选出距离车辆最近的斑马线区域。
[0099]
在一个实施例中,终端调用预配置的直线拟合函数对目标斑马线区域进行直线拟合,得到相应的斑马线拟合直线,并根据该目标斑马线区域对该斑马线拟合直线进行截断,得到相应斑马线拟合线段。直线拟合函数比如opencv函数。终端遍历目标斑马线区域,得到该目标斑马线区域在第一图像帧中的最大横坐标与最小横坐标,并根据该最大横坐标与最小横坐标,对相应斑马线拟合直线进行截断得到相应斑马线拟合线段。其中,终端可以第一图像帧的左上角为坐标原点,以水平方向(也即第一图像帧的宽边)为横轴,以竖直方向(也即第一图像帧的窄边)为纵轴。
[0100]
在一个实施例中,终端根据斑马线拟合线段的斜率、最大横坐标、最小横坐标与第一图像帧的宽度,判断所处车辆是否为斑马线后的第一辆车。当斑马线拟合线段的斜率小于第一预设斜率阈值,且该斑马线拟合线段对应的最大横坐标差值与第一图像帧的宽度之间的比例大于预设比例阈值时,终端则判定所处车辆为斑马线后的第一辆车,否则,判定该车辆不是斑马线后的第一辆车。斑马线拟合线段对应的最大横坐标差值,为该斑马线拟合线段上的最大横坐标和最小横坐标之间的差值。第一预设斜率阈值比如0.1,预设比例阈值比如0.5。
[0101]
在一个实施例中,路面语义分割模型的训练步骤,包括:获取多个样本图像帧,对每个样本图像帧中的斑马线区域进行标注,对已标注斑马线区域的样本图像帧进行二值化处理,得到每个样本图像帧对应的样本斑马线分割结果,依次将每个样本图像帧作为输入特征,将相应的样本斑马线分割结果作为期望的输出特征进行模型的迭代训练,得到已训练好的路面语义分割模型。
[0102]
图5为一个实施例中根据第一图像帧判断终端所处车辆是否为斑马线后的第一辆
车的原理示意图。终端对第一图像帧进行斑马线语义分割,从所得到的斑马线分割结果中查找最大连通域,作为目标斑马线区域,对所查找到的最大连通域进行连通域直线拟合与截断,得到斑马线拟合线段,并对该斑马线拟合线段进行线段形态学判断,以根据判断结果确定终端所处车辆是否为斑马线后的第一辆车。
[0103]
图6为一个实施例中根据第一图像帧得到相应斑马线拟合线段的效果示意图。图6中的标号601标注的是第一图像帧,标号601a标注的是第一图像帧中距离终端所处车辆最近的斑马线,标号602标注的是对601所示的第一图像帧进行斑马线语义分割,从斑马线分割结果中筛选出与601a所示的斑马线对应的目标斑马线区域602a,并对该目标斑马线区域进行直线拟合与截断所得到的示意图,其中,标号602b是对目标斑马线区域进行直线拟合与截断得到的斑马线拟合线段。
[0104]
上述实施例中,通过路面语义分割模型对第一图像帧进行斑马线语义分割,能够快速而准确地得到相应斑马线分割结果,以便于基于该斑马线分割结果判断终端所处车辆是否为斑马线后的第一辆车时,能够提高判断准确性。
[0105]
在一个实施例中,检测第一图像帧中的目标车辆,包括:将第一图像帧输入已训练好的车辆检测模型进行检测,得到第一图像帧中每个目标车辆对应的车辆检测框;上述车辆闯红灯检测方法还包括:当存在与车辆检测框相匹配的跟踪器时,根据车辆检测框框对应更新相匹配的跟踪器中的车辆跟踪框;当不存在与车辆检测框相匹配的跟踪器时,根据车辆检测框初始化得到相应目标车辆所对应的跟踪器中的车辆跟踪框。
[0106]
其中,跟踪器也可理解为跟踪队列,每个目标车辆对应一个跟踪器,跟踪器用于存储对相应目标车辆进行跟踪所得到的车辆跟踪框。基于跟踪器中依次存储的车辆跟踪框能够实现对相应目标车辆的跟踪,也即能够确定相应目标车辆的运动轨迹。车辆跟踪框是根据第二图像帧对目标车辆进行跟踪时所得到的跟踪框。基于车辆跟踪框能够在相应第二图像帧中标注出相应目标车辆的位置。
[0107]
具体地,当根据第一图像帧判定终端所处车辆为斑马线后的第一辆车时,终端将该第一图像帧输入已训练好的车辆检测模型,通过该车辆检测模型对该第一图像帧中的每个目标车辆进行检测,得到每个目标车辆对应的车辆检测框。终端根据第一图像帧对应的各车辆检测框,以及已有的各跟踪器中更新时间最晚的车辆跟踪器,判断该每个车辆检测框是否存在相匹配的跟踪器。当判定车辆检测框存在相匹配的跟踪器时,表明该车辆检测框对应的目标车辆已存在相应的跟踪器,终端则根据该车辆检测框对应更新与该车辆检测框相匹配的跟踪器中的车辆跟踪框,以对该跟踪器中的车辆跟踪框进行校正,并将当前时间确定为该当前更新得到的车辆跟踪器所对应的更新时间。当判定车辆检测框不存在相匹配的跟踪器时,则表明该车辆检测框对应的目标车辆为新进入摄像头视野的车辆,终端则针对该目标车辆新建跟踪器,并将该车辆检测框作为该新建的跟踪器中初始的车辆跟踪框。
[0108]
在一个实施例中,车辆检测模型的训练步骤,包括:获取训练样本集,该训练样本集中包括多个样本图像帧,以及每个样本图像帧中每个目标车辆对应的样本车辆检测框,将样本图像帧作为输入特征,将相应的样本车辆检测框作为期望的输出特征进行模型训练,得到已训练好的车辆检测模型。可以理解,训练样本集中还可包括每个样本图像帧对应的样本车辆分类标签,以便于通过已训练好的车辆检测模型,能够检测出第一图像帧中每
个目标车辆对应的车辆检测框与车辆分类标签,这样,车辆检测模型集目标车辆的检测与分类操作于一体。终端也可通过已训练好的车辆检测模型检测第一图像帧中每个目标车辆对应的车辆检测框,并通过已训练好的车辆分类模型,根据每个目标车辆对应的车辆检测框与第一图像帧,得到每个目标车辆对应的车辆分类标签。终端或服务器可基于训练样本集对车辆检测模型与车辆分类模型进行联合训练。
[0109]
在一个实施例中,终端在得到第一图像帧中每个目标车辆对应的车辆检测框后,分别计算每个车辆检测框与已有的每个跟踪器中更新时间最晚的车辆跟踪框之间的交并比,并根据计算得到的交并比确定车辆检测框与已有的跟踪器之间的匹配关系。车辆检测框与所匹配的跟踪器中更新时间最晚的车辆跟踪框之间的交并比大于或等于预设交并比阈值。预设交并比阈值可自定义,比如60%。终端具体可根据每个车辆检测框与车辆跟踪框之间的交并比,得到相应的多维矩阵,从多维矩阵中筛选最大的交并比,建立所筛选出的交并比所对应的车辆检测框与跟踪器之间的匹配关系,并从该多维矩阵中删除该所筛选出的交并比所在的行与列,以对该多维矩阵进行降维处理,进行针对降维处理后的多维矩阵返回至从多维矩阵中筛选最大的交并比的步骤继续执行,依此类推,直至针对存在相匹配的跟踪器的每个车辆检测框,分别建立该车辆检测框与所匹配的跟踪器之间的匹配关系。
[0110]
在上述建立车辆检测框与跟踪器之间的匹配关系的过程中,若筛选出的最大的交并比小于预设交并比阈值时,则判定该交并比对应的车辆检测框与跟踪器不匹配,也即不会建立该车辆检测框与跟踪器之间的匹配关系。在上述迭代流程执行完毕时,也即遍历完毕第一图像帧对应的每个车辆检测框或已有的每个跟踪器中更新时间最晚的车辆跟踪框后,若存在尚未建立匹配关系的车辆检测框,终端则根据该车辆检测框新建跟踪器,若存在尚未建立匹配关系的跟踪器,终端则不会基于第一图像帧对应的车辆检测框对应更新该跟踪器中的车辆跟踪框。
[0111]
在一个实施例中,若在依次获取到的多个第一图像帧各自所对应的车辆检测框中,均不存在与已有的跟踪器相匹配的车辆检测框时,表明该跟踪器对应的目标车辆已驶出摄像头的视野范围,终端则删除或锁定该跟踪器。
[0112]
上述实施例中,通过已训练好的车辆检测模型检测第一图像帧中每个目标车辆对应的车辆检测框,能够提高车辆检测框的检测准确性与效率,而基于该准确性较高的车辆检测框新建跟踪器,或者,校正相匹配的跟踪器中更新时间最晚的车辆跟踪框,以便于基于跟踪器中记录的车辆跟踪框对相应目标车辆进行闯红灯判断时,能够提高闯红灯判断的准确性。
[0113]
在一个实施例中,步骤210,包括:获取第二图像帧;根据第二图像帧更新每个目标车辆对应的跟踪器中的车辆跟踪框;根据满足闯红灯判断条件的跟踪器中记录的车辆跟踪框,对相应目标车辆的运动轨迹进行直线拟合得到轨迹拟合直线;根据轨迹拟合直线对相应目标车辆进行闯红灯判断。
[0114]
其中,闯红灯判断条件比如跟踪器中包括预设数量的车辆跟踪框,车辆跟踪框能够用于确定相应目标车辆在相应第二图像帧中的跟踪位置。
[0115]
具体地,终端从视频或图像集合中获取第二图像帧,通过预设跟踪算法根据该第二图像帧,更新当前待跟踪的每个目标车辆对应的跟踪器中更新时间最晚的车辆跟踪框。当各跟踪器中的车辆跟踪框更新完毕后,终端根据每个跟踪器中的跟踪记录,判断相应跟
踪器是否满足闯红灯判断条件,并根据满足闯红灯判断条件的跟踪器中记录的车辆跟踪框,对相应目标车辆的运动轨迹进行直线拟合得到轨迹拟合直线,进而根据轨迹拟合直线判断相应目标车辆是否存在闯红灯事件。
[0116]
在一个实施例中,当跟踪器满足闯红灯判断条件时,终端根据该跟踪器中依次记录的各车辆跟踪框的中心点,对相应目标车辆的运动轨迹进行直线拟合得到轨迹拟合直线。可以理解,按照记录顺序将跟踪器中的各车辆跟踪框的中心点依次连接,能够得到相应目标车辆的运动轨迹,而对该各车辆跟踪框的中心点进行直线拟合,能够得到该运行轨迹的轨迹拟合直线。
[0117]
在一个实施例中,终端根据轨迹拟合直线的斜率,以及轨迹拟合直线与第二图像帧的位置关系,判断相应目标车辆是否存在闯红灯事件。当轨迹拟合直线的斜率大于或等于第二预设斜率阈值,且该轨迹拟合直线与第二图像帧的宽边有交点时,或者,当轨迹拟合直线的斜率大于或等于第二预设斜率阈值,且该轨迹拟合直线对应的交点横坐标与第二图像帧的宽度的比值处于预设比值范围内时,终端则判定相应目标车辆存在闯红灯事件。轨迹拟合直线对应的交点横坐标,是指该轨迹拟合直线与第二图像帧的下边缘的交点的横坐标。第二预设斜率阈值比如2,预设比值范围比如[0.1,0.9]。
[0118]
在一个实施例中,当根据满足闯红灯判断条件的跟踪器判定相应目标车辆存在闯红灯事件时,终端标记或删除该跟踪器,以便于不再基于该跟踪器对相应目标车辆进行闯红灯事件的检测。当根据满足闯红灯判断条件的跟踪器判定相应目标车辆不存在闯红灯事件时,则按照本技术中一个或多个实施例中提供的目标车辆跟踪方式,继续对该目标车辆进行跟踪,也即继续更新该目标车辆对应的跟踪器中的车辆跟踪框,并根据更新车辆跟踪框后的跟踪器继续续相应目标车辆进行闯红灯判断。
[0119]
在一个实施例中,终端按照预设跟踪频率依次从视频或图像集合中获取第二图像帧,并针对依次获取的每个第二图像帧分别执行上述目标车辆跟踪与闯红灯判断流程。
[0120]
图7为一个实施例中对目标车辆进行跟踪,并根据跟踪记录对目标车辆进行闯红灯判断的原理示意图。如图7所示,标号701是根据第n-1帧第二图像帧对目标车辆进行跟踪所得到的车辆跟踪框,标号702是根据第n帧第二图像帧所得到的车辆跟踪框,标号701是根据第n 1帧第二图像帧所得到的车辆跟踪框,标号704是对目标车辆对应的多个车辆跟踪框进行直线拟合,所得到的轨迹拟合直线。可以理解,图7中仅示例出基于三个第二图像帧针对同一目标车辆分别确定的车辆跟踪框,并不用于具体限定。
[0121]
上述实施例中,基于第二图像帧对每个目标车辆对应的跟踪器中的车辆跟踪框进行更新,并在满足闯红灯判断条件时,基于相应跟踪器中记录的车辆跟踪框对相应目标车辆进行闯红灯判断,能够提高判断准确性。
[0122]
图8为一个实施例中在图像帧中标注出存在闯红灯事件的目标车辆的示意图。图8中的标号801与802分别表征已标注出存在闯红灯事件的目标车辆的图像帧,标号801a与802a分别为图像帧中存在闯红灯事件的目标车辆。可以理解,终端按照上述车辆闯红灯检测流程检测出存在闯红灯事件的目标车辆后,可将携带该目标车辆对应的闯红灯图像帧与目标车辆在闯红灯图像帧中的车辆跟踪框的车辆闯红灯信息发送至服务器,也可在根据车辆跟踪框在相应闯红灯图像中标注出相应目标车辆,并将携带该已标注目标车辆的闯红灯图像帧的车辆闯红灯信息发送至服务器。
[0123]
图9为一个实施例中车辆闯红灯检测方法的原理示意图。当车辆闯红灯检测流程开始后,终端获取第一图像帧,判断该第一图像帧对应的采集时间戳这一时间点该终端所处车辆是否处于静止状态。当判定车辆处于静止状态时,终端对第一图像帧进行信号灯检测,并判断信号灯状态是否为红灯。当判定信号灯状态为红灯时,终端对第一图像帧进行斑马线语义分割,并判断终端所处车辆是否处于斑马线后的第一位。当判定车辆处于斑马线后的第一位时,终端对第一图像帧进行目标车辆检测,并对目标车辆进行跟踪,以判断目标车辆是否存在闯红灯事件。当判定目标车辆存在闯红灯事件时,保存携带目标车辆对应的闯红灯图像帧、企业归属与车辆位置信息等的车辆闯红灯信息,并将该车辆闯红灯信息上报至中心管理平台,以指示中心管理平台对应更新数据库,在完成车辆闯红灯检测操作后,结束该车辆闯红灯检测流程。可以理解,中心管理平台也即本技术中一个或多个实施例中所涉及的服务器。
[0124]
进一步地,当判定终端所处车辆不处于静止状态,或者,当判定第一图像帧对应的信号灯状态为非红灯状态时,或者,当判断终端所处车辆不是位于斑马线的第一位时,终端则返回至获取第一图像帧的步骤继续执行。当判定目标车辆不存在车辆闯红灯事件时,在车辆闯红灯检测流程结束后,舍弃或删除相应跟踪记录。
[0125]
上述实施例中,通过车辆静止状态检测、信号灯状态检测、斑马线检测、目标车辆的检测与跟踪等检测流程的依次执行,实现车辆闯红灯事件的监控,能够提高监控的鲁棒性,以及监控准确性。
[0126]
在一个实施例中,本技术中提供的车辆闯红灯检测具有普适性,不仅适用于车载摄像头的动态场景,也适用于交通路口、公路卡口等静态场景,可针对不同应用场景对应部署用于执行车辆闯红灯检测的终端,并动态调整相应的车辆闯红灯检测流程。比如,在静态场景下,由于斑马线位置与信号灯状态已知,由此可无需执行信号灯状态检测与斑马线检测等操作。还比如将静态场景下采集的视频或图像集合发送至服务器,由服务器执行车辆闯红灯检测操作。
[0127]
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0128]
在一个实施例中,如图10所示,提供了一种车辆闯红灯检测装置1000,包括:获取模块1001、状态检测模块1002、斑马线检测模块1003、车辆检测模块1004、跟踪模块1005和发送模块1006,其中:
[0129]
获取模块1001,用于获取第一图像帧;
[0130]
状态检测模块1002,用于当所处车辆处于静止状态时,检测第一图像帧对应的信号灯状态;
[0131]
斑马线检测模块1003,用于当信号灯状态为红灯时,根据第一图像帧判断车辆是否为斑马线后的第一辆车;
[0132]
车辆检测模块1004,用于当判定车辆为斑马线后的第一辆车时,检测第一图像帧
中的目标车辆;
[0133]
跟踪模块1005,用于对目标车辆进行跟踪,根据跟踪记录对目标车辆进行闯红灯判断;
[0134]
发送模块1006,用于当判定目标车辆存在闯红灯事件时,将目标车辆对应的车辆闯红灯信息发送至服务器。
[0135]
在一个实施例中,状态检测模块1002,还用于获取所处车辆的定位信息与惯性测量数据;定位信息和惯性测量数据均与第一图像帧对应;根据定位信息与惯性测量数据判断车辆是否处于静止状态。
[0136]
在一个实施例中,状态检测模块1002,还用于通过已训练好的信号灯检测模型,确定第一图像帧中每个信号灯的信号灯状态、信号灯检测框与相应初始置信度;根据每个信号灯检测框的指定点与第一图像帧的垂直中心轴,确定相应信号灯检测框的偏置度;根据每个信号灯检测框对应的初始置信度与偏置度确定相应目标置信度;根据目标置信度确定第一图像帧对应的信号灯状态。
[0137]
在一个实施例中,状态检测模块1002,还用于将目标置信度最大的信号灯检测框对应的信号灯状态确定为第一图像帧对应的候选信号灯状态;将候选信号灯状态更新至信号灯状态队列;根据更新后的信号灯状态队列中红灯的占比与预设占比阈值,确定第一图像帧对应的信号灯状态。
[0138]
在一个实施例中,斑马线检测模块1003,用于通过已训练好的路面语义分割模型,对第一图像帧进行斑马线语义分割得到斑马线分割结果;根据斑马线分割结果确定目标斑马线区域;对目标斑马线区域进行直线拟合与截断,得到斑马线拟合线段;根据斑马线拟合线段判断车辆是否为斑马线后的第一辆车。
[0139]
在一个实施例中,车辆检测模块1004,用于将第一图像帧输入已训练好的车辆检测模型进行检测,得到第一图像帧中每个目标车辆对应的车辆检测框;当存在与车辆检测框相匹配的跟踪器时,根据车辆检测框框对应更新相匹配的跟踪器中的车辆跟踪框;当不存在与车辆检测框相匹配的跟踪器时,根据车辆检测框初始化得到相应目标车辆所对应的跟踪器中的车辆跟踪框。
[0140]
在一个实施例中,跟踪模块1005,还用于获取第二图像帧;根据第二图像帧更新每个目标车辆对应的跟踪器中的车辆跟踪框;根据满足闯红灯判断条件的跟踪器中记录的车辆跟踪框,对相应目标车辆的运动轨迹进行直线拟合得到轨迹拟合直线;根据轨迹拟合直线对相应目标车辆进行闯红灯判断。
[0141]
关于车辆闯红灯检测装置的具体限定可以参见上文中对于车辆闯红灯检测方法的限定,在此不再赘述。上述车辆闯红灯检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0142]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机
程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种车辆闯红灯检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0143]
本领域技术人员可以理解,图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0144]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现各方法实施例的步骤。
[0145]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现各方法实施例的步骤。
[0146]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0147]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0148]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献