人物+场景+动作+语音
1. 密集采样:DT方法通过网格划分的方式在图片的多个尺度上分别密集采样特征点
2. 去除特征点:去除一些特征点(此处的方法是计算每个像素点自相关矩阵的特征值,并设置阈值去除低于阈值的特征点。阈值由下式决定:T=0.001×maxi∈Imin(λ1i,λ2i))
3. 在时间序列上跟踪这些特征点: 是通过计算特征点邻域内的光流中指来得到特征点的运动方向的。
4. 轨迹获得:某个特征点在连续的L帧图像上的位置即构成了一段轨迹(Pt,Pt+1,...,Pt+L),后续的特征提取即沿着各个轨迹进行。由于特征点的跟踪存在漂移现象,故长时间的跟踪是不可靠的,所以每L帧要重新密集采样一次特征点,重新进行跟踪。
5. 运动/结构描述子:存在着大量的轨迹,每段轨迹都对应着一组特征(trajectory,HOG,HOF,MBH),因此需要对这些特征组进行编码,得到一个定长的编码特征来进行最后的视频分类。DT算法中使用Bagof Features方法进行特征的编码,在训练完码书后,对每个视频的特征组进行编码,就可以得到视频对应的特征。
6. 分类:SVM-训练多类分类器。
iDT算法主要改进在于对光流图像的优化,特征正则化方式的改进以及特征编码方式的改进:
1. 估计相机运动估计来消除背景上的光流以及轨迹=利用前后帧图像计算投影变换矩阵
图像中人的动作可能比较显著,人身上的匹配点对会使得投影矩阵的估计不准确。因此iDT算法中使用一个huamandetector(DL)检测人的位置框,并去除该框中的匹配点对。从而使得人的运动不影响投影矩阵的估计。
2. HOF,HOG和MBH特征采取了L1正则化后再对特征的每个维度开平方的方法
3. Fisher Vector编码
Fisher Vector同样也是先用大量特征训练码书,再用码书对特征进行编码。????
iDT代码注释和介绍//下载opencv和ffmpeg
http://blog.csdn.net/wzmsltw/article/details/53221179
CVPR2015中的”Action Recognition withTrajectory-Pooled Deep-Convolutional Descriptors”的思路就是沿着轨迹利用CNN提取特征
基于单帧的识别方法: 将视频进行截帧,某一帧通过CNN获得一个识别结果, 学习视频时间域上的表达是提高视频识别的主要因素.
基于CNN扩展网络的识别方法:在CNN框架中寻找时间域上的某个模式来表达局部运动信息,从而获得总体识别性能的提升。
双路CNN的识别方法:上面一个就是普通的单帧的CNN,而且文章当中提到了,这个CNN是在 ImageNet的数据上pre-train,然后在视频数据上对最后一层进行调参。下面的一个CNN网络,就是把连续几帧的光流叠起来作为CNN的输入。
=====================================================================================================================================
Kinect视频识别
一. 手势
8个通用的手势:挥手(wave),悬浮按钮(hoverbutton),磁吸按钮(magnet button),推按钮(pushbutton),磁吸幻灯片(magnetic slide),通用暂停(universalpause),垂直滚动条(vertical scrolling)和滑动(swipping)。
基于算法的手势识别、基于神经网络的手势识别和基于样本库的手势识别。