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 ...
随机推荐
- python 大全
python 大全:https://awesome-python.com/ 生产 GUI 应用的库 :PyQt ,PySide , 不错 (https://kivy.org)kivy - A li ...
- 设计模式C++学习笔记之十三(Decorator装饰模式)
装饰模式,动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. 13.1.解释 main(),老爸 ISchoolReport,成绩单接口 CFourt ...
- cocosCreater开发时遇到的问题
生成vscode任务后无法编译: ctrl +p -> 输入task compile 编译任务时提示 :由于使用任务版本 0.1.0,以下工作区文件夹将被忽略 这是cocos默认生成的code ...
- SSH远程联机Linux服务器简易安全设定
分别可以由底下这三方面来进行: 1.服务器软件本身的设定强化:/etc/ssh/sshd_config 2.TCP wrapper 的使用:/etc/hosts.allow, /etc/hosts.d ...
- Apollo 启动脚本解析
Apollo 启动脚本解析 sudo service docker start -- 是在ubuntu14.04中打开 在dev_start.sh脚本中会调用restart_map_volume.sh ...
- 修改SIP协议中的User-Agent名称
修改目的:如果user-agent 带上了 GIT 版本信息,容易被人抓住版本漏洞针对性的攻击. 示例如下: SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.5 ...
- Spring initializr使用
Spring initializr 是Spring 官方提供的一个很好的工具,用来初始化一个Spring boot 的项目. 有两种方式可以使用Spring initializr来创建一个项目: ht ...
- [PHP]命名空间的一些要点
1.命名空间前不能接"\": namespace MyProject\Sub\Level; // it's right; namespace \MyProject\Sub\Leve ...
- 洛谷P3247 [HNOI2016]最小公倍数 [分块,并查集]
洛谷 思路 显然,为了达到这个最小公倍数,只能走\(a,b\)不是很大的边. 即,当前询问的是\(A,B\),那么我们只能走\(a\leq A,b\leq B\)的边. 然而,为了达到这最小公倍数,又 ...
- Oracle 数据备份与恢复
前言 一:备份与恢复概述 二:RMAN 工具概述 1: RMAN 组件 1: RMAN命令执行器 [oracle@localhost ~]$ rman target system/nocatalog ...