运动预测
运动预测是一种透过运动矢量来描述一张2D图片是如何转换成另外一张2D图片的程序。在视频处理时,图片指的就是邻近的帧。这些运动矢量可以想成是3D空间(2D+时域)投影到2D的结果。对一张图片而言,可以给每一个像素建立一个独特的运动矢量,也可以将邻近的像素聚集成一个区块,并只计算每一个区块的运动矢量。运动矢量的数学模型可以是单纯的平移也可以含括例如3D空间的的转动和缩放等几何运动方式来更妥当地模拟真实摄影机的动态。
![](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Elephantsdream_vectorstill06.png/350px-Elephantsdream_vectorstill06.png)
相关词汇
运动预测和光流法常常被互相混用。它同时也与图像配准和立体匹配有关。事实上上述几种词汇都是在找寻两张图片或视频帧间相对应的点。两图片或帧间相对应的点“通常”是该场景中的同一个点。然而,在作动态预测之前,我们必须定义相似性的比较标准。也就是说,我们需要一个尺度来测量两个点之间的相似程度。在相关领域的研究中,被定义了各种比较标准,像是SAD、MSE,随不同应用和优化需要常常会使用不同的比较标准。
算法
用来找寻运动矢量的算法可以被分为基于像素值的“直接”算法和基于特征值的“间接”算法。两种方法都有其支持者,彼此曾在两篇论文中试图得到一个确切的结论。[1][2]
直接算法
间接算法
间接算法则是透过一些特征,如角检测来对帧间做匹配,通常会透过一些数学式去对局部或全局的统计特性做估计,如此可以借由这些数学式来把不符合实际运动模式的匹配滤除掉。
常用的统计数学式例如RANSAC.
一些关于分类方式的额外注记
每一种上述的方法都可以被说成是需要一些自己定义的匹配标准。差异在于是要先对同一个区域总计地进行比较(如基于特征的算法),或者是针对每一个像素进行比较(如基于区块和滤波器的算法)。一种新兴的比较标准是将一个区域作局部的转换如拉普拉斯变换再将该区域各pixel作比较 [3]。有一些比较标准则可以将一些看起来相似但实际上并不匹配的点滤除,达到更好的匹配效果。
应用
视频压缩
可以透过动态预测来做 动态补偿,利用视频在时域上的相似性对下一个时间点的帧做预测。动态预测和动态补偿都是视频压缩中相当关键的技术,普遍地被运用在各视频压缩的标准之中,例如MPEG及较近期的HEVC。
参考资料
- ^ Philip H.S. Torr and Andrew Zisserman: Feature Based Methods for Structure and Motion Estimation, ICCV Workshop on Vision Algorithms, pages 278-294, 1999
- ^ Michal Irani and P. Anandan: About Direct Methods, ICCV Workshop on Vision Algorithms, pages 267-277, 1999.
- ^ Rui Xu, David Taubman & Aous Thabit Naman, 'Motion Estimation Based on Mutual Information and Adaptive Multi-scale Thresholding', in Image Processing, IEEE Transactions on , vol.25, no.3, pp.1095-1108, March 2016.