一种基于视频图像的车辆行为轨迹检测方法与流程

文档序号:11591645阅读:346来源:国知局

本发明涉及交通中车辆检测设备领域,尤其是一种基于视频图像的车辆行为轨迹检测方法。



背景技术:

伴随着经济的增长,汽车产业的快速发展,汽车的数量急速增加,交通状况日益恶化,事故频发,需要我们去构建智能的交通系统,从而获得更多的数据信息供我们参考和使用,对交通进行智能化的监控和管理。现有技术的状况:

目前检测方法主要有:

感应线圈检测。该方法只能对运动车辆进行检测,并不能对其进行进一步的跟踪进而获得其运动轨迹,而且感应线圈的安装会破坏路面,后期维修费用高,使用也不够灵活,难以满足现在对交通智能化的需求。

雷达超声检测。该方法只能对运动车辆的速度进行检测,难以捕捉运动车辆的运动轨迹,同样不适合智能交通的需求。

为了克服以往检测方法的局限性,需要设计和开发新的交通车辆运动轨迹检测方法。



技术实现要素:

为了克服现有技术中的缺陷,提供一种基于视频图像的车辆行为轨迹检测方法。

本发明通过下述方案实现:

一种基于视频图像的车辆行为轨迹检测方法,该方法包括一种融合的gmm-prlk的多运动目标的自动检测跟踪算法,并且加入模板更新机制来应对运动车辆在行驶的过程中发生的转弯和形变等现象,整个过程可以进行无监督的自动检测跟踪;步骤如下所示:

步骤1、在视频图像中设定车辆的检测区域;

步骤2、运用混合高斯模型(gmm)进行背景建模;

步骤3、利用背景差分法进行运动车辆的检测,在预先知道背景模型后,首先计算背景模型b(x,y)与当前图像fk(x,y)的差,然后对差分图像fd(x,y)进行阈值化,并对阈值化图像m(x,y)进行blob分析;

步骤4、利用金字塔lk(prlk)光流对运动目标进行跟踪;

在三维轨迹重建过程中,利用基于surf特征的改进的立体匹配算法,运用改进的knn-ransac算法进行特征点的匹配,能剔除较多的误匹配点;包括如下步骤:

第一步、在对左右两幅图像进行匹配时,对于每个特征都搜寻k(设置参数k=2)个最匹配的特征点,此外进行双向的匹配,即找到左图中每个特征点在右图中的两个最佳匹配,然后找到右图中每个特征点在左图中的两个最佳匹配,如果对于最优值的测量距离非常低,而次优值的要大许多,那么就可以安全地接受最优值,因此它是最佳选择;反过来,如果两个候选者非常接近,那么选择其中之一可能出错,因此这两个匹配值都会被拒绝;然后判断最优值与次优值之间距离的比率(nn比率),移除nn比率大于阈值的匹配;

第二步、使用基础矩阵来移除不满足极线约束的匹配,该测试基于ransac方法,即便匹配集合中存在异常值,数据集合中都含有着些许的异常值,用ransac算法从这些集合中去预测出我们需要的数据,8个匹配对于基础矩阵来说正好是最小的个数,如果基础矩阵要从这8个随机的匹配当中去计算出来,那么从整个数据集合中余下的匹配都要通过与基础矩阵相对的极线约束的测试,从而发现正确的匹配,则基础矩阵的支持集合就通过这些成功的匹配来形成;若一个集合当中含有n%正确的值,则存在选择8个匹配时都为正确的匹配的机会为8n,若选择k次,置信概率c则为1-(1-8n)k,当然它越高越好,因此,当运行ransac算法时,置信等级就需要通过k的个数来得到。

所述步骤2的具体步骤如下所示:

对于一个相对静止的背景中,背景像素点在时间轴上服从一定的概率模型,故将该像素点的所有历史值用k个高斯分布来拟合,在t时刻,像素点概率分布为:

式中:xt是t时刻该点的像素值,k是混合高斯分布的个数,ωi,t是t时刻混合高斯模型中第i个高斯模型的权值,且满足条件0≤ωi,t≤1,分别表示t时刻第i个高斯模型的均值向量和协方差矩阵,η表示高斯概率密度函数,其定义为:

式中:n是xt的维数,∑i,t=(σi,t)2i,其中σi,t为标准差,i为单位矩阵;若满足|xt-μi,t|<2.5σi,t条件,则此像素与模型匹配;

对于与当前像素值匹配的高斯模型,采用如下方式进行更新:

ωi,t+1=(1-α)ωi,t+α

μi,t+1=(1-ρ)μi,t+ρxt+1

式中:ρ为参数更新率,α是模型的学习率,ρ=α/ωi,t+1;其余不匹配的像素,进行如下更新:ωi,t+1=(1-α)ωi,t;

保证当像素与模型匹配时,其模型权值增大,若像素与模型不匹配,其模型权值变小;

将k个高斯模型按照ωi,t/σi,t由大到小进行排序,根据下式:

从排序后的高斯分布中取前b个高斯分布作为背景模型,其中t为权重阈值。

所述步骤4中的lk光流算法基于以下三点假设:

(1)亮度恒定,像素在帧间运动时,像素值保持不变;

(2)图像的变化相对于时间的变化微小;

(3)在一个小的局部区域(n×n)内像素运动一致,亮度恒定;

由假设(1)可得:

i(x,y,t)=i(x+dx,y+dy,t+dt)

由假设(2)通过泰勒级数展开得:

根据上式得:

则:

ixu+iyv+it=0

其中,ix,iy是二维图像的偏导数,it是图像随时间的导数,u和v是所要求的速度在x,y方向分量,但目前对于单个像素无解,于是根据第三个假设得:

采用最小二乘法解得:

本发明的有益效果为:

本发明一种基于视频图像的车辆行为轨迹检测方法与感应线圈和雷达超声波相比,检测效率大幅提高而且可以获得更多的数据信息。该方法操作简单易行,节省了成本,减轻了劳动强度。

附图说明

图1、车辆行为轨迹检测方法整体框图;

图2、车辆检测跟踪算法流程图;

图3、模板更新流程图;

图4、车辆运动轨迹重建流程图。

具体实施方式

下面结合图1-4对本发明优选的实施例进一步说明:

一种基于视频图像的车辆行为轨迹检测方法,该方法包括一种融合的gmm-prlk的多运动目标的自动检测跟踪算法,并且加入模板更新机制来应对运动车辆在行驶的过程中发生的转弯和形变等现象,整个过程可以进行无监督的自动检测跟踪;步骤如下所示:

步骤1、在视频图像中设定车辆的检测区域;

步骤2、运用混合高斯模型(gmm)进行背景建模;

步骤3、利用背景差分法进行运动车辆的检测,在预先知道背景模型后,首先计算背景模型b(x,y)与当前图像fk(x,y)的差,然后对差分图像fd(x,y)进行阈值化,并对阈值化图像m(x,y)进行blob分析;

步骤4、利用金字塔lk(prlk)光流对运动目标进行跟踪;

在三维轨迹重建过程中,利用基于surf特征的改进的立体匹配算法,运用改进的knn-ransac算法进行特征点的匹配,能剔除较多的误匹配点;包括如下步骤:

第一步、在对左右两幅图像进行匹配时,对于每个特征都搜寻k(这里设置参数k=2)个最匹配的特征点,此外进行双向的匹配,即找到左图中每个特征点在右图中的两个最佳匹配,然后找到右图中每个特征点在左图中的两个最佳匹配。因此,对于每个特征点,在另一个视角中都有两个候选的匹配点,它们是基于描述子间距离的两个值。如果对于最优值的测量距离非常低,而次优值的要大许多,那么就可以安全地接受最优值,因此它是最佳选择。反过来,如果两个候选者非常接近,那么选择其中之一可能出错,因此这两个匹配值都会被拒绝。然后判断最优值与次优值之间距离的比率(nn比率),移除nn比率大于阈值的匹配。

第二步、使用基础矩阵来移除不满足极线约束的匹配,该测试基于ransac方法,即便匹配集合中存在异常值,它也可以计算基础矩阵。一般情况下,数据集合中都含有着些许的异常值,所以利用ransac算法便可以从这些集合中去预测出我们需要的数据,它的基本原理就是在整个数据集合中随机地选择部分数据点,然后通过这些数据点去预测。但是选择数据点的数目是有要求的,必须是用来预测的最小的个数。8个匹配对于基础矩阵来说正好是最小的个数,如果基础矩阵要从这8个随机的匹配当中去计算出来,那么从整个数据集合中余下的匹配都要通过与基础矩阵相对的极线约束的测试,从而发现正确的匹配,则基础矩阵的支持集合就通过这些成功的匹配来形成。ransac算法的支持基础便是这些支持集合,支持集合的大小决定了能计算出正确基础矩阵的可能性的大小。若是选择的多个匹配都是不正确的,则它的支持集合必定是很小的,从而导致计算出的矩阵也不会是正确的。我们通过多次重复整个过程来找到拥有着最大支持集合的基础矩阵,所以我们可以随机地选择8个匹配数次,来找到较棒的8个匹配作为一个较好的支持集合。如果我们想提高找到多个优秀匹配集的概率,那么值得我们去选择的次数就应该更多。更为确切来说,若一个集合当中含有n%正确的值,则存在选择8个匹配时都为正确的匹配的机会为8n,若选择k次,置信概率c则为1-(1-8n)k,当然它越高越好,因此,当运行ransac算法时,置信等级就需要通过k的个数来得到。

所述步骤2的具体步骤如下所示:

对于一个相对静止的背景中,背景像素点在时间轴上服从一定的概率模型,故将该像素点的所有历史值用k个高斯分布来拟合,在t时刻,像素点概率分布为:

式中:xt是t时刻该点的像素值,k是混合高斯分布的个数,ωi,t是t时刻混合高斯模型中第i个高斯模型的权值,且满足条件0≤ωi,t≤1,μi,t、∑i,t分别表示t时刻第i个高斯模型的均值向量和协方差矩阵,η表示高斯概率密度函数,其定义为:

式中:n是xt的维数,∑i,t=(σi,t)2i,其中σi,t为标准差,i为单位矩阵;若满足|xt-μi,t|<2.5σi,t条件,则此像素与模型匹配;

对于与当前像素值匹配的高斯模型,采用如下方式进行更新:

ωi,t+1=(1-α)ωi,t+α

μi,t+1=(1-ρ)μi,t+ρxt+1

式中:ρ为参数更新率,α是模型的学习率,ρ=α/ωi,t+1;其余不匹配的像素,进行如下更新:ωi,t+1=(1-α)ωi,t;

保证当像素与模型匹配时,其模型权值增大,若像素与模型不匹配,其模型权值变小;

将k个高斯模型按照ωi,t/σi,t由大到小进行排序,根据下式:

从排序后的高斯分布中取前b个高斯分布作为背景模型,其中t为权重阈值。

所述步骤4中的lk光流算法基于以下三点假设:

(1)亮度恒定,像素在帧间运动时,像素值保持不变;

(2)图像的变化相对于时间的变化微小;

(3)在一个小的局部区域(n×n)内像素运动一致,亮度恒定;

由假设(1)可得:

i(x,y,t)=i(x+dx,y+dy,t+dt)

由假设(2)通过泰勒级数展开得:

根据上式得:

则:

ixu+iyv+it=0

其中,ix,iy是二维图像的偏导数,it是图像随时间的导数,u和v是所要求的速度在x,y方向分量,但目前对于单个像素无解,于是根据第三个假设得:

采用最小二乘法解得:

下面结合具体的实施案例对本发明做进一步讲解:1、利用matlab立体标定工具箱对双目摄像机进行标定,包括如下步骤:

步骤1、制作张正友棋盘格标定板,标定板大小为250mm*175mm,棋盘格为10*7。

步骤2、把标定板放在双目摄像机前不同位置处,分别放置14处位置,并保证标定板占据摄像机画面的二分之一左右,同时采集14对左右摄像机图像。

步骤3、对采集的图像进行角点的提取,提取的过程采取亚像素精度。

步骤4、利用张正友标定法对左右摄像机分别进行标定,具体过程如下:

依据小孔成像原理,像素点与三维物理点之间的齐次变换如下:

(1)单应性矩阵的计算

一般情况下,设模板所在平面为zw=0平面。那么对于模板平面上的点都有:

令h=a[r1r2t],h称为单应性矩阵。

可得:

整理得:

其中,h=[h11h12h13h21h22h23h31h32]t。令h=[h1h2h3],则:

[h1h2h2]=λa[r1r2t]

因为r1和r2是单位正交向量,即r1tr1=r2tr2=1,且r1tr2=0,所以

h1ta-ta-1h2=0

定义6维向量b=[b11b12b22b13b23b33]t,则有:

其中,

hi=[hi1hi2hi3]t

vij=[hi1hj1hi1hj2+hi2hj2hi2hj2hi3hj1+hi1hj3hi3hj2+hi2hj3hi3hj3]t

根据约束条件可以得到关于b的两个齐次方程:

可以得到线性方程组:

vb=0

其中,v是一个2n×6的矩阵。

通过b即可得到矩阵b,计算出摄像机内部参数。设定b=μa-ta,μ为一个任意的尺度系数。

通过内参数a和单应性矩阵h,摄像机外部参数可得:

(2)最大似然估计

假定有n幅标定图像,而且每图像中有m个角点。建立目标函数如下:

其中,mij为第i图像里第j点的像素坐标,ri、ti分别为旋转、平移矩阵,为计算得到的图像坐标。通过最大似然估计来求得更为精确的解。

步骤5、对双目摄像机进行立体标定,具体过程如下:

表示左右摄像机坐标系的变换关系。

mc1=[rt]mc2

对应的外部参数[r1t1]、[r2t2]也就是:

由于模板相同,mw1=mw2,代入有:

其中旋转矩阵r和平移矩阵t可以表示为:

2、对视频图像内的运动车辆进行实时自动的检测跟踪,包括如下步骤:

步骤1、在视频图像中设定车辆的检测区域;

步骤2、运用混合高斯模型(gmm)进行背景建模,具体过程如下:

对于一个相对静止的背景中,背景像素点在时间轴上服从一定的概率模型,故将该像素点的所有历史值用k个高斯分布来拟合,在t时刻,像素点概率分布为:

式中:xt是t时刻该点的像素值,k是混合高斯分布的个数,ωi,t是t时刻混合高斯模型中第i个高斯模型的权值,且满足条件0≤ωi,t≤1,μi,t、∑i,t分别表示t时刻第i个高斯模型的均值向量和协方差矩阵,η表示高斯概率密度函数,其定义为:

式中:n是xt的维数,∑i,t=(σi,t)2i,其中σi,t为标准差,i为单位矩阵。若满足|xt-μi,t|<2.5σi,t条件,则此像素与模型匹配。

对于与当前像素值匹配的高斯模型,采用如下方式进行更新:

ωi,t+1=(1-α)ωi,t+α

μi,t+1=(1-ρ)μi,t+ρxt+1

式中:ρ为参数更新率,α是模型的学习率,ρ=α/ωi,t+1。其余不匹配的像素,进行如下更新:ωi,t+1=(1-α)ωi,t。

因此,可以保证当像素与模型匹配时,其模型权值增大,若像素与模型不匹配,其模型权值变小。

将k个高斯模型按照ωi,t/σi,t由大到小进行排序,根据下式:

从排序后的高斯分布中取前b个高斯分布作为背景模型,其中t为权重阈值。

步骤3、利用背景差分法进行运动车辆的检测,在预先知道背景模型后,首先计算背景模型b(x,y)与当前图像fk(x,y)的差,然后对差分图像fd(x,y)进行阈值化,并对阈值化图像m(x,y)进行blob分析。

步骤4、利用金字塔lk(prlk)光流对运动目标进行跟踪。具体过程如下:

3、车辆三维运动轨迹重建

步骤1、对左右摄像机跟踪到的运动目标进行立体匹配,以获得左右图像的像素对应位置。此过程利用基于surf的knn-ransac算法,

步骤2、利用三角测量原理进行三维坐标还原。

步骤3、利用序列图像得到运动车辆的一系列三维坐标,从而生成车辆的运动轨迹。

尽管已经对本发明的技术方案做了较为详细的阐述和列举,应当理解,对于本领域技术人员来说,对上述实施案例做出修改或者采用等同的替代方案,这对本领域的技术人员而言是显而易见,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

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