精华内容
下载资源
问答
  • 视频行为识别综述

    2021-01-14 06:11:44
    在回顾了当下流行的基于深度网络的行为识别方法的基础上,着重综述了基于手动提取特征的传统行为识别方法。传统行为识别方法通常遵循对视频提取特征并进行建模和预测分类的流程,并将识别流程细分为以下几个步骤进行...
  • 行为识别综述

    2015-07-30 22:27:15
    该文档包含了比较全面的行为识别综述,以及深度学习的最近进展,能够帮助大家尽快掌握该领域的发展现状,为大家理清研究思路提供一定的帮助和参考。
  • 行为识别综述ppt

    2017-08-10 17:20:22
    行为识别ppt
  • 人体动作行为识别研究综述
  • 行为识别特征综述

    2019-09-28 01:19:17
    原文链接:http://blog.csdn.net/zhoutongchi/article/details/8276013 行为识别特征提取综述 转自:http://www.cnblogs.com/tornadomeet/archive/2012/06/22/2558548.html ...

                 原文链接:http://blog.csdn.net/zhoutongchi/article/details/8276013


    行为识别特征提取综述

             转自:http://www.cnblogs.com/tornadomeet/archive/2012/06/22/2558548.html

             主要参考“Human Activity Analysis: A Review”

    摘要

      人体行为识别目前处在动作识别阶段,而动作识别可以看成是特征提取和分类器设计相结合的过程。特征提取过程受到遮挡,动态背景,移动摄像头,视角和光照变化等因素的影响而具有很大的挑战性。本文将较全面的总结了目前行为识别中特征提取的方法,并将其特征划分为全局特征和局部特征,且分开介绍了其优缺点。

    关键字: 行为识别 特征提取 全局特征 局部特征

    1. 前言

      如今人体行为识别是计算机视觉研究的一个热点,人体行为识别的目标是从一个未知的视频或者是图像序列中自动分析其中正在进行的行为。简单的行为识别即动作分类,给定一段视频,只需将其正确分类到已知的几个动作类别,复杂点的识别是视频中不仅仅只包含一个动作类别,而是有多个,系统需自动的识别出动作的类别以及动作的起始时刻。行为识别的最终目标是分析视频中哪些人在什么时刻什么地方,在干什么事情,即所谓的“W4系统”。

      下面将4个方面对行为识别做初步介绍。

    1.1 行为识别应用背景

      人体行为识别应用背景很广泛,主要集中在智能视频监控,病人监护系统,人机交互,虚拟现实,智能家居,智能安防,运动员辅助训练,另外基于内容的视频检索和智能图像压缩等有着广阔的应用前景和潜在的经济价值和社会价值,其中也用到了不少行为识别的方法。

    1.2 行为识别研究历史

      行为识别分析的相关研究可以追溯到1975年Johansson[1]的一个实验,作者提出了12点人体模型,这种描述行为的点模型方法对后来基于人体结构的行为描述算法起到了重要的指导作用。从那以后,行为识别的研历史究进展大致可以分为以下3个阶段,第1个是20世纪70年代行为分析的初步研究阶段,第2个是20世纪90年代行为分析的逐步发展阶段,第3个是最近几年来行为分析的快速发展阶段。从文献[2]~[7]这6篇较有名的行为识别综述论文可以看出, 研究行为识别的人数在不断增加,论文数量也是猛增,并且产生了许多种重要的算法和思想。

    1.3 行为识别方法分类体系

      关于视觉上人体运动分析和识别的方法论体系有很多种。Forsyth[8]等人侧重与将动作从视频序列中人的姿态和运动信息恢复过来,这属于一个回归问题,而人体行为识别是一个分类问题,这2个问题有很多类似点,比如说其特征的提取和描述很多是通用的。Turaga[5]等人将人体行为识别分为3部分,即移动识别(movement),动作识别(action)和行为识别(activity),这3种分类分别于低层视觉,中层视觉,高层视觉相对应。Gavrila[9]采用2D和3D的方法来分别研究人体的行为。

    对于行为识别方法论的划分中,最近出现了一种新的划分[7], Aggarwal将人体行为研究分为2大类,其一是基于单个层次来实现,其二是基于等级体系来实现。单层实现由分为时空特征和序列特征2种,等级体系实现分为统计方法,句法分析法和基于描述的方法3种。图1 Aggarwal对行为识别方法论体系的层次结构图。

    图1 行为识别方法层次结构

    该分类体系比较完善,也能很好的体现目前的研究进展。按照Turaga的3个层次划分理论,目前关于行为识别基本上还停留在第二个阶段,即action识别。而action识别比现实生活中的行为较简单,所以我们识别这些行为只需对这些行为进行正确的分类即可。这样一个行为识别系统就分成了行为特征提取和分类器的设计两个方面,通过对训练数据提取某种特征,采用有监督或无监督来训练一个分类模型,对新来的数据同样提取特征并送入该模型,得出分类结果。基于这个思想,本文主要是从行为识别的特征提取方面做了一个较为全面的介绍。

    1.4 行为识别研究难点

      行为识别发展至今,取得了很大的进展,在低层,中层和高层都取得了一定的突破,但是行为识别算法并不成熟,目前不存在一个算法适合所有的行为分类,3个视觉层次中都还有很多严峻的问题有待解决。其研究的难点主要体现在以下几个方面:

    1.4.1 动作类内类间的变化太大

      对于大多数的动作,即使是同一动作都有不同的表现形式。比如说走路,可以在不同的背景环境中完成,走路的速度也可以从慢到快,走路的步长亦有长有短。其它的动作也有类似的结果,特别是一些非周期的运动,比如过马路时候的走路,这与平时周期性的走路步伐明显不同。由此可见,动作的种类本身就很多,再加上每一种类又有很多个变种,所以给行为识别的研究带来了不少麻烦。

    1.4.2 环境背景等影响

      环境问背景等因素的影响可谓是计算机视觉各个领域的最大难点。主要有视角的多样性,同样的动作从不同的视角来观察会得到不同的二维图像;人与人之间,人与背景之间的相互遮挡也使计算机对动作的分类前期特征提取带来了困难,目前解决多视觉和遮挡问题,有学者提出了多摄像机融合通过3维重建来处理;另外其影响因素还包括动态变化和杂乱的背景,环境光照的变化,图像视频的低分辨率等。

    1.4.3 时间变化的影响

      总所周知,人体的行为离不开时间这个因素。而我们拍摄的视频其存放格式有可能不同,其播放速度有慢有快,这就导致了我们提出的系统需对视频的播放速率不敏感。

    1.4.4 数据的获取和标注

      既然把行为识别问题当成一个分类问题,就需要大量的数据来训练分类模型。而这些数据是视频数据,每一个动作在视频中出现的位置和时间都不确定,同时要考虑同一种动作的不同表现形式以及不同动作之间的区分度,即数据的多样性和全面性。这一收集过程的工作量不小,网上已经有一些公开的数据库供大家用来实验,这将在本文的第3部分进行介绍。

      另外,手动对视频数据标注非常困难。当然,有学者也提出了一些自动标注的方法,比如说利用网页图片搜索引擎[10],利用视频的字幕[11],以及利用电影描述的文本进行匹配[12][13][14]。

    1.4.5 高层视觉的理解

      上面一提到,目前对行为识别的研究尚处在动作识别这一层(action recognition)。其处理的行为可以分为2类,一类是有限制类别的简单规则行为,比如说走、跑、挥手、弯腰、跳等。另一类是在具体的场景中特定的行为[15]~[19],如检测恐怖分子异常行为,丢包后突然离开等。在这种场景下对行为的描述有严格的限制,此时其描述一般采用了运动或者轨迹。这2种行为识别的研究都还不算完善,遇到了不少问题,且离高层的行为识别要求还相差很远。因此高层视觉的理解表示和识别是一个巨大的难题。


    2. 行为识别特征提取

      这一节中,将主要讨论怎样从图片序列中提取特征。本文将行为识别的特征分为2大类:全局特征和局部特征。

      全局特征是把一对象当做成一个整体,这是一种从上到下的研究思维。这种情况下,视频中的人必须先被定位出来,这个可以采用背景减图或者目标跟踪算法。然后对定位出来的目标进行某种编码,这样就形成了其全局特征。这种全局特征是有效的,因为它包含了人体非常多的信息。然而它又太依赖而底层视觉的处理,比如说精确的背景减图,人体定位和跟踪。而这些处理过程本身也是计算机视觉中的难点之处。另外这些全局特征对噪声,视角变化,遮挡等非常敏感。

      局部特征提取是收集人体的相对独立的图像块,是一种从下到上的研究思维。一般的做法是先提取视频中的一些时空兴趣点,然后在这些点的周围提取相应的图像块,最后将这些图像块组合成一起来描述一个特定的动作。局部特征的优点是其不依赖而底层的人体分割定位和跟踪,且对噪声和遮挡问题不是很敏感。但是它需要提取足够数量的稳定的且与动作类别相关的兴趣点,因此需要不少预处理过程。

    2.1 全局特征提取

      全局特征是对检测出来的整个感兴趣的人体进行描述,一般是通过背景减图或者跟踪的方法来得到,通常采用的是人体的边缘,剪影轮廓,光流等信息。而这些特征对噪声,部分遮挡,视角的变化比较敏感。下面分别从其二维特征和三维特征做介绍。

    2.1.1 二维全局特征提取

    Davis[20]等人最早采用轮廓来描述人体的运动信息,其用MEI和MHI 2个模板来保存对应的一个动作信息,然后用马氏距离分类器来进行识别。MEI为运动能量图,用来指示运动在哪些部位发生过,MHI为运动历史图,除了体现运动发生的空间位置外还体现了运动的时间先后顺序。这2种特征都是从背景减图中获取的。图2是坐下,挥手,蹲伏这3个动作的运动历史图MHI。

                                

    图2 三种动作对应的MHI

      为了提前剪影信息,Wang[21]等人利用r变换获取了人体的剪影。Hsuan-Shen[22]则提取了人体的轮廓,这些轮廓信息是用星型骨架描述基线之间夹角的,这些基线是从人体的手,脚,头等中心延长到人体的轮廓。而Wang[23]同时利用了剪影信息和轮廓信息来描述动作,即用基于轮廓的平均运动形状(MMS)和基于运动前景的平均能量(AME)两个模板来进行描述。当把轮廓和剪影模板保存下来后,新提取出的特征要与其进行比较,Daniel[24]采用欧式距离来测量其相似度,随后他又改为用倒角距离来度量[25],这样就消除了背景减图这一预处理步骤。

      除了利用轮廓剪影信息外,人体的运动信息也经常被采用。比如说基于像素级的背景差法,光流信息等。当背景差法不能很好的工作时,我们往往可以采用光流法,但是这样经常会引入运动噪声,Effos[26]只计算以人体中心点处的光流,这在一定程度上减少了噪声的影响。

    2.1.2 三维全局特征提取

      在三维空间中,通过给定视频中的数据可以得到3D时空体(STV),STV的计算需要精确的定位,目标对齐,有时还需背景减图。Blank[27][28]等人首次从视频序列中的剪影信息得到STV。如图3所示。然后用泊松方程导出局部时空显著点及其方向特征,其全局特征是通过对这些局部特征加权得到的,为了处理不同动作的持续时间不同的问题,Achard[29]对每一个视频采用了一系列的STV ,并且每个STV只是覆盖时间维上的一部分信息。

      还有一种途径是从STV中提取相应的局部描述子,这一部分将在局部特征提取一节中介绍,在这里,我们还是先把STV特征当做是全局特征。Batra[30]存储了STV的剪影,并且用很小的3D二进制空间块来采样STV。Yilmaz[31]提取了STV表面的不同几何特征,比如说其极大值点和极小值点。当然,也有学者Keel[32]将剪影的STV和光流信息结合起来,作为行为识别的全局特征。

                          

    图3 跳跃,走,跑3个动作的STV图

    2.2 局部特征提取

      人体行为识别局部特征提取是指提取人体中感兴趣的点或者块。因此不需要精确的人体定位和跟踪,并且局部特征对人体的表观变化,视觉变化和部分遮挡问题也不是很敏感。因此在行为识别中采用这种特征的分类器比较多。下面从局部特征点检测和局部特征点描述2部分来做介绍。

    2.2.1 局部特征点的检测

      行为识别中的局部特征点是视频中时间和空间中的点,这些点的检测发生在视频运动的突变中。因为在运动突变时产生的点包含了对人体行为分析的大部分信息。因此当人体进行平移直线运动或者匀速运动时,这些特征点就很难被检测出来。

      Laptev[33]将Harris角点扩展到3D Harris,这是时空兴趣点(STIP)族中的一个。这些时空特征点邻域的像素值在时间和空间都有显著的变化。在该算法中,邻域块的尺度大小能够自适应时间维和空间维。该时空特征点如图4所示。

                        

    图4 时空特征点检测图

      Dollar[34]指出上述那种方法存在一个缺点,即检测出来稳定的兴趣点的数量太少,因此Dollar单独的在时间维和空间维先采用gabor滤波器进行滤波,这样的话检测出来兴趣点的数目就会随着时间和空间的局部邻域尺寸的改变而改变。类似的,Rapantzikos[35]在3个维度上分别应用离散小波变换,通过每一维的低通和高通的滤波响应来选择时空显著点。同时,为了整合颜色和运动信息,Rapantzikos[36]加入了彩色和运动信息来计算其显著点。

      与检测整个人体中兴趣点的出发思路不同,Wong[37]首先检测与运动相关的子空间中的兴趣点,这些子空间对应着一部分的运动,比如说手臂摆动,在这些子空间中,一些稀疏的兴趣点就被检测出来了。类似的方法,Bregonzio[38]首先通过计算后面帧的不同来估计视觉注意的焦点,然后利用gabor滤波在这些区域来检测显著点。

    2.2.2 局部特征点的描述

      局部特征描述是对图像或者视频中的一个块进行描述,其描述子应该对背景的杂乱程度,尺度和方向变化等均不敏感。一个图像块的空间和时间尺寸大小通常取决于检测到的兴趣点的尺寸。图5显示的是cuboids描述子[34]。

                          

                                            图5 cuboids描述子

      特征块也可以用基于局部特征的网格来描述,因为一个网格包括了局部观察到的领域像素,将其看成一个块,这样就减少了时间和空间的局部变化的影响。二维的SURF特征[39]被Willems[40]扩展到了3维,这些eSURF特征的每个cell都包含了全部Harr-wavelet特征。Laotev[14]使用了局部HOG(梯度直方图)和HOF(光流直方图)。Klaser[41]将HOG特征扩展到3维,即形成了3D-HOG。3D-HOG的每个bin都是由规则的多面体构成,3D-HOG允许 在多尺度下对cuboids进行快速密度采样。这种将二维特征点检测的算法扩展到3维特征点类似的工作还有是将SIFT算法[42]扩展到3维SIFT Scovanner[43]。在Wang[44]的文章中,他比较了各种局部描述算子,并发现在大多数情况下整合了梯度和光流信息的描述算子其效果最好。

      另外还有一种描述子比较流行,即单词袋[45][46],这是利用的单词频率直方图特征。

    2.3 全局、局部特征融合

      全局和局部特征的融合,结合了全局特征的足够信息量和局部特征的对视角变化,部分遮挡问题不敏感,抗干扰性强的优点。这样的文章比较多,其主要思想结合从2.1和2.2的方法。Thi[47]就将这2种特征结合得很好,其全局特征是采用前面介绍的MHI算子,并且采用AIFT算法[48]进一步选择更好的MHI。局部特征也是采用前面提到的STIP特征,并且采用SBFC(稀疏贝叶斯特征选择)[49]算法过滤掉一些噪声比较大的特征点。最后将2种特征送入到扩展的3维ISM模型中,其ISM[50]是一种目标识别常用算法,即训练出目标的隐式形状模型。Thi[47]的方法结构如图6所示。

                                   

    图6 局部特征和全局特征结合

    3. 行为识别常见数据库

    3.1 Weizmann

      Weizmann[27]数据库包含了10个动作分别是走,跑,跳,飞跳,向一侧移动,单只手挥动,2只手挥动,单跳,2只手臂挥动起跳,每个动作有10个人执行。在这个视频集中,其背景是静止的,且前景提供了剪影信息。该数据集较为简单。

    3.2 KTH

      KTH[45]行人数据库包含了6种动作,分别为走,慢跑,跑挥手和鼓掌。每种动作由25个不同的人完成。每个人在完成这些动作时又是在4个不同的场景中完成的,4个场景分别为室外,室内,室外放大,室外且穿不同颜色的衣服。

    3.3 PETS

      PETS[51],其全称为跟踪与监控性能评估会议,它的数据库是从现实生活中获取的,主要来源于直接从视频监控系统拍摄的视频,比如说超市的监控系统。从2000年以后,基本上每年都会组织召开这个会议。

    3.4 UCF

    UCF包含个数据集,这里是指UCF的运动数据库[52],该视频数据包括了150个视频序列,共有13个动作。因为是现实生活中的视频数据,所以其背景比较复杂,这些种类的动作识别起来有些困难。

    3.5 INRIA XMAS

      INRIA XMAS数据库[53]是从5个视角拍摄的,室内的4个方向和头顶的1个方向。总共有11个人完成14种不同的动作,动作可以沿着任意方向执行。摄像机是静止的,环境的光照条件也基本不变。另外该数据集还提供有人体轮廓和体积元等信息。

    3.6 Hollywood

      Hollywood电影的数据库包含有几个,其一[14]的视频集有8种动作,分别是接电话,下轿车,握手,拥抱,接吻,坐下,起立,站立。这些动作都是从电影中直接抽取的,由不同的演员在不同的环境下演的。其二[54]在上面的基础上又增加了4个动作,骑车,吃饭,打架,跑。并且其训练集给出了电影的自动描述文本标注,另外一些是由人工标注的。因为有遮挡,移动摄像机,动态背景等因素,所以这个数据集非常有挑战。

    4. 总结

      本文较全面的介绍了行为识别中特征提取的方法,并将其分为全局特征提取和局部特征提取2个部分介绍,虽然自行为识别研究以来已经取得了不少成果,但是由于视觉中的动态环境,遮挡等问题存在,其挑战非常大,需要提取出鲁棒性更好,适应性更强,效果更好的特征,而这仍是后面几年甚至几十年不断追求努力才能达到的目标。

    参考文献:

    1. Johansson, G. (1975). "Visual motion perception." Scientific American.
    2. Aggarwal, J. K. and Q. Cai (1997). Human motion analysis: A review, IEEE.
    3. Moeslund, T. B. and E. Granum (2001). "A survey of computer vision-based human motion capture." Computer vision and image understanding81(3): 231-268.
    4. Moeslund, T. B., A. Hilton, et al. (2006). "A survey of advances in vision-based human motion capture and analysis." Computer vision and image understanding104(2): 90-126.
    5. Turaga, P., R. Chellappa, et al. (2008). "Machine recognition of human activities: A survey." Circuits and Systems for Video Technology, IEEE Transactions on 18(11): 1473-1488.
    6. Poppe, R. (2010). "A survey on vision-based human action recognition." Image and Vision Computing28(6): 976-990.
    7. Aggarwal, J. and M. S. Ryoo (2011). "Human activity analysis: A review." ACM Computing Surveys (CSUR)43(3): 16.
    8. Forsyth, D. A., O. Arikan, et al. (2006). Computational studies of human motion: Tracking and motion synthesis, Now Pub.
    9. Gavrila, D. M. (1999). "The visual analysis of human movement: A survey." Computer vision and image understanding73(1): 82-98.

      10. Ikizler-Cinbis, N., R. G. Cinbis, et al. (2009). Learning actions from the web, IEEE.

      11. Gupta, S. and R. J. Mooney (2009). Using closed captions to train activity recognizers that improve video retrieval, IEEE.

      12. Cour, T., C. Jordan, et al. (2008). Movie/script: Alignment and parsing of video and text transcription.

      13. Duchenne, O., I. Laptev, et al. (2009). Automatic annotation of human actions in video, IEEE.

      14. Laptev, I., M. Marszalek, et al. (2008). Learning realistic human actions from movies, IEEE.

      15. Haritaoglu, I., D. Harwood, et al. (1998). "W 4 S: A real-time system for detecting and tracking people in 2 1/2D." Computer Vision—ECCV'98:      877-892.

      16. Tao, D., X. Li, et al. (2006). Human carrying status in visual surveillance, IEEE.

      17. Davis, J. W. and S. R. Taylor (2002). Analysis and recognition of walking movements, IEEE.

      18. Lv, F., X. Song, et al. (2006). Left luggage detection using bayesian inference.

      19. Auvinet, E., E. Grossmann, et al. (2006). Left-luggage detection using homographies and simple heuristics.

      20. Bobick, A. F. and J. W. Davis (2001). "The recognition of human movement using temporal templates." Pattern Analysis and Machine Intelligence,      IEEE Transactions on23(3): 257-267.

      21. Wang, Y., K. Huang, et al. (2007). Human activity recognition based on r transform, IEEE.

      22. Chen, H. S., H. T. Chen, et al. (2006). Human action recognition using star skeleton, ACM.

      23. Wang, L. and D. Suter (2006). Informative shape representations for human action recognition, Ieee.

      24. Weinland, D., E. Boyer, et al. (2007). Action recognition from arbitrary views using 3d exemplars, IEEE.

      25. Weinland, D. and E. Boyer (2008). Action recognition using exemplar-based embedding, Ieee.

      26. Efros, A. A., A. C. Berg, et al. (2003). Recognizing action at a distance, IEEE.

      27. Blank, M., L. Gorelick, et al. (2005). Actions as space-time shapes, IEEE.

      28. Gorelick, L., M. Blank, et al. (2007). "Actions as space-time shapes." Pattern Analysis and Machine Intelligence, IEEE Transactions on29(12):        2247-2253.

      29. Achard, C., X. Qu, et al. (2008). "A novel approach for recognition of human actions with semi-global features." Machine Vision and Applications      19(1): 27-34.

      30. Batra, D., T. Chen, et al. (2008). Space-time shapelets for action recognition, IEEE.

      31. Yilmaz, A. and M. Shah (2008). "A differential geometric approach to representing the human actions." Computer vision and image understanding    109(3): 335-351.

      32. Ke, Y., R. Sukthankar, et al. (2007). Spatio-temporal shape and flow correlation for action recognition, IEEE.

      33. Laptev, I. (2005). "On space-time interest points." International journal of computer vision64(2): 107-123.

      34. Dollár, P., V. Rabaud, et al. (2005). Behavior recognition via sparse spatio-temporal features, IEEE.

      35. Rapantzikos, K., Y. Avrithis, et al. (2007). Spatiotemporal saliency for event detection and representation in the 3D wavelet domain: potential in      human action recognition, ACM.

      36. Rapantzikos, K., Y. Avrithis, et al. (2009). Dense saliency-based spatiotemporal feature points for action recognition, Ieee.

      37. Wong, S. F. and R. Cipolla (2007). Extracting spatiotemporal interest points using global information, IEEE.

      38. Bregonzio, M., S. Gong, et al. (2009). Recognising action as clouds of space-time interest points, IEEE.

      39. Bay, H., T. Tuytelaars, et al. (2006). "Surf: Speeded up robust features." Computer Vision–ECCV 2006: 404-417.

      40. Willems, G., T. Tuytelaars, et al. (2008). "An efficient dense and scale-invariant spatio-temporal interest point detector." Computer Vision–ECCV      2008: 650-663.

      41. Klaser, A. and M. Marszalek (2008). "A spatio-temporal descriptor based on 3D-gradients."

      42. Mikolajczyk, K. and C. Schmid (2004). "Scale & affine invariant interest point detectors." International journal of computer vision60(1): 63-86.

      43. Scovanner, P., S. Ali, et al. (2007). A 3-dimensional sift descriptor and its application to action recognition, ACM.

      44. Wang, H., M. M. Ullah, et al. (2009). "Evaluation of local spatio-temporal features for action recognition."

      45. Niebles, J. C., H. Wang, et al. (2008). "Unsupervised learning of human action categories using spatial-temporal words." International journal of      computer vision79(3): 299-318.

      46. Schuldt, C., I. Laptev, et al. (2004). Recognizing human actions: A local SVM approach, IEEE.

      47. Thi, T. H., L. Cheng, et al. (2011). "Integrating local action elements for action analysis." Computer vision and image understanding.

      48. Liu, G., Z. Lin, et al. (2009). "Radon representation-based feature descriptor for texture classification." Image Processing, IEEE Transactions on     18(5): 921-928.

      49. Carbonetto, P., G. Dorkó, et al. (2008). "Learning to recognize objects with little supervision." International journal of computer vision77(1): 219-     237.

      50. Leibe, B., A. Leonardis, et al. (2008). "Robust object detection with interleaved categorization and segmentation." International journal of

        computer vision 77(1): 259-289.

      51. http://www.cvg.rdg.ac.uk/slides/pets.html.

      52. Rodriguez, M. D. (2008). "Action mach a spatio-temporal maximum average correlation height filter for action recognition." CVPR.

      53. Weinland, D., R. Ronfard, et al. (2006). "Free viewpoint action recognition using motion history volumes." Computer vision and image

        understanding 104(2): 249-257.

      54. Marszalek, M., I. Laptev, et al. (2009). Actions in context, IEEE. 


    转载于:https://www.cnblogs.com/wishchin/p/9200356.html

    展开全文
  • 基于深度学习的人体行为识别综述
  • 视频行为识别检测综述

    千次阅读 2020-08-24 20:33:19
    Video Analysis之Action Recognition(行为识别) 行为识别就是对时域预先分割好的序列判定其所属行为动作的类型,即“读懂行为”。 1 本文github地址 博文末尾支持二维码赞赏哦 _ [行为检测|论文解读]行为检测...

    Video Analysis之Action Recognition(行为识别)

    行为识别就是对时域预先分割好的序列判定其所属行为动作的类型,即“读懂行为”。 
    
    • 1

    本文github地址

    博文末尾支持二维码赞赏哦 _

    [行为检测|论文解读]行为检测调研综述 较新

    基于Deep Learning 的视频识别技术

    科研成果----中国科学院深圳先进技术研究院 面向人体姿态行为理解的深度学习方法

    CVPR 2014 Tutorial on Emerging Topics in Human Activity Recognition

    行为检测 Action Detection 类似图像目标检测

    但在现实应用中更容易遇到的情况是序列尚未在时域分割(Untrimmed),
    因此需要同时对行为动作进行时域定位(分割)和类型判定,这类任务一般称为行为检测。
    传统 DTW 动态时间规整 分割视频
    现在 利用RNN网络对未分割序列进行行为检测(行为动作的起止点的定位 和 行为动作类型的判定)
    

    Action Detection

    目的:不仅要知道一个动作在视频中是否发生,还需要知道动作发生在视频的哪段时间

    特点:需要处理较长的,未分割的视频。且视频通常有较多干扰,目标动作一般只占视频的一小部分。

    分类:根据待检测视频是一整段读入的还是逐次读入的,分为online和offline两种

    Offline action detection:
    特点:一次读入一整段视频,然后在这一整段视频中定位动作发生的时间

    Online action detection:
    特点:不断读入新的帧,在读入帧的过程中需要尽可能早的发现动作的发生(在动作尚未结束时就检测到)。
    同时online action detection 还需要满足实时性要求,这点非常重要。
    这导致online action detection不能采用计算复杂度过大的方法(在现有的计算能力下)

    现有方法:
    逐帧检测法:
    即在视频序列的每帧上独立判断动作的类型,可以用CNN等方法,仅用上了spatial的信息
    滑窗法: 即设置一个固定的滑窗大小,在视频序列上进行滑窗,然后对滑窗得到的视频小片断利用action recognition的方法进行分类。

    现状:由于此问题难度比action recognition高很多,所以现在还没有效果较好的方法

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    论文总结参考

    博客参考2

    微软亚洲研究院 行为识别:让机器学会“察言观色”第一步

    1. 任务特点及分析

    目的

    给一个视频片段进行分类,类别通常是各类人的动作
    
    • 1

    特点

    简化了问题,一般使用的数据库都先将动作分割好了,一个视频片断中包含一段明确的动作,
    时间较短(几秒钟)且有唯一确定的label。
    所以也可以看作是输入为视频,输出为动作标签的多分类问题。
    此外,动作识别数据库中的动作一般都比较明确,周围的干扰也相对较少(不那么real-world)。
    有点像图像分析中的Image Classification任务。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    难点/关键点

    强有力的特征:
        即如何在视频中提取出能更好的描述视频判断的特征。
        特征越强,模型的效果通常较好。
    特征的编码(encode)/融合(fusion):
        这一部分包括两个方面,
        第一个方面是非时序的,在使用多种特征的时候如何编码/融合这些特征以获得更好的效果;
        另外一个方面是时序上的,由于视频很重要的一个特性就是其时序信息,
             一些动作看单帧的图像是无法判断的,只能通过时序上的变化判断,
             所以需要将时序上的特征进行编码或者融合,获得对于视频整体的描述。
    算法速度:
        虽然在发论文刷数据库的时候算法的速度并不是第一位的。
        但高效的算法更有可能应用到实际场景中去.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2. 常用数据库

    【数据集整理】人体行为识别和图像识别

    行为识别的数据库比较多,这里主要介绍两个最常用的数据库,也是近年这个方向的论文必做的数据库。
    1. UCF101:来源为YouTube视频,共计101类动作,13320段视频。
       共有5个大类的动作:
                1)人-物交互;
                2)肢体运动;
                3)人-人交互;
                4)弹奏乐器;
                5)运动。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    数据库主页

    2. HMDB51:来源为YouTube视频,共计51类动作,约7000段视频。
      HMDB: a large human motion database
    
    • 1
    • 2

    数据库主页

    3. 在Actioin Recognition中,实际上还有一类骨架数据库,
    比如MSR Action 3D,HDM05,SBU Kinect Interaction Dataset等。
    这些数据库已经提取了每帧视频中人的骨架信息,基于骨架信息判断运动类型。 
    
    1. ACTIVITYNET Large Scale Activity Recognition Challenge
    • 1
    • 2
    • 3
    • 4
    • 5

    3. 研究进展

    如今人体行为识别是计算机视觉研究的一个热点,
    人体行为识别的目标是从一个未知的视频或者是图像序列中自动分析其中正在进行的行为。
    简单的行为识别即动作分类,给定一段视频,只需将其正确分类到已知的几个动作类别,
    复杂点的识别是视频中不仅仅只包含一个动作类别,而是有多个,
    系统需自动的识别出动作的类别以及动作的起始时刻。
    行为识别的最终目标是分析视频中
    哪些人       who
    在什么时刻    when
    什么地方,    where
    干什么事情,  what
    即所谓的“W4系统”
    

    人体行为识别应用背景很广泛,主要集中在智能视频监控,
    病人监护系统,人机交互,虚拟现实,智能家居,智能安防,
    运动员辅助训练,另外基于内容的视频检索和智能图像压缩等
    有着广阔的应用前景和潜在的经济价值和社会价值,
    其中也用到了不少行为识别的方法。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    3.1 传统方法

    特征综述

    密集轨迹算法(DT算法) iDT(improved dense trajectories)特征

     Action Recognition by Dense Trajectories
     Action recognition with improved trajectories
    
    • 1
    • 2

    iDT算法

    iDT算法用法与代码解析

    Stacked Fisher Vector 编码 基本原理

    [DT论文](Action Recognition by Dense Trajectories)

    基本思路:
            DT算法的基本思路为利用光流场来获得视频序列中的一些轨迹,
            再沿着轨迹提取HOF,HOG,MBH,trajectory4种特征,其中HOF基于灰度图计算,
            另外几个均基于dense optical flow计算。
            最后利用FV(Fisher Vector)方法对特征进行编码,再基于编码结果训练SVM分类器。
            而iDT改进的地方在于它利用前后两帧视频之间的光流以及SURF关键点进行匹配,
            从而消除/减弱相机运动带来的影响,改进后的光流图像被成为warp optical flow
    总结:        
    A. 利用光流场来获得视频序列中的一些轨迹;
        a.	通过网格划分的方式在图片的多个尺度上分别密集采样特征点,滤除一些变换少的点;
        b.	计算特征点邻域内的光流中值来得到特征点的运动速度,进而跟踪关键点;
    B. 沿轨迹提取HOF,HOG,MBH,trajectory,4种特征
        其中HOG基于灰度图计算,
        另外几个均基于稠密光流场计算。
        a.	HOG, 方向梯度直方图,分块后根据像素的梯度方向统计像素的梯度幅值。
        b.	HOF, 光流直方图,光流通过当前帧梯度矩阵和相邻帧时间上的灰度变换矩阵计算得到,
            之后再对光流方向进行加权统计。
        c.	MBH,运动边界直方图,实质为光流梯度直方图。
        d.	Trajectories, 轨迹特征,特征点在各个帧上位置点的差值,构成轨迹变化特征。
    C.特征编码—Bag of Features;
        a. 对训练集数据提取上述特征,使用K_means聚类算法,对特征进行聚类,得到特征字典;
        b.  使用字典单词对测试数据进行量化编码,得到固定长度大小的向量,可使用VQ或则SOMP算法。
    D. 使用SVM进行分类
        对编码量化之后的特征向量使用SVM支持向量机进行分类。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    iDT(improved dense trajectories) 改进

    iDT论文

    LEAR实验室 这个实验室个人感觉很不错,放出来的代码基本都能work,而且有不错的的效果。

    我的代码 idt+fv+svm

        1. 剔除相机运动引起的背景光流
            a. 使用SURF特征算法匹配前后两帧的 匹配点对,这里会使用人体检测,剔除人体区域的匹配点,运动量大,影响较大;
            b. 利用光流算法计算匹配点对,剔除人体区域的匹配点对;
            c. 合并SURF匹配点对 和 光流匹配点对,利用RANSAC 随机采样序列一致性算法估计前后两帧的 单应投影变换矩阵H;
            d. 利用矩阵H的逆矩阵,计算得到当前帧除去相机运动的状态I’= H.inv * I ;
            e. 计算去除相机运动后的帧I' 的 光流。
            f. 光流算法 Ft
               假设1:光照亮度恒定:
                      I(x, y, t) =  I(x+dx, y+dy, t+dt) 
                     泰勒展开:
                      I(x+dx, y+dy, t+dt) =  
                                            I(x, y, t) + dI/dx * dx + dI/dy * dy + dI/dt * dt
                                          =  I(x, y, t) + Ix * dx  + Iy * dy + It * dt
                     得到:
                          Ix * dx  + Iy * dy + It * dt = 0
                     因为 像素水平方向的运动速度 u=dx/dt,  像素垂直方向的运动速度 v=dy/dt
                     等式两边同时除以 dt ,得到:
                          Ix * dx/dt  + Iy * dy/dt + It = 0
                          Ix * u  + Iy * v + It = 0
                     写成矩阵形式:
                          [Ix, Iy] * [u; v] = -It,  式中Ix, Iy为图像空间像素差值(梯度), It 为时间维度,像素差值
               假设2:局部区域 运动相同
                     对于点[x,y]附近的点[x1,y1]  [x2,y2]  , ... , [xn,yn]  都具有相同的速度 [u; v]
                     有:
                      [Ix1, Iy1;                      [It1
                       Ix2, Iy2;                       It2
                       ...               *  [u; v] = - ...
                       Ixn, Iyn;]                      Itn]
                     写成矩阵形式:
                      A * U = b
                     由两边同时左乘 A逆 得到:
                      U = A逆 * b
                     由于A矩阵的逆矩阵可能不存在,可以曲线救国改求其伪逆矩阵
                      U = (A转置*A)逆 * A转置 * b
               得到像素的水平和垂直方向速度以后,可以得到:
                   速度幅值: 
                            V = sqrt(u^2 + v^2)
                   速度方向:Cet = arctan(v/u)      
    
    2. 特征归一化方式
        在iDT算法中,对于HOF,HOG和MBH特征采取了与DT算法(L2范数归一化)不同的方式。
           L2范数归一化  : Xi' = Xi/sqrt(X1^2 + ... + Xn^2)
        L1正则化后再对特征的每个维度开平方。
           L1范数归一化  : Xi' = Xi/(abs(X1) + ... + abs(Xn))
           Xi'' = sqrt(Xi')
        这样做能够给最后的分类准确率带来大概0.5%的提升
        
    3. 特征编码—Fisher Vector
        特征编码阶段iDT算法不再使用Bag of Features/ BOVM方法,
        (提取图像的SIFT特征,通过(KMeans聚类),VQ矢量量化,构建视觉词典(码本))
        
        而是使用效果更好的Fisher Vector编码.
        FV采用混合高斯模型(GMM)构建码本,
        但是FV不只是存储视觉词典的在一幅图像中出现的频率,
        并且FV还统计视觉词典与局部特征(如SIFT)的差异
        
        Fisher Vector同样也是先用大量特征训练码书,再用码书对特征进行编码。
    
        在iDT中使用的Fisher Vector的各个参数为:
           1.  用于训练的特征长度:trajectory+HOF+HOG+MBH = 30+96+108+192 = 426维
           2.  用于训练的特征个数:从训练集中随机采样了256000个
           3.  PCA降维比例:2,即维度除以2,降维后特征长度为 D = 426 / 2 = 213。
               先降维,后编码
           4. Fisher Vector中 高斯聚类的个数K:K=256
        故编码后得到的特征维数为2*K*D个,即109056维。
        在编码后iDT同样也使用了SVM进行分类。
        在实际的实验中,推荐使用liblinear,速度比较快。
    4. 其他改进思想 
       原先是沿着轨迹提取手工设计的特征,可以沿着轨迹利用CNN提取特征。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69

    Fisher Vector 特征编码 主要思想是使用高斯分布来拟合单词 而不是简简单单的聚类产生中心点

    在一般的分类问题中,通常的套路都是提取特征,将特征输入分类器训练,得到最终的模型。
    但是在具体操作时,一开始提出的特征和输入分类器训练的特征是不一样的。
    比如假设有N张100×100的图像,分别提取它们的HoG特征x∈Rp×q,p为特征的维数,q为这幅图像中HoG特征的个数。 
    如果把直接把这样的一万个x直接投入分类器训练,效果不一定好,
    因为不一定每个像素点的信息都是有价值的,里面可能有很多是冗余的信息。
    而且特征维度太高会导致最终的训练时间过长。 
    所以通常会对raw features做一些预处理。最常用的就是词袋模型(bag of words)。 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    高斯混合模型建模与聚类建模的对比

    K-means是最常用的聚类方法之一,我们的例子中,有N幅图像,每幅图像有x∈Rp×q的特征,
    那么所有数据的特征矩阵为X∈Rp×Nq。也就是说现在一共存在Nq个数据点,它们分布在一个p维的空间中,
    通过聚类后可以找到M个聚类中心。然后对于每一幅图像而言,
    分别计算它的q个p维特征属于哪一个聚类中心(距离最近),最终统计M个聚类中心分别拥有多少特征,
    得到一个M维的向量。这个向量就是最终的特征。 
    k-means的缺点在于,它是一个hard聚类的方法,比如有一个点任何一个聚类中心都不属于,
    但是词袋模型仍然可能会把它强行划分到一个聚类中心去。
    对于一个点,它属不属于某个聚类中心的可能性是个属于(0,1)的整数值。 
    

    相反,高斯混合模型(Gaussian Mixture Model) 就是一种soft聚类的方法,
    它建立在一个重要的假设上,即任意形状的概率分布都可以用多个高斯分布函数去近似。
    类似傅里叶变换,任何信号曲线都可以用正余弦函数来近似。

    顾名思义,高斯混合模型是由很多个高斯分布组成的模型,每一个高斯分布都是一个component。
    每一个component Nk∼(μk,σk),k=1,2,…K对应的是一个聚类中心,这个聚类中心的坐标可以看作(μk,σk)

    一般解高斯混合模型都用的是EM算法(期望最大化算法)。
    EM算法分为两步:
    在E-step中,估计数据由每个component生成的概率。
    假设μ,Σ,ϕ已知,对于每个数据 xi 来说,它由第k个component 生成的概率为
    在M-step中,估计每个component的参数μk,Σk,πkk=1,…K。
    利用上一步得到的pik,它是对于每个数据 xi 来说,它由第k个component生成的概率,
    也可以当做第k个component在生成这个数据上所做的贡献,或者说,
    我们可以看作 xi这个值其中有pikxi 这部分是由 第k个component所生成的。
    现在考虑所有的数据,可以看做第k个component生成了 p1kx1,…,pNkxN 这些点。
    由于每个component 都是一个标准的 Gaussian 分布,可以很容易的根据期望、方差的定义求出它们:
    重复迭代前面两步,直到似然函数的值收敛为止。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    VLFeat数学推导

        FV采用GMM构建视觉词典,为了可视化,这里采用二维的数据,
        然这里的数据可以是SIFT或其它局部特征,
        具体实现代码如下:
    
    %采用GMM模型对数据data进行拟合,构建视觉词典  
    numFeatures = 5000 ;            %样本数  
    dimension = 2 ;                 %特征维数  
    data = rand(dimension,numFeatures) ; %这里随机生成一些数据,这里data可以是SIFT或其它局部特征  
    
    numClusters = 30 ;  %视觉词典大小  
    [means, covariances, priors] = vl_gmm(data, numClusters); %GMM拟合data数据分布,构建视觉词典  
    
    这里得到的means、covariances、priors分别为GMM的均值向量,协方差矩阵和先验概率,也就是GMM的参数。
    
    这里用GMM构建视觉词典也存在一个问题,这是GMM模型固有的问题,
    就是当GMM中的高斯函数个数,也就是聚类数,也就是numClusters,
    若与真实的聚类数不一致的话,
    GMM表现的不是很好(针对期望最大化EM方法估计参数),具体请参见GMM。
    
    接下来,我们创建另一组随机向量,这些向量用Fisher Vector和刚获得的GMM来编码,
    具体代码如下:
    
    numDataToBeEncoded = 1000;  
    dataToBeEncoded = rand(dimension,numDataToBeEncoded);    %2*1000维数据
    % 进行FV编码
    encoding = vl_fisher(datatoBeEncoded, means, covariances, priors);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    idt算法总结

    1、密集采样:
        多尺度(8个)
        间隔采样(5)
        无纹理区域点的剔除
    2、光流法跟踪:
        I(x, y, t) = I(x+dx, y+dy, t+dt) 
        泰勒展开:
        [Ix, Iy] * [u; v] = -It 
        局部区域 运动相同:
         A * U = b 
         U = (A转置*A)逆 * A转置 * b  伪逆求解
        光流中指滤波:
         Pt+1=(xt+1,yt+1)=(xt,yt)+(M∗Ut)|xt,yt
    3、特征计算:
        区域选取:
        1、选取相邻L帧(15);
        2、对每条轨迹在每个帧上取N*N 
           的像素区域(32*32)
        3、对上述区域划分成nc*nc个
           格子(2*2)
        4、在时间空间上划分成nt段(3段)
        5、这样就有 nc*nc*nt个空间划   
           分区域。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    传统视频行为分析算法总结

    a. 特征提取方法

    1. 方向梯度直方图 HOG   
            图像平面像素水平垂直误差;
            再求和成梯度幅值和梯度方向;
            划分梯度方向,按梯度大小加权统计。
    
    1. 光流直方图 HOF
      需要梯度图和时间梯度图来计算像素水平和垂直速度,
      再求合成速度幅值和方向,
      按上面的方式统计。

      这里还可以使用 目标检测 去除背景光溜,只保留人体区域的光流。

    2. 光流梯度直方图 MBH
      在光流图上计算水平和垂直光流梯度,
      计算合成光流梯度幅值和方向,
      再统计。

    3. 轨迹特征 Trajectories,
      匹配点按照光流速度得到坐标,
      获取相邻帧匹配点的坐标差值;
      按一条轨迹串联起来;
      正则化之后就是一个轨迹特征。

    4. 人体骨骼特征
      通过RGB图像进行关节点估计(Pose Estimation)获得;
      或是通过深度摄像机直接获得(例如Kinect)。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    b. 特征归一化方法

    L2范数归一化  :
        Xi' = Xi/sqrt(X1^2 + ... + Xn^2)
    L1范数归一化后再对特征的每个维度开平方。
        L1范数归一化  : Xi' = Xi/(abs(X1) + ... + abs(Xn))
        开平方        :Xi'' = sqrt(Xi')
    
    • 1
    • 2
    • 3
    • 4
    • 5

    c. 特征编码方法

    1) 视觉词袋BOVM模型
    
    1. 使用K_mean聚类算法对训练数据集特征集合进行聚类,
      得到特征单词字典;

    2. 使用矢量量化VQ算法 或者 同步正交匹配追踪SOMP算法
      对分割后的测试样本数据的特征 用特征单词字典进行编码;

    3.计算一个视频的 字典单词 的视频表示向量,得到视频的特征向量。

    1. Fisher Vector 特征编码,高斯混合模型拟合中心点
    1. 使用高斯混合模型GMM算法提取训练集特征中的聚类信息,得到 K个高斯分布表示的特征单词字典;

    2. 使用这组组K个高斯分布的线性组合来逼近这些 测试集合的特征,也就是FV编码.
      Fisher vector本质上是用似然函数的梯度vector来表达一幅图像, 说白了就是数据拟合中对参数调优的过程。
      由于每一个特征是d维的,需要K个高斯分布的线性组合,有公式5,一个Fisher vector的维数为(2*d+1)*K-1维。
      3.计算一个视频的 字典单词 的视频表示向量,得到视频的特征向量。

    Fisher Vector步骤总结:
    1.选择GMM中K的大小
    1.用训练图片集中所有的特征(或其子集)来求解GMM(可以用EM方法),得到各个参数;
    2.取待编码的一张图像,求得其特征集合;
    3.用GMM的先验参数以及这张图像的特征集合按照以上步骤求得其fv;
    4.在对训练集中所有图片进行2,3两步的处理后可以获得fishervector的训练集,然后可以用SVM或者其他分类器进行训练。

    1. 两种编码方式对比
      经过fisher vector的编码,大大提高了图像特征的维度,能够更好的用来描述图像。
      FisherVector相对于BOV的优势在于,BOV得到的是一个及其稀疏的向量,
      由于BOV只关注了关键词的数量信息,这是一个0阶的统计信息;
      FisherVector并不稀疏,同时,除了0阶信息,
      Fisher Vector还包含了1阶(期望)信息、2阶(方差信息),
      因此FisherVector可以更加充分地表示一幅图片。
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    d. 视频分割 类似语言识别中的 间隔点检测

    1) 动态时间规整DTW
    
    • 1

    博客参考

       1) 按b的方法提取训练集和测试集的特征
       2) 计算训练集和测试集特征相似度距离
       3) 使用动态规划算法为测试机样本在训练集中找出最匹配的一个
       4) 对训练集剩余部分采用3) 的方法依次找出最匹配的一个
    
    1)输入:
     1. 所有单个训练视频样本的量化编码后的特征向量.
     2. 包含多个行为动作的测试视频的量化编码后的特征向量.
    2)算法描述:
      1. 测试样本特征向量 和 多个训练样本特征向量分别计算特征匹配距离。
      2. 单个测试视频的每一帧的特征向量和测试视频的每一帧的特征向量计算相似度(欧氏距离).
      3. 以训练视频的最后一帧的特征向量和测试视频的每一帧的特征向量的距离点位起点,
         使用 动态规划 的方法,找出一条最优匹配路径,最后计算路径上特征匹配距离之和,
         找出一个最小的,对应的分割点即为测试视频与当前训练样本的最优匹配。
      4. 迭代找出测试视频样本和其他训练样本的最有匹配,得到最优匹配距离。
      5. 在所有的好的匹配距离中找出一个最小的距离,即为对应测试视频匹配的行为动作。
      6. 将测试视频中已经分割出去的视频序列剔除,剩余的视频重复1~5的步骤,获取对应的标签和时间分割信息。
    
    1. CDP
    2. HMM
      1. 将训练集的每一种行为当成系统的隐含状态
      2. 根据测试视频这个可见状态链推测最有可能的隐含状态链
        3)需要求的每种隐含状态之间的状态转移概率,
        以及每种隐含状态输出一个可见状态的概率。
      3. 使用维特比算法进行求解出一个最大概率的隐含状态链(即行为状态序列)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    博客参考

    维特比算法 最大可能的隐含状态连 代码

    hmm python代码

        1) 将训练集的每一种行为当成系统的隐含状态
        2) 根据测试视频这个可见状态链推测最有可能的隐含状态链
        3)需要求的每种隐含状态之间的状态转移概率,
        以及每种隐含状态输出一个可见状态的概率。
        4) 使用维特比算法进行求解出一个最大概率的隐含状态链(即行为状态序列)
    
    1. 深度学习的方法分割动作

    DTW/HMM/CRBM/高斯过程

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    e. 分类器分类

        1.  SVM 支持向量机进行分类。
        2.  KNN 最近邻分类器进行分类。
    
    • 1
    • 2

    3.2 深度学习方法

    时空双流网络结构 Two Stream Network及衍生方法

    空时注意力模型(Attention)之于行为识别
    
    • 1

    提出

    “Two-Stream Convolutional Networks for Action Recognition in Videos”(2014NIPS)

    论文博客翻译

    Two Stream方法最初在这篇文章中被提出:
    在空间部分,以单个帧上的外观形式,携带了视频描绘的场景和目标信息。
               其自身静态外表是一个很有用的线索,因为一些动作很明显地与特定的目标有联系。
    在时间部分,以多帧上的运动形式,表达了观察者(摄像机)和目标者的运动。
    

    基本原理为:
    1. 对视频序列中每两帧计算密集光流,得到密集光流的序列(即temporal信息)。
    2. 然后对于视频图像(spatial)和密集光流(temporal)分别训练CNN模型,
    两个分支的网络分别对动作的类别进行判断,
    3. 最后直接对两个网络的class score进行fusion(包括直接平均和svm两种方法),得到最终的分类结果。
    注意,对与两个分支使用了相同的2D CNN网络结构,其网络结构见下图。
    实验效果:UCF101-88.0%,HMDB51-59.4%

    结构:

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    光流 和 轨迹
    
    • 1

    改进1 CNN网络进行了spatial以及temporal的融合

    Convolutional Two-Stream Network Fusion for Video Action Recognition“(2016CVPR)

    代码 matlab github

    这篇论文的主要工作为:
        1. 在two stream network的基础上,
           利用CNN网络进行了spatial以及temporal的融合,从而进一步提高了效果。
        2. 此外,该文章还将基础的spatial和temporal网络都换成了VGG-16 network。
    实验效果:UCF101-92.5%,HMDB51-65.4% 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    改进2 LSTM网络 融合双流 spatial以及temporal

    双流 + LSTM

    这篇文章主要是用LSTM来做two-stream network的temporal融合。效果一般
    
    • 1

    相关研究主页

    TSN 结构

    Temporal Segment Networks: Towards Good Practices for Deep Action Recognition

    caffe code

    TSN(Temporal Segment Networks)代码实验

    这篇文章是港中文Limin Wang大神的工作,他在这方面做了很多很棒的工作,
    可以followt他的主页:http://wanglimin.github.io/ 。
    

    这篇文章提出的TSN网络也算是spaital+temporal fusion,结构图见下图。

    这篇文章对如何进一步提高two stream方法进行了详尽的讨论,主要包括几个方面(完整内容请看原文):
    1. 据的类型:除去two stream原本的RGB image和 optical flow field这两种输入外,
    章中还尝试了RGB difference及 warped optical flow field两种输入。
    终结果是 RGB+optical flow+warped optical flow的组合效果最好。
    2. 构:尝试了GoogLeNet,VGGNet-16及BN-Inception三种网络结构,其中BN-Inception的效果最好。
    3. 包括 跨模态预训练,正则化,数据增强等。
    4. 果:UCF101-94.2%,HMDB51-69.4%

    two-stream 卷积网络对于长范围时间结构的建模无能为力,
    主要因为它仅仅操作一帧(空间网络)或者操作短片段中的单堆帧(时间网络),
    因此对时间上下文的访问是有限的。
    视频级框架TSN可以从整段视频中建模动作。

    和two-stream一样,TSN也是由空间流卷积网络和时间流卷积网络构成。
    但不同于two-stream采用单帧或者单堆帧,TSN使用从整个视频中稀疏地采样一系列短片段,
    每个片段都将给出其本身对于行为类别的初步预测,从这些片段的“共识”来得到视频级的预测结果。
    在学习过程中,通过迭代更新模型参数来优化视频级预测的损失值(loss value)。

    TSN网络示意图如下:

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    由上图所示,一个输入视频被分为 K 段(segment),一个片段(snippet)从它对应的段中随机采样得到。
    不同片段的类别得分采用段共识函数(The segmental consensus function)
    进行融合来产生段共识(segmental consensus),这是一个视频级的预测。
    然后对所有模式的预测融合产生最终的预测结果。
    

    具体来说,给定一段视频 V,把它按相等间隔分为 K 段 {S1,S2,⋯,SK}。
    接着,TSN按如下方式对一系列片段进行建模:
    TSN(T1,T2,⋯,TK)=H(G(F(T1;W),F(T2;W),⋯,F(TK;W)))

    其中:
    (T1,T2,⋯,TK) 代表片段序列,每个片段 Tk 从它对应的段 Sk 中随机采样得到。
    F(Tk;W) 函数代表采用 W 作为参数的卷积网络作用于短片段 Tk,函数返回 Tk 相对于所有类别的得分。
    段共识函数 G(The segmental consensus function)结合多个短片段的类别得分输出以获得他们之间关于类别假设的共识。
    基于这个共识,预测函数 H 预测整段视频属于每个行为类别的概率(本文 H 选择了Softmax函数)。
    结合标准分类交叉熵损失(cross-entropy loss);
    网络结构
    一些工作表明更深的结构可以提升物体识别的表现。
    然而,two-stream网络采用了相对较浅的网络结构(ClarifaiNet)。
    本文选择BN-Inception (Inception with Batch Normalization)构建模块,
    由于它在准确率和效率之间有比较好的平衡。
    作者将原始的BN-Inception架构适应于two-stream架构,和原始two-stream卷积网络相同,
    空间流卷积网络操作单一RGB图像,时间流卷积网络将一堆连续的光流场作为输入。

    网络输入
    TSN通过探索更多的输入模式来提高辨别力。
    除了像two-stream那样,
    空间流卷积网络操作单一RGB图像,
    时间流卷积网络将一堆连续的光流场作为输入,
    作者提出了两种额外的输入模式:
    RGB差异(RGB difference)和
    扭曲的光流场(warped optical flow fields,idt中去除相机运动后的光流)。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    TSN改进版本之一 加权融合

    改进的地方主要在于fusion部分,不同的片段的应该有不同的权重,而这部分由网络学习而得,最后由SVM分类得到结果。
    
    • 1

    Deep Local Video Feature for Action Recognition 【CVPR2017】

    TSN改进版本二 时间推理

    这篇是MIT周博磊大神的论文,作者是也是最近提出的数据集 Moments in time 的作者之一。
    该论文关注时序关系推理。
    对于哪些仅靠关键帧(单帧RGB图像)无法辨别的动作,如摔倒,其实可以通过时序推理进行分类。
    除了两帧之间时序推理,还可以拓展到更多帧之间的时序推理。
    通过对不同长度视频帧的时序推理,最后进行融合得到结果。
    该模型建立TSN基础上,在输入的特征图上进行时序推理。
    增加三层全连接层学习不同长度视频帧的权重,及上图中的函数g和h。
    

    除了上述模型外,还有更多关于时空信息融合的结构。
    这部分与connection部分有重叠,所以仅在这一部分提及。
    这些模型结构相似,区别主要在于融合module的差异,细节请参阅论文。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Temporal Relational Reasoning in Videos

    LSTM 结构融合双流特征

    Beyond Short Snippets: Deep Networks for Video Classification Joe

    这篇文章主要是用LSTM来做two-stream network的temporal融合。效果一般
    实验效果:UCF101-88.6%
    
    • 1
    • 2

    Understanding LSTM Networks

    LSTM理解

    RNN的展开结构  ht = f(w1*xt + w2*ht-1 + b) 复合函数+递推数列
    后一项的值由前一项的值ht-1 和 当前时刻的输入值xt  决定,有机会通过当前的输入值改变自己的命运。
    ht-1提现了记忆功能,ht-1是由ht-2和xt-1所决定,所以ht的值实际上是由 x1, x2, x3,..., xt决定的,
    它记住了之前完整的序列信息。
    
    • 1
    • 2
    • 3
    • 4

    LSTM的展开结构
    
    • 1

    LSTM 功能
    
    • 1

    LSTM ResNet cnn TSN

    行为识别 人体骨架检测+LSTM

    人体骨架怎么获得呢?
    主要有两个途径:
    通过RGB图像进行关节点估计(Pose Estimation openpose工具箱)获得,
    或是通过深度摄像机直接获得(例如Kinect)。
    每一时刻(帧)骨架对应人体的K个关节点所在的坐标位置信息,一个时间序列由若干帧组成。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3 骨架获取 Stacked Hourglass Networks for Human Pose Estimation

    论文分析 使用全卷积网络解决人体姿态分析问题

    4 骨架获取 Realtime Multi-person 2D Pose Estimation using Part Affinity Fields

    基于部分亲和字段PAF(Part Affinity Field)的2D图像姿态估计 博客参考

    Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 骨骼时空网络兴趣点

    思路: 
    在视频上先对每一帧做姿态估计(Kinetics 数据集上文章用的是OpenPose),然后可以构建出一个空间上的骨架时序图。
    然后应用ST-GCN网络提取高层特征
    最后用softmax分类器进行分类
    
    • 1
    • 2
    • 3
    • 4

    博客1

    博客2

    1. 空时注意力模型(Attention)之于行为识别

    An End-to-End Spatio-Temporal Attention Model for Human Action Recognition from Skeleton Data

    LSTM网络框架和关节点共现性(Co-occurrence)的挖掘之于行为识别。
    时域注意力模型:
        设计了时域注意力模型,通过一个LSTM子网络来自动学习和获知序列中不同帧的重要性,
        使重要的帧在分类中起更大的作用,以优化识别的精度。
    

    空域注意力:
    设计了一个LSTM子网络,依据序列的内容自动给不同关节点分配不同的重要性,即给予不同的注意力。
    由于注意力是基于内容的,即当前帧信息和历史信息共同决定的,
    因此,在同一个序列中,关节点重要性的分配可以随着时间的变化而改变。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2. LSTM网络框架和关节点共现性(Co-occurrence)的挖掘之于行为识别

    Co-Occurrence Feature Learning for Skeleton Based Action Recognition Using Regularized Deep LSTM Networks

    3. RNN 基于联合分类和回归的循环神经网络之于行为动作检测

    Online Human Action Detection Using Joint Classification-Regression Recurrent Neural Networks

    3D卷积 C3D Network

    提出 C3D

    Learning spatiotemporal features with 3d convolutional networks

    C3D论文笔记

    C3D_caffe 代码

    C3D是facebook的一个工作,采用3D卷积和3D Pooling构建了网络。
    通过3D卷积,C3D可以直接处理视频(或者说是视频帧的volume)
    实验效果:UCF101-85.2% 可以看出其在UCF101上的效果距离two stream方法还有不小差距。
             我认为这主要是网络结构造成的,C3D中的网络结构为自己设计的简单结构,如下图所示。
    

    速度:
    C3D的最大优势在于其速度,在文章中其速度为314fps。而实际上这是基于两年前的显卡了。
    用Nvidia 1080显卡可以达到600fps以上。
    所以C3D的效率是要远远高于其他方法的,个人认为这使得C3D有着很好的应用前景。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    改进 I3D[Facebook]

    即基于inception-V1模型,将2D卷积扩展到3D卷积。
    
    • 1

    Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset

    T3D 时空 3d卷积

    Temporal 3D ConvNets:New Architecture and Transfer Learning for Video Classificati

    该论文值得注意的,
        一方面是采用了3D densenet,区别于之前的inception和Resnet结构;
        另一方面,TTL层,即使用不同尺度的卷积(inception思想)来捕捉讯息。
    
    • 1
    • 2
    • 3

    P3D [MSRA]

    Learning Spatio-Temporal Representation with Pseudo-3D Residual Networks

    博客

    改进ResNet内部连接中的卷积形式。然后,超深网络,一般人显然只能空有想法,望而却步。
    
    • 1

    CDC 3D卷积方式的 改进 TPC 时序保留卷积 这里也是 行为检测

    Exploring Temporal Preservation Networks for Precise Temporal Action Localization TPC 时序保留卷积

    思路:
    这篇文章是在CDC网络的基础进行改进的,CDC最后是采用了时间上上采样,
    空间下采样的方法做到了 per-frame action predictions,而且取得了可信的行为定位的结果。
    但是在CDC filter之前时间上的下采样存在一定时序信息的丢失。
    作者提出的TPC网络,采用时序保留卷积操作,
    这样能够在不进行时序池化操作的情况下获得同样大小的感受野而不缩短时序长度。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    其他方法

    TPP Temporal Pyramid Pooling

    End-to-end Video-level Representation Learning for Action Recognition

    Pooling。时空上都进行这种pooling操作,旨在捕捉不同长度的讯息。
    
    • 1

    TLE 时序线性编码层

    1. 本文主要提出了“Temporal Linear Encoding Layer” 时序线性编码层,主要对视频中不同位置的特征进行融合编码。
       至于特征提取则可以使用各种方法,文中实验了two stream以及C3D两种网络来提取特征。
    
    1. 实验效果:UCF101-95.6%,HMDB51-71.1% (特征用two stream提取)。
      应该是目前为止看到效果最好的方法了(CVPR2017里可能会有更好的效果)
    • 1
    • 2
    • 3
    • 4
    • 5

    Deep Temporal Linear Encoding Networks

    key volume的自动识别

    A Key Volume Mining Deep Framework for Action Recognition

    本文主要做的是key volume的自动识别。
    通常都是将一整段动作视频进行学习,而事实上这段视频中有一些帧与动作的关系并不大。
    因此进行关键帧的学习,再在关键帧上进行CNN模型的建立有助于提高模型效果。
    本文达到了93%的正确率吗,为目前最高。
    实验效果:UCF101-93.1%,HMDB51-63.3%
    
    • 1
    • 2
    • 3
    • 4
    • 5

    使用LSTM,RNN循环神经网络来完成时间上的建模

    CNN提取特征->LSTM建模 A Torch Library for Action Recognition and Detection Using CNNs and LSTMs

    Long-term Recurrent Convolutional Networks for Visual Recognition and Description

    代码主页

    caffe examples/LRCN_activity_recognition"

    对LSTM研究很好的一个老师主页

    LSTM 用于行为识别 图像描述 视频描述 博客详解

    Multimodal Keyless Attention Fusion for Video Classification 多模态 LSTM

    [行为识别]RPAN:An end-to-end recurrent pose-attention network for action recognition CNN+姿态注意力+lstm](https://blog.csdn.net/neu_chenguangq/article/details/79164830)

    CNN+姿态注意力+lstm 论文

    数据数据的提纯

    输入一方面指输入的数据类型和格式,也包括数据增强的相关操作。
    

    双流网络中,空间网络通道的输入格式通常为单RGB图像或者是多帧RGB堆叠。
    而空间网络一般是直接对ImageNet上经典的网络进行finetune。
    虽然近年来对motion信息的关注逐渐上升,指责行为识别过度依赖背景和外貌特征,
    而缺少对运动本身的建模,但是,事实上,运动既不是名词,
    也不应该是动词,而应该是动词+名词的形式,例如:play+basketball,也可以是play+football。
    所以,个人认为,虽然应该加大的时间信息的关注,但不可否认空间特征的重要作用。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    空间流上 改进 提取关键帧

    空间网络主要捕捉视频帧中重要的物体特征。
    目前大部分公开数据集其实可以仅仅依赖单图像帧就可以完成对视频的分类,
    而且往往不需要分割,那么,在这种情况下,
    空间网络的输入就存在着很大的冗余,并且可能引入额外的噪声。
    

    是否可以提取出视频中的关键帧来提升分类的水平呢?下面这篇论文就提出了一种提取关键帧的方法。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    A Key Volume Mining Deep Framework for Action Recognition 【CVPR2016】

    提取关键帧 改进

    虽然上面的方法可以集成到一个网络中训练,
    但是思路是按照图像分类算法RCNN中需要分步先提出候选框,挑选出关键帧。
    既然挑选前需要输入整个视频,可不可以省略挑选这个步骤,
    直接在卷积/池化操作时,重点关注那些关键帧,而忽视那些冗余帧呢?
    去年就有人提出这样的解决方法。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    AdaScan: Adaptive Scan Pooling in Deep Convolutional Neural Networks for Human Action Recognition in Videos

    注:AdaScan的效果一般,关键帧的质量比上面的Key Volume Mining效果要差一点。不过模型整体比较简单。
    
    • 1

    时间流 上输入的改进 光流信息

    输入方面,空间网络目前主要集中在关键帧的研究上。
    而对于temporal通道而言,则是更多人的关注焦点。
    首先,光流的提取需要消耗大量的计算力和时间(有论文中提到几乎占据整个训练时间的90%);
    其次,光流包含的未必是最优的的运动特征。
    
    • 1
    • 2
    • 3
    • 4

    On the Integration of Optical Flow and Action Recognition

    cnn网络自学习 光流提取

    那么,光流这种运动特征可不可以由网络自己学呢?
    
    • 1

    Hidden Two-Stream Convolutional Networks for Action Recognition

    该论文主要参考了flownet,即使用神经网络学习生成光流图,然后作为temporal网络的输入。
    该方法提升了光流的质量,而且模型大小也比flownet小很多。
    有论文证明,光流质量的提高,尤其是对于边缘微小运动光流的提升,对分类有关键作用。
    另一方面,该论文中也比较了其余的输入格式,如RGB diff。但效果没有光流好。
    

    目前,除了可以考虑尝试新的数据增强方法外,如何训练出替代光流的运动特征应该是接下来的发展趋势之一。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    信息的融合

    这里连接主要是指双流网络中时空信息的交互。
    一种是单个网络内部各层之间的交互,如ResNet/Inception;
    一种是双流网络之间的交互,包括不同fusion方式的探索,
       目前值得考虑的是参照ResNet的结构,连接双流网络。
    
    • 1
    • 2
    • 3
    • 4

    基于 ResNet 的双流融合

    空间和时序网络的主体都是ResNet,
    增加了从Motion Stream到Spatial Stream的交互。论文还探索多种方式。
    
    • 1
    • 2

    Spatiotemporal Multiplier Networks for Video Action Recognition

    金字塔 双流融合

    Spatiotemporal Pyramid Network for Video Action Recognition

    行为识别的关键就在于如何很好的融合空间和时序上的特征。
    作者发现,传统双流网络虽然在最后有fusion的过程,但训练中确实单独训练的,
    最终结果的失误预测往往仅来源于某一网络,并且空间/时序网络各有所长。
    论文分析了错误分类的原因:
    空间网络在视频背景相似度高的时候容易失误,
    时序网络在long-term行为中因为snippets length的长度限制容易失误。
    那么能否通过交互,实现两个网络的互补呢?
    

    该论文重点在于STCB模块,详情请参阅论文。
    交互方面,在保留空间、时序流的同时,对时空信息进行了一次融合,最后三路融合,得出最后结果

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    SSN(structured segment network,结构化的段网络)

    通过结构化的时间金字塔对每个行为实例的时间结构进行建模。
    金字塔顶层有decomposed discriminative model(分解判别模型),
    包含两个分类器:用于分类行为(针对recognition)和确定完整性(针对localization)。
    集成到统一的网络中,可以以端到端的方式高效地进行训练。
    为了提取高质量行为时间proposal,采用temporal actionness grouping (TAG)算法。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    [代码开源
    论文
    SSN博客解析

    这两篇论文从pooling的层面提高了双流的交互能力

    Attentional Pooling for Action Recognition

    ActionVLAD: Learning spatio-temporal aggregation for action classification

    基于ResNet的结构探索新的双流连接方式

    Deep Convolutional Neural Networks with Merge-and-Run Mappings

    4. 视频行为检测

    CDC 用于未修剪视频中精确时间动作定位的卷积-反-卷积网络

    基于3D卷积C3D做帧分类,然后预测存在行为的视频段并分类

    五篇Untrimmed(精细分割)相关论文论文汇总简介

    CDC网络[13]是在C3D网络基础上,借鉴了FCN的思想。
    在C3D网络的后面增加了时间维度的上采样操作,做到了帧预测(frame level labeling)。
    

    1、第一次将卷积、反卷积操作应用到行为检测领域,CDC同时在空间下采样,在时间域上上采样。
    2、利用CDC网络结构可以做到端到端的学习。
    3、通过反卷积操作可以做到帧预测(Per-frame action labeling)。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    CDC6 反卷积   
    3DCNN能够很好的学习时空的高级语义抽象,但是丢失了时间上的细粒度,
    众所周知的C3D架构输出视频的时序长度减小了8倍
    在像素级语义分割中,反卷积被证明是一种有效的图像和视频上采样的方法,
    用于产生与输入相同分辨率的输出。
    对于时序定位问题,输出的时序长度应该和输入视频一致,
    但是输出大小应该被减小到1x1。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    网络步骤如下所示:
    输入的视频段是112x112xL,连续L帧112x112的图像
    经过C3D网络后,时间域上L下采样到 L/8, 空间上图像的大小由 112x112下采样到了4x4
    CDC6: 时间域上上采样到 L/4, 空间上继续下采样到 1x1
    CDC7: 时间域上上采样到 L/2
    CDC8:时间域上上采样到 L,而且全连接层用的是 4096xK+1, K是类别数
    softmax层
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    CDC 论文

    R-C3D(Region 3-Dimensional Convolution)网络

    R-C3D-Resgion Convolutional 3D Network for Temporal Activity Detection

    代码

    博客解析

    是基于Faster R-CNN和C3D网络思想。
    对于任意的输入视频L,先进行Proposal,然后用3D-pooling,最后进行分类和回归操作。
    文章主要贡献点有以下3个。
        1、可以针对任意长度视频、任意长度行为进行端到端的检测
        2、速度很快(是目前网络的5倍),通过共享Progposal generation 和Classification网络的C3D参数
        3、作者测试了3个不同的数据集,效果都很好,显示了通用性。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    R-C3D网络可以分为4个部分

    1、特征提取网络:对于输入任意长度的视频使用C3D进行特征提取;
    2、Temporal Proposal Subnet: 用来提取可能存在行为的时序片段(Proposal Segments);
    3、Activity Classification Subnet: 行为分类子网络;
    4、Loss Function。
    
    • 1
    • 2
    • 3
    • 4

    1、特征提取网络

    骨干网络作者选择了C3D网络,经过C3D网络的5层卷积后,
    可以得到512 x L/8 x H/16 x W/16大小的特征图。
    这里不同于C3D网络的是,R-C3D允许任意长度的视频L作为输入。
    
    • 1
    • 2
    • 3

    2、时序候选区段提取网络

    类似于Faster R-CNN中的RPN,用来提取一系列可能存在目标的候选框。
    这里是提取一系列可能存在行为的候选时序。
    
    • 1
    • 2

        Step1:候选时序生成
    
        输入视频经过上述C3D网络后得到了512 x L/8 x H/16 x W/16大小的特征图。
        然后作者假设anchor均匀分布在L/8的时间域上,
        也就是有L/8个anchors,
        每个anchors生成K个不同scale的候选时序。
    
    Step2: 3D Pooling
    
        得到的 512xL/8xH/16xW/16的特征图后,
        为了获得每个时序点(anchor)上每段候选时序的中心位置偏移和时序的长度,
        作者将空间上H/16 x W/16的特征图经过一个3x3x3的卷积核
        和一个3D pooling层下采样到 1x1。最后输出 512xL/8x1x1.
    
    Step3: Training 
        类似于Faster R-CNN,这里也需要判定得到的候选时序是正样本还是负样本。\
        文章中的判定如下。 
        正样本:IoU > 0.7,候选时序帧和ground truth的重叠数 
        负样本: IOU < 0.3 
        为了平衡正负样本,正/负样本比例为1:1.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    3、行为分类子网络

    行为分类子网络有如下几个功能:
        1、从TPS(Temporal Proposal subnet)中选择出Proposal segment
        2、对于上述的proposal,用3D RoI 提取固定大小特征
        3、以上述特征为基础,将选择的Proposal做类别判断和时序边框回归。
    
    • 1
    • 2
    • 3
    • 4

        Step1: NMS
            针对上述Temporal Proposal Subnet提取出的segment,
            采用NMS(Non-maximum Suppression)非极大值抑制生成优质的proposal。
            NMS 阈值为0.7.
    
    Step2:3D RoI
    
        RoI (Region of interest,兴趣区域).
        这里,个人感觉作者的图有点问题,提取兴趣区域的特征图的输入应该是C3D的输出,
        也就是512xL/8xH/16xW/16,可能作者遗忘了一个输入的箭头。 
        假设C3D输出的是 512xL/8x7x7大小的特征图,假设其中有一个proposal的长度(时序长度)为lp,
        那么这个proposal的大小为512xlpx7x7,这里借鉴SPPnet中的池化层,
        利用一个动态大小的池化核,ls x hs x ws。
        最终得到 512x1x4x4大小的特征图
    
    Step3: 全连接层
    
        经过池化后,再输出到全连接层。
        最后接一个边框回归(start-end time )和类别分类(Activity Scores)。
    
    Step4: Traning
    
        在训练的时候同样需要定义行为的类别,
        如何给一个proposal定label?
        同样采用IoU。
    
        IoU > 0.5,那么定义这个proposal与ground truth相同
        IoU 与所有的ground truth都小于0.5,那么定义为background
        这里,训练的时候正/负样本比例为1:3。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    文章将分类和回归联合,而且联合两个子网络。分类采用softmax,回归采用smooth L1。

    新结构 非局部神经网络(Non-local Neural Networks) 非局部操作可以作为设计深度神经网络的一个通用的部件。

    论文

    代码

    参考博客解析

    非局部网络优势:
        在深层神经网络中,捕获长期依赖关系是至关重要的。
        对于连续的数据(例如演讲中语言),循环操作是时间域上长期依赖问题的主要解决方案。
        对于图像数据,长距离依赖关系是对大量的卷积操作形成的大的感受野进行建模的。
    

    卷积操作或循环操作都是处理空间或者时间上的局部邻域的。
    这样,只有当这些操作被反复应用的时候,长距离依赖关系才能被捕获,信号才能通过数据不断地传播。
    重复的局部操作有一些限制:
    首先,计算效率很低;
    其次,增加优化难度;
    最后,这些挑战导致多跳依赖建模,
    例如,当消息需要在远距离之间来回传递时,是非常困难的。

    将非局部操作作为一个高效的、简单的、通用的组件,并用深度神经网络捕捉长距离依赖关系。
    我们提出的非局部操作受启发于计算机视觉中经典非局部操作的一般含义。
    直观地说,非局部操作在一个位置的计算响应是输入特性图中所有位置的特征的加权总和(如图1)。
    一组位置可以在空间、时间或时空上,暗示我们的操作可以适用于图像、序列和视频问题。

    非局部操作在视频分类应用中的有效性。
    在视频中,远距离的相互作用发生在空间或时间中的长距离像素之间。
    一个非局部块是我们的基本单位,可以直接通过前馈方式捕捉这种时空依赖关系。
    在一些非局部块中,我们的网络结构被称为非局部神经网络,
    比2D或3D卷积网络(包括其变体)有更准确的视频分类效果。
    另外,非局部神经网络有比3D卷积网络有更低的计算开销。
    我们在Kinetics和Charades数据集上进行了详细的研究(分别进行了光流、多尺度测试)。
    我们的方法在所有数据集上都能获得比最新方法更好的结果。

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    Non-local算法代码解析

    Non-local算法代码解析

    在这里插入图片描述

                                    </div>
    
    展开全文
  • 行为识别综述笔记

    千次阅读 2016-12-19 21:17:27
    一、关键词:行为识别、特征提取、全局特征、局部特征。   二、分类体系: Turaga,第五篇论文的作者将人体识别分为movement/action/activity,即移动、动作、行为识别。这三种分类分别是低层视觉,中层视觉和...

    阅读文章来自:http://blog.csdn.net/endeavor_yuan/article/details/52045740


    一、关键词:行为识别、特征提取、全局特征、局部特征。

     

    二、分类体系:

    Turaga,第五篇论文的作者将人体识别分为movement/action/activity,即移动、动作、行为识别。这三种分类分别是低层视觉,中层视觉和高层视觉。

    第九篇论文的作者将2D的3D作为区分研究人体行为的区分特征。

    [7], Aggarwal将人体行为研究分为2大类,其一是基于单个层次来实现,其二是基于等级体系来实现。单层实现由分为时空特征和序列特征2种,等级体系实现分为统计方法,句法分析法和基于描述的方法3种。


    三、特征分类

    全局特征是把一对象当做成一个整体,这是一种从上到下的研究思维。这种情况下,视频中的人必须先被定位出来,这个可以采用背景减图或者目标跟踪算法。然后对定位出来的目标进行某种编码,这样就形成了其全局特征。这种全局特征是有效的,因为它包含了人体非常多的信息。然而它又太依赖而底层视觉的处理,比如说精确的背景减图,人体定位和跟踪。而这些处理过程本身也是计算机视觉中的难点之处。另外这些全局特征对噪声,视角变化,遮挡等非常敏感。

    局部特征提取是收集人体的相对独立的图像块,是一种从下到上的研究思维。一般的做法是先提取视频中的一些时空兴趣点,然后在这些点的周围提取相应的图像块,最后将这些图像块组合成一起来描述一个特定的动作。局部特征的优点是其不依赖而底层的人体分割定位和跟踪,且对噪声和遮挡问题不是很敏感。但是它需要提取足够数量的稳定的且与动作类别相关的兴趣点,因此需要不少预处理过程。

    四、全局特征

    //为了提前剪影信息

    Wang[21]等人利用r变换获取了人体的剪影

    Hsuan-Shen[22]则提取了人体的轮廓,这些轮廓信息是用星型骨架描述基线之间夹角的,这些基线是从人体的手,脚,头等中心延长到人体的轮廓。

    Wang[23]同时利用了剪影信息和轮廓信息来描述动作,即用基于轮廓的平均运动形状(MMS)基于运动前景的平均能量(AME)两个模板来进行描述。

    当把轮廓和剪影模板保存下来后,新提取出的特征要与其进行比较,Daniel[24]采用欧式距离来测量其相似度,随后他又改为用倒角距离来度量[25],这样就消除了背景减图这一预处理步骤。

    除了利用轮廓剪影信息外,人体的运动信息也经常被采用。比如说基于像素级的背景差法光流信息等。当背景差法不能很好的工作时,我们往往可以采用光流法,但是这样经常会引入运动噪声,Effos[26]只计算以人体中心点处的光流,这在一定程度上减少了噪声的影响。

    在三维空间中,通过给定视频中的数据可以得到3D时空体(STV)STV的计算需要精确的定位,目标对齐,有时还需背景减图。

    Blank[27][28]等人首次从视频序列中的剪影信息得到STV。然后用泊松方程导出局部时空显著点及其方向特征,其全局特征是通过对这些局部特征加权得到的。

    为了处理不同动作的持续时间不同的问题,Achard[29]对每一个视频采用了一系列的STV ,并且每个STV只是覆盖时间维上的一部分信息。

    还有一种途径是从STV中提取相应的局部描述子,这一部分将在局部特征提取一节中介绍,在这里,我们还是先把STV特征当做是全局特征。

    Batra[30]存储了STV的剪影,并且用很小的3D二进制空间块采样STV

    Yilmaz[31]提取了STV表面的不同几何特征,比如说其极大值点和极小值点。

    学者Keel[32]将剪影的STV和光流信息结合起来,作为行为识别的全局特征。

    五、局部特征

    行为识别中的局部特征点是视频中时间和空间中的点,这些点的检测发生在视频运动的突变中。因为在运动突变时产生的点包含了对人体行为分析的大部分信息。因此当人体进行平移直线运动或者匀速运动时,这些特征点就很难被检测出来

    检测STIP

    Laptev[33]Harris角点扩展到3D Harris,这是时空兴趣点(STIP)族中的一个。这些时空特征点邻域的像素值在时间和空间都有显著的变化。在该算法中,邻域块的尺度大小能够自适应时间维和空间维。

     

    Dollar[34]指出上述那种方法存在一个缺点,即检测出来稳定的兴趣点的数量太少,因此Dollar单独的在时间维和空间维先采用gabor滤波器进行滤波,这样的话检测出来兴趣点的数目就会随着时间和空间的局部邻域尺寸的改变而改变。

    类似的,Rapantzikos[35]3个维度上分别应用离散小波变换,通过每一维的低通和高通的滤波响应来选择时空显著点。同时,为了整合颜色和运动信息Rapantzikos[36]加入了彩色和运动信息来计算其显著点。

     

    Wong[37]首先检测与运动相关的子空间中的兴趣点,这些子空间对应着一部分的运动,比如说手臂摆动,在这些子空间中,一些稀疏的兴趣点就被检测出来了。类似的方法,Bregonzio[38]首先通过计算后面帧的不同来估计视觉注意的焦点,然后利用gabor滤波在这些区域来检测显著点

    展开全文
  • 本文是基于深度学习的视频行为识别综述,对主流的行为识别方法Two-stream,c3d,r3d等进行简单介绍。
  • 行为识别特征提取综述

    千次阅读 2018-09-25 17:22:27
     人体行为识别目前处在动作识别阶段,而动作识别可以看成是特征提取和分类器设计相结合的过程。特征提取过程受到遮挡,动态背景,移动摄像头,视角和光照变化等因素的影响而具有很大的挑战性。本文将较全面的总结了...

    摘要

       人体行为识别目前处在动作识别阶段,而动作识别可以看成是特征提取和分类器设计相结合的过程。特征提取过程受到遮挡,动态背景,移动摄像头,视角和光照变化等因素的影响而具有很大的挑战性。本文将较全面的总结了目前行为识别中特征提取的方法,并将其特征划分为全局特征和局部特征,且分开介绍了其优缺点。

    关键字: 行为识别 特征提取 全局特征 局部特征

    1. 前言

       如今人体行为识别是计算机视觉研究的一个热点,人体行为识别的目标是从一个未知的视频或者是图像序列中自动分析其中正在进行的行为。简单的行为识别即动作分类,给定一段视频,只需将其正确分类到已知的几个动作类别,复杂点的识别是视频中不仅仅只包含一个动作类别,而是有多个,系统需自动的识别出动作的类别以及动作的起始时刻。行为识别的最终目标是分析视频中哪些人在什么时刻什么地方,在干什么事情,即所谓的“W4系统”。

      下面将4个方面对行为识别做初步介绍。

    1.1    行为识别应用背景

      人体行为识别应用背景很广泛,主要集中在智能视频监控,病人监护系统,人机交互,虚拟现实,智能家居,智能安防,运动员辅助训练,另外基于内容的视频检索和智能图像压缩等有着广阔的应用前景和潜在的经济价值和社会价值,其中也用到了不少行为识别的方法。

     

    1.2    行为识别研究历史

      行为识别分析的相关研究可以追溯到1975年Johansson[1]的一个实验,作者提出了12点人体模型,这种描述行为的点模型方法对后来基于人体结构的行为描述算法起到了重要的指导作用。从那以后,行为识别的研历史究进展大致可以分为以下3个阶段,第1个是20世纪70年代行为分析的初步研究阶段,第2个是20世纪90年代行为分析的逐步发展阶段,第3个是最近几年来行为分析的快速发展阶段。从文献[2]~[7]这6篇较有名的行为识别综述论文可以看出, 研究行为识别的人数在不断增加,论文数量也是猛增,并且产生了许多种重要的算法和思想。

     

    1.3    行为识别方法分类体系

      关于视觉上人体运动分析和识别的方法论体系有很多种。Forsyth[8]等人侧重与将动作从视频序列中人的姿态和运动信息恢复过来,这属于一个回归问题,而人体行为识别是一个分类问题,这2个问题有很多类似点,比如说其特征的提取和描述很多是通用的。Turaga[5]等人将人体行为识别分为3部分,即移动识别(movement),动作识别(action)和行为识别(activity),这3种分类分别于低层视觉,中层视觉,高层视觉相对应。Gavrila[9]采用2D和3D的方法来分别研究人体的行为。

    对于行为识别方法论的划分中,最近出现了一种新的划分[7], Aggarwal将人体行为研究分为2大类,其一是基于单个层次来实现,其二是基于等级体系来实现。单层实现由分为时空特征和序列特征2种,等级体系实现分为统计方法,句法分析法和基于描述的方法3种。图1 Aggarwal对行为识别方法论体系的层次结构图。

     

      

    图1 行为识别方法层次结构

     

         该分类体系比较完善,也能很好的体现目前的研究进展。按照Turaga的3个层次划分理论,目前关于行为识别基本上还停留在第二个阶段,即action识别。而action识别比现实生活中的行为较简单,所以我们识别这些行为只需对这些行为进行正确的分类即可。这样一个行为识别系统就分成了行为特征提取和分类器的设计两个方面,通过对训练数据提取某种特征,采用有监督或无监督来训练一个分类模型,对新来的数据同样提取特征并送入该模型,得出分类结果。基于这个思想,本文主要是从行为识别的特征提取方面做了一个较为全面的介绍。

     

    1.4    行为识别研究难点

      行为识别发展至今,取得了很大的进展,在低层,中层和高层都取得了一定的突破,但是行为识别算法并不成熟,目前不存在一个算法适合所有的行为分类,3个视觉层次中都还有很多严峻的问题有待解决。其研究的难点主要体现在以下几个方面:

    1.4.1  动作类内类间的变化太大

      对于大多数的动作,即使是同一动作都有不同的表现形式。比如说走路,可以在不同的背景环境中完成,走路的速度也可以从慢到快,走路的步长亦有长有短。其它的动作也有类似的结果,特别是一些非周期的运动,比如过马路时候的走路,这与平时周期性的走路步伐明显不同。由此可见,动作的种类本身就很多,再加上每一种类又有很多个变种,所以给行为识别的研究带来了不少麻烦。

    1.4.2  环境背景等影响

      环境问背景等因素的影响可谓是计算机视觉各个领域的最大难点。主要有视角的多样性,同样的动作从不同的视角来观察会得到不同的二维图像;人与人之间,人与背景之间的相互遮挡也使计算机对动作的分类前期特征提取带来了困难,目前解决多视觉和遮挡问题,有学者提出了多摄像机融合通过3维重建来处理;另外其影响因素还包括动态变化和杂乱的背景,环境光照的变化,图像视频的低分辨率等。

    1.4.3  时间变化的影响

      总所周知,人体的行为离不开时间这个因素。而我们拍摄的视频其存放格式有可能不同,其播放速度有慢有快,这就导致了我们提出的系统需对视频的播放速率不敏感。

    1.4.4  数据的获取和标注

      既然把行为识别问题当成一个分类问题,就需要大量的数据来训练分类模型。而这些数据是视频数据,每一个动作在视频中出现的位置和时间都不确定,同时要考虑同一种动作的不同表现形式以及不同动作之间的区分度,即数据的多样性和全面性。这一收集过程的工作量不小,网上已经有一些公开的数据库供大家用来实验,这将在本文的第3部分进行介绍。

      另外,手动对视频数据标注非常困难。当然,有学者也提出了一些自动标注的方法,比如说利用网页图片搜索引擎[10],利用视频的字幕[11],以及利用电影描述的文本进行匹配[12][13][14]。

    1.4.5  高层视觉的理解

      上面一提到,目前对行为识别的研究尚处在动作识别这一层(action  recognition)。其处理的行为可以分为2类,一类是有限制类别的简单规则行为,比如说走、跑、挥手、弯腰、跳等。另一类是在具体的场景中特定的行为[15]~[19],如检测恐怖分子异常行为,丢包后突然离开等。在这种场景下对行为的描述有严格的限制,此时其描述一般采用了运动或者轨迹。这2种行为识别的研究都还不算完善,遇到了不少问题,且离高层的行为识别要求还相差很远。因此高层视觉的理解表示和识别是一个巨大的难题。

     

    2. 行为识别特征提取

     

      这一节中,将主要讨论怎样从图片序列中提取特征。本文将行为识别的特征分为2大类:全局特征和局部特征。

      全局特征是把一对象当做成一个整体,这是一种从上到下的研究思维。这种情况下,视频中的人必须先被定位出来,这个可以采用背景减图或者目标跟踪算法。然后对定位出来的目标进行某种编码,这样就形成了其全局特征。这种全局特征是有效的,因为它包含了人体非常多的信息。然而它又太依赖而底层视觉的处理,比如说精确的背景减图,人体定位和跟踪。而这些处理过程本身也是计算机视觉中的难点之处。另外这些全局特征对噪声,视角变化,遮挡等非常敏感。

      局部特征提取是收集人体的相对独立的图像块,是一种从下到上的研究思维。一般的做法是先提取视频中的一些时空兴趣点,然后在这些点的周围提取相应的图像块,最后将这些图像块组合成一起来描述一个特定的动作。局部特征的优点是其不依赖而底层的人体分割定位和跟踪,且对噪声和遮挡问题不是很敏感。但是它需要提取足够数量的稳定的且与动作类别相关的兴趣点,因此需要不少预处理过程。

    2.1    全局特征提取

      全局特征是对检测出来的整个感兴趣的人体进行描述,一般是通过背景减图或者跟踪的方法来得到,通常采用的是人体的边缘,剪影轮廓,光流等信息。而这些特征对噪声,部分遮挡,视角的变化比较敏感。下面分别从其二维特征和三维特征做介绍。

     

    2.1.1 二维全局特征提取

    Davis[20]等人最早采用轮廓来描述人体的运动信息,其用MEI和MHI 2个模板来保存对应的一个动作信息,然后用马氏距离分类器来进行识别。MEI为运动能量图,用来指示运动在哪些部位发生过,MHI为运动历史图,除了体现运动发生的空间位置外还体现了运动的时间先后顺序。这2种特征都是从背景减图中获取的。图2是坐下,挥手,蹲伏这3个动作的运动历史图MHI。

                                 

    图2 三种动作对应的MHI

     

      为了提前剪影信息,Wang[21]等人利用r变换获取了人体的剪影。Hsuan-Shen[22]则提取了人体的轮廓,这些轮廓信息是用星型骨架描述基线之间夹角的,这些基线是从人体的手,脚,头等中心延长到人体的轮廓。而Wang[23]同时利用了剪影信息和轮廓信息来描述动作,即用基于轮廓的平均运动形状(MMS)和基于运动前景的平均能量(AME)两个模板来进行描述。当把轮廓和剪影模板保存下来后,新提取出的特征要与其进行比较,Daniel[24]采用欧式距离来测量其相似度,随后他又改为用倒角距离来度量[25],这样就消除了背景减图这一预处理步骤。

      除了利用轮廓剪影信息外,人体的运动信息也经常被采用。比如说基于像素级的背景差法,光流信息等。当背景差法不能很好的工作时,我们往往可以采用光流法,但是这样经常会引入运动噪声,Effos[26]只计算以人体中心点处的光流,这在一定程度上减少了噪声的影响。

     

    2.1.2  三维全局特征提取

      在三维空间中,通过给定视频中的数据可以得到3D时空体(STV),STV的计算需要精确的定位,目标对齐,有时还需背景减图。Blank[27][28]等人首次从视频序列中的剪影信息得到STV。如图3所示。然后用泊松方程导出局部时空显著点及其方向特征,其全局特征是通过对这些局部特征加权得到的,为了处理不同动作的持续时间不同的问题,Achard[29]对每一个视频采用了一系列的STV ,并且每个STV只是覆盖时间维上的一部分信息。

      还有一种途径是从STV中提取相应的局部描述子,这一部分将在局部特征提取一节中介绍,在这里,我们还是先把STV特征当做是全局特征。Batra[30]存储了STV的剪影,并且用很小的3D二进制空间块来采样STV。Yilmaz[31]提取了STV表面的不同几何特征,比如说其极大值点和极小值点。当然,也有学者Keel[32]将剪影的STV和光流信息结合起来,作为行为识别的全局特征。

                           

    图3  跳跃,走,跑3个动作的STV图

     

    2.2    局部特征提取

      人体行为识别局部特征提取是指提取人体中感兴趣的点或者块。因此不需要精确的人体定位和跟踪,并且局部特征对人体的表观变化,视觉变化和部分遮挡问题也不是很敏感。因此在行为识别中采用这种特征的分类器比较多。下面从局部特征点检测和局部特征点描述2部分来做介绍。

     

    2.2.1  局部特征点的检测

      行为识别中的局部特征点是视频中时间和空间中的点,这些点的检测发生在视频运动的突变中。因为在运动突变时产生的点包含了对人体行为分析的大部分信息。因此当人体进行平移直线运动或者匀速运动时,这些特征点就很难被检测出来。

      Laptev[33]将Harris角点扩展到3D Harris,这是时空兴趣点(STIP)族中的一个。这些时空特征点邻域的像素值在时间和空间都有显著的变化。在该算法中,邻域块的尺度大小能够自适应时间维和空间维。该时空特征点如图4所示。

                        

    图4  时空特征点检测图

     

         Dollar[34]指出上述那种方法存在一个缺点,即检测出来稳定的兴趣点的数量太少,因此Dollar单独的在时间维和空间维先采用gabor滤波器进行滤波,这样的话检测出来兴趣点的数目就会随着时间和空间的局部邻域尺寸的改变而改变。类似的,Rapantzikos[35]在3个维度上分别应用离散小波变换,通过每一维的低通和高通的滤波响应来选择时空显著点。同时,为了整合颜色和运动信息,Rapantzikos[36]加入了彩色和运动信息来计算其显著点。

         与检测整个人体中兴趣点的出发思路不同,Wong[37]首先检测与运动相关的子空间中的兴趣点,这些子空间对应着一部分的运动,比如说手臂摆动,在这些子空间中,一些稀疏的兴趣点就被检测出来了。类似的方法,Bregonzio[38]首先通过计算后面帧的不同来估计视觉注意的焦点,然后利用gabor滤波在这些区域来检测显著点。

     

    2.2.2  局部特征点的描述

      局部特征描述是对图像或者视频中的一个块进行描述,其描述子应该对背景的杂乱程度,尺度和方向变化等均不敏感。一个图像块的空间和时间尺寸大小通常取决于检测到的兴趣点的尺寸。图5显示的是cuboids描述子[34]。

                           

                                            图5 cuboids描述子

     

      特征块也可以用基于局部特征的网格来描述,因为一个网格包括了局部观察到的领域像素,将其看成一个块,这样就减少了时间和空间的局部变化的影响。二维的SURF特征[39]被Willems[40]扩展到了3维,这些eSURF特征的每个cell都包含了全部Harr-wavelet特征。Laotev[14]使用了局部HOG(梯度直方图)和HOF(光流直方图)。Klaser[41]将HOG特征扩展到3维,即形成了3D-HOG。3D-HOG的每个bin都是由规则的多面体构成,3D-HOG允许 在多尺度下对cuboids进行快速密度采样。这种将二维特征点检测的算法扩展到3维特征点类似的工作还有是将SIFT算法[42]扩展到3维SIFT Scovanner[43]。在Wang[44]的文章中,他比较了各种局部描述算子,并发现在大多数情况下整合了梯度和光流信息的描述算子其效果最好。

      另外还有一种描述子比较流行,即单词袋[45][46],这是利用的单词频率直方图特征。

     

    2.3    全局、局部特征融合

      全局和局部特征的融合,结合了全局特征的足够信息量和局部特征的对视角变化,部分遮挡问题不敏感,抗干扰性强的优点。这样的文章比较多,其主要思想结合从2.1和2.2的方法。Thi[47]就将这2种特征结合得很好,其全局特征是采用前面介绍的MHI算子,并且采用AIFT算法[48]进一步选择更好的MHI。局部特征也是采用前面提到的STIP特征,并且采用SBFC(稀疏贝叶斯特征选择)[49]算法过滤掉一些噪声比较大的特征点。最后将2种特征送入到扩展的3维ISM模型中,其ISM[50]是一种目标识别常用算法,即训练出目标的隐式形状模型。Thi[47]的方法结构如图6所示。

                                    

          图6 局部特征和全局特征结合

     

     

    3. 行为识别常见数据库

    3.1    Weizmann

      Weizmann[27]数据库包含了10个动作分别是走,跑,跳,飞跳,向一侧移动,单只手挥动,2只手挥动,单跳,2只手臂挥动起跳,每个动作有10个人执行。在这个视频集中,其背景是静止的,且前景提供了剪影信息。该数据集较为简单。

    3.2    KTH

      KTH[45]行人数据库包含了6种动作,分别为走,慢跑,跑挥手和鼓掌。每种动作由25个不同的人完成。每个人在完成这些动作时又是在4个不同的场景中完成的,4个场景分别为室外,室内,室外放大,室外且穿不同颜色的衣服。

    3.3    PETS

      PETS[51],其全称为跟踪与监控性能评估会议,它的数据库是从现实生活中获取的,主要来源于直接从视频监控系统拍摄的视频,比如说超市的监控系统。从2000年以后,基本上每年都会组织召开这个会议。

    3.4    UCF

        UCF包含个数据集,这里是指UCF的运动数据库[52],该视频数据包括了150个视频序列,共有13个动作。因为是现实生活中的视频数据,所以其背景比较复杂,这些种类的动作识别起来有些困难。

    3.5    INRIA XMAS

      INRIA XMAS数据库[53]是从5个视角拍摄的,室内的4个方向和头顶的1个方向。总共有11个人完成14种不同的动作,动作可以沿着任意方向执行。摄像机是静止的,环境的光照条件也基本不变。另外该数据集还提供有人体轮廓和体积元等信息。

    3.6    Hollywood

      Hollywood电影的数据库包含有几个,其一[14]的视频集有8种动作,分别是接电话,下轿车,握手,拥抱,接吻,坐下,起立,站立。这些动作都是从电影中直接抽取的,由不同的演员在不同的环境下演的。其二[54]在上面的基础上又增加了4个动作,骑车,吃饭,打架,跑。并且其训练集给出了电影的自动描述文本标注,另外一些是由人工标注的。因为有遮挡,移动摄像机,动态背景等因素,所以这个数据集非常有挑战。

     

     

    4. 总结

     

      本文较全面的介绍了行为识别中特征提取的方法,并将其分为全局特征提取和局部特征提取2个部分介绍,虽然自行为识别研究以来已经取得了不少成果,但是由于视觉中的动态环境,遮挡等问题存在,其挑战非常大,需要提取出鲁棒性更好,适应性更强,效果更好的特征,而这仍是后面几年甚至几十年不断追求努力才能达到的目标。

     

    参考文献: 

    1. Johansson, G. (1975). "Visual motion perception." Scientific American.
    2. Aggarwal, J. K. and Q. Cai (1997). Human motion analysis: A review, IEEE.
    3. Moeslund, T. B. and E. Granum (2001). "A survey of computer vision-based human motion capture." Computer vision and image understanding 81(3): 231-268.
    4. Moeslund, T. B., A. Hilton, et al. (2006). "A survey of advances in vision-based human motion capture and analysis." Computer vision and image understanding 104(2): 90-126.
    5. Turaga, P., R. Chellappa, et al. (2008). "Machine recognition of human activities: A survey." Circuits and Systems for Video Technology, IEEE Transactions on 18(11): 1473-1488.
    6. Poppe, R. (2010). "A survey on vision-based human action recognition." Image and Vision Computing 28(6): 976-990.
    7. Aggarwal, J. and M. S. Ryoo (2011). "Human activity analysis: A review." ACM Computing Surveys (CSUR) 43(3): 16.
    8. Forsyth, D. A., O. Arikan, et al. (2006). Computational studies of human motion: Tracking and motion synthesis, Now Pub.
    9. Gavrila, D. M. (1999). "The visual analysis of human movement: A survey." Computer vision and image understanding 73(1): 82-98.

      10. Ikizler-Cinbis, N., R. G. Cinbis, et al. (2009). Learning actions from the web, IEEE.

      11. Gupta, S. and R. J. Mooney (2009). Using closed captions to train activity recognizers that improve video retrieval, IEEE.

      12. Cour, T., C. Jordan, et al. (2008). Movie/script: Alignment and parsing of video and text transcription.

      13. Duchenne, O., I. Laptev, et al. (2009). Automatic annotation of human actions in video, IEEE.

      14. Laptev, I., M. Marszalek, et al. (2008). Learning realistic human actions from movies, IEEE.

      15. Haritaoglu, I., D. Harwood, et al. (1998). "W 4 S: A real-time system for detecting and tracking people in 2 1/2D." Computer Vision—ECCV'98:      877-892.

      16. Tao, D., X. Li, et al. (2006). Human carrying status in visual surveillance, IEEE.

      17. Davis, J. W. and S. R. Taylor (2002). Analysis and recognition of walking movements, IEEE.

      18. Lv, F., X. Song, et al. (2006). Left luggage detection using bayesian inference.

      19. Auvinet, E., E. Grossmann, et al. (2006). Left-luggage detection using homographies and simple heuristics.

      20. Bobick, A. F. and J. W. Davis (2001). "The recognition of human movement using temporal templates." Pattern Analysis and Machine Intelligence,        IEEE Transactions on 23(3): 257-267.

      21. Wang, Y., K. Huang, et al. (2007). Human activity recognition based on r transform, IEEE.

      22. Chen, H. S., H. T. Chen, et al. (2006). Human action recognition using star skeleton, ACM.

      23. Wang, L. and D. Suter (2006). Informative shape representations for human action recognition, Ieee.

      24. Weinland, D., E. Boyer, et al. (2007). Action recognition from arbitrary views using 3d exemplars, IEEE.

      25. Weinland, D. and E. Boyer (2008). Action recognition using exemplar-based embedding, Ieee.

      26. Efros, A. A., A. C. Berg, et al. (2003). Recognizing action at a distance, IEEE.

      27. Blank, M., L. Gorelick, et al. (2005). Actions as space-time shapes, IEEE.

      28. Gorelick, L., M. Blank, et al. (2007). "Actions as space-time shapes." Pattern Analysis and Machine Intelligence, IEEE Transactions on 29(12):          2247-2253.

      29. Achard, C., X. Qu, et al. (2008). "A novel approach for recognition of human actions with semi-global features." Machine Vision and Applications        19(1): 27-34.

      30. Batra, D., T. Chen, et al. (2008). Space-time shapelets for action recognition, IEEE.

      31. Yilmaz, A. and M. Shah (2008). "A differential geometric approach to representing the human actions." Computer vision and image understanding           109(3): 335-351.

      32. Ke, Y., R. Sukthankar, et al. (2007). Spatio-temporal shape and flow correlation for action recognition, IEEE.

      33. Laptev, I. (2005). "On space-time interest points." International journal of computer vision 64(2): 107-123.

      34. Dollár, P., V. Rabaud, et al. (2005). Behavior recognition via sparse spatio-temporal features, IEEE.

      35. Rapantzikos, K., Y. Avrithis, et al. (2007). Spatiotemporal saliency for event detection and representation in the 3D wavelet domain: potential in        human action recognition, ACM.

      36. Rapantzikos, K., Y. Avrithis, et al. (2009). Dense saliency-based spatiotemporal feature points for action recognition, Ieee.

      37. Wong, S. F. and R. Cipolla (2007). Extracting spatiotemporal interest points using global information, IEEE.

      38. Bregonzio, M., S. Gong, et al. (2009). Recognising action as clouds of space-time interest points, IEEE.

      39. Bay, H., T. Tuytelaars, et al. (2006). "Surf: Speeded up robust features." Computer Vision–ECCV 2006: 404-417.

      40. Willems, G., T. Tuytelaars, et al. (2008). "An efficient dense and scale-invariant spatio-temporal interest point detector." Computer Vision–ECCV        2008: 650-663.

      41. Klaser, A. and M. Marszalek (2008). "A spatio-temporal descriptor based on 3D-gradients."

      42. Mikolajczyk, K. and C. Schmid (2004). "Scale & affine invariant interest point detectors." International journal of computer vision 60(1): 63-86.

      43. Scovanner, P., S. Ali, et al. (2007). A 3-dimensional sift descriptor and its application to action recognition, ACM.

      44. Wang, H., M. M. Ullah, et al. (2009). "Evaluation of local spatio-temporal features for action recognition."

      45. Niebles, J. C., H. Wang, et al. (2008). "Unsupervised learning of human action categories using spatial-temporal words." International journal of        computer vision 79(3): 299-318.

      46. Schuldt, C., I. Laptev, et al. (2004). Recognizing human actions: A local SVM approach, IEEE.

      47. Thi, T. H., L. Cheng, et al. (2011). "Integrating local action elements for action analysis." Computer vision and image understanding.

      48. Liu, G., Z. Lin, et al. (2009). "Radon representation-based feature descriptor for texture classification." Image Processing, IEEE Transactions on        18(5): 921-928.

      49. Carbonetto, P., G. Dorkó, et al. (2008). "Learning to recognize objects with little supervision." International journal of computer vision 77(1): 219-       237.

      50. Leibe, B., A. Leonardis, et al. (2008). "Robust object detection with interleaved categorization and segmentation." International journal of

        computer vision 77(1): 259-289.

      51. http://www.cvg.rdg.ac.uk/slides/pets.html.

      52. Rodriguez, M. D. (2008). "Action mach a spatio-temporal maximum average correlation height filter for action recognition." CVPR.

      53. Weinland, D., R. Ronfard, et al. (2006). "Free viewpoint action recognition using motion history volumes." Computer vision and image

        understanding 104(2): 249-257.

      54. Marszalek, M., I. Laptev, et al. (2009). Actions in context, IEEE. 

    展开全文
  • 基于视觉的人体行为识别算法研究综述
  • 视频行为识别检测综述 IDT TSN CNN-LSTM C3D CDC R-C3D

    万次阅读 多人点赞 2018-06-20 21:23:38
    Video Analysis之Action Recognition(行为识别) 行为识别就是对时域预先分割好的序列判定其所属行为动作的类型,即“读懂行为”。 [行为检测|论文解读]行为检测调研综述 较新 基于Deep Learning 的视频...
  • 人体行为识别综述

    千次阅读 2019-08-10 19:34:15
    https://www.jianshu.com/p/2c2c7e96b9b7
  • 行为识别相关的综述汇总

    千次阅读 2019-08-07 17:39:55
    视频行为识别检测综述 IDT TSN CNN-LSTM C3D CDC R-C3D https://blog.csdn.net/xiaoxiaowenqiang/article/details/80752849
  • 在总结了常用的行为识别数据集的基础上,对传统的行为识别方法以及深度学习的相关基础原理进行了概述,着重对基于不同输入内容与不同深度网络的行为识别方法进行了较为全面、系统性的总结、对比与分析。最后,对深度...
  • 行为识别综述准备】

    千次阅读 2019-10-03 01:24:46
    首先,以后可以工作可以考虑一下基于图卷及的行为识别今年很多,且在数据集上性能领先。 如下图所示: 应用场景: 【2019】Skeleton-based Action Recognition of People Handling Objects 【论文】 recognizing...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 190
精华内容 76
关键字:

综述行为识别