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 ...
随机推荐
- 题解-bzoj1283序列 & bzoj4842 [Neerc2016]Delight for a Cat
因为这两题有递进关系,所以放一起写 Problem bzoj1283 序列 题意概要:一个长度为 \(n\) 的序列\(\{c_i\}\),求一个子集,使得原序列中任意长度为 \(m\) 的子串中被选 ...
- struts2框架之文件下载(参考第三天学习笔记)
下载 1. 下载是一种响应方式 正常的响应:响应正文是html:response.getWriter().print("html"); 下载的响应: 1.一个流:字节数据:resp ...
- C/C++ 获取文件大小
在C语言中测试文件的大小,主要使用二个标准函数. 1.fseek 函数原型:int fseek ( FILE * stream, long int offset, int origin ); 参数说明 ...
- 在内网使用Gradle构建Android Studio项目
在Android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.grad ...
- python第一天,编写用户接口
作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 流程图: 代码 #!/usr/bin/env python #-*- coding:utf-8 -*- #created b ...
- 学了这么久,vue和微信小程序到底有什么样的区别?
前言 写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别.相比之下,小程序的钩子函数要简单得多. 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下 ...
- swift 实践- 04 -- UIButton
import UIKit class ViewController: UIViewController { // 按钮的创建 // UIButtonType.system: 前面不带图标, 默认文字为 ...
- 用flask的扩展实现的简单的页面登录
from flask import Flask,render_template,request,redirect,session app = Flask(__name__,template_folde ...
- 添加按钮 table增加一行 删减按钮 table去掉一行
需求描述:做的一个AA新增功能,同时可以为这个即将新增的AA添加内容,而且AA的内容默认展示一行列表,点击添加按钮后出现下一行列表 解决思路:页面首先展示一个表头和列表的一行,作为默认展示的一行列表, ...
- 部署MySQL5.7时的权限问题
本周部署MySQL5.7的时候遇到这样的问题,在初始化的时候,总是失败,并且报错: 2019-01-09T09:47:13.957685Z 0 [ERROR] InnoDB: Operating sy ...