本发明涉及计算机视觉的技术领域,具体涉及一种基于卷积神经网络的逆行车辆检测方法、系统、终端及介质。
背景技术:
车辆检测与追踪是人工智能研究的重要方向之一,在实际生活中有着众多的应用,例如,智能交通监控中车辆有无违停、逆向行驶以及车辆违章压线、掉头等,如果车辆的违章检测追踪工作完全依靠人工,则需要投入大量的人力物力财力,使用基于深度学习的车辆检测与追踪技术,可以快速、准确的进行违章车辆的检测与追踪。
随着经济和城镇化建设的快速发展,我国各城市道路和车辆总量不断增长,交管部门的管理压力日益倍增。虽然高清监控摄像头已经在绝大多数路口部署,但每日产生的视频量也越来越大,通过人工进行视频的实时检测与追逐既费时又费力,而且容易延误和遗漏,所以亟须寻找一种自动化方法辅助人工进行监控处理,这是目前智能交通的核心。
技术实现要素:
针对现有技术中的缺陷,本发明实施例提供一种基于卷积神经网络的逆行车辆检测方法、系统、终端及介质,实现实时多目标追踪,自动识别车辆的行驶方向,准确判断车辆是否违章逆行,对违章车辆进行抓拍取证。
第一方面,本发明实施例提供的一种基于卷积神经网络的逆行车辆检测方法,包括以下步骤:
获取交通监控视频数据;
采用训练好的yolov3神经网络模型对交通监控视频进行实时目标检测,得到检测目标;
对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框;
对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行;
若是,则抓拍图片;
或者,若否,则返回继续对检测的车辆采用sort方法进行目标追踪的步骤。
第二方面,本发明实施例提供一种基于卷积神经网络的逆行车辆检测系统,包括:视频获取模块、目标检测模块、目标追踪模块、逆行判断模块和图片抓拍模块,
所述视频获取模块用于获取交通监控视频数据;
所述目标检测模块用于采用训练好的yolov3神经网络模型对交通监控视频进行实时目标检测,得到检测目标;
所述目标追踪模块用于对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框;
所述逆行判断模块用于对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行;
所述图片抓拍模块用于在检测到车辆是逆行时,抓拍车辆逆行行驶的图片。
第三方面,本发明实施例提供的一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法步骤。
第四方面,本发明实施例提供的一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法步骤。
本发明的有益效果:
本发明实施例提供的一种基于卷积神经网络的逆行车辆检测方法、系统、终端及介质,实现实时多目标追踪,自动识别车辆的行驶方向,准确判断车辆是否违章逆行,对违章车辆进行抓拍取证。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1示出了本发明第一实施例所提供的一种基于卷积神经网络的逆行车辆检测方法的流程图;
图2示出了本发明另一实施例所提供的一种基于卷积神经网络的逆行车辆检测系统的结构示意图;
图3示出了本发明另一实施例所提供的一种智能终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,示出了本发明第一实施例所提供的一种基于卷积神经网络的逆行车辆检测方法的流程图,该方法包括以下步骤:
s1:获取交通监控视频数据。
s2:采用训练好的yolov3神经网络模型对交通监控视频进行实时目标检测,得到检测目标。
s3:对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框。
s4:对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行。
s5:若是,则抓拍图片。
或者,若否,则返回继续执行步骤s3。
具体地,通过接入交通监控系统,获取交通监控视频数据,采用训练好的yolov3神经网络模型对交通监控视频进行目标检测,得到检测目标。采用车辆数据集对yolov3神经网络模型进行汽车二分类训练,使得网络模型具有特定场景的实用性,提升了检测速度和检测精度。从交通监控系统中接收到视频数据传入yolov3神经网络,神经网络会根据不同id的目标车俩产生不同id的检测框,然后根据yolov3产生的检测框采用sort实现多目标追踪算法,简单的结合了卡尔曼滤波追踪和匈牙利指派算法,根据不同id的检测框与追踪框进行iou交并比操作,对每个id的车辆产生相对应的追踪器,由于sort算法复杂度低,追踪器可以实现260hz的追踪,比其他state-of-art的追踪器要快20倍左右。追踪框会不断的与相对于id的检测框进行交并比操作,实现目标的追踪。sort方法提出了一种基于检测实现的多目标追踪的框架,在算法中,逐帧进行目标检测,以boundingbox展现检测结果。算法目标是实现在线追踪,只是检测前一帧和当前帧。另外一个重点是实现了实时的目标追踪。sort的核心思想是目标检测、将目标当前帧的位置信息传递到未来帧中、将当前检测框与已存在的目标进行关联、管理正在追踪的目标的生命周期。具体主要包括目标检测、运动模型、数据关联、追踪目标的出现和消失四部分组成。
sort近似目标的帧间运动为和其他物体及相机运动无关的线性运动。每一个目标的状态可以表示为:
x=[u,v,s,r,u',v',s']t
u,v表示目标的中心坐标,s表示目标的大小面积,r表示目标的长宽比,长宽比需要保持不变。卡尔曼滤波可以通过利用数学模型预测的值和测量得到的观测值进行数据融合,找到“最优”的估计值(这里的最优指的是均方差最小),总之,卡尔曼滤波是一种去噪技术,能够在目标检测的基础上,得到更加准确的bbox(boundingbox)。匈牙利算法是一种数据关联(dataassociation)算法,其实从本质上讲,跟踪算法要解决的就是数据关联问题。结合跟踪的情景,匈牙利算法的任务就是把t帧的bbox与t-1帧的bbox两两匹配(可能匹配不上,因为视场中随时会有新的物体进入,旧的物体离开),这样跟踪就完成了。当进行检测框和目标的关联时,用检测框位置对目标位置进行更新,用卡尔曼滤波来估计目标的运动信息。若没有检测框信息,则使用线性模型进行位置预测。数据关联使用匈牙利指派算法进行数据关联,使用的cost矩阵为原有目标在当前帧中的预测位置和当前帧目标检测框之间的iou。当然小于指定iou阈值的指派结果是无效的。追踪目标的出现和消失采用原理为:当检测到某个目标和所有已有目标预测结果的检测框之间的iou都小于了指定阈值时认为出现了新的待追踪目标,使用检测框信息初始化新目标的位置信息,速度设置为0,设置速度的方差值很大,表示很大的不确定性。新的追踪目标需要经历一段待定时间去和检测结果进行关联以累计出现新目标的置信度,这可以有效防止目标检测的虚警造成的新追踪目标误创建。
对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行的具体方法包括:
假设t时刻id为2的车辆检测框为(x1,y1,h1,w1),t 1时刻id为2的车辆检测框为(x2,y2,h2,w2),可以得出其斜率k:
根据其斜率正负值判断该id车辆是否逆行违章,如若违章,抓拍3张违章照片。
本实施例提供的一种基于卷积神经网络的逆行车辆检测方法,与现有技术相比,采用最先进的yolov3作为检测算法,检测速度快,精度较高,实现实时多目标追踪,采用科学的斜率求解车辆的行驶方向,准确的判断车辆是否逆行,对违章车辆进行抓拍取证。采用该方法,检测速度快,实时性强,适合应用于工程应用。
在上述的第一实施例中,提供了一种基于卷积神经网络的逆行车辆检测方法,与之相对应的,本申请还提供一种基于卷积神经网络的逆行车辆检测系统。请参考图2,其为本发明第二实施例提供的一种基于卷积神经网络的逆行车辆检测系统的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
如图2所示,示出了本发明实施例提供的一种基于卷积神经网络的逆行车辆检测系统的结构示意图,包括:视频获取模块、目标检测模块、目标追踪模块、逆行判断模块和图片抓拍模块,
所述视频获取模块用于获取交通监控视频数据;
所述目标检测模块用于采用训练好的yolov3神经网络模型对交通监控视频进行实时目标检测,得到检测目标;
所述目标追踪模块用于对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框;
所述逆行判断模块用于对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行;
所述图片抓拍模块用于在检测到车辆是逆行时,抓拍车辆逆行行驶的图片。
本申请的实施例中,基于卷积神经网络的逆行车辆检测系统还包括神经网络模型训练模块,神经网络训练模块用于采用车辆数据集对yolov3神经网络模型进行汽车二分类训练,使得网络模型更具有特定场景的实用性,提升了检测精度,同时也提升了检测速度。
在本实施例中,目标检测模块用于对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框的具体方法包括:
在有检测框信息时,用检测框位置信息对检测目标位置进行更新,将检测框和检测目标采用匈牙利指派算法进行数据关联;
使用的cost矩阵为原有检测目标在当前帧中的预测位置和当前帧目标检测框之间的iou,设定iou阈值;
在检测到其中一个检测目标和已有检测目标预测结果的检测框之间的iou都小于iou阈值,则判断出现了新的待追踪目标,使用检测框信息初始化新目标的位置信息。
在本实施例中,逆行判断模块对所述对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行的具体方法包括:
获取目标车辆在t时刻的检测框;获取目标车辆在t 1时刻的检测框;
根据目标车辆在t时刻和t 1时刻的检测框计算斜率;
根据斜率的正负判断目标车辆是否逆行。
本发明实施例提供的一种基于卷积神经网络的逆行车辆检测系统,检测速度快,精度较高,实现实时多目标追踪,采用科学的斜率求解车辆的行驶方向,准确的判断车辆是否逆行,对违章车辆进行抓拍取证。
如图3所示,示出了本发明第三实施例提供一种智能终端结构示意图,该终端包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一实施例描述的方法。
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备可以包括显示器(lcd等)、扬声器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器、输入设备、输出设备可执行本发明实施例提供的方法实施例所描述的实现方式,也可执行本发明实施例所描述的系统实施例的实现方式,在此不再赘述。
在本发明还提供一种计算机可读存储介质的实施例,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法。
所述计算机可读存储介质可以是前述实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
1.一种基于卷积神经网络的逆行车辆检测方法,其特征在于,包括以下步骤:
获取交通监控视频数据;
采用训练好的yolov3神经网络模型对交通监控视频进行实时目标检测,得到检测目标;
对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框;
对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行;
若是,则抓拍图片;
或者,若否,则返回继续对检测的车辆采用sort方法进行目标追踪的步骤。
2.如权利要求1所述的基于卷积神经网络的逆行车辆检测方法,其特征在于,在获取交通监控视频数据的步骤之前还包括:训练yolov3神经网络模型,所述训练yolov3神经网络模型的具体方法包括:
采用车辆数据集对yolov3神经网络模型进行汽车二分类训练。
3.如权利要求2所述的基于卷积神经网络的逆行车辆检测方法,其特征在于,对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框的具体方法包括:
在有检测框信息时,用检测框位置信息对检测目标位置进行更新,将检测框和检测目标采用匈牙利指派算法进行数据关联;
使用的cost矩阵为原有检测目标在当前帧中的预测位置和当前帧目标检测框之间的iou,设定iou阈值;
在检测到其中一个检测目标和已有检测目标预测结果的检测框之间的iou都小于iou阈值,则判断出现了新的待追踪目标,使用检测框信息初始化新目标的位置信息。
4.如权利要求3所述的基于卷积神经网络的逆行车辆检测方法,其特征在于,所述对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行的具体方法包括:
获取目标车辆在t时刻的检测框;获取目标车辆在t 1时刻的检测框;
根据目标车辆在t时刻和t 1时刻的检测框计算斜率;
根据斜率的正负判断目标车辆是否逆行。
5.一种基于卷积神经网络的逆行车辆检测系统,其特征在于,包括:视频获取模块、目标检测模块、目标追踪模块、逆行判断模块和图片抓拍模块,
所述视频获取模块用于获取交通监控视频数据;
所述目标检测模块用于采用训练好的yolov3神经网络模型对交通监控视频进行实时目标检测,得到检测目标;
所述目标追踪模块用于对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框;
所述逆行判断模块用于对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行;
所述图片抓拍模块用于在检测到车辆是逆行时,抓拍车辆逆行行驶的图片。
6.如权利要求5所述的基于卷积神经网络的逆行车辆检测系统,其特征在于,还包括神经网络模块训练模块,所述神经网络训练模块用于采用车辆数据集对yolov3神经网络模型进行汽车二分类训练。
7.权利要求6所述的基于卷积神经网络的逆行车辆检测系统,其特征在于,所述目标检测模块用于对所述检测目标采用sort方法进行目标追踪,并记录每个目标车辆的id和检测框的具体方法包括:
在有检测框信息时,用检测框位置信息对检测目标位置进行更新,将检测框和检测目标采用匈牙利指派算法进行数据关联;
使用的cost矩阵为原有检测目标在当前帧中的预测位置和当前帧目标检测框之间的iou,设定iou阈值;
在检测到其中一个检测目标和已有检测目标预测结果的检测框之间的iou都小于iou阈值,则判断出现了新的待追踪目标,使用检测框信息初始化新目标的位置信息。
8.如权利要求7所述的基于卷积神经网络的逆行车辆检测系统,其特征在于,所述逆行判断模块对所述对每个目标车辆的不同帧数下所产生的不同检测框的位置进行计算得到车辆的行驶方向,并判断该车辆是否逆行的具体方法包括:
获取目标车辆在t时刻的检测框;获取目标车辆在t 1时刻的检测框;
根据目标车辆在t时刻和t 1时刻的检测框计算斜率;
根据斜率的正负判断目标车辆是否逆行。
9.一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,其特征在于,所述处理器被配置用于调用所述程序指令,执行如权利要求1至4任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至4任一项所述的方法步骤。
技术总结