本文主要是介绍化秋毫为波澜:运动放大算法(深度学习版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
什么是运动放大(Motion Magnification)?
将视频中对应位置的运动进行放大,简单理解的话,就是找到时间段内的运动矢量,进行放大,然后权值叠加回去。
为什么需要运动放大?
因为很多自然界或者生物的 subtle behaviour 不易被肉眼察觉(如飞机翼的震动,受风影响摇晃的建筑,生物皮肤变化等等),这些微变化只有通过运动放大,才能更好地被机器或者人类来做后续的视频视觉任务。
运动放大的难点?
如何在运动放大的同时,尽量保持 apperance 不变?如何不引入大量噪声? 如何保证放大后的动作平滑?没有现存的数据集来训练?
其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。
- 书的购买链接
- 书的勘误,优化,源代码资源
传统方法的发展历程:
MIT在2012年首次提出了 Eulerian Video Magnification[1] ,第一次实时且相对鲁棒地应用到一些场景,如远程心率脉搏提取,记得多年前看到宣传的video是非常地震撼~~因为之前做运动放大,都不是用Eulerian方法,而是用Lagrangian视角去做(即运动估计,tracking啥的,非常耗时)
问题描述如下:
原始信号 表示图像在位置 和时刻 t的亮度值,而 表示运动偏差。目标就是通过调整运动放大系数 来生成放大后的信号
文中通过实验发现,temporal filter可以模拟 spatial translation,故问题就简化为 提空间特征+设计时间维度上的滤波器。
算法的流程如下:
1.对视频每一帧都进行拉普拉斯金字塔处理,得到Multi-scale的边缘及形状描述
2. 对每个scale的特征voxel进行pixel-wise 时间上的带通滤波,增强感兴趣频率上的信号,过滤掉不感兴趣频率的噪声
3. 对filtered完的信号进行运动放大,叠加回滤波前的特征voxel;最后将金字塔重构融合。
该方法的cons:
1. 滤波器只能抑制某些频率的噪声,但乘以运动放大系数后,在带通频段的噪声也会放大
2. 若物体本身非静止,而在运动,该放大算法生成的图很模糊
故根据以上不足,后面又有两
这篇关于化秋毫为波澜:运动放大算法(深度学习版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!