视频中行为识别 DT算法学习后感
一名在视频中行为识别方向刚入门初学者。半年以来,看完了李宏毅深度学习的视频,学习了点tensorflow和opencv,之后看了十多篇关于视频中行为识别的经典论文。在学习的过程中,做了很多笔记,但苦于太过凌乱,也不好日后总结,所以计划开始学习写博客,记录自己的学习过程,希望自己能够加油坚持。
密集轨迹算法
这是一篇2013年的论文,在现在看来已经是很老的技术。随着深度学习网络在视频中行为检测方向上取得的效果越来越好。手工提取特征+特征分类的方法已经变得不流行。文章很早以前就收藏了,也是因为以上原因一直没有去重视它。
密集采样
用网格的方式在图片帧上经行划分像素,论文中采取的网格单位大小为55。意思为一个采样点有55的像素点。采样的对象是在多尺度上进行的,文章个的是8个空间尺度,空间尺度以1/√2的因数增加。
通过视频跟踪这些特征点,缺乏变化的区域,可能是没必要检测的区域,比如背景,那么就可以除去它。于是这里需要一个阈值:
(λ1i,λ2i)(λi1,λi2)是图像I中像素点i的特征值。0.001为实验确定的一个比较合适的值。
轨迹描述
对于每一帧,在每个空间尺度上分别跟踪特征点。ωt=(ut,vt)为密集光流场,M则代表中值滤波器,pt(xt,yt)为此当前帧某个特征点的坐标。则通过光流可以计算下一帧特征点的位置:
某个特征点在连续的L帧图像上则可以形成一段轨迹为(pt,pt+1,…).由于轨迹在跟踪过程中往往会偏离其初始位置,为了克服这个问题,作者将L设为15.在得到众多轨迹后,后期会删除静态的轨迹和突出增大位移的轨迹,保留正常轨迹。
此外,轨迹本身也可以构成轨迹形状特征描述子。其公式为:
运动和结构描述符
除了轨迹信息外,作者还计算了与轨迹一致的时空体积内的描述符来编码运动信息。取大小为NNL的时间-空间体为对象,将对象以nσ×nσ×nτ为网格大小划分。计算一个描述符(如HOG、HOF,MBH)的时空网格,最后的描述符是这些描述符的串联。默认参数为N = 32, nσ= 2,nτ= 3。最后进行特征的归一化,使用L2范数归一化。
特征编码和svm分类
DT算法中用Bag of Features方法进行特征的编码。最后再用svm方法对其分类