运动历史图(MHI)——Motion History Image
来源:互联网 发布:中华英才网 知乎 编辑:程序博客网 时间:2024/05/12 13:08
MHI最初是由Bobick 和 Davis提出的,在此之前,Bobick 和 Davis 首先提出了二值的运动能量图(Motion Energy Image,MEI),通过描述物体如何移动和运动在空间中发生的位置,来进行基于运动的物体识别。运动能量图显示了运动的轮廓和能量的空间分布。在运动能量图的基础上产生了运动历史图(Motion History Image,MHI)。运动历史图是一种基于视觉的模板方法,通过计算时间段内同一位置的像素变化,将目标运动情况以图像亮度的形式表现出来。它是这样的一种图像:其每个像素的灰度值表示了在一组视频序列中该位置像素的最近的运动情况。最后运动的时刻越接近当前帧,该像素的灰度值越高。因此,MHI图像可以表征人体在一个动作过程中最近的动作情况,这使得MHI被广泛应用于动作识别领域。
设H为运动历史图像素的强度值,H (x, y, t) 可以由更新函数计算得出:
式中,(x, y)和t为像素点的位置及时间;tao为持续时间,从帧数的角度决定了运动的时间范围;delta为衰退参数。psai(x, y, t)为更新函数,可由帧间差、图像差分或光流等多种方法定义,其中帧间差法最为常用:
其中:
式中,I (x, y, t)为视频图像序列第t帧坐标(x, y)像素点的强度值,delta为帧间距离,ksai 为人为给定的差异阈值,随着视频场景的变化而调整。
生成运动历史图时,若持续时间tao 小于动作持续的帧数,就有可能丢失运动的部分信息。如下图所示,对向左弯曲挥手(时间长度26 帧)的动作视频,分别取tao= 10、15、20、 50、100、 250,取delta 均为 1 做运动历史图。对于第一行持续时间小于帧长的情况,当视频当前帧大于tao 时,运动历史图丢失了动作刚开始时的运动信息。另一方面,若持续时间tao 相比视频帧长设置得过大,则运动历史图中像素强度值的变化将变得不太明显。例如下图第二行最右,约为视频总长的 10 倍,图中非零的各像素强度值十分接近,只凭这张运动历史图难以判断人物运动的方向,即往左上挥手还是把手放下。在生成运动历史图时,必须考虑这点对于成图的影响。
同时,衰退参数delta的选取对生成运动历史图影响也十分显著。在读取先前帧时,对于已发生运动区域的一个特定像素点,若该点转为静止状态或运动状态没有改变,则运动历史图中该像素的强度值减少delta 。在基本的运动历史图成图方法中delta 的值通常取1,但实际操作时取不同的delta 值会使运动历史图提供的信息发生变化,因此delta 可根据研究需要取对应的经验值。如下图所示,对向左弯曲挥手这一运动,分别取delta = 1、3、 5、10,做出运动结束时同一帧的运动历史图。可以观察到随着delta 值的增大,图中运动轮廓的“尾部”,即较早发生运动的部分,被消除得更多。
从以上讨论可知,运动历史图中持续时间tao 与衰退参数delta 的组合决定了运动区域像素强度衰减至0 的时间。一个较大的tao 与一个较小的delta 组合会产生连续的、变化缓慢的梯度分布,而一个较大的delta 与一个较大的tao 组合则会造成离散的阶梯状分层。
除此之外,差异阈值ksai也为运动历史图的重要参数之一。下图所示的四张运动历史图,差异阈值从左到右依次增大,分别为ksai = 30、 50、 75和150。可以观察到当阈值过小时无法很好地区分运动前景与背景,导致运动历史图的背景中充满了噪声。背景噪声随着差异阈值的不断增大逐渐消失,取而代之的是在运动区域中心出现了“空洞”。空洞随着阈值的增大而增大,直至运动历史图中只剩下运动的边缘轮廓部分。在以运动历史图为模板的一些应用研究中,需要特别注意差异阈值对运动轮廓模板的影响。
- 运动历史图(MHI)——Motion History Image
- shader学习笔记——运动模糊(motion blur)
- 历史 history
- Rhyme/ linux Bash基本功能—历史命令history配置详解、修改历史命令保存条数、历史命令的调用
- iOS动画技术——iOS 7 运动效果(Motion Effects)
- 运动模糊 motion blur
- Motion Parallax运动视差
- Unity3D图像后处理特效——Motion Blur image effect
- Unity3D图像后处理特效——Motion Blur image effect
- Truck History(汽车的历史)——最小生成树
- js历史对象History
- linux--历史命令--history
- linux--历史命令:history
- 【history】查看命令历史
- 第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
- 第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
- 视频运动motion vector获取。
- 什么是运动模糊(Motion Blur)
- 8. 版本回退
- 自学Swift(三)
- Java面试题
- 【转】高性能web开发 - 如何加载JS,JS应该放在什么位置?
- mac 删除文件夹里所有的.svn文件
- 运动历史图(MHI)——Motion History Image
- Android的Menu菜单详解(二)
- 树
- Servlet--HttpUtils类
- 正则表达式基本语法
- [安卓]手机管家(九)高级工具之号码归属地查询
- 主题 : sizeWithFont iOS 7.0 新方法的写法
- 中国天气预报开放接口地址
- 组合还是继承