转向灯使用检测方法、装置、计算机设备和存储介质与流程

文档序号:22391873发布日期:2020-09-29 17:58阅读:246来源:国知局
转向灯使用检测方法、装置、计算机设备和存储介质与流程

本申请涉及图像识别技术领域,特别是涉及一种转向灯使用检测方法、装置、计算机设备和存储介质。



背景技术:

随着社会经济的不断发展,城市机动车保有量也迅速增长,传统的人工审核车辆违章的处理量已无法跟上车辆的增长速度。

传统技术中,对于车辆是否正确使用转向灯,一般通过图像识别技术,检测路口拍摄的单张包含目标车辆的图像中转向灯是否开启进行判断,从而导致是否正确使用转向灯的检测结果准确率不高。



技术实现要素:

基于此,有必要针对上述传统技术中是否正确使用转向灯的检测结果准确率不高的问题,提供一种准确率较高的转向灯使用检测方法、装置、计算机设备和存储介质。

一种转向灯使用检测方法,所述方法包括:

获取与待检测车辆对应的多帧视频图像;

定位各帧视频图像中待检测车辆的转向灯区域;

对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态;

根据各帧视频图像中转向灯的状态,获取转向灯的使用时长;

若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法。

在其中一个实施例中,获取与待检测车辆对应的多帧视频图像,包括:获取待审核的图像数据,所述图像数据中包括若干帧视频图像;通过车辆检测模型对待审核的图像数据中的设定帧进行检测,得到待检测车辆;通过目标追踪检测模型追踪图像数据中包含待检测车辆的每一帧视频图像,以获取与待检测车辆对应的多帧视频图像。

在其中一个实施例中,定位各帧视频图像中待检测车辆的转向灯区域,包括:通过转向灯定位检测模型,定位与待检测车辆对应的多帧视频图像中待检测车辆的左转向灯区域和右转向灯区域;根据与待检测车辆对应的多帧视频图像确定待检测车辆的行驶方向;确定与行驶方向对应的待检测左转向灯或待检测右转向灯;根据确定的待检测左转向灯或待检测右转向灯,获取各帧视频图像中定位的待检测车辆的左转向灯区域或右转向灯区域。

在其中一个实施例中,转向灯的状态包括转向灯为亮的状态或转向灯为不亮的状态;对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态,包括:采用转向灯状态检测模型对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在其中一个实施例中,采用转向灯状态检测模型对各帧所述视频图像中待检测车辆的转向灯区域进行分类检测之前,所述方法还包括:按设定频率对多帧视频图像进行采样,以获取采样的各帧所述视频图像;所述采用转向灯状态检测模型对各帧所述视频图像中待检测车辆的转向灯区域进行分类检测,包括:采用转向灯状态检测模型对采样的各帧所述视频图像中待检测车辆的转向灯区域进行分类检测,以获得采样的各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在其中一个实施例中,根据各帧视频图像中转向灯的状态,获取转向灯的使用时长,包括:根据各帧视频图像的时序对各帧视频图像中转向灯的状态进行连续状态编码;根据状态编码确定转向灯是否开启;若确定转向灯开启,则根据状态编码获取转向灯持续使用的最大帧数;根据最大帧数和视频帧率计算所述转向灯的使用时长。

在其中一个实施例中,根据状态编码确定转向灯是否开启,包括:根据状态编码确定转向灯的状态的是否存在跳转;若确定转向灯的状态存在跳转,则获取转向灯的跳转次数;当跳转次数达到第一设定值时,则确定转向灯开启。

在其中一个实施例中,根据状态编码获取转向灯持续使用的最大帧数,包括:确定转向灯的状态跳转后的当前帧所在位置;根据转向灯的状态跳转后的当前帧所在位置,获取状态跳转前和状态跳转后分别对应的连续帧数;根据状态跳转前和状态跳转后分别对应的连续帧数计算转向灯持续使用的最大帧数。

在其中一个实施例中,根据状态跳转前和状态跳转后分别对应的连续帧数计算转向灯持续使用的最大帧数,包括:若各连续帧数均小于第二设定值,则将状态编码对应的各帧视频图像的总帧数确定为转向灯持续使用的最大帧数。

在其中一个实施例中,根据状态跳转前和状态跳转后分别对应的连续帧数计算转向灯持续使用的最大帧数,包括:若各连续帧数中存在大于第二设定值的连续帧数,则确定大于第二设定值的连续帧数中与第二设定值对应的当前帧所在的位置;根据当前帧所在位置获取转向灯持续使用的多个帧数;将转向灯持续使用的多个帧数中的最大帧数确定为转向灯持续使用的最大帧数。

一种转向灯使用检测装置,所述装置包括:

获取模块,用于获取与待检测车辆对应的多帧视频图像;

定位模块,用于定位各帧视频图像中待检测车辆的转向灯区域;

状态检测模块,用于对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态;

使用时长确定模块,用于根据各帧所述视频图像中转向灯的状态,获取转向灯的使用时长;

合法检测模块,用于若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

上述转向灯使用检测方法、装置、计算机设备和存储介质,通过获取与待检测车辆对应的多帧视频图像,定位各帧视频图像中待检测车辆的转向灯区域,以对各帧视频图像中待检测车辆的转向灯区域进行分类检测,从而获得各帧视频图像中转向灯的状态,进而根据各帧视频图像中转向灯的状态,获取转向灯的使用时长,若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法,其通过转向灯的使用时长来判断车辆是否正确使用转向灯,从而极大的提高了是否正确使用转向灯的准确性。

附图说明

图1为一个实施例中转向灯使用检测方法的应用环境图;

图2为一个实施例中转向灯使用检测方法的流程示意图;

图3为一个实施例中获取与待检测车辆对应的多帧视频图像步骤的流程示意图;

图4为一个实施例中训练样本数据的标注示意图;

图5为一个实施例中检测得到的待检测车辆示意图;

图6为一个实施例中定位待检测车辆的转向灯区域步骤的流程示意图;

图7为一个实施例中对待检测车辆的转向灯区域进行定位的示意图;

图8为一个实施例中定位得到的转向灯区域示意图;

图9为一个实施例中获取转向灯的使用时长步骤的流程示意图;

图10为一个实施例中确定转向灯是否开启步骤的流程示意图;

图11为一个实施例中取转向灯持续使用的最大帧数步骤的流程示意图;

图12a为一个实施例中应用场景的部署示意图;

图12b为一个实施例中具体应用的流程示意图;

图13为一个实施例中转向灯使用检测装置的结构框图;

图14为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的转向灯使用检测方法,可以应用于如图1所示的应用环境中。其中,图像采集设备102通过网络与服务器104进行通信,具体的,图像采集设备102可以是布控在高速路口、转弯路口或主要干道中的具有图像采集功能的摄像头,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在本实施例中,图像采集设备102用于采集待审核的图像数据,图像数据可以是视频图像,图像采集设备102将采集的待审核的图像数据通过网络发送至服务器104,服务器104则基于待审核的图像数据确定待检测车辆,并获取与待检测车辆对应的多帧视频图像,定位各帧视频图像中待检测车辆的转向灯区域,以对各帧视频图像中待检测车辆的转向灯区域进行分类检测,从而获得各帧视频图像中转向灯的状态,进而根据各帧视频图像中转向灯的状态,获取转向灯的使用时长,若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法,其通过转向灯的使用时长来判断车辆是否正确使用转向灯,从而极大的提高了是否正确使用转向灯的准确性。

在一个实施例中,如图2所示,提供了一种转向灯使用检测方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤210,获取与待检测车辆对应的多帧视频图像。

其中,待检测车辆是指需要检测转向灯是否正确使用的车辆,如处于变道状态的车辆。与待检测车辆对应的多帧视频图像,则是指从视频数据中追踪到的包含有待检测车辆的所有帧画面。具体的,在本实施例中,当需要检测车辆的转向灯是否正确使用时,则获取与待检测车辆对应的多帧视频图像。

步骤220,定位各帧视频图像中待检测车辆的转向灯区域。

其中,转向灯区域包括左转向灯区域和右转向灯区域。具体的,可以通过转向灯定位检测模型,分别对待检测车辆对应的多帧视频图像中该车辆的左转向灯区域和右转向灯区域进行目标定位检测,并采用矩形框标示,从而得到各帧视频图像中待检测车辆的转向灯区域。

步骤230,对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态。

其中,分类检测可以是基于对各帧视频图像进行分类的神经网络实现。转向灯的状态包括转向灯为亮的状态或转向灯为不亮的状态。具体的,在本实施例中,根据各帧视频图像中待检测车辆的转向灯区域,通过神经网络中各卷积层进行处理,从而得到各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

步骤240,根据各帧视频图像中转向灯的状态,获取转向灯的使用时长。

由于在开启转向灯使用的过程中,转向灯会出现闪烁,而闪烁的过程会被反应到该车辆对应的各帧视频图像中转向灯的状态中,因此,在本实施例中,可以基于该车辆对应的各帧视频图像中转向灯的状态,而得到转向灯的使用时长。

步骤250,若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法。

其中,设定的标准时长可以是交通法规中规定的正确使用转向灯所需要达到的最低时长。在本实施例中,根据上述得到的转向灯的使用时长以及设定的标准时长,来判断对应的车辆是否正解使用转向灯。如若车辆转向灯的使用时长与设定的标准时长相匹配,即车辆转向灯的使用时长达到设定的标准时长,则确定该待检测车辆转向灯的使用合法。

上述转向灯使用检测方法,通过获取与待检测车辆对应的多帧视频图像,定位各帧视频图像中待检测车辆的转向灯区域,以对各帧视频图像中待检测车辆的转向灯区域进行分类检测,从而获得各帧视频图像中转向灯的状态,进而根据各帧视频图像中转向灯的状态,获取转向灯的使用时长,若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法,其通过转向灯的使用时长来判断车辆是否正确使用转向灯,从而极大的提高了是否正确使用转向灯的准确性。

在一个实施例中,如图3所示,在步骤210中,获取与待检测车辆对应的多帧视频图像,具体可以包括如下步骤:

步骤211,获取待审核的图像数据。

其中,待审核的图像数据可以是设置在路口的图像采集设备采集的视频数据,该视频数据中可以包括若干帧视频图像。

步骤212,通过车辆检测模型对待审核的图像数据中的设定帧进行检测,得到待检测车辆。

其中,车辆检测模型是指从待审核的图像数据中将感兴趣的目标(比如待检测车辆)分割开来的机器学习模型。具体的,车辆检测模型可以是基于深度学习的centernet(中心网)目标检测算法实现的。设定帧可以是按一定采样频率从待审核的图像数据中采样的帧。在本实施例中,为了锁定待检测车辆,可以通过车辆检测模型对待审核的图像数据中的设定帧进行检测,并将检测到的所有首次出现的车辆确定为待检测车辆。

进一步的,车辆检测模型是基于大量的训练样本数据对神经网络进行训练后得到的,其中,训练样本数据采用包括了车辆以及该车辆的位置信息的图像,该图像上每个车辆的位置信息可通过矩形框标出,如图4所示,且对于每个矩形框,还标注了对应的左上角点坐标和宽高,可表示为(x,y,w,h)。训练后得到的车辆检测模型通过对待审核的图像数据进行检测,从而得到图像数据中的待检测车辆,并且会对每个待检测车辆预测一个关键点,同时预测该关键点对应的宽高和中心点位置偏移,结合这两个结果能够得到待检测车辆位于图像数据中的具体位置。

步骤213,通过目标追踪检测模型追踪图像数据中包含待检测车辆的每一帧视频图像,以获取与待检测车辆对应的多帧视频图像。

其中,目标追踪检测模型是指从待审核的图像数据中对感兴趣的目标(比如包含了某一待检测车辆的帧视频图像)进行追踪。具体的,目标追踪检测模型可以是基于深度学习的siamrcn++(siamrecursivecorticalnetwork)目标追踪算法实现的。在本实施例中,当锁定待检测车辆后,则通过目标追踪检测模型从该待检测车辆首次出现在图像数据的下一帧开始进行目标追踪,即追踪后续包含该待检测车辆的每一帧视频图像,以获取与每一个待检测车辆对应的多帧视频图像,进而还可以从对应的每一帧视频图像中裁剪出对应的待检测车辆,从而得到如图5所示的与多帧视频图像分别对应的裁剪后的待检测车辆。

进一步的,目标追踪检测模型是基于大量的训练样本数据对神经网络进行训练后得到的,其中,训练样本数据为视频数据,对于某一样本车辆,在对应视频数据中出现的每一帧视频图像中都标注出该样本车辆的位置信息,具体标注与上述车辆检测模型的训练样本数据的标注相类似。可以理解的是,在构建训练样本数据时,可以通过在样本数据中增加随机扰动以增加模型预测的鲁棒性。通过训练后得到的目标追踪检测模型,可以基于给定的一段视频中第一帧图像中的某个目标的矩形框(如待检测车辆的矩形框),输出该视频后续每一帧图像中该目标的所在位置。

在一个实施例中,如图6所示,步骤220中,定位各帧视频图像中待检测车辆的转向灯区域,包括:

步骤221,通过转向灯定位检测模型,定位与待检测车辆对应的多帧视频图像中待检测车辆的左转向灯区域和右转向灯区域。

其中,转向灯定位检测模型是从各帧视频图像中将感兴趣的目标(比如待检测车辆的左转向灯区域和右转向灯区域)分割开来的机器学习模型。具体的,该转向灯定位检测模型可以是基于深度学习的centernet目标检测算法实现的。在本实施例中,通过转向灯定位检测模型,可以将各帧视频图像中待检测车辆的左转向灯区域和右转向灯区域通过矩形框标出,如图7所示。

进一步的,上述转向灯定位检测模型基于大量的转向灯训练样本数据对神经网络进行训练后得到的,其中,转向灯训练样本数据是从车辆图像中抠出来的转向灯部分的位置信息,位置信息中还包括该转向灯属于左转向灯还是右转向灯的类别信息。

步骤222,根据与待检测车辆对应的多帧视频图像确定待检测车辆的行驶方向。

其中,待检测车辆的行驶方向可以是指待检测车辆的变道方向,如向左变道或向右变道。在本实施例中,根据待检测车辆在对应的多帧视频图像中的位置可以确定该待检测车辆的行驶方向。具体的,行驶方向也可以基于深度学习网络模型确定。

步骤223,确定与行驶方向对应的待检测左转向灯或待检测右转向灯。

具体的,可以根据待检测车辆的行驶方向确定待检测转向灯为左转向灯还是右转向灯。例如,若确定待检测车辆向左变道,则可以确定左转向灯为待检测转向灯,若确定待检测车辆向右变道,则可以确定右转向灯为待检测转向灯。

步骤224,根据确定的待检测左转向灯或待检测右转向灯,获取各帧视频图像中定位的待检测车辆的左转向灯区域或右转向灯区域。

具体的,可以根据上述确定的待检测转向灯为左转向灯还是右转向灯,而对上述图7所示的已标注出左转向灯区域和右转向灯区域的图像数据进行裁剪,而得到各图像中对应的转向灯区域。例如,若确定待检测车辆向右变道,则确定待检测转向灯为右转向灯,进而对图7所示的已标注出左转向灯区域和右转向灯区域的图像数据进行裁剪,即裁剪出所有图像中的右转向灯区域,从而得到如图8所示的转向灯图像。

在一个实施例中,对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态,具体可以采用转向灯状态检测模型对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。其中,转向灯状态检测模型是基于各帧视频图像中待检测车辆的转向灯区域,通过神经网络中各卷积层进行处理,从而得到各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

进一步的,转向灯状态检测模型可以是基于大量的标注了转向灯状态的训练样本数据对神经网络进行训练后得到的,如对于每一个用于训练的转向灯样本图像,都标注了该样本图像中转向灯为亮或转向灯为不亮的状态。具体的,本实施例中,神经网络可以采用resnet18的网络架构实现,并将网络最后一层全连接层输出维度修改为2,使用交叉熵损失作为目标损失,通过随机梯度下降法进行训练。

在一个实施例中,如图9所示,步骤240中,根据各帧视频图像中转向灯的状态,获取转向灯的使用时长,包括:

步骤241,根据各帧视频图像的时序对各帧视频图像中转向灯的状态进行连续的状态编码。

其中,编码是信息从一种形式或格式转换为另一种形式的过程。具体的,在本实施例中,通过设定编码规则,并依据各帧视频图像的时序,依次对各帧视频图像中转向灯的状态进行连续的状态编码,从而得到与待检测车辆的状态对应的状态编码。例如,若设定的编码规则为:转向灯为亮的状态则编码为1,转向灯为不亮的状态则编码为0。假设已知与待检测车辆对应的各帧视频图像中转向灯的状态,则可以根据上述规则以及各帧视频图像的时序对其进行状态编码,则其对应的结果为00001111000111100001111。

步骤242,根据状态编码确定转向灯是否开启。

由于在开启转向灯使用的过程中,转向灯会出现闪烁,而闪烁的过程会被反应到该车辆对应的各帧视频图像中转向灯的状态中,因此,根据上述状态编码即可确定转向灯是否开启。例如,当状态编码中出现01转换或10转换时,则表示转向灯出现闪烁。若确定转向灯开启,则顺序执行后续步骤,否则执行步骤245,结束流程。

步骤243,若确定转向灯开启,则根据状态编码获取转向灯持续使用的最大帧数。

其中,转向灯持续使用的最大帧数是指确定转向灯开启后,正常且持续使用转向灯的最大帧数。具体的,判断转向灯是否正常使用可以根据转向灯的闪烁频率确定,例如,可以根据状态编码确定闪烁频率符合要求的状态编码所对应的最大帧数。

步骤244,根据最大帧数和视频帧率计算转向灯的使用时长。

其中,视频帧率是指每秒显示视频图像的帧数。具体的,在本实施例中,可以将最大帧数与视频帧率的商作为转向灯的使用时长。

步骤245,结束流程。

在本实施例中,根据转向灯的状态编码确定转向灯是否开启,在确定转向灯开启时,进一步根据状态编码获取转向灯持续使用的最大帧数,进而根据最大帧数和视频帧率计算转向灯的使用时长,从而更加准确的获得了使用转向灯的持续时间。

在一个实施例中,如图10所示,步骤242中,根据状态编码确定转向灯是否开启,包括:

步骤1010,根据状态编码确定转向灯的状态的是否存在跳转。

具体的,跳转是指状态编码中出现01转换或10转换。在本实施例中,可以通过遍历状态编码,从而确定状态编码中是否出现01转换或10转换,若存在,则确定转向灯的状态的存在跳转,则顺序执行步骤1020,否则执行步骤1040,结束流程。

步骤1020,则获取转向灯的跳转次数。

具体的,若确定转向灯的状态存在跳转,则根据状态编码中出现的01转换和10转换,获取转向灯的跳转次数。

步骤1030,当跳转次数达到第一设定值时,则确定转向灯开启。

其中,第一设定值是指预先设定的次数阈值,由于转向灯在开启使用的过程中会出现闪烁,因此,在本实施例中,可以通过设定次数阈值而过滤掉持续亮灯(如开启雾灯)的情况。即只有当跳转次数达到第一设定值时,则确定转向灯开启,否则结束流程。

步骤1040,结束流程。

上述实施例中,根据状态编码确定转向灯的状态是否存在跳转,若确定转向灯的状态存在跳转,则获取转向灯的跳转次数,进而判断跳转次数是否达到第一设定值,若达到,则确定转向灯开启。其通过转向灯的跳转次数而确定转向灯是否开启,相较于传统技术中通过单张包含目标车辆的图像中转向灯是否开启进行判断,极大的提高了判断的准确性。

在一个实施例中,如图11所示,根据状态编码获取转向灯持续使用的最大帧数,具体包括:

步骤1110,确定转向灯的状态跳转后的当前帧所在位置。

具体的,当确定状态编码中转向灯的状态存在跳转时,则根据出现01转换或10转换后当前帧所在位置,其中,当前帧是指由0转换为1的第一帧所在位置,以及由1转换为0的第一帧所在位置。

步骤1120,根据转向灯的状态跳转后的当前帧所在位置,获取状态跳转前和状态跳转后分别对应的连续帧数。

其中,连续帧数是指状态编码中同一状态所持续的连续帧数。具体的,以上述状态编码结果为00001111000111100001111进行说明,由上述方法可确定对应的转向灯的状态共出现了5次跳转,对于每次状态跳转前和状态跳转后同一状态所持续的连续帧数分别为:不亮4帧、亮4帧、不亮3帧、亮4帧、不亮4帧以及亮4帧。

步骤1130,根据状态跳转前和状态跳转后分别对应的连续帧数计算转向灯持续使用的最大帧数。

具体的,若上述得到的各连续帧数均小于第二设定值,则将状态编码对应的各帧视频图像的总帧数确定为转向灯持续使用的最大帧数。其中,第二设定值可以是根据转向灯正常闪烁的频率确定。例如,若第二设定值为10帧,以上述状态编码结果为例,其对应的同一状态所持续的连续帧数均小于10帧,则将该状态编码结果对应的总帧数23(即4+4+3+4+4+4),确定为转向灯持续使用的最大帧数。可以理解的是,当对各帧视频图像中待检测车辆的转向灯区域进行分类检测以获得各帧视频图像中转向灯的状态,是在基于设定频率对视频图像进行采样后再进行分类检测的情况下,则在计算转向灯持续使用的最大帧数时,还应该考虑采样的设定频率,例如,若设定频率为隔帧采样(即每两帧采样一帧),则计算转向灯持续使用的最大帧数时,应该将状态编码结果对应的帧数乘以2。

若上述得到的各连续帧数中存在大于第二设定值的连续帧数,则确定大于第二设定值的连续帧数中与第二设定值对应的当前帧所在的位置,并根据当前帧所在位置获取转向灯持续使用的多个帧数,进而将转向灯持续使用的多个帧数中的最大帧数确定为转向灯持续使用的最大帧数。具体的,举例来说,若状态编码结果为00111111111111100001111,对于每次状态跳转前和状态跳转后同一状态所持续的连续帧数分别为:不亮2帧、亮13帧、不亮4帧以及亮4帧。假设第二设定值同样为10帧,通过比较可知,上述得到的各连续帧数中存在大于该第二设定值的连续帧数,即亮13帧,因此,确定该亮13帧中的与第二设定值对应的当前帧所在帧位置,即亮13帧中的第10帧位置,从而根据该位置获取转向灯持续使用的多个帧数。例如,将该位置前的9帧以及上次跳转前的不亮的2帧的总帧数确定为转向灯持续使用的第一个帧数(即9+2);从该位置开始,重新统计转向灯持续使用的第二个帧数(即13-9+4+4),通过比较可知,第二个帧数大于第一个帧数,因此,转向灯持续使用的最大帧数为第二个帧数。同理,当对视频图像进行分类检测时是基于设定频率进行采样后再检测的情况下,则在计算转向灯持续使用的最大帧数时还应考虑对应采样的设定频率。

在本实施例中,基于转向灯的状态跳转以及转向灯的状态对应的连续帧数,以及第二设定值而确定转向灯持续使用的最大帧数,从而排除了将持续亮灯误计入转向灯的使用时长中,进而进一步提高了检测转向灯使用结果的准确性。

以下通过一个具体的实施例进一步说明本申请的方法,本申请以图像采集设备102设置在匝道叉口处为例进行说明,如图12a所示,一般从车辆后方拍摄,因此,车辆进入图像采集设备的视角之后,就默认为车辆应该开启转向灯。其具体的检测方法如图12b所示,包括:

步骤1201,获取待审核的图像数据。

其中,待审核的图像数据是指上述图像采集设备采集的视频数据。

步骤1202,通过车辆检测模型对图像数据中的第一帧视频图像进行车辆检测,以锁定首次出现的目标车辆,并基于检测到的目标车辆构建待检测车辆数组。

步骤1203,判断当前帧是否为设定帧。

设定帧是指与采样频率相匹配的帧,例如,可以是每10帧采样一次,则判断当前帧是否为10帧的整数帧。

步骤1204,若当前帧为设定帧,则对当前帧进行车辆检测,以锁定首次出现的目标车辆,并将目标车辆加入待检测车辆数组中。

步骤1205,若当前帧不为设定帧,对待检测车辆数组中的所有车辆进行转向灯是否开启的检测。

即检测待检测车辆数组中的车辆是否合法使用转向灯,其具体的检测流程如图2所示,本实施例中不再赘述。

步骤1206,对待检测车辆数组中的所有车辆进行下一帧的追踪检测。

通过追踪检测获得待检测车辆对应的转向灯状态在后续帧中是亮还是不亮。

步骤1207,将当前帧中消失的车辆从待检测车辆数组中删除。

对于待检测车辆数组中的某一车辆,若在当前帧中没有追踪到该车辆,则将该车辆从待检测车辆数组中删除。

步骤1208,当前帧是否为图像数据的最后一帧,或者人为中断。

若是,则结束流程,否则返回执行步骤1203。

步骤1209,结束流程。

应该理解的是,虽然图1-12b的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-12b中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图13所示,提供了一种转向灯使用检测装置,包括:获取模块1301、定位模块1302、状态检测模块1303、使用时长确定模块1304和合法检测模块1305,其中:

获取模块1301,用于获取与待检测车辆对应的多帧视频图像;

定位模块1302,用于定位各帧视频图像中待检测车辆的转向灯区域;

状态检测模块1303,用于对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态;

使用时长确定模块1304,用于根据各帧所述视频图像中转向灯的状态,获取转向灯的使用时长;

合法检测模块1305,用于若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法。

在一个实施例中,获取模块1301具体用于:获取待审核的图像数据,所述图像数据中包括若干帧视频图像;通过车辆检测模型对待审核的图像数据中的设定帧进行检测,得到待检测车辆;通过目标追踪检测模型追踪图像数据中包含待检测车辆的每一帧视频图像,以获取与待检测车辆对应的多帧视频图像。

在一个实施例中,定位模块1302具体用于:通过转向灯定位检测模型,定位与待检测车辆对应的多帧视频图像中待检测车辆的左转向灯区域和右转向灯区域;根据与待检测车辆对应的多帧视频图像确定待检测车辆的行驶方向;确定与行驶方向对应的待检测左转向灯或待检测右转向灯;根据确定的待检测左转向灯或待检测右转向灯,获取各帧视频图像中定位的待检测车辆的左转向灯区域或右转向灯区域。

在一个实施例中,转向灯的状态包括转向灯为亮的状态或转向灯为不亮的状态;状态检测模块1303具体用于:采用转向灯状态检测模型对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在一个实施例中,状态检测模块1303具体还用于:按设定频率对多帧视频图像进行采样,以获取采样的各帧所述视频图像;采用转向灯状态检测模型对采样的各帧所述视频图像中待检测车辆的转向灯区域进行分类检测,以获得采样的各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在一个实施例中,使用时长确定模块1304包括:编码单元,用于根据各帧视频图像的时序对各帧视频图像中转向灯的状态进行连续状态编码;判断单元,用于根据状态编码确定转向灯是否开启;最大帧数确定单元,用于若确定转向灯开启,则根据状态编码获取转向灯持续使用的最大帧数;使用时长计算单元,用于根据最大帧数和视频帧率计算所述转向灯的使用时长。

在一个实施例中,判断单元具体用于:根据状态编码确定转向灯的状态的是否存在跳转;若确定转向灯的状态存在跳转,则获取转向灯的跳转次数;当跳转次数达到第一设定值时,则确定转向灯开启。

在一个实施例中,最大帧数确定单元具体用于:确定转向灯的状态跳转后的当前帧所在位置;根据转向灯的状态跳转后的当前帧所在位置,获取状态跳转前和状态跳转后分别对应的连续帧数;根据状态跳转前和状态跳转后分别对应的连续帧数计算转向灯持续使用的最大帧数。

在一个实施例中,最大帧数确定单元还用于:若各连续帧数均小于第二设定值,则将状态编码对应的各帧视频图像的总帧数确定为转向灯持续使用的最大帧数。

在一个实施例中,最大帧数确定单元还用于:若各连续帧数中存在大于第二设定值的连续帧数,则确定大于第二设定值的连续帧数中与第二设定值对应的当前帧所在的位置;根据当前帧所在位置获取转向灯持续使用的多个帧数;将转向灯持续使用的多个帧数中的最大帧数确定为转向灯持续使用的最大帧数。

关于转向灯使用检测装置的具体限定可以参见上文中对于转向灯使用检测方法的限定,在此不再赘述。上述转向灯使用检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待审核的图像数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种转向灯使用检测方法。

本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取与待检测车辆对应的多帧视频图像;

定位各帧视频图像中待检测车辆的转向灯区域;

对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态;

根据各帧视频图像中转向灯的状态,获取转向灯的使用时长;

若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待审核的图像数据,所述图像数据中包括若干帧视频图像;通过车辆检测模型对待审核的图像数据中的设定帧进行检测,得到待检测车辆;通过目标追踪检测模型追踪图像数据中包含待检测车辆的每一帧视频图像,以获取与待检测车辆对应的多帧视频图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过转向灯定位检测模型,定位与待检测车辆对应的多帧视频图像中待检测车辆的左转向灯区域和右转向灯区域;根据与待检测车辆对应的多帧视频图像确定待检测车辆的行驶方向;确定与行驶方向对应的待检测左转向灯或待检测右转向灯;根据确定的待检测左转向灯或待检测右转向灯,获取各帧视频图像中定位的待检测车辆的左转向灯区域或右转向灯区域。

在一个实施例中,转向灯的状态包括转向灯为亮的状态或转向灯为不亮的状态;则处理器执行计算机程序时还实现以下步骤:采用转向灯状态检测模型对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:按设定频率对多帧视频图像进行采样,以获取采样的各帧所述视频图像;所述采用转向灯状态检测模型对各帧所述视频图像中待检测车辆的转向灯区域进行分类检测,包括:采用转向灯状态检测模型对采样的各帧所述视频图像中待检测车辆的转向灯区域进行分类检测,以获得采样的各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据各帧视频图像的时序对各帧视频图像中转向灯的状态进行连续状态编码;根据状态编码确定转向灯是否开启;若确定转向灯开启,则根据状态编码获取转向灯持续使用的最大帧数;根据最大帧数和视频帧率计算所述转向灯的使用时长。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据状态编码确定转向灯的状态的是否存在跳转;若确定转向灯的状态存在跳转,则获取转向灯的跳转次数;当跳转次数达到第一设定值时,则确定转向灯开启。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定转向灯的状态跳转后的当前帧所在位置;根据转向灯的状态跳转后的当前帧所在位置,获取状态跳转前和状态跳转后分别对应的连续帧数;根据状态跳转前和状态跳转后分别对应的连续帧数计算转向灯持续使用的最大帧数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:若各连续帧数均小于第二设定值,则将状态编码对应的各帧视频图像的总帧数确定为转向灯持续使用的最大帧数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:若各连续帧数中存在大于第二设定值的连续帧数,则确定大于第二设定值的连续帧数中与第二设定值对应的当前帧所在的位置;根据当前帧所在位置获取转向灯持续使用的多个帧数;将转向灯持续使用的多个帧数中的最大帧数确定为转向灯持续使用的最大帧数。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取与待检测车辆对应的多帧视频图像;

定位各帧视频图像中待检测车辆的转向灯区域;

对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯的状态;

根据各帧视频图像中转向灯的状态,获取转向灯的使用时长;

若转向灯的使用时长与设定的标准时长相匹配,则确定待检测车辆转向灯的使用合法。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待审核的图像数据,所述图像数据中包括若干帧视频图像;通过车辆检测模型对待审核的图像数据中的设定帧进行检测,得到待检测车辆;通过目标追踪检测模型追踪图像数据中包含待检测车辆的每一帧视频图像,以获取与待检测车辆对应的多帧视频图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过转向灯定位检测模型,定位与待检测车辆对应的多帧视频图像中待检测车辆的左转向灯区域和右转向灯区域;根据与待检测车辆对应的多帧视频图像确定待检测车辆的行驶方向;确定与行驶方向对应的待检测左转向灯或待检测右转向灯;根据确定的待检测左转向灯或待检测右转向灯,获取各帧视频图像中定位的待检测车辆的左转向灯区域或右转向灯区域。

在一个实施例中,转向灯的状态包括转向灯为亮的状态或转向灯为不亮的状态;则处理器执行计算机程序时还实现以下步骤:采用转向灯状态检测模型对各帧视频图像中待检测车辆的转向灯区域进行分类检测,以获得各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:按设定频率对多帧视频图像进行采样,以获取采样的各帧所述视频图像;所述采用转向灯状态检测模型对各帧所述视频图像中待检测车辆的转向灯区域进行分类检测,包括:采用转向灯状态检测模型对采样的各帧所述视频图像中待检测车辆的转向灯区域进行分类检测,以获得采样的各帧视频图像中转向灯为亮的状态或转向灯为不亮的状态。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据各帧视频图像的时序对各帧视频图像中转向灯的状态进行连续状态编码;根据状态编码确定转向灯是否开启;若确定转向灯开启,则根据状态编码获取转向灯持续使用的最大帧数;根据最大帧数和视频帧率计算所述转向灯的使用时长。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据状态编码确定转向灯的状态的是否存在跳转;若确定转向灯的状态存在跳转,则获取转向灯的跳转次数;当跳转次数达到第一设定值时,则确定转向灯开启。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:确定转向灯的状态跳转后的当前帧所在位置;根据转向灯的状态跳转后的当前帧所在位置,获取状态跳转前和状态跳转后分别对应的连续帧数;根据状态跳转前和状态跳转后分别对应的连续帧数计算转向灯持续使用的最大帧数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:若各连续帧数均小于第二设定值,则将状态编码对应的各帧视频图像的总帧数确定为转向灯持续使用的最大帧数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:若各连续帧数中存在大于第二设定值的连续帧数,则确定大于第二设定值的连续帧数中与第二设定值对应的当前帧所在的位置;根据当前帧所在位置获取转向灯持续使用的多个帧数;将转向灯持续使用的多个帧数中的最大帧数确定为转向灯持续使用的最大帧数。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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