一种基于时间一致性的双目视频运动物体检测方法与流程

文档序号:17941080发布日期:2019-06-18 23:06阅读:196来源:国知局
一种基于时间一致性的双目视频运动物体检测方法与流程

本发明属于图像处理和计算机视觉领域,涉及车载视频运动物体检测的方法,具体为一种基于时间一致性,通过计算场景流检测运动物体的方法。



背景技术:

在自动驾驶领域,运动物体检测是最为重要的一个部分。光学摄像头可提供大量的图像深度、颜色等信息,通过分析图像信息可以对运动物体进行分类并判断其对自车的危险性。运动物体检测主要有两个方面的研究:一是对于单张图像基于像素点的颜色、亮度等信息,通过特征点提取运动物体的外观信息,也就是外观检测;二是对于多张图像基于特征点匹配,通过计算场景流等来检测运动物体的运动信息,也就是运动检测。运动检测的目的是将图像的前景和背景分离,然后计算前景中所含有的运动物体种类和运动信息,其广泛应用于自动驾驶、智能机器人等领域。

目前关于运动检测的研究比较丰富,计算特征点的运动信息是运动检测的一个重要手段。从特征点的运动信息的计算方式来说,可以分为特征点的光流计算和场景流计算。光流为特征点在二维平面上移动的大小和方向,是一种顺时速度场即向量场。每一个像素的光流代表图像中每一点位置的变化。光流可分为稀疏光流场和稠密光流场,稀疏光流只计算图像中部分特征点的速度向量,而稠密光流场则计算整幅图像的速度向量。场景流是描述物体在三维坐标系下运动的大小和方向,也是光流在三维坐标系的投影。场景流同时含有图像的深度和运动信息,通过这些信息可更准确地分离前景和背景。现阶段场景流计算是基于前后两帧图像,通过构建能量公式求得图像场景流的方法。此方法虽然计算的场景流较准确,但计算量十分庞大且运行时间较慢。并且在计算新一帧图像的场景流时没有考虑前一帧检测的运动信息,不能保持物体运动的延续性,在新一次的计算过程中也可能丢失前一帧已检测出的运动物体。因此在检测结果中往往存在漏检和误检区域。

时间一致性通过建立前后帧的运动关联,能将前一帧的运动信息保存并能够作用于计算下一帧运动信息的过程中。最近,也有一些方法将时间一致性运用在计算场景流的过程中。然而,这些方法仅仅是用上一帧的运动信息对下一帧先验知识起到约束性作用,没有对场景流计算的过程起到约束作用,不能很好地体现时间一致性。

为了解决上述问题,当前需要一种新的基于时间一致性的场景流计算方法。



技术实现要素:

本发明要解决的问题是:在视频的场景流计算技术中,单纯依靠构建场景流能量公式,将能量公式最小化来求场景流有很大的不稳定性。并且在计算过程中,每一帧都要通过重新计算场景流来计算场景中的运动物体,不会考虑前一帧已检测出的运动物体和后一帧运动物体的联系,使得计算量巨大并且不能保持物体运动的连续性。因此传统方法在上一帧检测出的运动物体在后一帧可能会被漏检,需要提出一种新的基于时间一致性的场景流计算方法,保证物体在连续帧之间的连续性,从而提高运动物体的检测效果。

为了解决上述问题,本发明提供了一种基于时间一致性的双目视频运动物体检测方法,以超像素为检测单位,融合图像的运动信息和深度信息,基于斜平面模型加入时间一致性的场景流计算,包括以下步骤:

1)获得t-1帧计算的运动标签和对应的运动模型,计算t帧的斜平面模型、自运动模型和初始物体运动模型;

2)根据t-1帧的运动标签和运动模式,预测同一运动物体在t和t+1帧图像中的位置,并计算出t帧的场景流能量方程中时间一致性数据项;

3)根据t帧计算出的初始物体运动模型、超像素的信息和时间一致性数据项构建t帧场景流能量方程,使能量方程最小化求出t帧超像素的运动标签和相应的运动模型。

进一步,所属步骤1)中的计算t帧的斜平面模型、自运动模型和初始物体运动模型,具体是:

1.1)对t帧的左图进行超像素分割,并计算t帧的视差图;

1.2)基于超像素的分割结果和视差图构建t帧的斜平面模型,将每个超像素块视为一个3d平面,计算平面的坐标参数及深度参数和超像素块里各像素的坐标、视差;

1.3)对t和t+1帧图像选取对应的特征点并计算t帧图像光流,根据光流计算出车辆的自运动模型,将光流中属于自运动的特征点去除,对剩下的点进行聚类处理,获得t帧中运动物体的初始运动模型。

进一步,所属步骤2)中的利用t-1帧运动标签和运动模型预测同一物体在t和t+1帧的位置,具体是:

2.1)在车辆驾驶视频中,每两帧之间的时间间隔都非常短,所以在连续的几帧之间物体的运动模式改变应该具有连续性不会发生巨大的变化。并且在图像中物体的变化应该是连续的,不会出现突然消失和突然出现的现象。综上所述,在本发明中假设运动物体在前后两帧的运动模型非常接近,并且可用前一帧的运动模式来预测同一物体在下一帧图像中的位置。通过输入的t-1帧和t帧的四幅图像,可以计算出每个超像素块的运动标签lk和与之对应的运动模型

2.2)根据t-1帧的超像素块可以找到在t帧与之对应的超像素块利用超像素块和前一帧运动模型可以预测同一运动物体在t+1帧的位置:

2.3)根据t帧和t+1帧对应的超像素块,可以计算出t帧和t+1帧之间的预测光流计算出的光流将在下面的能量方程中使用。

进一步,所述步骤3)中计算场景流能量公式中时间一致性数据项,具体是:

3.1)令t帧左图为参考图像,t帧右图和t+1帧左右两幅图像为目标图像。根据t帧左图的运动物体的位置和在t-1帧计算出的运动物体的运动模型,计算同一运动物体在目标图像的位置;

3.2)根据上步的计算,获得参考图像中每个超像素块在目标图中所对应的超像素块的位置信息s′target;

3.3)根据步骤2)计算出的t帧运动模型和斜平面模型,计算参考图像中每个超像素块在目标图中对应的超像素块的位置信息starget;

3.4)计算s′target和starget的差距,计算的结果为时间一致性数据项的值。

3.5)根据t-1帧计算的运动模型,预测t帧的超像素块在t+1帧所对应超像素块的位置坐标。如果超像素块不在图像范围内,则认为超像素块在t+1帧将运动出图像,不再计算其时间一致性数据项,将其对应的权重值设为零;

3.6)如果在t+1帧的超像素块仍在图像内,则计算超像素块里每个对应像素之间的差异性,并根据差异性的大小来计算其对应时间一致性数据项的权重。差异性越小其权重值越大,表示时间一致性数据项在整个能量方程中所占的比例越大,代表前后两帧物体运动模型越接近。超像素块差异性越大,表示时间一致性数据项在能量方程中所占得比例越小,代表物体在后一帧并没有延续之前的运动模型。

本发明提供了一种基于时间一致性的双目视频运动物体检测方法,该方法首先获得t-1帧计算的运动物体标签和运动模型,再输入t和t+1两帧的左右四幅图像,根据t-1帧求得的运动物体标签和运动模型将t帧的图像分为背景和前景,并预测运动物体在t和t+1帧的位置信息,对t和t+1帧图像进行超像素分割并求出它们的视差图和光流,根据光流聚类计算出t帧的运动模型,最后根据t-1帧运动模型,及t帧运动模型和超像素信息构建能量方程,通过最小化能量方程计算出t帧的运动物体标签和对应的运动模型。应用本发明缓解减少了车载视频中运动物体漏检的问题,提高了运动物体的检测效果。本发明适用于车载视频的运动目标检测,检测结果准确,算法鲁棒性好。

本发明的优点:首先,本发明对于视频不再单帧地计算图像场景流,而是保持了运动的延续性,预测下一帧运动物体所在的位置,能够更准确的找到运动物体;其次,在能量公式中加入时间一致性数据项,大大减少误检的现象;最后,对不同的超像素块的时间一致性数据项设置权重,有效避免异常运动所造成误检的可能性,提高了本方法的鲁棒性。

附图说明

图1是本发明基于时间一致性的双目视频运动物体检测方法的流程图。

图2是本发明计算场景流能量方程的流程图。

具体实施方式

本发明提供了一种基于时间一致性的双目视频运动物体检测方法,该方法以车载双目摄像视频作为输入,对图像进行超像素分割并求出图像的视差图,构建斜平面模型,根据输入图像计算光流和车辆自运动模型,通过计算当前帧运动物体的初始运动模型,利用所获的t-1帧的运动模型和t帧计算的斜平面模型和初始运动模型构建能量方程,通过最小化能量方程来计算当前帧的场景流。

本发明包括以下步骤:

1)获取检测视频,所述检测视频是通过车载视频双目摄像机获取的,视频中包含的物体种类和运动模型较多;

2)本发明假设每幅图像都由背景和少数运动物体组成,每个运动物体由多个超像素块组成,并且同一物体所包含的超像素块对应的运动模型相同,所以在本发明中将求场景流的问题转化成超像素块和运动模型匹配问题,根据条件随机场构建场景流能量方程,并对能量方程最小化处理,计算超像素块和运动模型之间的最优匹配关系来寻找图像中的运动物体;

2.1)输入t帧的左、右图和t+1帧的左、右图共四幅图像,将t帧的左图作为目标图像,利用slic算法对其进行超像素分割,获得超像素块的信息,并利用sgm算法计算图像的视差图,根据求得的视差图计算每个超像素块的深度信息,并构建斜平面模型si=(ni,lk)t,其中ni代表超像素块si的3d信息,lk∈{1,...,|o|}代表超像素块的运动标签;

2.2)根据t和t+1两帧的图像计算出t帧左图的光流ft,并使用libviso算法求出t帧车辆自运动模型tr,利用车辆自运动模型tr将光流ft中因为自车运动所产生的光流去除,根据图像的视差值和相机内参将光流ft中的点对xi转化成三维坐标系下的坐标点xi,并利用ransac方法对xi进行聚类,通过得到的三维点集求出每个点集所对应的旋转平移矩阵oin(in为模型个数),其中每个运动模型由旋转参数rin=(rx,ry,rz)和平移参数tin=(tx,ty,tz)组成,根据运动模型所符合的点数将oin由大到小进行排列,取出符合点数最多的前四个运动模型作为假设的运动物体参数模型;

2.3)计算运动模型所对应三维点集的中心点和每个超像素块的中心点的距离,通过比较大小对超像素块和运动模式做一个初始分配,计算每个超像素块的初始运动标签,并对斜平面模型si的lk进行赋值。

3)在车载视频中,每两帧之间的时间间隔非常短,所以两帧之间同一物体的运动模式不会发生明显的改变,同时同一物体在连续图像中的位置变化应具有连续性,同一运动物体在图像中不会凭空出现或消失,在本发明中将通过前一帧计算出的运动物体预测下一帧图像中运动物体所在的位置和运动模式;

3.1)根据t-1帧计算出的运动标签和相应的运动模式,计算出t-1帧的运动物体在t帧的位置s′t,利用计算同一运动物体在t+1帧中的位置;

3.2)在车载视频中运动物体在持续不断地运动,所以同一运动物体在不同帧之间的大小也会发生改变,如果运动物体朝车辆驶来,则运动物体在图像中所占的像素点数逐渐变大,在利用前一帧的运动信息对下一帧的运动预测上会出现形变的现象,所以在本发明中对预测的物体进行形态学处理,使预测的位置更加准确。

4)本发明在原有的计算场景流框架中加入了时间一致性的概念,在计算后一帧运动物体的能量方程中加入前一帧运动物体的信息,在车载视频中每两帧的相隔时间较小,运动物体的运动模式不会出现较大的变化,所以本发明认为后一帧运动物体的运动模式应该尽量接近上一帧运动物体的运动模式,将此判定方法加入到原有的能量方程中能够减少运动物体的误检现象;

4.1)本发明所设计的能量方程由三个数据项组成,如下公式所示,其中data项为了保持参考图像和目标图像中的对应点在外观上应尽量保持一致,smoothness项为了保持相邻的超像素块在深度和运动方向上应尽量保持一致,temporalconsistency项为了保持前后两帧同一运动物体的运动模式应尽量相近。其中si为t帧计算出的超像素块斜平面模型,sj为其相邻的超像素块平面模型,ot为在步骤2.2)中计算出的t帧运动物体的运动模型,ot-1为在t-1帧计算出的运动物体的运动模型;

4.2)其中,temporalconsistency项的计算方法应如下的三个公式所示,g代表目标图像,s代表参考图像中所含的超像素块,lk表示超像素块的运动标签,h为从参考图像到目标图像摄像机的正交变换矩阵,n表示超像素块所在斜平面模型的3d信息。ro,to为运动模型所表示的旋转平移向量,像素点p为标签为lk的超像素块所含的点,q(o)为像素点p经过运动模型o的旋转平移运动后在目标图像中的位置,dg(p,q(o))为参考图像的点p和经过运动模型o的旋转平移变化后在目标图像中得到的点q之间的差异,则ξg(p,ot,ot-1)表示参考图像中的点p分别经过ot和ot-1运动后得到的目标图中的点差异大小,得到的值越大则表示运动模型ot和ot-1的差异越大,得到的值越小则运动模型ot越接近ot-1。

ξg(p,ot,ot-1)=dg(p,q(ot))-dg(p,q(ot-1))

q(o)=h(r(o)-t(o)·nt)h-1p

5)通过观察发现,在原有场景流能量公式中加入时间一致性数据项,一些特定的情况下也可能会导致错误发生。例如,在车载视频中距离摄像头越近物体在图像中的位移越大,当距离小于一定值时物体在图像中可能会发生形变,使得通过前一帧运动模式预测的运动物体在后一帧的位置可能错误,并且同一运动物体在下一帧可能不在图像中,这也会导致错误的检测结果,所以在本发明中在能量公式的temporalconsistency项上设置权值wi(i∈s),用来控制temporalconsistency项在能量公式中所占的比例;

5.1)本发明将计算情况分为两种,同一运动物体在t+1帧不存在图像中时,此时设置wi=0,当同一运动物体t+1帧存在图像中时,则计算同一运动物体在第t帧和第t+1帧其超像素块中每个像素点之间的差异值,计算公式如下,其中为t帧和t+1帧对应的超像素块,m为超像素块含有的像素个数,控制相似性权值强度,

通过计算同一运动物体在第t帧和第t+1帧其超像素块中像素点的差异和来计算wk的值,差异值越大表明通过t-1帧运动模式预测的t+1帧运动物体所在的位置和原物体差异越大,所以wk值越小,反之差异值越小表明t-1帧和t帧运动模式越接近,则wk的值越大。

所以,加入权重值后的能量方程可表示为:

6)将步骤2)和步骤3)得到的变量带入能量公式中进行计算,通过拟牛顿近似算法(bfgs)不断迭代优化上述能量方程e(s,o),最终求出最优解,计算出t帧的运动标签和相应的运动模型。

本发明在视频分析技术领域有着广泛的应用,例如:无人驾驶障碍物检测系统、机器人寻路系统等。下面参照附图,对本发明进行详细的描述。

(1)在本发明的实施例中,采用slic超像素分割算法对彩色图像进行分割,得到图像对应的区域标记,并采用sgm算法求出图像的视差图;

(2)基于超像素分割结果和计算出的图像视差图构建斜平面模型,每个模型由表示平面3d信息的参数和超像素块的运动标签组成;

(3)根据输入的图像,计算图像的光流信息和车辆自运动模型,根据车辆的自运动模型对光流进行筛选,去除符合自运动的光流,将过滤后的光流匹配点转化成三维坐标系下的点,并使用ransac方法对3d点根据其欧氏距离进行聚类,根据聚类得到的3d点集求出运动模型,并记录这些运动模型,最后选取符合点数最多的前四个模型作为当前帧的运动物体的运动模型;

(4)输入前一帧计算出的运动标签和相应的运动模型,计算出同一运动物体在当前帧和下一帧的位置,并计算出同一运动物体在目标图像的位置,将上述计算出的变量带入场景流能量方程e(s,o)中,通过能量方程的不断优化计算出当前帧的运动标签和相应的运动模型。

在nvidiaquadrok2200和ubuntu14.0464位操作系统下,采用caffe和matlab2015编程实现该方法。

本发明提供了一种基于时间一致性的双目视频运动物体检测方法,适用于图像的运动物体检测,鲁棒性好,检测结果准确。实验表明该方法能够有效地进行运动物体检测。

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