运动估计算法比较 块匹配 全搜索 四步法 三步法
- 格式:pdf
- 大小:475.47 KB
- 文档页数:10
增强现实跟踪预测方法研究摘要:为提高增强现实系统中标记跟踪注册的实时性,本文基于视频帧图像块匹配运动估计方法,通过连续帧间运动相关性预测标记运动方向,在预测方向区域检测标记,降低了全帧检测标记的时间复杂性。
基于artoolkit,验证了本方法可显著提高标记跟踪的时间性能。
关键词:增强现实;块匹配;跟踪注册;跟踪预测中图分类号:tp391.41文献标识码:a文章编号:1007-9599 (2013) 05-0000-021引言增强现实(augmented reality,简称ar)是将虚拟物体注册于现实环境中,其中虚拟物体由计算机生成,并允许用户与之实时交互。
增强现实在教育培训、工业设计、机械制造、医疗手术等方面得到了广泛的应用,并且在这些领域取得了成功的经验,尤其是在室内ar与移动ar方面。
如在移动ar方面,geiger,c.等人[2]设计了一个ar soccer游戏,屏幕中出现一个虚拟的球和虚拟的场景,用户通过摄像机捕捉现实世界中脚的运动完成踢球的动作。
邵峰晶等人设计了一个基于增强现实技术的网络游戏,并且针对跟踪注册速度过慢的问题,提出了一种快速角点检测算法(cfd),另外针对ar系统抖动的问题,提出了一种手持增强现实系统中摄像机姿态抖动补正算法。
基于标记的跟踪注册是增强现实的关键技术,它通过对预先放置于真实世界中的标记进行实时检测与识别,计算摄像机相对于标记的位置,实现虚拟物体在真实场景中的注册。
在这一过程中,计算机需逐帧进行标记检测与识别,导致计算量较大,对虚拟物体的实时注册性能产生较大的影响。
基于此,本文在增强现实中引入帧图像块匹配运动估计方法,预测其后续帧图像中标记的运动方向,在预测方向的图像区域检测标记,提高虚拟物体跟踪注册的实时性。
视频图像处理的主要问题之一是运动估计,其是通过帧与帧之间存在的相关性对帧图像进行适当处理。
现有的方法中,如陈靖[6]等人基于运动估计方法中的光流法预测标记点的图像坐标位置,然后通过采用局部搜索法对图像的重心位置的坐标进行搜索。
第22卷第3期2006年6月 河北北方学院学报(自然科学版)Journal of Hebei Nort h University (Nat ural Science Edition ) Vol 122No 13J une 2006 收稿日期:20060424 作者简介:乔月圆(19702),男,山西大同人,山西大同大学讲师.运动估计块匹配算法分析与研究乔月圆1,冯贵良2,兰安怡2(11山西大同大学,山西大同037003;21河北北方学院计算机科学系,河北张家口075000) 摘要:视频序列图像存在很强的相关性,采用运动估计和运动补偿技术可以消除时间冗余以提高编码效率,本文介绍了运动估计的原理以及一些常用的块匹配算法,并对这些算法的优劣性作了分析比较.关键词:运动估计;块匹配;算法中图分类号:TP 30116 文献标识码:A 文章编号:167321492(2006)0320067204The R esearch of B lock Matching Algorithms for Motion EstimationQ IAO Yue 2yuan 1,FEN G Gui 2liang ,L AN An 2yi 2(11Shanxi Datong University ,Datong ,Shanxi 037003,China ;21Department of Computer Science ,Hebei North University ,Zhangjiakou ,Hebei 075000,China ) Abstrcat :There is a st rong relativity between video f requency images.To improve t he coding efficien 2cy ,we can remove redundancy information by using motion estimation and compensation techniques.This paper introduces t he t heory of motion estimation and some block matching algorit hms being used f requent 2ly ,and compares t he virt ues and shortcomings between t his algorit hms.K ey w ord :motio n estimation ;block matching ;algorit hms 自然视频序编码的运动估计方法,就是计算当前帧(待编码的图像)的各像素块与其相邻帧(预测图像)的像素块的运动矢量,然后由其构成一个对当前帧的预测帧,求得其最佳预测误差,编码时只须传送预测误差值和运动矢量.由于预测误差的信息量通常会大大少于原图像的信息量,再对其施以适当的统计编码方法,则可以得到比较大的视频数据压缩.而在解码端,根据接收的运动矢量,采用运动补偿,将预测误差与己知的预测图像重合,生成解码.近年来,研究人员提出了很多运动估计块匹配算法,但是每种算法各有其优缺点和适用范围.1 运动估计的块匹配算法原理运动估计块匹配法的基本思想是将每一帧图像分割成一系列子块图像,宏块大小为M ×N (一般取16×16).计算当前帧中每一子块与相邻帧中的各子块的误差函数,把具有最小误差的相邻帧的对应子块图1 运动估计块基本原理作为当前块的预测块,并把两块的相对位移定义为位移矢量(运动矢量).其基本原理如图1所示.设当前帧的图像亮度信号为f k(m,n),前次传送的相邻帧的图像亮度信号为f k2N5(m,n),其中N s为帧差数目(通常N s可取1,3,5,…,15).假定当前帧f k(m,n)中当前块是从前帧f k2N5(m,n)平行移而来,并设该子块内M×N个像素都具有同一个位移值(i,j),假定运动物体在帧差Ns时间内水平和垂直方向的最大位移都为w,则我们可以在前帧f k2N5(m,n)对应的搜索区内进行搜索,寻找当前帧中的当前块在前帧对应的匹配块,搜索区面积为(M+2w)(N+2w).2 块匹配的准则运动估计算法中常用的准则有以下3种:1)归一化相关函数NCCF(Normalized Cro ss2Correctio n Function)N CC F(i,j)=∑M-1m=0∑N-1n=0f k(m,n)f k-N s(m+i,n+j)∑M-1m=0∑N-1n=0f2k(m,n)12∑M-1m=0∑N-1n=0f2k-N5k(m+i,n+j)12归一化相关函数NCCF的计算工作量很大,在实际应用中,一般用以下的均方误差函数和平均绝对误差函数来代替.2)平均均方误差函数MSD(Mean Square Difference)M S D(i,f)=1M N∑M-1m=0∑N-1n=0f k(m,n)-f k-N s(m+i,n+j)23)平均绝对差函数MAD(Mean Absolute Difference)M A D(i,f)=1M N∑M-1m=0∑N-1n=0|f k(m,n)-f k-N s(m+i,n+j)|通常使用求和绝对差SAD代替MAD,即SAD(i,j)=MN3MAD(i,j))在搜索区域内,如果某子块使得以上公式所计算的均方差值或绝对差值达到最小,该块就是所要找的匹配块,其位移量(i,j)就是当前帧中的当前块相对于其前帧的匹配块的运动矢量.匹配准则对匹配的精度影响不大,所以上面不含乘除法的求和绝对差SAD成为最常用的匹配准则FS(Full Search).全搜索匹配法对搜索区内的所有子块进行搜索,因此能够得到搜索区内与当前块最为匹配的块.其中前向水平、垂直搜索窗口高度和反向水平、垂直搜索窗口高度应当根据具体图像特征进行选择.如果图像变化不大,则为了提高搜索速度,可以用小的搜索窗口;反之,如果处理的序列有很多的激烈场面,帧与帧之间的变化很大,则必须用大的窗口进行搜索,以达到要求的编码质量.由于全搜索法需要对搜索窗口内每个宏块进行匹配,运算量非常大,有时甚至能占去整个编码器资源消耗的近80%.3 三步搜索法TSS(Three Step Search)如图2所示,TSS算法的基本思想是采用一种由粗到细的搜索模式.其搜索步骤一般为:第一步,从原点开始,以最大搜索长度的一半为步长检测中心点及周围8个相邻点的SAD值,找到SAD值最小点;第二步,以该SAD最小点为中心,搜索步长减半,并在缩小的方形的中心点及周围8个点找SAD最小点;第三步,重复第二步,直到步长为1,得到最后的运动向量.三步搜索法在搜索的第一步采用固定步长的搜索模式,这样可能导致该算法对细小的运动进行估计时效果不理想,并且极有可能陷入局部最小点.现实中很多图像序列的运动经常是平稳、光滑和变化缓慢的,这时全局最小值一般是基于中心分布的,而不是均匀分布的.新三步搜索法算法就是基于中心的测试模式,在原有的三步搜索法的第一步的测试点的基础上再增加了中心点的82邻域作为测试点,并且采用了半途终止的策略(Halfway2stop Technique),若最小的块位移量矩(BDM,Block Distortion Measure) 2006年6月 河北北方学院学报(自然科学版) 第3期出现在82邻域的中心点则停止搜索.具体算法为:第一步,在原有的三步搜索法的第一步的测试点的基础上再增加中心点82邻域作为测试点;第二步,如果最小BDM 在第一步出现在搜索窗口的中心则停止搜索,如果最小的BDM 出现在中心点的82邻域中,则以最小BDM 为中心计算其82邻域,找出最小BDM .半途终止策略用于有效地估计静止及半静止块的运动向量;重复上面的步骤,直到最小BDM 出现在中心,搜索停止.如果最小的BDM 出现在(±w/2,±w/2)上,则执行三步搜速算法的第二步和第三步.图2 三步搜索法图3 新三步搜速算法4 钻石搜索法DS (Diamond Search )钻石搜索法又叫菱形搜索法,以其搜索模式的形状而得名,其思想是减少进行块匹配的搜索点,具有简单、鲁棒和高效的特点.如图4所示,可以看到搜索点大都位于图像的水平和垂直方向上,这是考虑到现实中的物体在这两个方向运动的概率比较大,图像的频谱多呈菱形分布,也就是说,图像在水平和垂直方向的相关性大于斜线方向.钻石搜索法使用两个搜索模板,第一个为大钻石搜索模板(LDSP ,large diamond search pattern ),该模板包括围绕中心点的8个点,从而形成一个大钻石形(图a ).另一个为小钻石搜索模板(SDSP ,small diamond search pattern ),包含了5个点,形成一个较小规模的钻石形(图c ).搜索时首先可以进行粗定位,使搜索过程不会陷于局部最小;当粗定位结束后,可以认为最优点就在LDSP 周围8个点所围的菱形区域中;最后以上一次找到的MBD 点作为中心点,用小钻石型模式做匹配运算,MBD 点的位置即为最佳运动矢量(图b ).DS 算法的性能优于上述其它快速算法,是一种被M PEG 24校验模型所采纳的运动估计算法之一.5 运动向量场自适应搜索法MV FAS T (Motion Vector Field Adaptive Search Technique ) 运动向量场自适应搜索法首先设定一组预测器,一般为坐标(0,0)处的运动向量,或与(0,0)相邻的左边、顶上和右上处的运动向量.MV FAST 不仅仅是采用了一个大的菱形(图a ),而且还采用了一个可移动的小菱形(图c ).大菱形或者小菱形不断移动,直到发现最佳匹配点终止,此处即为菱形中央处,该点的SAD 值最小.图4 钻石搜索法图5 运动向量场自适应搜索法MV FAST 也有两种搜索模式:一种是小菱形模式,就是使用小菱形进行运动搜索,最佳点为其中心,找到该点后算法搜索终止;另一种是大菱形模式,在这种模式下,大菱形被使用,但最后一步的搜索还要使用小菱形(图b ).初始到底是选用大菱形还是小菱形进行搜索,这由运动类型的初始特性决定.如果相邻三个宏块运动2006年6月 乔月圆等:运动估计块匹配算法分析与研究 第3期2006年6月 河北北方学院学报(自然科学版) 第3期向量的最大值低于一个阈值Ll,我们称其为低速运动;如果它介于L1和另一个较大的阈值L2之间,为中速运动;如果它大于阈值L2,为高速运动.如果是低速运动,那么小菱形被使用,且(0,0)处的运动向量位于菱形的中央;若是中速运动,那么大菱形参与搜索,依然用(0,0)作为其中心;如果运动是剧烈的,使用小菱形进行搜索,此时检测(0,0)处的运动向量和其它几个预测器,最佳预测器作为小菱形的中心,同时还设定一个固定的阈值T,首先以它为限测试(0,0)处的运动向量,如果位移小于T,那么搜索终止,不再搜索其它位置.MV FAST运动估计算法无论是编码质量还是编码效率都比己有的菱形搜索算法提高了很多.6 结 论在各种基于块的运动估计算法中,以全搜索法的峰值信噪比最大,但是速度最慢.这表明全搜索法是以牺牲时间的因素来提高压缩质量的,原因是全搜索法是在整个搜索空间中进行的匹配查找,这样就可以保证完成匹配的象素是全局最优的,从而使得最终结果的信噪比最高.而其他快速搜索方法不可避免地找到的只是局部最优解,所以搜索时间虽然提高了,但编码后的质量却下降了.相比较三步搜索法(TSS),新三步搜索法(N TSS)在不损失信噪比的情况下,搜索速度明显提高了.这种搜索算法原理简单,可以比较容易地在硬件上实现.MV FAST的压缩速度明显高于其它算法,而且同时能获得相同的甚至更好的峰值信噪比,在搜索区域为16h,MV FAST的平均压缩速度提高了4到5倍,同时它的峰值信噪比分别比三步搜索法、新三步搜索法和菱形搜索法高有很大的提高.参考文献:[1] Zhu S,Ma KK.A new diamond search algorithm for fast block2matching motion estimation[J].IEEE Trans.ImageProcessing,2000,9(2):2872290[2] Wang YK,Kuroda H.Hilbert Scanning search algorithm for motion estimation[J].IEEE Trans.Circuits Systemsfor Video Technology,1999,6(5):6832691[3] 向友君,郭宝龙.运动估计快速块匹配算法[J].计算机工程,2003,256(13):62264[4] 王赜,梁川,王光兴.块匹配运动估计算法的速度优化[J].东北大学学报,2003,238(4):3152318[5] 周铁,丁钟琦.运动估值块匹配算法的一种改进[J].海南大学学报,2005,169(2):1402149[6] 全子一,门爱东,杨波.数字视频图像处理[M].北京:电子工业出版社,2005.75289[7] 容观澳.计算机图象处理[M].北京:清华大学出版社,2000.2602300[责任编辑:刘守义](上接第66页)疾病防疫再加上自己的努力就一定能够成功.参考文献[1] 王加志.养貉技术纵深谈[M].北京:农业出版社,1989.1162144[2] 华树芳,佟煜人,籍玉林.貉的饲养[M].吉林:吉林科学技术出版社,1988.28274[3] 覃能斌,孙海霞,刘春龙.实用养狐技术大全[M].北京:中国农业出版社,2004.1772180[4] 闰庆华.充分认识初乳对仔狐、貉生长的重要性[J].特种经济动植物,2005,8(5):2[5] 宋锦英,邓龙江.狐貉的过继技术[J].现代化农业,2005,27(6):20221[6] 樊兵菊.仔貉常见病的防治[J].河北畜牧兽医,2005,21(8):33[7] 边桂萍.防止母貉吃仔的措施[J].河北畜牧兽医,2005,21(9):33[8] 陈艳军,赵秀凤.保证仔貉全活全壮的重要措施[J].河北农业科技,2004,33(1):36[9] 华盛.维生素在毛皮兽上的应用[J].特种经济动植物,2004,7(10):223[10] 苑彪.貉妊娠期严把饲料关[J].黑龙江动物繁殖,2003,11(2):40241[11] 华丽.妊娠期和产仔泌乳期的饲养管理要点[J].农村养殖技术,2003,8(10):19[12] 华树芳.幼貉育成期的饲养管理要点[J].农村养殖技术,2003,8(11):21[责任编辑:刘守义]。
一种快速的块匹配运动估计新算法董理濛;张永波;郭德春;杨永坤【摘要】视频编码是一个复杂的过程,包括了空间,时间和统计数据缩减技术的结合.这些技术中运动估计在帧间冗余信息中起着至关重要的作用.因此,寻找最有效的运动估计算法仍然是一项重要的研究课题.在此,为了提高视频编码效率,提出一种新菱形搜索(NDS)的算法. NDS算法适用于开始搜索步骤为十字搜索模式(CSP)并且交叉用大菱形搜索模式(LDSP)和小菱形搜索模式(SDSP),以避免发生局部最优问题.实验结果表明,该NDS算法相对于菱形搜索算法在搜索速度和搜索精度上有显著提高. NDS算法在压缩精度上非常接近于全搜索算法,但是搜索速度是全搜索算法的18.51倍.与DS算法相比,NDS的算法可以实现超过125%倍的速度.【期刊名称】《科学技术与工程》【年(卷),期】2010(010)034【总页数】5页(P8594-8598)【关键词】块匹配;运动估计;新菱形搜索算法;视频编码【作者】董理濛;张永波;郭德春;杨永坤【作者单位】西北工业大学电子信息学院,西安,710072;西北工业大学电子信息学院,西安,710072;西北工业大学电子信息学院,西安,710072;西北工业大学电子信息学院,西安,710072【正文语种】中文【中图分类】TP751对于视频序列图像相邻帧之间存在很大的时间冗余,通过减少时间冗余可以大幅度地提高视频编码的效率。
基于块匹配的运动估计算法是一种很有效的方法。
块匹配运动估计算法在 MPEG-4和H.263中都得到了广泛应用[1]。
在块匹配运动估计算法中,全搜索(FS)算法精度高,但由于它要对搜索区域内的每个点进行检测,因此计算复杂度高,软件实现比较困难后来人们相继提出许多快速搜索算法,如三步搜索法(TSS)[2]、四步搜索法 (FSS)[2]、二维对数法(TDL)[2]、菱形法(DS)[2]等,它们在计算复杂度上比 FS减小了许多,但是搜索的准确度比不上 FS。
一种快速运动矢量场搜索的块匹配运动估计算法编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(一种快速运动矢量场搜索的块匹配运动估计算法)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为一种快速运动矢量场搜索的块匹配运动估计算法的全部内容。
一种快速运动矢量场搜索的块匹配运动估计算法摘要: 运动估计作为实时视频编解码中最重要最耗时的部分,大量的研究都是通过减少搜索点数来降低计算量。
而块匹配算法以其简单、高效,便于硬件实现等优点被使用到运动估计中。
针对这一特点,提出一种基于块匹配的快速运动矢量场搜索算法(FMVS)。
FMVS算法通过将视频序列时间相关性与空间相关性相结合,提出的一种新算法.该算法包括以下五部分:预测搜索起点、动态阈值进行静止块判断、方向性类型判定、运动类型判定及混合模板运用.对视频标准测试序列的实验结果表明,该算法较MVFAST算法,搜索点数降低30%—50%,对于运动复杂的视频序列峰值信噪比提高0.21dB。
关键词: 运动估计;块匹配算法;运动矢量场;(矢量场自适应搜索)MVFAST;峰值信噪比中图分类号: TP393 文献标识码: A 文章编号:对于视频序列图像,由于相连帧之间存在很大的时间相关性,通过减少时间冗余,可以提高视频编码的效率。
而基于块匹配算法以其简单、高效,便于硬件实现等优点,已经被许多视频编码标准所采纳。
运动估计算法占整个编码器的60%~80%的运算量,很大程度决定编码器的效率。
在块匹配运动估计算法中,全搜索算法精度最高,但是运算量也最大大。
为了解决运算量大,产生了很多快速搜索算法。
一类是快速算法是按照某种搜索策略只对搜索窗口的相关参考点进行计算;如一些经典算法3步法[1],菱形搜索算法[2],六边形搜索算法[3]。
基于块匹配的视频图像运动估计技术研究_2.4经典的块匹配算法2.4.1全搜索法(Full Search Method, FS)全搜索法(Full Search Method, FS)也称为穷尽搜索法,是对(M+2dx)×(N+2dy)搜索范围内所有可能的候选位置计算MAD (i,j)值,从中找出最小MAD,其对应偏移量即为所求运动矢量。
此算法虽计算量大,但最简单、可靠,找到的必为全局最优点。
FS算法描述如下:从原点出发,按顺时针螺旋方向由近及远,在逐个像素处计算MAD值,直到遍历搜索范围内听有的点,然后在计算的所有点的MAD中找到最小值,该点所在位置即对应最佳运动矢量。
FS算法是最简单、最原始的块匹配算法,由于可靠,且能够得到全局最优的结果,通常是其它算法性能比较的标准,但它的计算量的确很大,这就限制了在需要实时压缩场合的应用,所以有必要进一步研究其它的快速算法。
2.4.2三步搜索算法(Three – Step Search,TSS)此搜索算法如图2-2所示,每一步搜索9个位置点,对每一个位置计算MSE (最小均方误差)来确定最小失真方向(DMD),在最小失真方向上搜索区域减少一半进行第二步的搜索匹配,然后继续沿最小失真方向将搜索区域又减少一半第一步第二步第三步图2-2 三步法(TSS)搜索步骤来进行第三步的搜索匹配,由于第二步和第三步的9个搜索点中均有一个点是在上一步中已经计算过MSE值,所以第二步与第三步均只要计算8个点而已,所以TSS算法的计算次数是9+8+8=25次,同直接匹配需要169次比较,计算量大大减少。
2.4.3新三步搜索算法[26](New Three – Step Search, NTSS)大部分近似的快速BMA算法(如TSS、2D-LOG等)假设BDM 随搜索窗口内当前检查点与最优BDM点之间的距离的增大而单调增加(当BDM为MSE或MAD时),然而这个假设并非总是正确,原因是:①孔径问题;②分块时引起的运动物体和背景的不连续分割;③周期性纹理形状的图像内容;④光线改变。
一种有效的三步运动估计算法摘 要:为了减小运动估计算法的计算复杂度及提高序列图像超分辨率重建的可靠性,提出了一种有效的三步搜索算法。
该算法采用多步搜索策略,根据运动矢量分布的中心偏移性及并行处理的思想,在最佳匹配点所在的区域使用菱形小模板代替原有的正方形小模板来进行精细搜索,以提高算法的搜索精度。
实验结果表明,该算法在保证搜索精度的同时能大幅度缩短消耗时间。
关键词:超分辨率重建;运动估计;块匹配;运动矢量由于误差表面通常并不是单调的,所以搜索窗口太小,就容易陷入局部最优;而搜索窗口太大,又容易产生错误的搜索路径[7]。
3SS 搜索法第一步搜索步长较大,在图像运动较小的时候会影响运动估计的效果,使运动估计的精度明显下降。
在超分辨率图像重建中,序列图像的每一帧变化都很小,帧与帧之间大多为小运动估计,而在实际应用中,除了要保证运动估计的精度之外,对算法的实时性也提出了更高的要求。
根据这个特点,本文提出一种根据N3SS 法演变而来的一种有效的三步搜索算法(effective three step search ,E3SS)。
图2为E3SS 的搜索模板,搜索窗宽度为5,即搜索范围是)5,5(±±j i 。
ij6-i 6+i 6+j 6-j图2 E3SS 搜索模板在真实的视频序列中,运动矢量的分布具有中心偏移的特点,由全搜索算法FS 的匹配结果表明,匹配点在中心点的概率最高,其次为在中心点周围上、下、左、右的4个邻点,而在中心点周围左上、右上、右下、左下4个对角点的概率最小[8],因此在搜索窗口的中心采用了一个小的菱形搜索模板来替代N3SS 算法中的正方形小模板。
首先,搜索模板上的13个检测点,如果最小块误差(minimum block distortion ,MBD) 点 (SAD 值最小的点),在搜索窗口的中心则算法结束。
如果MBD 点位于中心点的4个相邻点中,移动菱形小模板到上一步的MBD 点,继续搜索菱形小模板中的其他点,直到MBD 点是菱形中心的点或者菱形小模板到达搜索窗口边缘为止,如图3(a)中,点(0,-1)是第一步的MBD 点,也是第二阶段的MBD 点,且位于搜索窗中心,故最终运动矢量就是(0,-1)。
图像编码中的块匹配算法原理与应用图像编码在现代通信技术中扮演着重要角色,它可以将图像信号有效地压缩,以便在带宽有限的信道中传输或存储。
在图像编码中,块匹配算法是一种常用的方法,它能够在保证图像质量的前提下,大幅度减小编码后的数据量。
本文将探讨块匹配算法的原理及其应用。
一、块匹配算法的原理块匹配算法是一种利用图像自身的冗余性来进行压缩的技术。
它的核心思想是将图像划分为一系列大小相等的块,并通过寻找最相似的块来达到压缩的目的。
其中最常用的块匹配算法是全搜索算法和快速搜索算法。
全搜索算法是一种暴力搜索的方法,它将每一个块与图像中的所有可能位置进行比较,找到最相似的块作为匹配结果。
虽然全搜索算法能够保证最佳的匹配效果,但由于其计算复杂度过高,使其在实际应用中不太实用。
为了克服全搜索算法的计算复杂度高的问题,快速搜索算法应运而生。
快速搜索算法利用了图像中的空间局部性原理,将搜索范围限制在一个较小的区域内,通过一系列策略和优化手段来加快搜索速度。
其中最常用的快速搜索算法有三步搜索算法和六步搜索算法。
三步搜索算法将图像分为若干个重叠的小块,通过三个步骤来逐层搜索最佳匹配。
首先,在粗搜索阶段,通过在一个较大的搜索范围内进行比较,找出与目标块相似度较高的区域。
然后,在细搜索阶段,将搜索范围缩小到前一步所找到的区域内,并进行进一步的比较。
最后,在极细搜索阶段,通过更加精细的搜索策略,找到最佳匹配块。
六步搜索算法在三步搜索算法的基础上进行了进一步的优化。
它将图像分为若干个非重叠的小块,通过六个步骤来搜索最佳匹配。
这六个步骤分别是:正常步骤、拓展步骤、水平步骤、垂直步骤、细搜索步骤和跳跃步骤。
六步搜索算法通过多轮的搜索过程,逐步接近最佳匹配块,从而提高了搜索效率。
二、块匹配算法的应用块匹配算法在图像编码中有着广泛的应用。
其中最典型的应用是运动估计和运动补偿。
运动估计是通过比较当前帧与参考帧之间的差异,找到两帧之间的运动信息。
大作业运动估计算法比较一、实验内容简要介绍各种运动估计算法,并比较不同运动估计算法的性能,主要考虑各算法的运算速度和精度。
二、实验背景视频原始图像中存在着大量的信息冗余,如时间冗余、空间冗余、信息熵冗余、谱间冗余、几何结构冗余、视觉冗余和知识冗余等等。
运动估计是视频压缩编码中的核心技术之一,采用运动估计和运动补偿技术可以消除视频信号的时间冗余以提高编码效率。
如何提高运动估计的效率,使运动估计算法的搜索过程更健壮、更快速、更高效成为目前研究的热点。
运动估计的基本思想是尽可能准确地获得序列图像帧间的运动位移,即运动矢量。
因为运动估计越准确,预测补偿的图像质量越高,补偿的残差就越小,补偿编码所需位数越少,需要传输的比特率就越小。
利用得到的运动矢量在帧间进行运动补偿。
补偿残差经过变换、量化、编码后与运动矢量一起经过熵编码,然后以比特流形式发送出去。
运动估计算法多种多样,大体上可以把它们分成四类:块匹配法、递归估计法、贝叶斯估计法和光流法。
其中块匹配运动估计算法因其具有算法简单、便于VLSI实现等优点得到广泛应用。
所以本文将重点介绍块匹配运动估计算法,并对各种块匹配算法在计算速度和估计精度上进行简单比较。
三、实验原理(一)、像素递归技术像素递归技术是基于递归思想。
在连续帧中像素数据的变化是因为物体的移位引起的,郑么如果沿着梯度方向在某个像素周圈的若干像素作迭代运算,运算会最后收敛于一个固定的运动估计矢量,从而预测该像素的位移。
(二)、块匹配运动估计块匹配运动估计是把图像帧划分为若干互不重叠的块,并以块为单位寻找目标帧中每块在参考帧(上一帧或者其它帧)中最优匹配的块的相对位置,假设图像中每块的大小为M×N,dxmax为参考块水平方向可搜索最大位移而dymax为参考块垂直方向可搜索最大位移那么基于块匹配的运动估计就是在参考帧(或者其它上一帧)的(M+2dxmax)×(N+2dymax)候选区搜索窗口中找到和目标帧的当前大小为M×N的块的最匹配的块则参考块的运动矢量可用如下的数学公式描述:R表示相关性评价函数,f(m,n)表示目标或当前帧图像的灰度值。
满足R为最大时的X、Y为运动矢量,用MV表示。
块匹配估计准则是判断块相似程度的依据,因此匹配准则的好坏直接影响了运动估计的精度;另一方面,匹配运算复杂度、数据读取复杂度和内存管理复杂度在很大程度上取决于所采用的块匹配准则。
我们这里用到的块匹配准则是:平均绝对误差函数(Mean of Absolute Error,MAE)有些文献中MAD演变为绝对差和:在上述匹配准则中,由于SAD只采用了加法和绝对值计算,便于计算和硬件实现而且它的匹配精度与MAD相差不大。
此外搜索精度还与块的大小、搜索窗的大小、搜索步长有关。
块匹配的方法主要有:三步法(TSS)和二维对数法(TDL)、新三步法(NTSS)、四步法(FSS)、基于菱形的搜索算法(DS)和基于六边形的搜索算法(HEXBS)等。
其中全搜索算法是简单也是效果最好的一种匹配算法,通过的全搜索匹配得到的结果是全局最优的,但由于计算量很大,我们在编解码中往往不采用这种方法,而只把他作为与其他算法的一种比较。
为了兼顾估算精度和运算速度,人们提出了一系列的快速算法。
快速算法通过限制搜索位置的数目来减小计算复杂度,但不利于估计小的运动且搜索容易陷入局部最优。
下面我们将详细介绍各种基于块的匹配算法。
快速算法基于一下假设:认为误差函数在整个搜索区域内有唯一极小值点,并假设误差函数曲面值随偏离最小值点距离是单调递增的。
另外运动矢量还满足中心偏执性。
即块的运动矢量基本上都是在一个中心位置集中了绝大部分运动矢量,而且随着运动矢量的位置远离中心其数逐渐减少。
通过对常用视频序列的运动矢量分布作了更为详细的统计分析发现,运动矢量以不同的比例集中分布在中心附近的特定区域内。
如下图:有大约81.80%的运动矢量分布在中心附近范围2的正方形区域内(25个点),大约77.52%的运动矢量分布在中心附近范围2的菱形区域内(13个点),更有大约74.76%的矢量集中分布在中心附近范围2的十字形区域内(9个点)。
(1)、全搜索运动估计(FS)全搜索法(Full Search Method,FS )也称为穷尽搜索法,是对(M +2dx )×(N +2dy )搜索范围内所有可能的候选位置计算MAD (i,j)值,从中找出最小MAD ,其对应偏移量即为所求运动矢量。
此算法虽计算量大,但最简单、可靠,找到的必为全局最优点。
FS 算法描述如下:从原点出发,按顺时针螺旋方向由近及远,在逐个像素处计算MAD 值,直到遍历搜索范围内听有的点,然后在计算的所有点的MAD 中找到最小值,该点所在位置即对应最佳运动矢量。
但是正因为它是穷尽搜索因此会产生巨大的计算量如[7,7]的搜索区间每个宏块16*16需计算225个MAD 值,这就直接制约了编码的实时实现。
快速算法本质上是一种穷尽搜索法其计算量仍是相当巨大的。
全搜索算法是简单也是效果最好的一种匹配算法,通过的全搜索匹配得到的结果是全局最优的,但由于计算量很大,我们在编解码中往往不采用这种方法,而只把他作为与其他算法的一种比较。
(2)、快速匹配算法1、三步法:三步法是应用得相当广泛的一种次优的运动估计搜索算法它的搜索区间一般为[-7,7]即在候选区中与编码块相同坐标位置处为原点,将参考块在其上下左右距离为7的范围内按照一定规律移动移到一个位置就做匹配计算它总共进行了三步搜索在下一次搜索时步长减半以前一步搜索得到的最优点为中心。
下图为三步法的搜索示意图。
算法的中心思想是,采用一种由粗到细的搜索模式,从原点开始,按一定步长取周围8个点构成每次搜索的点群,然后进行匹配计算,利用上一步搜索得到的最小块误差MBD 点作为当前搜索的中心位置,每做一步,搜索的步长减1。
步搜索算法搜索窗选取(-7,+7),最多只需要做25个位置的匹配计算,相对于全搜索来比,大大减少了匹配运算的复杂度,而且数据读取比较规则。
2、新三步法:TSS 假定运动矢量分布特点是在搜索窗口中均匀分布,但事实证明运动矢量是偏置中心的,Renxiang Li 等人在TSS 的基础上提出了一种增强运动矢量中心偏置搜索和减小补偿误差的新三步法。
NTSS 是对TSS 的一个改进,对运动量比较小的视频序列如可视电话序列有比较好的性能。
对于绝大多数的视频序列,运动矢量的分布都是在中心位置上的概率最大,随着与中心位置的距离的增大,概率会急剧地下降,这也就是前面所说的运动矢量的中心偏移特性。
运动量比较小的视频序列的这一特性会更加明显。
NTSS 算法在最好的情况下只需要做17个点的匹配,在最坏的情况下需要做33个点的匹配,由于运动矢量中心偏置在现实视频序列中是普遍存在的,在通常情况下,NTSS 算法需要做33点匹配的概率比较小,因此,在低速率视频应用中,如视频电话或视频会议中,NTSS 算法的优点可以得到较好的发挥。
3、四步法:四步法Four Step Search 4SS 由Po Lai-man Ma Wing-chung 等人提出。
FSS 也是基于视频序列图像的运动矢量的中心偏置特征,以原点为中心,在5*5大小的正方形中构造9个检测点的搜索模型。
每一步将搜索模型的中心移向MBD 点处,且后两步搜索模式取决于MBD 点的位置。
与NTSS 一样,当运动较小时,FSS 也会很快结束搜索过程,只需要2到3步即可。
新三步搜索法考虑了块矢量中心偏置的特性,在初步搜索时对中心周围的位置同时做了匹配运算。
在物体做小范围运动时,这种改进很见效,可以大大减少运算量。
然而,在物体做大范围运动时,这种改进却带来了额外的运算量,因为新三步算法最多需要做33次运算,而三步算法最多只需要做25次运算。
四步搜索法考虑到了块的中心匹配的特性,同时兼顾了物体的大范围运动。
这种改进在物体既有小范围运动又有大范围运动时可以得到较好的性能。
实验的结果表明4SS 算法比TSS 算法有更好的性能,与NTSS 算法有相似的性能。
但在物体大范图运动时,4SS 算法有更强的鲁棒性。
4、菱形搜索法:菱形搜索(DS)算法于2000年被提出,经过多次改进,已成为目前快速块匹配运动估计算法中性能最好的算法之一。
搜索模板的形状和大小不但影响整个算法的运行速度,而且也影响它的性能。
块匹配的误差实际上是在搜索范围内建立了误差表面函数,全局最小点即对应着最佳运动矢量。
由于这个误差表面通常并不是单调的,所以搜索窗口太小,就容易陷入局部最优,例如BBGDS 算法,其搜索窗口仅为3×3;而搜索窗口太大,又容易产生错误的搜索路径,像TSS算法的第一步。
另外,统计数据表明,视频图像进行运动估计时,最优点通常在零矢量周围。
当物体相对静止,运动矢量较小时,DS算法进行的运算要明显少于上述其他算法,我们以4SS算法为例,假设当运动矢量范围为l时,4SS算法需要搜索17各位置,而DS算法最少需要搜索13个位置,最多只需要搜索16个位置。
矢量范围加大时,DS算法需要进行搜索的位置数明显要少于4SS算法。
实验的结果表明DS算法在性能相当情况下比4SS算法的速度快31%。
5、基于块的梯度下降搜索算法:基于块的梯度下降搜索法(BBGDS)是1996年由Lurng-Kuo Li和Ephraim Feig提出的。
该算法采用了一个非常偏向于中心位置的搜索模式—步长为1的9点搜索,如图2-7所示。
它不限制搜索的步数,当某一步的最小BDM点位于中心位置或该步已到达搜索窗口的边缘时,则停止搜索。
与FSS的某些搜索步骤一样,BBGDS的每个后续搜索步骤都是增加3个或5个搜索点。
这个算法非常适合于小运动量的场合。
在每一步搜索过程中,BBGDS算法使用了中心匹配块而不是匹配块,降低了陷入局部最优的可能性。
利用梯度下降的方向来指导搜索方向,对该方向进行重点搜索,从而减少和避免了不必要的搜索,大大降低了算法的复杂度。
基于块的梯度下降搜索算法四、实验步骤具体实验步骤如下:读入视频两帧图像,分别采用上述各种运动估计方法计算运动矢量补偿出预测图像,分析比较各种算法性能。
五、实验结果分析我们取视频的第1和第3帧进行各种运动补偿。
实验参数如下:块大小16x16;搜索范围dmax=7;搜索精度:1像素;视频大小720*400。
运动估计结果:参考帧当前帧预测图像补偿误差Matlab运行时间是:3.963858。
重构图像PSNR值:38.0220(二)、三步法运动估计运动估计结果:预测图像补偿误差Matlab运行时间是:0.909280。
重构图像PSNR值:35.4990。
运动估计结果:预测图像补偿误差Matlab运行时间是:0.900035。