TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals(ICCV2017)
Motivation
实现快速和准确地抽取出视频中的语义片段
Proposed Method
-提出了TURN模型预测proposal并用temporal coordinate regression来校正proposal的边界
-通过复用unit feature来实现快速计算 
主要步骤如下:
Video Unit Processing:
将输入的视频平均分为多个video units,每一个unit包含16帧,源码给的feature是30fps的帧率。将每一个unit送入visual encoder(C3D)中,提取unit-level的特征。Clip Pyramid Modeling:
以每一个unit为anchor unit,构造一个clip pyramid。首先,每一个temporal window pyramid(深蓝色部分)由{1,2,4,…}个unit构成,然后在每个temporal window的前后加上一定数量的context unit(浅蓝色部分)构成clip。将每一个clip送入Feature Pooling,最终的feature由下面的公式表示:
其中
为internal units,
为context units,P为Mean Pooling。- Unit-level Temporal Coordinate Regression:
网络包含两个输出:第一个输出confidence score判断clip中是否包含action,第二个输出temporal coordinate regression offsets。回归偏移量由下式表达:
s和e分别表示起始unit和终止unit的位置 - Loss function:
正样本定义为:(1)与GT的tIoU最大的样本(2)与GT的tIoU大于0.5的样本
负样本定义为:与GT的tIoU为0的样本
Multi-task Loss:
第一项Lcls为分类Loss,用于对action/background做分类。
λ为trade-off系数
第二项为回归Loss,用于校正proposal的位置
- New metric:
本文提出了一种新的度量Aerage Recall vs. Frequency of retreived proposals (AR-F),F代表对从视频中提取proposal的频率(个/秒)
## outputs[0:2] 判断是否为动作,outputs[2:4] 回归偏移
reg_end=clip_end+outputs[3]*unit_size
reg_start=clip_start+outputs[2]*unit_size softmax_score=softmax(outputs[0:2])
action_score=softmax_score[1]
Experiment Setup on THUMOS-14
context unit的数量为4,中间层fm的维度为1000,λ为2.0,temporal window pyramids的unit数为{1,2,4,8,16,32}。实验还测试了不同的unit size, u∈{16,32}。针对不同的unit feature也做了对比实验:C3D, optical flow based CNN feature, RGB CNN feature。在evaluation中,NMS的阈值比tIoU小0.1。
本文设计了3个实验:
1、对比不同的evaluation metrics并比较了各metrics与mAP的相关性
结论:
(1)AR-N不能够很好地反映TAP的表现
(2)AR-AN不能再不同的数据集进行性能比较
(3)AR-F则不存在上述问题
2、对比了不同visual feature对TURN性能的影响
(1)C3Dfeature,模型用Sports1m数据集预训练,将连续的16帧(一个unit)送入C3D,并提取fc6特征
(2)RGB CNN特征,从一个unit中均匀采8帧,提取ResNet中的Flatten_673特征(用Activity v1.3预训练),然后计算这8个feature的平均值作为这个unit的特征。
(3)dense flow CNN,在unit中间取连续的6帧并计算对应的光流,将flow送入BN-Inception(用Activity v1.3预训练)中,取global_pool特征
2、对比TURN和其他TAP方法的性能
对比方法包括:DAPs,SCNN-prop,Sparse-prop,sliding window,random proposals
3、对比不同的TAP方法在localization task中的性能(相同的classifier/localizer),即将生成的proposal送到classifier中,并得到21个类别的的confidence scores(20类action和1类background)
实验用到了SVM classifier和SCNN-Localizaer
Experiment Setup on ActivityNet
context unit的数量为4,λ为2.0,temporal window pyramids的unit数为{2,4,8,16,32,64,128}。实验还测试了不同的unit size, nu∈{16,32}。在evaluation中,NMS的阈值比tIoU小0.1。实验中的temporal action localizer用的是SVM,通过sports和works子集数据的two-stream CNN features 进行训练。
1、评估了TURN的泛化能力
(1)在v1.2数据集中,用了ActivityNet,ActivityNet⋂THUMOS14,ActivityNet<1024frames三种训练数据,对比了DAPs和TURN的泛化能力
(2)在v1.3数据集中,有两种训练策略:
- 在一个subset训练,在另外三个subsets测试
- 在四个subsets上训练,然后在每个subset中逐个测试
2、评估了TURN在temporal action localization task上的表现
在实验中用了ActivityNet v1.1的Works和Sports子集。本文选择TURN-FL-16(用dense flow feature训练得到)来生成proposals。先用two-stream CNN feature训练一个SVM,接着将TURN-FL-16生成的proposals送到SVM中进行分类
转自:AIvin2AI
TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals(ICCV2017)的更多相关文章
- 【LeetCode】743. Network Delay Time 解题报告(Python)
[LeetCode]743. Network Delay Time 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: ht ...
- [Network Architecture]ResNext论文笔记(转)
文章地址: https://blog.csdn.net/u014380165/article/details/71667916 论文:Aggregated Residual Transformatio ...
- neural network and deep learning笔记(1)
neural network and deep learning 这本书看了陆陆续续看了好几遍了,但每次都会有不一样的收获. DL领域的paper日新月异.每天都会有非常多新的idea出来,我想.深入 ...
- 【TensorFlow-windows】(一)实现Softmax Regression进行手写数字识别(mnist)
博文主要内容有: 1.softmax regression的TensorFlow实现代码(教科书级的代码注释) 2.该实现中的函数总结 平台: 1.windows 10 64位 2.Anaconda3 ...
- Web协议详解与抓包实战:HTTP1协议-如何用Chrome的Network面板分析HTTP报文(1)
一.Chrome 抓包:Network 面板 1. Network 面板 • 控制器:控制面板的外观与功能 • 过滤器:过滤请求列表中显示的资源 • 按住 Command (Mac)或 Ctrl (W ...
- 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)
论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...
- 【C# TAP 异步编程】一 、async 修饰符(标记)
async的作用: 1.async是一个标记,告诉编译器这是一个异步方法. 2.编译器会根据这个标志生成一个异步状态机. 3.编译器将原异步方法中的代码清空,写入状态机的配置,原先异步方法中的代码被封 ...
- Netruon 理解(11):使用 NAT 将 Linux network namespace 连接外网
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Netruon 理解(12):使用 Linux bridge 将 Linux network namespace 连接外网
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
随机推荐
- Visual Studio VS2010统计代码行数
按CTRL+SHIFT+F (Find in files),勾上支持正则表达式,然后输入搜索内容: ^:b*[^:b#/]+.*$ 以上表达式的统计可做到:#开头和/开头或者空行都不计入代码量.如果需 ...
- Nginx和apache服务器中php运行方式
PHP5的CGI方式的一大优势是内置了FastCGI的支持,只需指明绑定的地址和端口参数便可以以FastCGI的方式运行,如下: php-cgi -b 127.0.0.1:9000 配置Nginx的P ...
- git与eclipse集成之创建及切换个人本地分支
创建个人本地特性分支,并进行编码 弹出选择分支的窗口,选择要切换的个人特性分支(备注:根据远程个人特性分支创建本地个人特性分支) 点击OK,Branch name:分支名称与远程分支名称相同,不需要修 ...
- where 和 having区别
WHERE语句在GROUP BY语句之前:SQL会在分组之前计算WHERE语句. HAVING语句在GROUP BY语句之后:SQL会在分组之后计算HAVING语句.
- 简单的三级联动demo
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- python结合pyvmomi 监控esxi的磁盘等信息
1.安装python3.6.6 # 安装依赖,一定要安装,否则后面可能无法安装一些python插件 yum -y install zlib-devel bzip2-devel openssl-deve ...
- 转载:HBuilder常用快捷键
原文:http://www.cnblogs.com/DCL1314/p/8625110.html HBuilder常用快捷键 1.文件 新建 Ctrl + N 关闭 Ctrl + F4 全部关闭 Ct ...
- Java内置包装类
Java内置包装类有Object.Integer.Float.Double.Number.Charcter.Boolean.Byte.System. Number,是抽象类,也是超类(父类).Numb ...
- 模块 -- 序列化 hashlib sha logging (加密 加盐 )
模块: 一个py文件就是一个模块 模块分类: 1:内置模块,登录模块,时间模块,sys模块,os模块等等 2: 扩展模块, 3:自定义模块,自己写的py文件 python 开发效率之高:python ...
- python 基础 three day
本节主要内容: 一. python基本数据类型有哪些? 1. int ==> 整数.主要用来进行数学计算. 2. str ==> 字符串,可以保存少量数据并进行相应的操作 3. boo ...