运动历史图(MHI)——Motion History Image

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。可以观察到当阈值过小时无法很好地区分运动前景与背景,导致运动历史图的背景中充满了噪声。背景噪声随着差异阈值的不断增大逐渐消失,取而代之的是在运动区域中心出现了“空洞”。空洞随着阈值的增大而增大,直至运动历史图中只剩下运动的边缘轮廓部分。在以运动历史图为模板的一些应用研究中,需要特别注意差异阈值对运动轮廓模板的影响。

时间: 2024-11-11 14:40:56

运动历史图(MHI)——Motion History Image的相关文章

操作系统Operating Systems操作系统历史与硬件概况History of OS & Summaries!

培根:读史使人明智 操作系统的简史 (1955-1965) 计算机非常昂贵,上古神机IBM7094 ,造价在250万美元以上 计算机使用原则:只专注于计算 批处理操作系统(Batch system) 典型代表:IBSYS 从IBSYS 到OS/360(1965-1980) 计算机开始进入多个行业:科学计算(IBM 7094) ,银行(IBM 1401) 需要让一台计算机干多种事 多道程序(multiprogramming) 作业之间的 切换和调度 成为核心:因为既有IO 任务,又有计算任务,需要

OpenCV3.1.0中调用MHI(Motion History Images, 运动历史图像)

写在前边: OpenCV3.0+要想使用MHI,就要现安装扩展模块opencv_contrib.安装方法见:ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块) OpenCV2.4.11中samples/python2/motempl.py 就是使用mhi的一个例子,但是在OpenCV3.1.0下使用的话需要稍加修改: 1.把OpenCV2.4.11/samples/python2/motempl.py 复制到OpenCV3.1.0/sample

每日linux命令学习-历史指令查询(history、fc、alias)

linux历史机制对命令行中输入的命令进行编号并依此保存,以维护命令历史.登录会话期间输入的命令保存在shell内存中,若终止命令则添加至历史文件. 1. 箭头符号方向键 使用键盘上的箭头方向键可以从历史文件中获取历史指令,访问历史指令后也可以进行更改. 2. history指令 history是系统的内置指令,可以显示.bash_history文件保存的指令列表,并向指令赋予编号. 3. fc指令 fc指令可以用于输出历史命令列表,也可以通过调用vi编辑器对历史指令内容进行编辑输出. 语法:

历史管理-onhashchange&window.history

网页记录历史记录两种方法 1.onhashchange事件  改变hash值来管理 hash值:http://test.con#hash #后面内容即为hash值 设置网页的hash值  window.location.hash = "要设置的hash值" 获取hash值:var hash = window.location.hash.substring(1);//去掉#号 直接修改网址的hash值,不刷新页面,是不会显示hash指定的模块,此时需要用到onhashchange事件 修

[No000037]操作系统Operating Systems操作系统历史与硬件概况History of OS & Summaries!

培根:读史使人明智 操作系统的简史 (1955-1965) 计算机非常昂贵,上古神机IBM7094 ,造价在250万美元以上 计算机使用原则:只专注于计算 批处理操作系统(Batch system) 典型代表:IBSYS 从IBSYS 到OS/360(1965-1980) 计算机开始进入多个行业:科学计算(IBM 7094) ,银行(IBM 1401) 需要让一台计算机干多种事 多道程序(multiprogramming) 作业之间的 切换和调度 成为核心:因为既有IO 任务,又有计算任务,需要

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗?至于程序部分,我选择了PHP语言编写的ZBLOG系统,而采用这套系统的朋友们都知道,当年可是有了不起的博客问世,那就是著名的月光博客,在2008年至2012年期间,月光博客可以说是中国十大名博之一,尤其是在科技行业,可以说无人超越,这种独立博客的访问量在那个时代算是名动一时,让人非常羡慕,而在按个时代,我也尝试过写点儿博客,而且那时候博主非常多,

基于视觉的人的运动识别综述

人的运动识别 ,可以简单地看成一个时变数据的分类问题 ,包括运动的表示和运动的识别两部分 人运动的类别 人的运动可以分为三类 : 动作 ( movement ) .行为 ( activity) 和行动 ( action) , 这三类运动分别处于三个不同复杂程度的层次上. 动作是运动的基元 ,是最基本的运动 , 是形成其他复杂 . 高级运动的基础. 一般来说动作在执行过程中会持续较短的时间 ,其识别方法一般可以采用几何或概率统计的方法. 譬如 ,打网球时挥动了一下球拍 ,这就是一个动作. 行为是指

[转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV

仅供参考,还未运行程序,理解部分有误,请参考英文原版. 绿色部分非文章内容,是个人理解. 转载请注明:http://blog.csdn.net/raby_gyl/article/details/17471617 Chapter 4:Exploring Structure from  Motion Using OpenCV 在这一章,我们将讨论来至运动结构(Structure from Motion,SfM)的概念,或者从一个运动的相机拍摄到的图像中更好的推测提取出来的几何结构,使用OpenCV的

history 清空历史记录 或 history不记录历史命令

# vi ~/.bash_history 清空里面的记录,并退出当前shell # exit(一定要退出当前shell) # history 1 vi ~/.bash_history 2 history |grep mysql 3 clear 4 vi ~/.bash_history 5 echo "" > ~/.bash_history 6 vi ~/.bash_history 7 history 8 exit 9 history #之前的内容被清空!!! [[email pr