betterFlow 链接
betterflow算法里面包含了运动补偿部分,运动补偿效果如下图所示
左上(a) 是补偿前的event count image,可以看到运动模糊
左下© 是补偿后的,可见去除了运动模糊
右边(b) (d) 是对应的光流表示
对于event, 是按平均时间面表示的
这点实现的时候可截取一个时间窗,窗口内在每个位置处叠加timestamp, 然后除每个位置event的个数
while ((TD.ts(j) < t2) && (j<Tmax))
Timg(TD.y(j), TD.x(j)) = Timg(TD.y(j), TD.x(j)) + TD.ts(j)/double(1e6);
count(TD.y(j), TD.x(j)) = count(TD.y(j), TD.x(j)) + 1;
j = j+1;
end
Timg = Timg./count;
paper里面的运动补偿算法如下
其中M是一个含四个参数的模型
上面算法主要流程如下:
先用模型M得到变换后的(x, y)坐标
利用新的(x, y)得到新的平均时间面
利用平均时间面求模型中每个变量的梯度
更新模型直到满足终止条件
但是按照上面的直接实现效果不好,下面进行源码解析
(待更新)
用公共测试集测试效果如下
)