@Gizmosir
2016-03-15T02:52:58.000000Z
字数 739
阅读 814
date: 2016-03-02
categories: Video processing
tag: [Motion tracking]
mathjax: true
博客
视频处理(Video processing)通常分为:
1. 与时间无关:反相、色调分离等;
2. 与时间相关:图像跟踪、视频压缩、动态模糊等。
与时间无关,即对视频的每一帧单独进行处理,与图像处理(Image Processing)完全一样;与时间相关,即对当前帧的处理还与前后帧中图像有关。而今天要讨论的图像跟踪与视频去抖都属于后者。
思路是在参考帧中选定一个小范围,通过比对在当前帧中的相邻位置并求绝对差和(Mean Absolute Error) 的方式来判断在当前帧相对参考帧的位移,如下图所示:
图1. 运动跟踪示意图
上图选取正中白框为参考区域,并在蓝框内进行遍历移动计算绝对差和,最小绝对差和的位置是参考区域在当前帧中所在位置。
除了绝对差和外也可以使用别的误差累加方法,如:均方差(mean square error) 等,这里使用绝对差和仅出于其计算量较小的考虑。
图2. 视频去抖示意图
上图中,参考区域在当前帧中有个向右下角的移动,即当前帧相对参考帧有向左上角的移动。通过使参考帧与当前帧参考区域重合的方式,我们就能够去除由摄像头位移导致的抖动。
需要注意的是:当前帧有部分像素由于不包含于参考帧图像中,所以也不显示在当前帧中;参考帧中同样有部分像素不包含与当前帧中,然而因为这部分像素缺失。解决方法有:
1. 缩小图像显示尺寸;
2. 将参考帧中该部分的像素拷贝到当前帧相应位置,当视频帧率较高,或者图像移动距离小时,效果较好。