本文主要介绍光流的形式,光流值的正负代表什么含义,以及如何利用光流进行warping。
1. 光流正负值的含义
- 光流的概念:光流表示的是从reference frame到target frame,物体的移动。
- 光流的形式:光流的表示也是数字化的。它一般使用一个三维的数组([H,W,2])表示,其中H表示图像的高度,也就是数组中的行数,W表示图像的宽度,也就是数组中的列数,2表示x , y两个方向。
- 偏移量的大小是通过光流数组中的数值大小体现出来的,而偏移的方向是通过光流数组中的正负体现出来的。
在x方向上,某点处光流值为正值表示,从frame 1到frame 2,该点向右移动了;光流值为负值,表示该点向左移动了。在y方向上,某点处光流值为正值表示,从frame 1到frame 2,该点向上移动了;光流值为负值,表示该点向下移动了。
下面依次对应frame 1, frame 2和frame1 -> frame 2的光流图。
从frame 1到frame 2,大概是往左移的趋势,x值为负值。
2. 如何利用光流进行warping
在利用上面的光流对frame 2进行warping的时候,取基准坐标,不能直接取基准坐标对应的frame 2作为warped frame 2,而是应该在基准坐标的基础上左移几个单位(根据光流,从frame1到frame 2是左移),就能得到warped frame 2,放到基准坐标对应位置上。
基准坐标如下:
下面是根据光流对frame 2 warping的结果:
左侧的黑色区域(一条黑色带)是由于对frame 2左移,左移就已经超出边界了,所以是黑色,找不到对应的像素。