Action Recognition with Improved Trajectories(2013)
本文是DT的升级版
主要贡献
1.提出一种去除相机运动产生的轨迹的方法
2.提出对人占屏比大的帧采用DPM进行行人检测,去除人的部分,再做相机运动估计。
(这两点都是用于对计算的轨迹进行优化,降低算法以外的因素带来的影响)
如图所示,第一排是两个连续帧叠加在一起,第二排是直接进行光流估计,第三排是去除了相机运动后的光流估计,第四排中白色的箭头是相机运动产生的trajectories。
Camera motioin estimation
第一步,假设两个连续的帧是同域(homography)的,(homography这里直接翻译是同域的意思,在论文里指的是两帧的差别不大,物体运动很小,例如连续两帧中的天空,基本都是一样的,那这两帧就属于homography)
第二步,使用SURF特征(SIFT的快速版,也是升级版)和光流估计来匹配特征点对,其中,SURF更注重区域块,在前面的文章《使用增强运动向量CNNs的实时行为识别》中提到光流是基于像素的,因此这两种方法是互补的,结合使用效果更好。之所以使用SURF是因为它对于运动模糊和旋转的图像有较好的鲁棒性(但不善于处理视角变化和光照变化)。
第三步,使用RANSAC(随机抽样一致)来估计匹配的特征点对,从而得出连续两帧的投影变换矩阵,根据投影变化矩阵可得到相机运动。
关于RANSAC(随机抽样一致),这里为了方便读者理解论文,简单地补充说明一下,如需详解,请自行百度。
先介绍两个名词,outliers(无效数据)和inliers(有效数据),一般而言我们使用最小二乘法来确定数据分布的模型,但这只适用于有效数据占大多数,无效数据很少的情况。当无效数据占比很大时,最小二乘法就不适用了,就需要用RANSAC随机抽样一致来确定模型。
RANSAC操作步骤:
1.随机选取部分点,假设它们是inliers,估计出模型,然后用这个模型去测试其他点,如果数据输入模型得到的值低于阈值,也被认为是inliers,最后得出inliers的数量。
2.迭代K次,最终选定inliers数量最多的模型作为RANSAC最终的模型。
回到本文,得到相机运动后,修正第二帧图像,再重新估计Trajectories, MBH, HOG, HOF这些特征,去除相机运动后可去除相机运动产生的trajectories。方法是计算轨迹向量中的最大位移,如果这个位移低于阈值,则去除这条轨迹。
Removing inconsistent matches due to humans
在一帧图像中,如果人占整个图像的比例很大,就很影响前面提到的相机运动估计,因此本文提出使用行人检测,在进行相机运动估计的时候去除人的部分区域。
这个部分主要就是提出要使用行人检测算法框出人的部分,并没有太多细节。
第二列和第四列分别是没有进行行人检测,和在估计相机运动计算中排除了行人区域的光流估计图。
Experimental
关于Bag of Features,论文还是采用的DT中的方式,详情请点文末链接。
这篇论文中使用了Fish Vector,来代替Bag of Features,关于论文中关于Fisher Vector的实现细节这里不多介绍,如果需要论文复现,直接阅读原论文了解具体细节。
conclusion
如图所示:
1.去除相机运动后。MBH提高了2%- 5%,HOF提高了7-12%,HOF的效果足以与MBH媲美了,HOG效果不变,毕竟HOG跟相机运动无关。
2.框出人的部分不予计算的这个idea是在人占整个图像的比例很大的场景或者数据集中是有效果的,能提高2%左右。但在人占比很小的数据集或场景中,这个idea就不起作用了,反而会因为做了些不起作用的计算而降低推理速度。
说明
此论文是DT:Dense trajectories and motion boundary descriptors for action recognition的改进版,在后续很多论文中都与此论文的模型iDT做效果对比,包括论文提出的MBH特征也经常用到。
此模型只能在CPU上运行,因此计算速度比较慢。
如有错误,欢迎留言指出.
本文来源于微信公众号“ CV技术指南 ”的模型总结部分 。更多内容与最新技术动态尽在公众号发布。