四种子块匹配数字稳像算法比较

之前在学校里对机载视频数字稳像方面的一些研究,选其中的一些内容分享到CSDN,转载请注明出处:四种子块匹配数字稳像算法评价【武林麦客】

1.图像子块匹配法原理

图像子块匹配法是最为常用的一种运动估计算法,该方法假定图像中所有像素有着相同的运动。为了减少计算量,通常通过求解局部运动向量来获取全局运动向量,这种方法称为图像子块匹配法(Sub-image matching algorithm)。如下图所示描述了图像子块匹配法的基本原理。

四种子块匹配数字稳像算法比较_第1张图片
(a) 图像子块 (b) 子块匹配

图像中局部目标一般集中在图像的中间,所以,图像的四周受到局部目标的干扰相对较少。图中定义了四个子块,为了使图像子块具有代表性,这四个子块在图像四周的分布均匀。接着,在指定区域内平移各个子块,如图(b)所示,在虚线范围内移动。在移动的同时,计算子块与参考帧中对应区域的匹配度。

单一的局部运动向量LVM代替全局运动向量 的做法容易产生误差,一个较好的减小误差的方法是定义多个图像子块,对多个子块的局部运动向量进行均值处理,这样得到的运动向量具有全局代表性。通常可以选择一帧图像中四边的四个子块,对于每个图像子块都做上述匹配,就可以得到所定义的四个图像子块的局部运动向量 。对得到的四个局部运动向量做算术平均后得到全局运动向量 。

四种子块匹配数字稳像算法比较_第2张图片

确定好匹配准则、图像子块选择好后,接下来就要选择图像子块的搜索策略了。运动估计是数字稳像最为关键的一步,因为它会消耗处理器很多的机器周期,需要大量的数字计算,而其中大量的数字运算大部分都被搜索过程所占据。因此,可以说搜索策略决定了图像子块匹配算法性能的优劣。下面将对图像子块的搜索策略进行研究。

2.图像子块匹配搜索策略

常用的搜索策略有耗尽搜索法又称全搜索法、三步搜索法、菱形搜索法,有相关文献在此基础上做出了改进,出现了改进的三步搜索法、简便高效的三步搜索法、四步搜索法等,还有搜索效率比较高的自适应十字模板搜索法。搜索区域对搜索效率有着直接的影响,搜索区域的定义需要结合实际进行,在开始对搜索策略进行研究之前,先对搜索块规则进行约定。如下图所示,其中p是搜索参数。

四种子块匹配数字稳像算法比较_第3张图片

通常,搜索参数p取值为7个像素点,一般随机抖动都是属于小范围的图形运动,因此,7个像素点基本能够满足需求。虽然预留更多的像素点空间能够更好的应对图像帧间的大运动矢量情况,但同时需要更多的数字计算为代价。本文主要针对全搜索法、三步搜索法、菱形搜索法和自适应十字搜索法这四种搜索策略的性能进行研究。

a.全搜索法

全搜索法在所有搜索法中所需要的计算量是最大的,它会在搜索区域中一个不留的匹配所有的位置,以期找到最为满意的匹配块。显然,这种方法也是最为精确的。全搜索的这种特性对于那些实时性要求比较高的数字稳像系统来说并不是好的选择。示意图如下:

四种子块匹配数字稳像算法比较_第4张图片

b.三步搜索法

三步搜索法是最早尝试的快速块匹配搜索算法之一,它的思想是搜索粒度逐渐放细。下图是该方法的演示图。搜索的起始步长设置为4,通常情况下的搜索参数为7。开始第一次搜索,将图像子块依次移动到初始位置周围的八个点,如图中圆点所示,按照匹配准则进行匹配,得到最佳匹配后开始第二次搜索;第二步搜索以第一次搜索得到的最佳匹配块为中心,设置步长为2,将图像子块依次与该中心周围的八个小正方块进行匹配,按照选取的匹配准则得到最佳匹配后,完成第二步搜索;第三步搜索是在第二次搜索的基础上,设置步长为1,以第二步搜索得到的最佳匹配块为中心,将图像子块一次与该中心周围的八个小三角形块进行匹配,按照匹配准则得到最佳匹配块。最后一步得到的最佳匹配块即为三步搜索法的最佳匹配。

四种子块匹配数字稳像算法比较_第5张图片

三步搜索法与全搜索法相比较,性能方面得到了很大的提升。在同样的搜索参数 下,全搜索法需要搜索225个子块,而三步搜索法只需要搜索25个子块即可。但是,这种快速算法对搜索参数要求比较严格,如果运动幅度比较大,该算法就无法处理,因为三步搜索法最大的搜索步长为7;如果运动幅值比较小,就可能出现局部最小值而使得匹配的精度变差。

c.菱形搜索法

菱形搜索法和四步搜索法十分相似,不同的是它将搜索模板由正方形改成了菱形,而且它对搜索步长没有限制。该方法用了两个不同的搜索模板,一种是9个搜索位置的大菱形模板(LDSP),一种是有5个搜索位置的小菱形模板(SDSP),如下图。

四种子块匹配数字稳像算法比较_第6张图片

菱形搜索分5步进行,其中1~4步为大菱形搜索,第5步为小菱形搜索。搜索路径如图3-6所示。
四种子块匹配数字稳像算法比较_第7张图片

菱形搜索法用到了两种不同步长的搜索范围,首先使用大菱形模板进行粗定位,这使搜索的过程中能够有效的避免局部最优位置的干扰,接着,再使用小菱形模板进行精确定位,通过这种方法避免了搜索结果的波动。从图中可以看出,相邻两次搜索的搜索位置有重叠,这时只需计算在上次模板上新增加的匹配结果,因此,这种搜索策略的搜索效率很高。菱形搜索算法也被选为MPEG-4验证模型。

d.自适应十字模板搜索法

自适应十字模板搜索法利用了帧运动通常具有连贯性的特点,例如,若当前子块附近的子块向某一特定方向移动,那么当前子块与之具有相同运动矢量的可能性很大。这个策略是从一篇外文文献上看到的,下面介绍的比较啰嗦,方法还是很棒的,耐心的看下去吧!不同于前面的几种搜索策略,自适应十字模板有两个阶段组成:
1. 初始粗搜索阶段;
2. 局部精确搜索阶段
对于每一个子块,初始粗搜索阶段仅执行一次以便能找到一个好的起始点,这也是为后续的精确搜索做准备。通过这种方式,就可以大大减少不必要的中间搜索和陷入局部最小值的风险。在第一阶段,自适应十字模板被确定,模板的大小是根据每个子块附近的子块动态决定的,它依赖于附近可用的子块的运动矢量。在第二阶段,重复的利用第一阶段产生的模板进行精确搜索,直到寻找到最佳匹配子块。为了加速搜索,0矢量运动也会被判定,这会对那些包含许多小范围运动的视频序列产生很有益的效果。

对于检测小运动来说,小模板密集搜索比大模板稀疏搜索要好,因为对于检测来说搜索窗必须搜索的位置很少。然而,当检测大运动时,小模板可能陷入局部最小错误估计。另外,大模板有快速检测大运动的优点,但它会产生不必要的搜索。总之,基于模板的搜索算法,其速度和精度紧紧依赖于搜索模板的尺寸和目标运动矢量的量级。所以,根据当前块的运动矢量的量级来选择不同的搜索模板很有意义。由以上分析可知,自适应十字模板搜索需要解决两个问题:
1. 当前块的运动矢量的预估计;
2. 搜索模板大小和形状的确定
关于第一个问题,大多数情况下,临近的子块有着相似的运动,因此,当前块的运动行为可以通过它周围的块进行预测。至于第二个问题,我们用到两种类型的搜索模板。一个是有着十字臂的自适应十字模板,它是动态决定的。注意自动搜索模板在每个运动块搜索开始时仅仅使用一次,目的是为剩下的局部搜索找到一个好的起始点,这会避免不必要的中间搜索和减少陷入局部最小的风险,这个新定义的起始点预期逼近全局最小点。还需注意的是这个小搜索模板将会在精确的局部搜索中重复的不受限制的使用,直到最终找到最佳匹配块。
在第一个问题中,为了获得当前块精确的运动矢量预估计,需要考虑两个因素:(1)选择组成相邻块的区域,这些块是用来计算预测运动矢量的;(2)计算预测运动矢量的算法。通常参考帧中与当前块具有同样位置的块是首选,其次是相同的参考帧中的相邻块。然而,利用时间相关法需要记录全部的先前的运动矢量,这会产生存储空间的开销。所以,可用空间相关法。空间相关即在空间区域中,由于视频帧中所有的块都是光栅扫描的方式处理的,当前块的运动矢量可用相邻的左、上、左上、右上中的组合来预估。其他空间位置的相邻块相关性比较小,预估不用它们。常用的如下图中的四种,图中CB表示当前块。

四种子块匹配数字稳像算法比较_第8张图片
四种子块匹配数字稳像算法比较_第9张图片

如果用的相邻块太多会导致计算复杂度上升,左类型计算最为简便,且有实验表明,该方法所得到的峰值信噪比PNSR和其他三种方法相差很小。所以,这里使用左相邻块进行运动矢量预估。
至于第二个问题,关于搜索模板的选择在搜索的两个阶段是不同的。初始搜索阶段我们的十字模板形状是相似的,但十字臂的大小取决于相邻左块的运动矢量。对应关系见下图。
预估运动矢量在水平垂直方向的分量的模的最大值 更接近所求的臂长,这种方法看起来没有上面的精确,但会大大提升计算效率。而且,第一阶段仅仅是粗匹配,实验证明,最终匹配精度几乎没有受到影响。

四种子块匹配数字稳像算法比较_第10张图片

初始搜索阶段确定大概方位后,在第二阶段将开始精确搜索。第二阶段的搜索模板可采用固定模板策略。这里固定模板可以选择菱形算法中效率和精度表现优秀的小菱形模板。
解决了以上两个问题后,自适应十字模板搜索基本成型,但还有可以改进之处。如果一帧图像中产生运动的子块的运动范围小于设定的某一阈值可认为是静止。当自适应十字模板在匹配的过程中遇到静止的情况十字臂设置为0,这时会自动停止后续搜索,停止时的搜索块作为最佳匹配返回即可。这在小运动视频稳像中很有意义,因为小运动视频中的帧间静止类型的概率比较高。另外,在最左边时由于当前块没有左邻块,所以不能通过预估运动矢量的方法动态决定十字臂长度,这里设置最左时十字臂长度为2。搜索算法流程如下图所示。
四种子块匹配数字稳像算法比较_第11张图片

3.结束语

第一次用CSDN写博客,码的太长怕大家看不下去,对于四种搜索策略的评价和执行效率仿真实验及代码分享有时间再去介绍

你可能感兴趣的:(音视频处理/图像处理技术)