基于车载视频的前方车辆压线行为检测和动态追踪方法与流程

    专利2022-07-08  235


    本发明涉及一种基于车载视频的前方车辆压线行为检测和动态追踪方法,属于计算机视觉检测的技术领域。



    背景技术:

    车辆在行驶中的违章行为是交通事故频发的重要原因,其中违章压线易导致与相邻车道的车辆发生碰撞,具有更高的危险性,而电子警察固定视角的摄像头监控区域有限,隐蔽性差,便于驾驶员躲避违章检测。因此,动态追踪检测违章事件,扩大交通执法区域,提高交通行政执法检查、违章处罚的效率、机动性和准确性,显得愈加重要。

    在已有的车辆压线行为检测中,一部分采用了传统的计算机视觉方法,如区域选择、特征提取、分类回归;还有一部分采用了深度学习的方法。已有的方法虽然能够通过语义分割和成熟的卷积神经网络实现车辆与车道线检测,甚至可判定单个图片中车辆压线状态,但很少能够将两者结合对前方车辆压线事件进行动态检测。



    技术实现要素:

    本发明所要解决的技术问题在于克服现有技术的不足,提供一种基于车载视频的前方车辆压线行为检测和动态追踪方法,结合深度学习与语义分割设计了一种新的框架,将基于erfnet网络的车道线检测模型嵌入到基于yolo的车辆检测追踪模型中,并加入压线起始和终止时刻的判定逻辑,同时处理了压线过程追踪异常的问题,有效提高车辆违章压线检测精度。

    本发明具体采用以下技术方案解决上述技术问题:

    基于车载视频的前方车辆追踪和违章压线行为检测方法,包括以下步骤:

    步骤(1)、利用yolo系列的深度神经网络识别算法对前方车辆进行目标检测,将基于卡尔曼滤波预测车辆轨迹得到的车辆跟踪框与当前帧中的检测框进行关联,并与目标外观信息融合,通过级联匹配以及车辆跟踪框与检测框的交集与并集的比值即iou比值,实现对前方车辆的检测与追踪;

    步骤(2)、根据车辆跟踪框与检测框的iou比值,将每一帧所使用的所有车辆跟踪框利用检测框代替;

    步骤(3)、利用轻量级深度学习网络模型检测每帧中的车道线,识别出车道线像素点并去除噪点,再利用基于全卷积的图像分类网络模型将车道线分为实线与虚线;

    步骤(4)、将识别出的车道线像素点拟合成车道线直线方程;

    步骤(5)、对每一帧中追踪到的车辆,在检测框下边框上选取两个位置点(lx,y)和(rx,y),以此两点判定与车道线直线方程的关系,判定车辆是否处于压线状态,并在判定处于压线状态时记录每一帧中车辆的压线信息,包括每一帧中的车辆id、检测框的位置、压线状态、对应的车道线类型;

    步骤(6)、在判定处于压线状态时,为碾压车道线的起始时刻设置判定条件,并将每帧获取到的车辆压线信息与之前连续若干帧的该车辆的压线信息作对比,条件满足则判定为压线开始,且记录开始时刻信息;

    步骤(7)、在判定处于压线状态时,为碾压车道线的结束时刻设置判定条件,并对于已经判定为压线开始的车辆,将每帧获取到的车辆压线信息与之前连续若干帧的该车辆的压线信息作对比,条件满足则判定为压线结束,且记录结束时刻信息

    步骤(8)、将同一辆车的开始和结束时刻信息对比,若车道线类型相同,则合并输出为一个最终结果,若车道线类型不同,则判断是两个压线事件,并将开始和结束时刻信息整合,输出为两个结果。

    进一步地,作为本发明的一种优选技术方案,所述步骤(1)利用yolo系列的深度神经网络识别算法对前方车辆进行目标检测,具体步骤为:

    利用车载视频构造行车视角下车辆识别训练用的数据集,运用yolo系列的深度神经网络识别算法进行训练,实现在本车视角下对前方车辆进行目标检测;

    利用卡尔曼滤波预测车辆轨迹得到车辆跟踪框,通过车辆跟踪框和检测框之间的马氏距离对与当前帧中的车辆跟踪框和检测框进行运动信息关联,当某次关联的马氏距离小于指定的阈值,则关联成功;

    结合目标外观信息引入重识别模块,对每一个检测框内区域,求一个特征向量,计算车辆跟踪框成功关联的特征集与当前帧检测结果的特征向量间的最小余弦距离,当小于指定的阈值,则关联成功;

    通过不同优先级的级联匹配,和车辆跟踪框与检测框的交集与并集的比值即iou比值更新每帧信息,实现对车辆的追踪,获取每个车辆id。

    进一步地,作为本发明的一种优选技术方案,所述步骤(2)根据车辆跟踪框与检测框的iou比值,对于每辆被追踪到的车,取最大值所属的检测框代替车辆跟踪框。

    进一步地,作为本发明的一种优选技术方案,所述步骤(3)利用轻量级深度学习网络模型检测每帧中的车道线,具体步骤为:

    利用公开的车道检测数据集,分别构造车道线识别与分类所用的训练数据和验证数据;对于分类所用的训练数据部分,选取其中的实线和虚线作为分类目标值;

    识别出训练数据和验证数据中车道线像素点并去除噪点:设置像素孤立区域的面积阈值,将像素孤立区域面积小于阈值的车道线识别像素点去除;

    采用去除噪点后的训练数据和验证数据交叉验证的方法训练轻量级深度学习网络模型实现车道线实例分割,针对分割的每个车道线实例,在车道线上采样固定个数的车道线像素点,利用基于全卷积的图像分类网络模型将车道线分为实线与虚线。

    进一步地,作为本发明的一种优选技术方案,所述步骤(4)将识别出的车道线像素点在二维画面中拟合成车道线直线方程。

    进一步地,作为本发明的一种优选技术方案,所述步骤(5)判定车辆是否处于压线状态,具体步骤为:

    在检测框下边框上选取两个位置点(lx,y)和(rx,y),以此两点判定与车道线直线方程的关系,当位置点(lx,y)和(rx,y)在拟合的车道线直线方程两侧时,判定车辆处于压线状态,记为1,否则记为0;

    并且,记录每一帧中车辆的压线信息,包括:每一帧中的车辆id以id_ef表示、检测框的位置以bbox表示、压线状态以s_ef表示、对应的车道线类型以ty_ef表示。

    进一步地,作为本发明的一种优选技术方案,所述步骤(6)和(7)通过将每帧获取到的车辆压线信息和之前连续两帧中同一车辆压线信息的对比,判定前方车辆压线行为开始或压线结束。

    进一步地,作为本发明的一种优选技术方案,所述步骤(8)还包括对于压线结束时刻的信息不唯一时,以所在帧时间最晚的车辆压线结束时刻信息和车辆的压线信息作为输出。

    进一步地,作为本发明的一种优选技术方案,所述方法还包括:

    步骤(9)、当追踪失败导致有压线开始时刻信息而不存在结束时刻信息,按照车辆id号在每帧记录的车辆压线信息中逆向查找,并确定压线车辆最后出现的视频帧,获取车辆压线结束时刻信息并与压线开始时刻的信息整合作为最后输出。

    本发明采用上述技术方案,能产生如下技术效果:

    本发明的基于车载视频的前方车辆追踪和违章压线行为检测方法,运用yolo系列的深度神经网络识别算法对车辆进行目标检测,将轨迹预测得到的运动信息与目标外观信息融合,通过匹配实现对车辆的检测与追踪;将车辆跟踪框通过iou值匹配转换为检测框;将深度学习模型erfnet和h-net结合实现车道线识别分类;在二维画面中将识别出的车道线像素点拟合成直线方程;结合车辆检测框和车道线信息判定车辆的压线状态;为碾压车道线的开始时刻和结束时刻设置判定条件,对比车辆压线开始时刻和结束时刻的信息,根据车道线类型是否一致输出不同结果。

    因此,本发明可以结合行车视角下的环境,训练车辆检测追踪模型与车道线检测模型,并将后者嵌入到前者的框架之中,同时设计了压线判定逻辑,能够得到压线的起始和结束时刻的信息,对压线事件进行动态检测,得到了更高的精度。

    附图说明

    图1为本发明的方法流程示意图。

    具体实施方式

    下面结合说明书附图对本发明的实施方式进行描述。

    如图1所示,本发明涉及一种基于车载视频的前方车辆压线行为检测和动态追踪方法,该方法具体包括以下步骤:

    步骤(1)、车辆检测与追踪:利用yolo系列的深度神经网络识别算法对前方车辆进行目标检测,将基于卡尔曼滤波预测车辆轨迹得到的车辆跟踪框与当前帧中的检测框进行关联,并与目标外观信息融合,通过级联匹配以及车辆跟踪框与检测框的并集区域的iou比值,实现对前方车辆的检测与追踪。具体步骤如下:

    利用车载视频构造行车视角下车辆识别训练用的数据集,运用yolo系列的深度神经网络识别算法进行训练,可以运用但不限于yolov3系列的神经网络算法,通过基于残差网络的darknet-53(含有53个卷集核)结构提取图像特征,得到13×13×255、26×26×255、52×52×255多尺度特征图,将用k-means聚类方法得到的9种尺寸先验框分配到特征图上,并用逻辑回归的输出预测车辆对象类别,实现在本车视角下对前方车辆进行目标检测。

    利用卡尔曼滤波器预测车辆轨迹得到跟踪框,通过车辆跟踪框和检测框之间的马氏距离对与当前帧中的车辆跟踪框和检测框进行运动信息关联,当某次关联的马氏距离小于指定的阈值,则关联成功。

    结合目标外观信息引入重识别模块,对每一个检测框内区域,求一个特征向量,计算车辆跟踪框的最近100个成功关联的特征集与当前帧检测结果的特征向量间的最小余弦距离,当最小余弦距离小于指定的阈值,则关联成功。

    通过不同优先级的级联匹配,和车辆跟踪框与检测框的交集与并集的比值即iou比值即两种检测框区域的交并比更新每帧信息,实现对车辆的追踪,获取每个车辆id,其中每个车有独立的id号。

    步骤(2)、iou匹配优化:根据车辆跟踪框与检测框的iou比值,将每一帧所使用的所有车辆跟踪框利用检测框代替,优选地,取iou比值的最大值所属的车辆检测框代替车辆跟踪框。克服了只利用车辆跟踪框的缺陷,取最大值所属的车辆检测框来替代跟踪框并作为后面处理的对象,以提高处理精度。

    步骤(3)、车道线检测与分类:利用轻量级深度学习网络模型检测每帧中的车道线,识别出车道线像素点并去除噪点,再利用基于全卷积的图像分类网络模型将车道线分为实线与虚线;具体步骤如下:

    利用公开的车道检测数据集(tusimpledataset),分别构造车道线识别与分类所用的训练数据和验证数据;对于分类所用的训练数据部分,该数据集给出8种不同的车道线分类标签,选取其中的实线和虚线作为分类目标值。

    识别出训练数据和验证数据中车道线像素点并去除噪点。设置像素孤立区域的面积阈值,将孤立区域面积小于阈值的车道线识别像素点去除,然后对图像进行开运算和闭运算,填补车道识别像素中的细小孔洞并去除细小突出部分,同时起到平滑车道线轮廓的作用。

    采用去除噪点后的训练数据和验证数据交叉验证的方法训练轻量级深度学习网络模型erfnet,实现车道线实例分割,针对分割的每个车道线实例,在车道线上采样固定个数的车道线像素点,通过简单的基于全卷积的图像分类网络模型将车道线分为实线与虚线。

    步骤(4)、车道线拟合:将识别出的车道线像素点拟合成车道线直线方程;优选地,将视频帧中获得的每条车道线像素点在二维画面中拟合成车道线直线方程,用于后续车辆压线判定。

    步骤(5)、压线状态判定:对每一帧中追踪到的车辆,在检测框下边框上选取两个位置点(lx,y)和(rx,y),以此两点判定与车道线直线方程的关系,判定车辆是否处于压线状态,并在判定处于压线状态时记录每一帧中车辆的压线信息,包括每一帧中的车辆id、检测框的位置、压线状态、对应的车道线类型;具体如下:

    对每一帧中追踪到的车辆,在检测框下边框上选取两个位置点(lx,y)和(rx,y),以此两点判定与车道线直线方程的关系。根据视频中车辆不同位置对这两点的取值做分类讨论设置参数,将画面横坐标五等分,由中间向两侧,当检测框的中心位于区域3时,设定距离检测框左下右下两点各1/6处为(lx,y)和(rx,y);当检测框的中心位于区域2或4时,设定距离检测框左下右下两点各1/5处为(lx,y)和(rx,y);当检测框的中心位于区域1或5时,设定距离检测框左下右下两点各1/6处为(lx,y)和(rx,y)。

    当位置点(lx,y)和(rx,y)在拟合的车道线直线方程两侧时,判定车辆处于压线状态,记为1,否则记为0;并且,按照车辆追踪的id标号顺序,记录每一帧中车辆的压线信息,包括:每一帧中的车辆id以id_ef表示、检测框的位置以bbox表示、压线状态以s_ef表示、对应的车道线类型以ty_ef表示,所压车道线类型为实线,记为“solid”,虚线记为“dash”。

    步骤(6)、开始时刻判定:在判定处于压线状态时,为碾压车道线的起始时刻设置判定条件,并将每帧获取到的车辆压线信息与之前连续若干帧的该车辆的压线信息作对比,条件满足则判定为压线开始,且记录开始时刻信息;具体如下:

    为碾压车道线的起始时刻的判定设置条件,本实施例优选地,将每帧获取到的车辆压线信息与之前连续两帧的该车信息作对比,条件满足则判定为压线开始,记录开始时刻的信息,包括车辆追踪时的id和检测框的位置bbox(xs,ys,ws,hs)、所压线的类型ty_ef以及所在帧的时间start_time。其中xs,ys,ws,hs分别为起始时刻检测框中心点的横坐标、中心点的纵坐标、宽度和高度。判定为压线开始的条件和情况为:

    即车辆在本帧处于压线状态,且前两帧中至少有一帧处于压线状态时可判定为压线开始,“×”表示在该帧中车辆不存在或未被追踪到;一旦某车判定为压线开始,之后则不再对其开始状态进行判定。

    步骤(7)、终止时刻判定:在判定处于压线状态时,为碾压车道线的结束时刻设置判定条件,并对于已经判定为压线开始的车辆,将每帧获取到的车辆压线信息与之前连续若干帧的该车信息作对比,条件满足则判定为压线结束,且记录结束时刻信息;具体如下:

    为碾压车道线的结束时刻的判定设置条件,对于已经判定为开始的车辆,本实施例优选地,将每帧获取到的某车压线信息与之前连续两帧的该车辆的压线信息作对比,条件满足则判定为压线结束,记录结束时刻的信息,包括车辆追踪时的id和、检测框的位置bbox(xe,ye,we,,he)、所压线的类型ty_ef以及结束所在帧的时间end_time。其中xe,ye,we,he分别为结束时刻检测框中心点的横坐标、中心点的纵坐标、宽度和高度。判定为压线结束的条件和情况为:

    即车辆在本帧处于未压线状态,且前两帧中至少有一帧处于未压线状态时可判定为压线结束,“×”表示在该帧中车辆不存在或未被追踪到。

    步骤(8)、结果输出判定:将同一辆车的开始和结束时刻信息对比,若车道线类型相同,则合并输出为一个最终结果,若车道线类型不同,则判断是两个压线事件,并将开始和结束时刻信息整合,输出为两个结果。以及,对于压线结束时刻的信息不唯一时,以所在帧时间最晚的车辆压线结束时刻信息和车辆的压线信息作为输出,最终结果包含十一个元素,如:

    [{"start_time":3.19,"xs":1703,"ys":671,"ws":435,"hs":347,"end_time":5.66,"xe":1191,"ye":545,"we":213,"he":155,"ty_ef":"solid"}];

    其结果分别为:压线开始时间、压线开始时刻车辆检测框中心横坐标、纵坐标、宽度、高度、压线结束时间、压线结束时刻车辆检测框中心横坐标、纵坐标、宽度、高度、所压车道线类型。

    步骤(9)、异常结果处理:当追踪失败导致有压线开始时刻信息而不存在结束时刻信息,按照车辆id号在每帧记录的车辆压线信息中逆向查找,并确定压线车辆最后出现的视频帧,获取车辆压线结束时刻信息并与压线开始时刻的信息整合作为最后输出;具体如下:

    对比判定为压线开始时刻和结束时刻的车辆id,筛选出由于追踪失败或遮挡导致的有开始却没有结束信息的车辆id集合;

    对上述集合中的每个元素,在之前统计的各帧id信息id_ef中从后向前逆向查找,并结合压线状态s_ef信息确定压线车辆最后出现的视频帧,获取对应的检测框的位置bbox、压线的类型ty_ef以及结束所在帧的时间end_time,并与压线开始时刻的信息整合作为最后输出。

    综上,本发明的方法可以结合行车视角下的环境,训练车辆检测追踪模型与车道线检测模型,并将后者嵌入到前者的框架之中,同时设计了压线判定逻辑,能够得到压线的起始和结束时刻的信息,对压线事件进行动态检测,得到了更高的精度。

    上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。


    技术特征:

    1.基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,包括以下步骤:

    步骤(1)、利用yolo系列的深度神经网络识别算法对前方车辆进行目标检测,将基于卡尔曼滤波预测车辆轨迹得到的车辆跟踪框与当前帧中的检测框进行关联,并与目标外观信息融合,通过级联匹配以及车辆跟踪框与检测框的交集与并集的比值即iou比值,实现对前方车辆的检测与追踪;

    步骤(2)、根据车辆跟踪框与检测框的iou比值,将每一帧所使用的所有车辆跟踪框利用检测框代替;

    步骤(3)、利用轻量级深度学习网络模型检测每帧中的车道线,识别出车道线像素点并去除噪点,再利用基于全卷积的图像分类网络模型将车道线分为实线与虚线;

    步骤(4)、将识别出的车道线像素点拟合成车道线直线方程;

    步骤(5)、对每一帧中追踪到的车辆,在检测框下边框上选取两个位置点(lx,y)和(rx,y),以此两点判定与车道线直线方程的关系,判定车辆是否处于压线状态,并在判定处于压线状态时记录每一帧中车辆的压线信息,包括每一帧中的车辆id、检测框的位置、压线状态、对应的车道线类型;

    步骤(6)、在判定处于压线状态时,为碾压车道线的起始时刻设置判定条件,并将每帧获取到的车辆压线信息与之前连续若干帧的该车辆的压线信息作对比,条件满足则判定为压线开始,且记录开始时刻信息;

    步骤(7)、在判定处于压线状态时,为碾压车道线的结束时刻设置判定条件,并对于已经判定为压线开始的车辆,将每帧获取到的车辆压线信息与之前连续若干帧的该车辆的压线信息作对比,条件满足则判定为压线结束,且记录结束时刻信息;

    步骤(8)、将同一辆车的开始和结束时刻信息对比,若车道线类型相同,则合并输出为一个最终结果,若车道线类型不同,则判断是两个压线事件,并将开始和结束时刻信息整合,输出为两个结果。

    2.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述步骤(1)利用yolo系列的深度神经网络识别算法对前方车辆进行目标检测,具体步骤为:

    利用车载视频构造行车视角下车辆识别训练用的数据集,运用yolo系列的深度神经网络识别算法进行训练,实现在本车视角下对前方车辆进行目标检测;

    利用卡尔曼滤波预测车辆轨迹得到车辆跟踪框,通过车辆跟踪框和检测框之间的马氏距离对与当前帧中的车辆跟踪框和检测框进行运动信息关联,当某次关联的马氏距离小于指定的阈值,则关联成功;

    结合目标外观信息引入重识别模块,对每一个检测框内区域,求一个特征向量,计算车辆跟踪框成功关联的特征集与当前帧检测结果的特征向量间的最小余弦距离,当小于指定的阈值,则关联成功;

    通过不同优先级的级联匹配,和车辆跟踪框与检测框的交集与并集的比值即iou比值更新每帧信息,实现对车辆的追踪,获取每个车辆id。

    3.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述步骤(2)根据车辆跟踪框与检测框的iou比值,对于每辆被追踪到的车,取最大值所属的检测框代替车辆跟踪框。

    4.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述步骤(3)利用轻量级深度学习网络模型检测每帧中的车道线,具体步骤为:

    利用公开的车道检测数据集,分别构造车道线识别与分类所用的训练数据和验证数据;对于分类所用的训练数据部分,选取其中的实线和虚线作为分类目标值;

    识别出训练数据和验证数据中车道线像素点并去除噪点:设置像素孤立区域的面积阈值,将像素孤立区域面积小于阈值的车道线识别像素点去除;

    采用去除噪点后的训练数据和验证数据交叉验证的方法训练轻量级深度学习网络模型实现车道线实例分割,针对分割的每个车道线实例,在车道线上采样固定个数的车道线像素点,利用基于全卷积的图像分类网络模型将车道线分为实线与虚线。

    5.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述步骤(4)将识别出的车道线像素点在二维画面中拟合成车道线直线方程。

    6.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述步骤(5)判定车辆是否处于压线状态,具体步骤为:

    在检测框下边框上选取两个位置点(lx,y)和(rx,y),以此两点判定与车道线直线方程的关系,当位置点(lx,y)和(rx,y)在拟合的车道线直线方程两侧时,判定车辆处于压线状态,记为1,否则记为0;

    并且,记录每一帧中车辆的压线信息,包括:每一帧中的车辆id以id_ef表示、检测框的位置以bbox表示、压线状态以s_ef表示、对应的车道线类型以ty_ef表示。

    7.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述步骤(6)和(7)通过将每帧获取到的车辆压线信息和之前连续两帧中同一车辆压线信息的对比,判定前方车辆压线行为开始或压线结束。

    8.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述步骤(8)还包括对于压线结束时刻的信息不唯一时,以所在帧时间最晚的车辆压线结束时刻信息和车辆的压线信息作为输出。

    9.根据权利要求1所述基于车载视频的前方车辆压线行为检测和动态追踪方法,其特征在于,所述方法还包括:

    步骤(9)、当追踪失败导致有压线开始时刻信息而不存在结束时刻信息,按照车辆id号在每帧记录的车辆压线信息中逆向查找,并确定压线车辆最后出现的视频帧,获取车辆压线结束时刻信息并与压线开始时刻的信息整合作为最后输出。

    技术总结
    本发明公开了一种基于车载视频的前方车辆压线行为检测和动态追踪方法,包括:利用yolo系列的深度神经网络识别算法对前方车辆进行目标检测,将车辆跟踪框与当前帧中的检测框进行关联,并与目标外观信息融合;将车辆跟踪框利用检测框代替;识别出车道线像素点并去除噪点,再将车道线分为实线与虚线;将识别出的车道线像素点拟合成车道线直线方程;在检测框下边框上选取两个位置点,并判定与车道线直线方程的关系,判定车辆是否处于压线状态;为碾压车道线的起始和结束时刻设置判定条件,且记录车辆id和检测框的位置bbox、开始时刻信息;将同一辆车的开始和结束时刻信息对比,合并输出。本发明能够对压线事件进行动态检测,提高检测精度。

    技术研发人员:张文波;刘钟锴;王升;王于凯;刘昊东;陈景旭;刘志远
    受保护的技术使用者:东南大学
    技术研发日:2020.11.23
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-19782.html

    最新回复(0)