行为识别阅读笔记(paper+code):Real-time Action Recognition with Enhanced Motion Vector CNNs_AUTO1993的博客-程序员秘密

技术标签: 运动向量  行为识别  双流法  

行为识别阅读笔记(paper+code):Real-time Action Recognition with Enhanced Motion VectorCNNs

这篇文章是发表在CVPR2016上的一篇文章,这篇文章主要是对双流法进行了改进,双流法的诟病就是采用optimal flow作为temporal network的输入,因此速度巨慢,无法达到实时的目的,而这篇文章使用motion vector 替代optimal flow,极大地提高了双流法的速度,从UCF101和THUMOS14数据集上的测试效果来看准确率虽有点不及双流法,但速度却是得到巨大的提高。废话少说,先附上代码链接再说文章内容。

代码链接:https://github.com/zbwglory/MV-release

一、       大致算法框架

从网络框架开始介绍能快速了解文章算法思路,以及创新之处或者改进之处。

对比双流法,比较大的改进之处有两点:

(1)利用视频编码提取motion vectors,以motion vectors代替optimal flow;

(2)由于提取的motion vector存在大量的噪声,所以data输入质量肯定不及optimal flow,由于motion vector和optimal flow是内在相关的,因此为了达到与optimal flow同样的效果,在对temporalnetwork训练的时候,使用光流辅助训练temporal network,具体的训练策略文章给出了有三种:


下面具体讲解一些文章比较重要的内容。

二、      Motion vector

运动向量用于表示image block的运动模式,在描述局部运动是类似于optimal flow。然而运动向量的目的并不是用于尽可能准确的描述两个macro blocks的temporal 关系,而是利用相邻帧之间的temporal redundancy来对视频进行视频压缩。运动向量是block-level的,而光流是pixel-level的,因此运动向量包含的运动信息都是比较粗糙的,缺乏像素级的精细运动信息。此外,运动向量中包含着大量的噪声运动信息,这是因为视频压缩算法在压缩视频需要来考虑到编码速率和压缩率,所以信息难免粗糙,包含大量噪声信息。下图是运动向量与光流的对比,可以看出,运动向量包含噪声运动信息,而且比光流要粗糙的多。直接将运动向量代替光流,那效果肯定蹭蹭的往下降,作者实验发现,直接使用运动向量在UCF101上测试,准确率下降了7%。


此外,并不是所有帧图像中都包含运动向量。一个视频可以看作是一组图片(groupof pictures,GOP),一个典型的GOP包含三类帧:I-frame,P-frame和B-frame。I-frame是基于自身编码的帧内编码帧,不包含运动信息。而其他两类帧包含运动信息,I-frame会影响CNN训练效果,作者使用上一帧的运动向量替代I-frame。

三、EnhancedMotion Vector CNNs

作者认为运动向量和光流存在着某种共性。两者都可以在单帧图像上提取,而且都包含局部区域的运动信息。只不过两者包含的运动信息的粗糙程度不同而已。因此作者认为可以使用optical flow CNN (OF-CNN)上学习的特征或知识迁移到motion vectors (MV-CNN)。OF-CNN和MV-CNN具有相同的网络结构。在训练的阶段,使用光流来提高运动向量的效果,在测试阶段不使用。作者给出了三种knowledge transferring的训练策略,如上图示。

Teacher Initialization:使用OF-CNN训练好的权重初始化MV-CNN,然后训练MV-CNN;


最后网络训练的损失函数是:


值得注意的是,Teacher CNN是已经训练好的,因此在对Teacher CNN监督训练的时候,其网络权值是不变的。

整篇文章的思路就是这样的,最后贴一下文章在UCF101上的实验结果。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/auto1993/article/details/78315175

智能推荐

计算机图形学的网络课程_计算机图形学网课 胡事民_cp4wanger的博客-程序员秘密

http://cms.hit.edu.cn/elite/graphic/ 哈尔滨工业大学 苏小红老师的省级精品课程 可惜只有三段Sampleshttp://video.chaoxing.com/serie_400008634.shtml 超星学术视频上有苏小红老师的18节课,可惜仍然很不完整。http://v.youku.com/v_show/id_XNDE0NzEwODg=.html

树莓派连接隐藏SSID的WIFI_yueashuxia的博客-程序员秘密

# /etc/network/interfacesallow-hotplug wlan0auto wlan0iface wlan0 inet dhcpwpa-ap-scan 1wpa-scan-ssid 1wpa-ssid "SSID"wpa-proto RSNwpa-pairwise CCMPwpa-key-mgmt WPA-PSKwpa-psk "PASS"转自:htt

如何正确地写好一个iOS界面_ios界面怎么写_computerstree的博客-程序员秘密

写界面可以说是每位移动应用开发者的基本功,也是一位合格移动应用开发者绕不过去的坎。但就如不是每一位开发者都能够成为合格的开发者一样,本人在不同的团队中发现,甚少有人能够编写出合格的UI代码;而非常奇怪的是,在很多的开发者论坛上看到我们移动开发者更多关注于某个控件或者是动画,但却很少看到深入剖析UI机制,指导UI开发的文章。由于界面涉及到的方面实在过于广泛,本文不可能事无巨细,一一道来,所以本文

python存储结构读写速度_在pandas中利用hdf5高效存储数据_weixin_39962153的博客-程序员秘密

1 简介HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式。其文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个HDF5可以看做一个高度整合的文件夹,其内部可存放不同类型的数据。在Python中操纵HDF5文件的方式主要有两种,一是利用pandas中内建的一系列HDF5文件操作相关的方法来将pandas中的数据结...

第一章:机器学习基础_weixin_30667649的博客-程序员秘密

第一部分:分类 本书前两部分主要探讨监督学习(supervisedieaming)。在监督学习的过程中,我们只需要给定输入样本集,机器就可以从中推演出指定目标变量的可能结果。监督学习相对比较简单,机器只需从输入数据中预测合适的模型,并从中计算出目标变量的结果。 监督学习一般使用两种类型的目标变量:标称型和数值型。标称型目标变量的结果只在有限目标集中取值,如真与假、动物分类集...

编程题(北理工计算机考研复试上机)2_八月萧关道的博客-程序员秘密

一#include "pch.h"#include <iostream>#include <vector>#include <string>#include <algorithm>using namespace std;struct letter { char val; int sum; letter():val('#'),s...

随便推点

QT ——添加多国语言_qt语言包 增加_ZML_1009的博客-程序员秘密

QT ——添加多国语言提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录QT ——添加多国语言前言一、添加要生成的ts名称二、生成qm文件1.使用Linguist 进行翻译2.使用Linguist 进行生成qm文件三、使用qm文件前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启

社区论坛小程序源码,功能齐全,简洁漂亮,前端+后端_喵喵源码站的博客-程序员秘密

源码已测试,无bug功能均可正常访问使用,页面简洁漂亮,另外现在类目选择社区/论坛类目时,不再需要《增值电信业务经营许可证》 ,只需提供企业/单位ICP备案截图即可,大大降低了社区/论坛小程序的准入门槛,人人都可建立一个属于自己的社区圈子。个人上线具体功能看下方图与演示图小程序源码下载地址:(99条消息) 社区论坛小程序源码,功能齐全,简洁漂亮,前端+后端-小程序文档类资源-CSDN文库https://download.csdn.net/downlo...

Proxy代理的作用_proxy的作用_舜岳的博客-程序员秘密

Proxy代理的作用:Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以...

W ndows7安装Hp1020,Windows7系统怎么安装惠普hp1020打印机_大风吹牛的博客-程序员秘密

打印机是很多办公室人员都会用到的打印设备,而惠普hp1020打印机就是比较受欢迎的一款打印机,然而有很多windows7系统用户并不知道要怎么安装惠普hp1020打印机,其实方法很简单,现在随小编一起来看看具体的安装方法。1、右键在windows7系统中点击我的电脑,然后点击“管理”;2、在弹出界面中,依次点击“设备管理器”——“通用串行总线控制器”,然后右击“USB打印支持”,在出现的下拉菜单中...

WPF窗体_wpf窗口引用_knight1991的博客-程序员秘密

一、窗体类在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类(类型化窗体)。定义的窗体由两部分组成:1、XAML文件 1: Window 2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

Python envoy 模块源码剖析_envoy python_junli_chen的博客-程序员秘密

Kenneth Reitz 是公认的这个世界上 Python 代码写得最好的人之一。抱着学习的心态,我阅读了 Reitz 写的 envoy 模块的源码,将笔记记录如下。介绍和 requests 模块一样,envoy 也是 Reitz 的作品,连官方描述都类似——Python Subprocesses for Humans。实际上,envoy 的核心代码非常少,总共只

推荐文章

热门文章

相关标签