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数据集中,有两种训练策略:

  1. 在一个subset训练,在另外三个subsets测试
  2. 在四个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)的更多相关文章

  1. 【LeetCode】743. Network Delay Time 解题报告(Python)

    [LeetCode]743. Network Delay Time 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: ht ...

  2. [Network Architecture]ResNext论文笔记(转)

    文章地址: https://blog.csdn.net/u014380165/article/details/71667916 论文:Aggregated Residual Transformatio ...

  3. neural network and deep learning笔记(1)

    neural network and deep learning 这本书看了陆陆续续看了好几遍了,但每次都会有不一样的收获. DL领域的paper日新月异.每天都会有非常多新的idea出来,我想.深入 ...

  4. 【TensorFlow-windows】(一)实现Softmax Regression进行手写数字识别(mnist)

    博文主要内容有: 1.softmax regression的TensorFlow实现代码(教科书级的代码注释) 2.该实现中的函数总结 平台: 1.windows 10 64位 2.Anaconda3 ...

  5. Web协议详解与抓包实战:HTTP1协议-如何用Chrome的Network面板分析HTTP报文(1)

    一.Chrome 抓包:Network 面板 1. Network 面板 • 控制器:控制面板的外观与功能 • 过滤器:过滤请求列表中显示的资源 • 按住 Command (Mac)或 Ctrl (W ...

  6. 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)

    论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...

  7. 【C# TAP 异步编程】一 、async 修饰符(标记)

    async的作用: 1.async是一个标记,告诉编译器这是一个异步方法. 2.编译器会根据这个标志生成一个异步状态机. 3.编译器将原异步方法中的代码清空,写入状态机的配置,原先异步方法中的代码被封 ...

  8. Netruon 理解(11):使用 NAT 将 Linux network namespace 连接外网

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  9. Netruon 理解(12):使用 Linux bridge 将 Linux network namespace 连接外网

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

随机推荐

  1. 美团点评基于MGR的CMDB高可用架构搭建之路【转】

    王志朋 美团点评DBA 曾在京东金融担任DBA,目前就职于美团点评,主要负责金融业务线数据库及基础组件数据库的运维. MySQL Group Replication(以下简称MGR),于5.7.17版 ...

  2. OTP

    OTP 是 One Time Programable, 一次性可编程,一种存储器类型.顾名思义,只允许一次编程,后面无法修改. 在嵌入式系统当中,所有的代码和系统数据都是存储在flash芯片内部的,f ...

  3. 【原创】Linux基础之命令行浏览器links

    有时服务器环境受限,比如在内网环境不能暴露端口从外网访问,用curl看html代码比较累,这时可以使用命令行浏览器来查看相关页面 links 官方:http://links.twibright.com ...

  4. [HTTP] 基本认证的工作流程

    HTTP的基本认证涉及两个字段,一个是请求字段 Authorization: Authorization: Basic xxx 一个是响应字段 WWW-Authenticate WWW-Authent ...

  5. C# 封装微信的模板消息

    1.先新建一个类库,以方便以后移植到其他的项目上继续使用,如何新建类库就自己去百度了哈,这里就不描述了,若有不会的朋友请留言哈.标红了的都要注意下咯. 2.先看看WxTemplate这个类文件的代码 ...

  6. Go语言从入门到放弃(一) 变量/常量/函数

    HelloWorld 我们先看看一个最简单的HelloWorld代码 package main import "fmt" func main() { fmt.Println(&qu ...

  7. 数据库入门-基本sql语句及数据类型

    一.基本sql语句 SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,SQL语言由IBM开发.SQL语言分为3种类型: #.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储 ...

  8. linux压缩与解压(持续更新)

    压缩 tar cvzf  w.tar.gz  xxx1 xxx2  对应解压:tar xvzf w.tar.gz

  9. SQL Server管理员必备技能之性能优化

    SQL Server管理员必备技能之性能优化 高文龙关注1人评论1171人阅读2017-09-22 08:27:41 SQL Server 作为企业必不可少的服务之一,所以对于管理员的日常运维是一个极 ...

  10. Confluence 6 workbox 通知包含了什么

    当一个用户在 Confluence 中进行下面的操作的时候,workbox 将会显示为通知: 分享(Shares)你的页面或者博客页面. 提及(Mentions)你的页面,博客页面,回复或者任务. 你 ...