一种基于牛顿插值的快速全局运动估计方法与流程

文档序号:21369336发布日期:2020-07-04 04:45阅读:233来源:国知局
一种基于牛顿插值的快速全局运动估计方法与流程

本发明涉及数字视频处理领域,具体涉及一种基于牛顿插值的快速全局运动估计方法。



背景技术:

随着多媒体技术的飞速发展,视频作为最重要的媒体介质,已经融入到我们工作和生活的各个方面。视频由图像传感器采集获得,图像传感器性能和采集过程中的干扰都会影响视频质量。摄像机在拍摄过程中若相机载体平台的随机抖动,就会导致图像画面的晃动,当抖动程度比较剧烈时,会造成图像画面模糊,视频质量大幅下降。特别对于航空机载平台,在航拍过程中由于飞机的运动和云台的转动,拍摄视频晃动比较剧烈,造成图像质量的下降,为后期处理带来不便。另外,在车载监控场景中,由于受车辆震动等因素的影响,也会造成相机的小幅抖动,拍摄到的视频图像不完全静止,同样会给后期的视频分析带来干扰。视频抖动严重影响视频的可视化质量,极易引起视觉疲劳,而且视频抖动不利于视频压缩,会导致压缩码流急剧升高,严重影响视频存储和传输性能。近年来,随着无人机、无人驾驶、虚拟现实等技术的兴起,视频处理领域中的视频稳像技术己经成为研究热点。

视频稳像按原理可以分为机械稳像、光学稳像和数字稳像,其中数字稳像方法灵活、成本低、适用性广。数字稳像的典型处理过程分3个环节:运动估计、运动补偿和图像修复。全局运动估计是数字稳像技术中的核心技术。获取全局运动矢量估计是通过估计视频顺序帧之间的物体运动,得到相关的运动矢量,它是数字稳像算法的关键环节。

常见的视频序列运动估计方法主要分为两类:频域运动估计和空域运动估计。频域运动估计主要有傅里叶变换、小波变换、离散余弦变换等方法;空域运动估计主要有块匹配法、灰度投影法、光流法、特征匹配法等。根据运动估计方法的不同,其应用领域也有所不同,其中,频域运动估计方法主要用于数字视频压缩编码,通过频域转换,去除视频在时间域上的数据冗余;空域运动估计主要用于数字稳像、目标跟踪等领域。

目前已有一些关于全局运动估计的研究成果。王朋月等人提出了一种基于orb特征匹配的全局运动估计方法(见“基于orb特征匹配的全局运动估计”,兵工自动化,2017,36(12):43-47+51)。该方法首先对差分图像进行分块,通过设定阈值来筛选出有效的背景运动模块,然后经orb特征匹配后,代入六参数运动模型,通过最小二乘法求解出估计参数,最后对当前帧做补偿,比较补偿前后的差分图像中的目标轮廓的清晰度。申请号为cn200810105897.9的专利公开了一种用于视频稳定的快速全局运动估计方法。该方法首先利用下采样图像进行全局运动矢量的初步估计,然后利用重叠区域对应局部块实现全局运动矢量的精确校正,最后对获得的全局运动矢量进行检验,从而获得当前帧的全局运动矢量。申请号为cn201210048089.x的专利公开了一种基于自适应sift算法的人员室内定位方法。该方法首先对全局运动的图像序列进行特征提取,然后将正确的匹配点作为样本集估计摄像机的运动模型,得到摄像机的偏移量;使用了拉格朗日抛物线插值法,预测参考帧和当前帧图像的重叠区域,在此区域进行提取特征点和特征匹配,用于室内人员定位系统。上述方法虽然已经能够进行有效的全局运动估计,但尚不能做到估计精度和计算速度的兼顾,特别是处理速度还可以进行一步提升。



技术实现要素:

为了在保证全局运动估计准确度的条件下减小计算复杂度,本发明提供了一种基于牛顿插值的快速全局运动估计方法,所述方法包括以下步骤:

(1)从视频序列中取初始参考帧,提取初始参考帧的特征点、保存至集合l1中;

从当前视频序列中获取第一帧作为初始参考帧,对初始参考帧使用surf算子提取特征点并保存到集合l1中。surf是sift算子的改进加速版本,它采用更为高效的方式完成特征点的提取和描述。该算子首先构建黑塞矩阵(hessian),生成所有的边缘点,用于特征的提取,然后构造尺度空间,定位特征点并计算主方向,最后生成特征描述。

(2)取所述视频序列中除初始参考帧外的任一帧作为当前帧,预测当前帧与参考帧的重叠区域;

从当前视频序列中获取新的一帧图像作为当前帧。本发明根据视频序列已进行全局运动估计的总次数n,判断是否使用牛顿插值公式来预测当前帧与参考帧的重叠区域。若n小于阈值thn,则不进行重叠区域预测,将整帧设为感兴趣区域,跳至步骤(4);若n大于等于thn,则根据n次全局运动估计获得的横坐标偏移量及对应的差商使用式(1)所示的牛顿插值法获得当前帧横坐标偏移量的预测值;阈值thn的取值范围为[3,10]。n的初值为0,表示尚未进行全局运动估计。

在式(1)中,ph(x)为当前帧横坐标偏移量的预测值,x为当前帧与初始参考帧之间的时间间隔,x0、x1、x2…xn分别是前n次全局运动估计时对应的当前帧与初始参考帧之间的时间间隔,它们可以根据相机的帧率和两帧之间序号差值来计算而得,n值为全局运动估计次数n减1;h(x0)、h(x1)、h(x2)…h(xn)分别表示n次全局运动估计的横坐标偏移量,其中h[x0,x1…xn]为差商,由式(2)递归计算得到:

以n次全局运动估计的纵坐标偏移量及对应的差商使用式(3)所示的牛顿插值法获得当前帧纵坐标偏移量的预测值;

式中,pv(x)为当前帧纵坐标偏移量的预测值,x为当前帧与初始参考帧之间的时间间隔;x0、x1、x2…xn分别是前n次全局运动估计时对应的当前帧与初始参考帧之间的时间间隔,根据相机的帧率和两帧之间序号差值来计算而得,n值为全局运动估计次数n减1;v(x0)、v(x1)、v(x2)…v(xn)分别表示n次全局运动估计的纵坐标偏移量,其中v[x0,x1…xn]为差商,由式(4)递归计算得到;

另外,由于相机运动不是一直保持某种规律的,为了防止牛顿插值法累计误差过大,本发明每以牛顿插值法计算一次横坐标偏移量的预测值和纵坐标偏移量的预测值,则给计数器m加1,当m大于等于阈值thm时,将全局运动估计次数n值设为thn,并将m值清零,以便重新开始计数;thm的取值范围为[5,20]。这样做的目的是每使用thm次牛顿插值法,就使用最近thn次的全局运动估计结果根据牛顿插值公式重新计算偏移量,减少预测误差累计。以参考帧中任一像素点的坐标减去对应的横坐标偏移量预测值及纵坐标偏移量预测值,得到预测的当前帧与参考帧的重叠区域。

(3)在重叠区域中设置感兴趣区域;

若上述预测的重叠区域面积与当前帧面积的比值小于ths,则直接将重叠区域作为感兴趣区域执行下一步,阈值ths的取值范围为[0.5,0.9],否则本发明先对重叠区域按照宽高进行w×h分块,w是图像块的水平像素尺寸,h是图像块的竖直像素尺寸,w和h的取值范围都是[8,24];然后对每一小块根据式(5)计算平均梯度g,剔除平均梯度小于阈值thg的图像块,阈值thg的取值范围为[0.5,3.5],若出现所有图像块平均梯度都小于thg的特殊情况,则将thg减小一半,重新进行剔除操作,直到剩下的图像块个数不为零;最后将剩下的重叠区域作为感兴趣区域。

式(5)中,表示水平方向的梯度,表示垂直方向的梯度。

(4)提取感兴趣区域的特征点,保存至集合l2中;

对上一步得到的感兴趣区域使用surf算子提取特征点,并将其保存到集合l2中。

(5)对集合l1和集合l2中的特征点进行特征匹配;

对于前面获取到的两组特征点集合l1和l2,本发明利用点集间特征向量的欧氏距离来确定匹配度,欧式距离越短,代表两个特征点的匹配度越好。thp为最小距离阈值,取值范围为[100,1000],距离小于等于thp的特征点作为匹配初结果,然后使用随机样本一致性方法ransac剔除误匹配点得到最终匹配结果。

(6)基于特征匹配结果,进行全局运动模型估计;

因为摄像机具有平移、旋转、缩放的特点,所以本发明选用六参数模型来描述全局运动矢量。六参数模型如式(6)所示:

式中,(x,y)是参考帧的坐标,(x’,y’)是当前帧的坐标;a1、a2、a3、a4表示摄像机的旋转和缩放,a5、a6表示摄像机的上下左右平移。根据步骤(5)得到的匹配结果,使用最小二乘法求出六个参数的最优估计。

(7)计算相机偏移,得到全局运动矢量;

根据步骤(6)得到的六参数模型,代入参考帧的坐标,可以得到参考帧在当前帧上的对应坐标,即重叠区域。利用参考帧坐标点和重叠区域对应点的坐标相减取平均值,可以得到横坐标和纵坐标的偏移量,分别作为当前帧全局运动矢量的水平分量和竖直分量。

(8)更新全局运动估计数据,返回步骤2直至当前视频序列处理结束;

更新全局运动估计数据包括全局运动估计总次数n加1,并将l2中的特征点覆盖掉l1中的特征点,当前帧作为下一次处理时的参考帧,返回步骤(2)直到当前视频序列处理结束。

与现有技术相比,本发明具有以下有益效果:

本发明使用surf特征检测算子,作为sift算子的高效变种,在保证效果的前提下,速度更加快;使用牛顿插值法进行预测,作为拉格朗日插值法的改进,增加节点时,计算只增加一项,计算相对简单,加快了速度。本发明先预测了重叠区域,然后分块后利用平均梯度剔除其中边缘信息较少的图像块,对感兴趣区域进行特征检测,大幅减小了特征检测的区域,加快算法速度;特征匹配使用了随机样本一致性方法剔除误匹配点,提高匹配精度。本发明在保证全局运动估计准确度的情况下,减小计算量,提高了实时性。

附图说明

图1为本发明流程框图。

图2为牛顿插值法预测重叠区域的流程框图。

具体实施方式

下面结合实施例和附图来详细描述本发明,但本发明并不仅限于此。

如图1所示,一种基于牛顿插值的快速全局运动估计方法,包括以下步骤:

(1)从视频序列中取初始参考帧,提取初始参考帧的特征点、保存至集合l1中;

(2)取所述视频序列中除初始参考帧外的任一帧作为当前帧,预测当前帧与参考帧的重叠区域;

(3)在重叠区域中设置感兴趣区域;

(4)提取感兴趣区域的特征点,保存至集合l2中;

(5)对集合l1和集合l2中的特征点进行特征匹配;

(6)基于特征匹配结果,进行全局运动模型估计;

(7)计算相机偏移,得到全局运动矢量;

(8)更新全局运动估计数据,返回步骤(2)直至当前视频序列处理结束。

步骤(1)具体包括:

本实施例选取了分辨率为1920×1080的视频序列,从中获取第一帧作为初始参考帧,对初始参考帧使用surf算子提取特征点并保存到集合l1中。本例具体使用opencv提供的surf算子函数。

步骤(2)具体包括:

从当前视频序列中获取新的一帧图像作为当前帧,根据视频序列已进行全局运动估计的总次数n,判断是否使用牛顿插值公式来预测当前帧与参考帧的重叠区域。若n小于阈值thn,则不进行重叠区域预测,将整帧设为感兴趣区域,跳至步骤(4);若n大于等于thn,则根据n次全局运动估计获得的横坐标偏移量及对应的差商使用式(1)所示的牛顿插值法获得当前帧横坐标偏移量的预测值;阈值thn的取值范围为[3,10],此处thn取值为4。

在式(1)中,ph(x)为当前帧横坐标偏移量的预测值,x为当前帧与初始参考帧之间的时间间隔,x0、x1、x2…xn分别是前n次全局运动估计时对应的当前帧与初始参考帧之间的时间间隔,它们可以根据相机的帧率和两帧之间序号差值来计算而得,此处相机的帧率为30fps,n值为全局运动估计次数n减1;h(x0)、h(x1)、h(x2)…h(xn)分别表示n次全局运动估计的横坐标偏移量,其中h[x0,x1…xn]为差商,由式(2)递归计算得到:

根据n次全局运动估计的纵坐标偏移量及对应的差商使用式(3)所示的牛顿插值法获得当前帧纵坐标偏移量的预测值;

式中,pv(x)为当前帧纵坐标偏移量的预测值,x为当前帧与初始参考帧之间的时间间隔;x0、x1、x2…xn分别是前n次全局运动估计时对应的当前帧与初始参考帧之间的时间间隔,根据相机的帧率和两帧之间序号差值来计算而得,n值为全局运动估计次数n减1;v(x0)、v(x1)、v(x2)…v(xn)分别表示n次全局运动估计的纵坐标偏移量,其中v[x0,x1…xn]为差商,由式(4)递归计算得到;

如图2所示,每以牛顿插值法计算一次横坐标偏移量的预测值和纵坐标偏移量的预测值,计数器m加1,当m大于等于阈值thm时,将全局运动估计次数n值设为thn,并将m值清零,以便重新开始计数,thm的取值范围为[5,20],此处取值为8,即每使用8次牛顿插值法,使用最近4次的全局运动估计结果根据牛顿插值公式重新计算偏移量。以参考帧中任一像素点的坐标减去对应的横坐标偏移量预测值及纵坐标偏移量预测值,得到预测的当前帧与参考帧的重叠区域。

步骤(3)具体包括:

若上述预测的重叠区域面积与当前帧面积的比值小于ths,则直接将重叠区域作为感兴趣区域执行下一步,阈值ths的取值范围为[0.5,0.9],此处取值为0.6,否则本发明先对重叠区域按照宽高进行w×h分块,w是图像块的水平像素尺寸,h是图像块的竖直像素尺寸,w和h的取值范围都是[8,24],此处取值为16;然后对每一小块根据式(5)计算平均梯度g,剔除平均梯度小于阈值thg的图像块,阈值thg的取值范围为[0.5,3.5],此处取值为2。若出现所有图像块平均梯度都小于thg的特殊情况,则将thg减小一半,重新进行剔除操作,直到剩下的图像块个数不为零;最后将剩下的重叠区域作为感兴趣区域。

式(5)中,表示水平方向的梯度,表示垂直方向的梯度。

步骤(4)具体包括:

对上一步得到的感兴趣区域使用surf算子提取特征点,并将其保存到集合l2中。

步骤(5)具体包括:

对于前面获取到的两组特征点集合l1和l2,利用点集间特征向量的欧氏距离来确定匹配度,欧式距离越短,代表两个特征点的匹配度越好。thp为最小距离阈值,取值范围为[100,1000],此处取值为200,距离小于等于200的特征点作为匹配初结果,然后使用随机样本一致性方法ransac剔除误匹配点得到匹配结果。

步骤(6)具体包括:

运用六参数模型来描述全局运动矢量。六参数模型如式(6)所示:

式中,(x,y)是参考帧的坐标;(x`,y`)是当前帧的坐标;a1、a2、a3、a4表示摄像机的旋转和缩放;a5、a6表示摄像机的上下左右平移。根据步骤(5)得到的匹配结果,使用最小二乘法求出六个参数的最优估计。

步骤(7)具体包括:

根据步骤(6)得到的六参数模型,代入参考帧的坐标,可以得到参考帧在当前帧上的对应坐标,即重叠区域。利用参考帧坐标点和重叠区域对应点的坐标相减取平均值,可以得到横坐标和纵坐标的偏移量,分别作为当前帧全局运动矢量的水平分量和竖直分量。

步骤(8)具体包括:

全局运动估计总次数n加1,并将l2中的特征点覆盖掉l1中的特征点,当前帧作为下一次处理时的参考帧,返回步骤(2)直到当前视频序列处理结束。

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