视频运动放大一:欧拉视频放大,《Eulerian video magnification for revealing subtle changes in the world》

EVM算法的Python实现 EVM(Eulerian Video Magnification,欧拉视频放大或欧拉影像放大)是一种将视频中的微小变化进行放大的算法,正如论文标题所说《Eulerian Video Magnification for Revealing Subtle Changes in the World》,该算法可以将视频中的微小变化转变为肉眼可以 阅读详情
AI摘要

本文探讨了Eulerian Video Magnification (EVM)技术,如何通过结合光流法和泰勒级数,放大视频中的微妙变化,如皮肤色泽变化、微表情和微小运动。方法包括金字塔分解、滤波和一阶泰勒展开,展示了实验中放大脉搏的效果。但同时指出了放大可能带来的噪声放大问题。

《Eulerian video magnification for revealing subtle changes in the world》(EVM)

目录

​

《Eulerian video magnification for revealing subtle changes in the world》(EVM)

背景

方法

实验

总结


背景

视频的时空处理相结合可以放大细微的变化,从而揭示周围世界的一些重要方面。如人类皮肤的颜色随血液循环而略有变化,细微表情和微小运动(脉搏,心率,桥梁变化等)等人类难以肉眼观测到的方面放大后,方便进行后续分析。

方法

如上图所示。EVM 是基于光流法并利用一阶泰勒展开来实现运动放大的一种经典方法。可以揭示和放大视频中的小动作和变化,EVM 首先将输入帧进行金字塔分解(空间分解),应用滤波于每个金字塔内的级别,而不是原始图片上的级别,因为目标是放大金字塔各个级别包含运动频率。然后,该技术将所需频率乘以放大系数α(由用户定义); EVM 放大实际运动并允许我们可以识别肉眼无法察觉的运动,所需的放大值频率被加回到相同级别的未放大的频率以获得最终视频夸张的动作。

下面分别解释上一自然段中黑色部分。


金字塔分解

金字塔分解,将图像应用高斯模糊核,将原图与模糊后的图像相减得到拉普拉斯金字塔。

即拉普拉斯金字塔是由高斯金字塔得来的,我们将原始图像通过与卷积核进行卷积以及隔行隔列的下采样(减小尺度),重复这一过程,我们就可以得到完整的高斯金字塔。

将高斯金字塔的最顶层隔行隔列且与同一卷积核卷积得到上采样图像,将同层的高斯金字塔与该上采样图像做差,得到与该层拉普拉斯金字塔,重复这一过程就得到全部的拉普拉斯金字塔。

如果我们用上采样图像与拉普拉斯金字塔对应层相加就会得到同层高斯金字塔,重复这一过程我们就能得到原始图像。(用于EVM最后的图像重建)


滤波

  欧拉视频放大采用标准视频序列作为输入,应用空间分解之后,然后对帧进行时域滤波。对特定信号放大之后,合成重构,得到结果。

  低通滤波:滤除高频成分保留低频成分的方法

  高通滤波:突出高频成分而使低频分量相对受到抑制的方法

  带通滤波:保留特定频段的波的同时屏蔽其他频段

如下为不同的滤波器

上图列举的有三种滤波器,理想带通滤波器、巴特沃斯滤波器、无限冲激响应滤波器。一般来讲对于颜色的放大,我们选择理想带通滤波器,而对于动作的放大我们考虑巴特沃斯滤波器或者无限冲激响应滤波器。这是因为颜色的变化比较静思,我们需要陡峭的截止频率,以防止颜色观察错误。而对于运动放大比较‘’粗放‘’,若选用的频域滤波器具有陡峭的变化,则会使滤波结果图像产生“振铃”现象,我们选用巴特沃斯滤波器或者无限冲激响应滤波器可以避免。

用I(x,t)表示图像在空间x处和在时间t处的强度,则有

其中δ (t)代表位移函数,即代表从0到t时刻x的变化。使用一阶泰勒级数展开,则得到如下分解式子,

 对I(x,t)使用带通滤波器进行滤波,δ (t)处于滤波的频带范围内,假设提取出了f(x)以外的所有信号,即B(x,t),如下


乘以放大系数α

 对上式子进行放大处理,即乘以放大因子α之后与原信号相加:

 联立上述式子,得到

 之后利用泰勒展开式可以得到输出信号

 上式子表明运动放大的整个过程,f(x)在时刻t的位移δ (t)被放大了(1+α)倍


加回

参考金字塔分解,重新看一下。


实验

我利用文章开源代码进行了实验,自行拍摄了一段脉搏变化的视频并进行放大,结果如下。无法上传视频好像,便截了关键图。

原始视频帧:

 放大后的脉搏:

总结

        由于基于光流思想的EVM算法采用修改运动区域像素值强度的方式实现运动信号的放大,当无法区分噪声信号和运动信号时,在放大信号的同时会一并将噪声放大,从而湮没运动信号,进而产生图像的伪影及运动信号的损坏,影响有效信息的提取。      

         EVM适合在高空间频率下使用较小的放大倍数,并且当放大倍数增加时会显著放大噪声。

本文为该运动放大系列下文章,系列目录如下:

运动放大、视频放大、Video Motion Magnification、Video Magnification_Alocus_的博客-优快云博客目录背景方法拉格朗日法欧拉法线性欧拉方法非线性欧拉方法深度学习法总结挖坑,运动放大。如果关注的伙伴们多,我会尽快更新,才疏学浅,我会把我了解到的知识在本系列中写出来。背景人类肉眼难以观察到细微的变化,然而重要的信息往往潜藏在其中,视频放大技术能够让我们更好地观察到视频中的这些变化,并对其进行深入的分析和利用。方法主要分三大类,拉格朗日法、欧拉法(线性、非线性)、深度学习法拉格朗日法《Motion magnification》欧拉法https://blog.youkuaiyun.com/Crystal_remember/article/details/116781912

专题一:欧拉视频放大(线性)------线性放大理论分析 目录前言整体框架空间滤波空间滤波作用时域滤波放大 前言 在对论文及程序有一定的理解之后,我们对欧拉线性放大的整体做一个总结,以加深理解。 整体框架 欧拉线性放大主要分为四个步骤,即是空间滤波,时域滤波,放大,合成。合成呢·其实就是空间分解的逆过程。所以说我们主要该弄懂前三个过程。 首先呢,我们将原始视频通过拉普拉斯金字塔进行多分辨率的分解,然后我们在金字塔的不同层进行时域滤波,再在滤波后的信号上... 阅读详情

相关推荐

专题二:欧拉视频放大(基于相位)---原理解析

目录前言实施的步骤空间滤波、提取相位时域滤波放大合成数学原理推导 前言 由于欧拉线性放大方法会不可避免的放大噪声,所以放大率和放大效果都会受到影响。而基于相位的放大方法不会放大噪声,只会平移噪声,代价是算法的复杂度增加,所以在追求更好的放大效果时,我们可以考虑基于相位的放大。 实施的步骤 空间滤波、提取相位 我们知道图像傅里叶变换的幅度谱代表信号的强度,相位谱代表信号的位置。如果我们直接对相位进行...

pc_idiot的博客 8072

欧拉影像放大算法(Eulerian Video Magnification)的原理和实现

原文链接 因为原文网站不能翻译LaTeXLaTeXLaTeX公式了,后续在本站的一些转载也没有公式,故在此重新整理。 0.引言 人类的视觉感知存在有限的感知域。对于超出感知域的变化,我们无法感知。然而,这类信号却可能蕴藏着惊人的秘密。 比如,血液循环使得人体的皮肤发生细微的周期性变化,这个裸眼无法感知的变化却和人的心率非常吻合。2011 年,MIT 的一个亚裔学生 Mingzhe Poh 就利用这个微弱的信号设计了一个“魔镜” —— 不仅能照出你的模样,还能测出你的心率。 Mingzhe Poh 的这面神奇

Weng Shihao's blog 5045

EVM源码解读(1):amplify_spatial_lpyr_temporal_iir函数

前言   本文是对MIT多媒体实验室论文《Eulerian video magnification for revealing subtle changes in the world》对应代码的研读。Hao-Yu Wu的这篇EVM研究算得上是EVM的开山鼻祖,在视频放大领域久负盛名,网上关于这篇论文的研读广有流传。但对于该论文所对应的MATLAB代码却鲜有注解,对于初学者而言,读懂EVM代码并非易...

大山喵写博客的地方 2830

视频运动放大系列(1)- Motion Magnification 2005

由Ce Liu 等人开发的Motion Magnification的算法在执行初始图像配准步骤之后,通过对特征点轨迹的稳健分析来测量不同物体的运动,并根据位置、颜色和运动的相似性来分割像素,将像素分配至每一物体层,最后对每层运动物体运动放大。

weixin_40244089的博客 1522

CANopen协议实战:从零开始配置STM32的PDO通信(附完整代码)

本文详细介绍了如何在STM32平台上配置CANopen协议的PDO通信,包括核心概念、硬件连接、初始化设置及实战代码。通过同步和异步传输模式的配置示例,帮助开发者实现高效的数据交换,适用于工业控制和嵌入式系统。

pp12345的博客 239

基于相位的运动放大:如何检测和放大难以察觉的运动(02/2)

日常物体会产生人眼无法察觉的微妙运动。在视频中,这些运动的幅度小于一个像素,但是,我们可以使用基于相位的视频放大来揭示这些不可见的运动,在这篇文章中,我们将用 Python 从头开始​​编码!如果您对理论感兴趣,我们在上一篇文章中对此进行了介绍。结果示例如图 6 所示。

gongdiwudu的专栏 4164

微小运动检测(一)欧拉运动放大算法

一、关于微小运动      自然界中包含很多形式的运动,很多是肉眼不可见的,比如人脸面部血液的流动,然而这种微小运动却包含了很多信息,比如我们可以通过分析面部血液流动的频率,进而得到心率。MIT提出的欧拉算法可以放大这种不可见的运动,使之清晰的呈现在我们面前。 二、欧拉运动放大算法的基本原理     &nbs...

lianghong1564868的博客 6864

基于相位的运动放大:如何检测和放大难以察觉的运动(01/2)

当我第一次接触到运动放大时,我很惊讶,移动不到一个像素的东西怎么会有运动放大?没错,我们实际上可以检测和放大静态视频中难以察觉的运动,而且我们可以在不放大噪音的情况下做到这一点!这个概念有很多应用,并且已经在多个行业中使用。例如,结构和设备并不总是容易安装传感器。可靠的视觉技术可以成为快速识别和诊断问题的有效方法,这提供了低成本的结构分析。

gongdiwudu的专栏 5168

#图像增强#放大运动

简单来说就是将我们周围肉眼看不到的变化和运动可视化,以前的方法是需要跟踪像素,在运动放大后要处理视频中留下的痕迹,这篇文章的方法不需要跟踪像素明确的移动他们,只需要处理视频中每个像素随时间的颜色变化。 限制:噪声在结果中会被放大 过去的方法: 1.将RGP视频利用拉普拉斯金字塔分解成不同的频率信息(拉普拉斯金字塔 ), 2.然后用时域滤波挑选我们需要放大的信号,放大之后加回原始帧,获得新的拉普拉斯金字塔 如果有一个图像右移,那么该点随时间变化的亮度与图像平移量有关 该放大运动近似线性,对.

mzr193的博客 1919

PyEVM:EVM(欧拉视频放大率)的Python实现

EVM(欧拉视频放大率)的Python实现 这是欧拉视频放大倍数《的欧拉视频放大倍率》的python实现。 我们的目标是揭示用肉眼难以或无法看到的视频中的时间变化,并以指示性的方式进行显示。 我们的方法(称为欧拉视频放大率)采用标准视频序列作为输入,并应用空间分解,然后对帧进行时间滤波。 然后将得到的信号放大以显示隐藏的信息。使用我们的方法,我们可以可视化血液在脸部填充时的流动,并且可以放大和显示微小的运动。 我们的技术可以实时运行,以显示在用户选择的时间频率处发生的现象。 安装OpenCV3 由于OpenCV3.X不支持Python3,因此您需要手动安装opencv3。 首先,下载适用于python3的opencv3: 适用于Python3的OpenCV3: ://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 然后使用pip安装open

RAGFlow核心引擎DeepDoc之PDF解析大起底

本文深入解析RAGFlow中的deepdoc模块,重点介绍了pdf文档解析器的实现细节。deepdoc包含parser(文档解析器)和vision(视觉处理)两大核心功能,其中pdf解析是最复杂的部分。文章详细剖析了PdfParser类的设计架构,包含PlainParser(基础文本提取)、RAGFlowPdfParser(核心处理流水线)和VisionParser(视觉扩展)三个类,它们通过统一的__call__方法返回标准化结果。还具体讲解了初始化过程如何加载OCR引擎、布局识别模型、表格结构识别器等关

yxkong的专栏 2021

专题一:欧拉视频放大(线性)------随时间改变放大系数

目录前言理论推导1.线性变化2.正弦函数变化代码更改实际效果 前言 最近有小伙伴问我怎么设置随时间改变放大因子,实现在一个视频中放大倍数不断变化的效果。现在我们来看一下。 理论推导 首先我们知道在视频处理中,时间的概念是由帧数间接体现出来的。如下图,我们打开一个视频文件,右键属性可以查看到视频的帧频Fr(frame rate)和总时长time。 那么总的帧数len=Fr*time就可以求得。或是...

pc_idiot的博客 1876

Rocky Linux 9.0国内yum源一键替换指南(上海交大镜像站实测)

本文详细介绍了如何将Rocky Linux 9.0的yum源替换为上海交大镜像站,以解决国内用户访问官方源速度慢的问题。通过实测验证,上海交大镜像站提供高速下载和稳定更新,并提供了完整的替换步骤、常见问题解决方案及高级优化配置,帮助用户提升软件包下载效率。

weixin_29304985的博客 357

欧拉运动放大算法实现心率检测

由于疫情的影响,一系列的非接触设备的到应用,如无人消毒机器人、红外测温。除了体温,心率也是衡量人体状况的重要指标。心率可以通过颈动脉、桡动脉还有皮肤颜色来进行提取。2012年,Wu等人基于欧拉视频放大(EVM)技术设计了一个非接触式心率检测系统在相机和目标人物本身没有明显晃动的情况下,且光照条件良好时,该系统测得心率的结果,能够获得临床级别的准确度。之后又有学者提出了基于相位的微小运动放大算法。近年来传统的运动放大技术还是EVM和PVM,自动识别和视觉增强方面的发展和探索空间还比较大。本文运用欧拉运动放大技

鹏鹏的博客 4694

Deepseek+Word插件:一键搞定论文翻译与润色的学术写作新革命

本文介绍了Deepseek Word插件如何革新学术写作流程,实现论文翻译与润色的一键操作。该插件深度集成于Word环境,能智能完成中英互译、语法修正、术语统一及逻辑优化,显著提升写作效率与文本质量,是研究者的高效AI助手。

weixin_29252171的博客 511

C++动态规划详解

动态规划思想 一、动态规划概念: 动态规划(dp)是研究多步决策过程最优化问题的一种数学方法。在动态规划中,为了寻找一个问题的最优解(即最优决策过程),将整个问题划分成若干个相应的阶段,并在每个阶段都根据先前所作出的决策作出当前阶段最优决策,进而得出整个问题的最优解。即记住已知问题的答案,在已知的答案的基础上解决未知的问题。 在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后

weixin_51951103的博客 2万+

欧拉视频放大(EVM算法)的Python实现

欧拉视频放大

智市科技博客 1057

AtmelStudio 7 ASF库学习笔记一:新建工程、配置时钟、下载程序和查看官方例程

由于需要学习一下atmel的atsaml 系列,使用AtmelStudio 7开发,之前主要用STM32,现在看到Atmel的库函数,其实是有些类相似的。 ASF3的库对应ST的标准库。ASF4对应ST的HAL库,Ateml Start对应STM32CubeMX。但在这里还是用ASF3来开发,因为Ateml Start还不支持我的这个芯片,而且和STM32的HAL库类似,ASF4为了好移植都是底...

yxy244的博客 8653

欧拉视频放大技术:从脉搏可视化到结构健康监测的实践探索

本文深入探讨欧拉视频放大(EVM)技术在生物医学和工业监测领域的创新应用。从无接触生命体征监测到桥梁形变分析,详细解析了EVM技术的核心原理、参数设置和工程优化方案,包括金字塔分解、时域滤波等关键技术,并分享了在医疗监护和结构健康监测中的实战经验与挑战应对策略。

weixin_28725407的博客 192

嵌入式Linux Qt应用程序卡死问题分析记录

根据应用和系统层面的分析,软件功能异常和卡死现象的原因是系统控制台/dev/console阻塞导致依赖其的相关应用和命令异常。系统控制台/dev/console阻塞的原因还未确定,最近的软件版本和其他测试同事未出现该问题,所以很大可能是串口线的问题,待后续有进展了继续更新。

V10_x的博客 1638

使用 MATLAB/Simulink 来构建一个基于多能互补的微电网储能系统模型

【摘要】本文详细介绍了基于MATLAB/Simulink的多能互补微电网储能系统建模方法。教程涵盖光伏发电、风力发电、电池储能和负荷模块的搭建,重点讲解了能量管理系统(EMS)的调度策略实现。通过设置传感器监测关键参数,并采用固定步长离散求解器进行仿真,分析了系统在动态工况下的响应特性,包括发电-负荷平衡、储能状态变化及系统稳定性等指标。该建模方法为多能互补微电网的设计与优化提供了有效工具,对提升可再生能源利用效率具有实践指导意义。

MHD0815的博客 189

人工智能|计算机视觉——微表情识别(Micro expression recognition)的研究现状

MEGC2019中的四篇工作,虽然使用的网络结构各不相同,但思路类似,都使用了微表情的Apex帧表示整段表情的特征。总体而言,关于Apex的光流是比较好的特征形式,而Transfer learning+Domain Adaptation对于模型的效果提升也是巨大的。

也许有一天我们再相逢 睁开眼睛看清楚 我才是英雄! 5800

15、虚拟环境中的数据保护与恢复方案解析

本文深入解析了虚拟环境中两种重要的数据保护与恢复解决方案:RecoverPoint for Virtual Machines(RP4VM)在VxRail上的设计,以及Veeam Backup & Replication(VBR)与VxRail的集成方案。文章详细介绍了RP4VM的网络布局、故障转移场景及其相关问题,以及VBR的架构设计、备份与复制流程、许可证选项及其多平台支持特性。此外,还探讨了RP4VM与VBR结合使用的综合解决方案,以及未来数据保护领域的发展趋势,如智能化管理、云原生集成和零信任架构,为

t4y5u6i7o的博客 93

【亲测免费】 探秘视频微观世界:QtEVM——基于OpenCV与Qt的欧拉视频放大器

探秘视频微观世界:QtEVM——基于OpenCV与Qt的欧拉视频放大器 在数字图像处理领域,细微之处往往隐藏着惊人细节。今天,我们为您介绍一款强大工具——QtEVM(欧拉视频微放大器),它采用C++语言编写,融合了OpenCV的强大图像处理能力和Qt的丰富界面设计功能,打开了通往视频微观视角的大门。 项目介绍 QtEVM是一个实现Eulerian Video Magnification(欧拉视频放...

gitblog_00092的博客 579

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Eulerian Video Magnification 项目常见问题解决方案

Eulerian Video Magnification 项目常见问题解决方案 项目基础介绍 Eulerian Video Magnification 是一个用于发现视频中隐藏变化的工具。该项目基于麻省理工学院(MIT)的研究成果,旨在通过放大视频中的微小运动来揭示隐藏的信息。主要编程语言为 Python,依赖于 OpenCV、NumPy 和 SciPy 等库。 新手使用注意事项及解决方案 1. ...

gitblog_00875的博客 651

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 双边网格学习、Bilateral Learning
下一篇: 双边网格学习一:2021cvpr《Ultra-High-Definition Image Dehazing via Multi-Guided Bilateral Learning》
Alocus_
Alocus_ 新星创作者: 人工智能技术领域 新星创作者: 人工智能技术领域
博客等级 码龄9年 2万+粉丝 184原创
评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alocus_

如果我的内容帮助到你,打赏我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值