化秋毫为波澜:运动放大算法(深度学习版)

本文介绍了运动放大的概念及其在细微行为检测中的重要性。针对运动放大的挑战,如保持外观不变和减少噪声,文章回顾了传统方法如Eulerian Video Magnification和Phase-based方法,并详细阐述了ECCV2018一篇论文中提出的基于深度学习的运动放大算法。该方法端到端学习特征提取和滤波,通过设计Encoder、Manipulator和Decoder实现运动放大,同时展示了与传统方法的兼容性和改进。实验结果显示,深度学习方法在运动放大效果上优于传统方法,尤其是在平滑性和减少伪影方面表现出色。
摘要由CSDN通过智能技术生成

什么是运动放大(Motion Magnification)?

将视频中对应位置的运动进行放大,简单理解的话,就是找到时间段内的运动矢量,进行放大,然后权值叠加回去。

 

为什么需要运动放大?

因为很多自然界或者生物的 subtle behaviour 不易被肉眼察觉(如飞机翼的震动,受风影响摇晃的建筑,生物皮肤变化等等),这些微变化只有通过运动放大,才能更好地被机器或者人类来做后续的视频视觉任务。

 

运动放大的难点?

如何在运动放大的同时,尽量保持 apperance 不变?如何不引入大量噪声? 如何保证放大后的动作平滑?没有现存的数据集来训练?

其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。

传统方法的发展历程:

MIT在2012年首次提出了 Eulerian Video Magnification[1] ,第一次实时且相对鲁棒地应用到一些场景,如远程心率脉搏提取,记得多年前看到宣传的video是非常地震撼~~因为之前做运动放大,都不是用Eulerian方法,而是用Lagrangian视角去做(即运动估计,tracking啥的,非常耗时)

问题描述如下:

\hat{I}(x,t)=f(x+(1+\alpha)\delta(t))

原始信号 I(x,t)表示图像在位置 x 和时刻 tt的亮度值,而 \delta(t)表示运动偏差。目标就是通过调整运动放大系数 \alpha来生成放大后的信号 \tilde{I}(x,t)

文中通过实验发现,temporal filter可以模拟 spatial translation,故问题就简化为 提空间特征+设计时间维度上的滤波器。

算法的流程如下:

1.对视频每一帧都进行拉普拉斯金字塔处理,得到Multi-scale的边缘及形状描述

2. 对每个scale的特征voxel进行pixel-wise 时间上的带通滤波,增强感兴趣频率上的信号,过滤掉不感兴趣频率的噪声

3. 对filtered完的信号进行运动放大,叠加回滤波前的特征voxel;最后将金字塔重构融合。

Eulerian 运动放大框架[1]

 

该方法的cons:

1. 滤波器只能抑

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值