Gaussian Temporal Awareness Networks GTAN论文阅读笔记

2023-11-25 11:50

本文主要是介绍Gaussian Temporal Awareness Networks GTAN论文阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址:Long_Gaussian_Temporal_Awareness_Networks_for_Action_Localization_CVPR_2019_paper.pdf

概述

基于图像帧的 TAL 的常规方法步骤为:通过 1D 的时序通道卷积来获得更大的感受野,然后在此基础上预测动作类别和时序边界。这种方法获得的 proposal 被分配了相同的感受野,然而不同的动作的时序长度是不同的。为了解决这个问题,2019 年,F. Long 等人提出了 GTAN(Gaussian Temporal Awareness Networks),对每一个 proposal,通过学习一个高斯核来表达时序信息。
首先网络提供通过 3D-CNN 提取特征,并通过 2 个 1D 卷积加上 1 个 1D 池化操作增加感受
野。随后采用 8 个 1D 的卷积来在不同的时序尺度上生成多个 feature map,类似于目标检测中的FPN。在每个 feature map 上,学习一个高斯核来描述一个动作的时序长度,高重合度的高斯核将会被合并,最后再使用 Gaussian Pooling 整合特征。

网络结构

在这里插入图片描述
输入一个视频,通过3D卷积网络提取clip-level的特征。然后经过两个时序卷积和一个max-pooling进一步增加感受野。常规的one-stage时序行为定位的方法是采用1D卷积生成proposal用来识别和边界回归。这种方法获得的action proposal被分配了相同的感受野。然而不同的action的时序长度是不同的。
为了解决这个问题,本文提出了高斯核学习:为每个cell生成一个高斯核。具体来说,我们定义 feature map为 { f i } i = 0 T j − 1 ∈ R T j × D j \left\{f_{i}\right\}_{i=0}^{T^{j}-1} \in \mathbb{R}^{T^{j} \times D^{j}} {fi}i=0Tj1RTj×Dj ,其中 T j T^{j} Tj D j D^{j} Dj 为时序长度和特征维度。对于一个 proposal P t j P_{t}^{j} Ptj ,中间位置为 t t t ,通过一个高斯核 G t j G_{t}^{j} Gtj 来刻画他的时序尺度。通过一个1D 卷积层来学习标准差 σ t j , G t j \sigma_{t}^{j}, G_{t}^{j} σtj,Gtj 可定义如下:
W t j [ i ] = 1 Z exp ⁡ ( − ( p i − μ t ) 2 2 σ t j 2 ) s.t.  p i = i T j , μ t = t T j i ∈ { 0 , 1 , … , T j − 1 } , t ∈ { 0 , 1 , … , T j − 1 } \begin{gathered} W_{t}^{j}[i]=\frac{1}{Z} \exp \left(-\frac{\left(p_{i}-\mu_{t}\right)^{2}}{2 \sigma_{t}^{j^{2}}}\right) \\ \text { s.t. } p_{i}=\frac{i}{T^{j}}, \mu_{t}=\frac{t}{T^{j}} \\ i \in\left\{0,1, \ldots, T^{j}-1\right\}, t \in\left\{0,1, \ldots, T^{j}-1\right\} \end{gathered} Wtj[i]=Z1exp(2σtj2(piμt)2) s.t. pi=Tji,μt=Tjti{0,1,,Tj1},t{0,1,,Tj1}
其中, Z Z Z 为标准化常量。然后我们可以通过 σ t j \sigma_{t}^{j} σtj 来获得时序边界: a c = ( t + 0.5 ) / T j , a w = r d ⋅ 2 σ t j / T j a_{c}=(t+0.5) / T^{j}, \quad a_{w}=r_{d} \cdot 2 \sigma_{t}^{j} / T^{j} ac=(t+0.5)/Tj,aw=rd2σtj/Tj,其中 a c a_{c} ac a w a_{w} aw 为时序边界的中心和宽度。
在这里插入图片描述
如上图所示,当两个高斯核的重合度IOU=H/L大于threshold时,需要将其合并,新合并的高斯核如下:
W [ i ] = 1 Z exp ⁡ ( − ( p i − μ ′ ) 2 2 σ ′ 2 ) s.t.  p i = i T , μ ′ = t 1 + t 2 2 ⋅ T , σ ′ = L 2 i ∈ { 0 , 1 , … , T − 1 } \begin{aligned} W[i] &=\frac{1}{Z} \exp \left(-\frac{\left(p_{i}-\mu^{\prime}\right)^{2}}{2 \sigma^{\prime 2}}\right) \\ \text { s.t. } \quad p_{i} &=\frac{i}{T}, \quad \mu^{\prime}=\frac{t_{1}+t_{2}}{2 \cdot T}, \quad \sigma^{\prime}=\frac{L}{2} \\ i & \in\{0,1, \ldots, T-1\} \end{aligned} W[i] s.t. pii=Z1exp(2σ′2(piμ)2)=Ti,μ=2Tt1+t2,σ=2L{0,1,,T1}
在这里插入图片描述
相比常规的Average Pooling(左),Gaussian Pooling考虑到了时序的上下文信息。具体的Gaussian pooling如下,其中 F t j F_{t}^{j} Ftj 被用于后续的行为识别和时序边界回归。
F t j = 1 T j ∑ i = 0 T j − 1 W t j [ i ] ⋅ f i F_{t}^{j}=\frac{1}{T^{j}} \sum_{i=0}^{T^{j}-1} W_{t}^{j}[i] \cdot f_{i} Ftj=Tj1i=0Tj1Wtj[i]fi

损失函数

GTAN网络一共有三个loss函数,分别对应分类,定位和重合度。
L c l s = − ∑ n = 0 I n = c log ⁡ ( y n a ) L l o c = S L 1 ( φ c − g c ) + S L 1 ( φ w − g w ) L o v = ( y o v − g i o u ) 2 \begin{aligned} &L_{c l s}=-\sum_{n=0} I_{n=c} \log \left(y_{n}^{a}\right) \\ &L_{l o c}=S_{L 1}\left(\varphi_{c}-g_{c}\right)+S_{L 1}\left(\varphi_{w}-g_{w}\right) \\ &L_{o v}=\left(y_{o v}-g_{i o u}\right)^{2} \end{aligned} Lcls=n=0In=clog(yna)Lloc=SL1(φcgc)+SL1(φwgw)Lov=(yovgiou)2
最后的loss函数是三个loss的加权和:
L = L c l s + β L l o c + γ L o v L=L_{c l s}+\beta L_{l o c}+\gamma L_{o v} L=Lcls+βLloc+γLov

参考:https://zhuanlan.zhihu.com/p/73674552

这篇关于Gaussian Temporal Awareness Networks GTAN论文阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/423747

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓