ICMR 19:Temporal Activity Localization by Language

介绍一下我之前在校,独立完成的一项工作,已被ACM ICMR 2019 接收为oral paper

论文:《Cross-Modal Video Moment Retrieval with Spatial and Language-Temporal Attention》

代码:https://github.com/BonnieHuangxin/SLTA

一、论文任务

Examples:

Temporal Moment Retrieval:即给定一个查询句子(包含对视频中动作的描述),在视频中找到对应动作(事件)的起止时间。

key challenges(论文动机):

1)Recognization of relevant objects and interactions.

在未修剪的视频常常包括大量的人物活动、物体以及物体之前的交互,而仅有其中的少部分与query language的描述的内容有关。

以上图为例,通过language query 检索到的视频片段中涉及到了物体"girl"、"cup"以及时序动作 "pour"。因此,如何将包含与query内容相关的 物体及物体的交互 与 其它视频片段 区分开是一个具有挑战性的任务。

2)Comprehension of crucial query information.

在query language中的一些关键词传达了检索相关片段的关键线索。

以句子“A person puts dishes away in a cabinet”为例,“dishes” , “cabinet”以及时序动作词“put"对片段检索的贡献度最大。

二、论文原理

我们提出了"Spatial and Language-Temporal Attention model(SLTA)即 空间与语言-时序注意力。它包括两个分支注意力网络,分别为空间注意力、语言-时序注意力。

具体而言:

1)首先,我们提取视频帧object-level的局部特征,并通过 空间注意力 来关注与query最相关的局部特征(例如,局部特征“girl”,“cup”),然后对连续帧上的局部特征序列进行encoding,以捕获这些object之间的交互信息(例如,涉及这两个object的交互动作“pour”)

2) 同时,利用 语言-时序注意力网络 基于视频片段上下文信息来强调query中的关键词。

因此,我们提出的 两个注意力子网络 可以识别视频中最相关的物体和物体间的交互,同时关注query中的关键字。

三、模型介绍

a) 模型结构

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
下面是一个简单的 RL78 IIC 主从切换代码的示例: ```c #include <machine.h> #include <stdint.h> #pragma interrupt INTIIC0 r_iic_interrupt volatile uint8_t iic_slave_address = 0x50; volatile uint8_t iic_master_mode = 0; void init_iic(void) { // 初始化 IIC 模块 SYSTEM.PRCR.WORD = 0xA503; MSTP(IIC00) = 0; // 解除 IIC00 模块的停止状态 SYSTEM.PRCR.WORD = 0xA500; IIC00.ICCR1.BIT.ICE = 0; // 禁用 IIC00 模块 if (iic_master_mode) { // 设置 IIC00 模块为主机模式 IIC00.ICMR3.BIT.MS = 1; IIC00.ICMR3.BIT.MTM = 1; IIC00.ICMR3.BIT.CKS = 0; } else { // 设置 IIC00 模块为从机模式 IIC00.ICMR3.BIT.MS = 0; IIC00.ICMR3.BIT.MTM = 0; } IIC00.ICIER.BYTE = 0x00; // 禁用 IIC00 模块的中断 IIC00.ICIER2.BIT.SCLOIE1 = 1; // 启用 IIC00 模块的 SCLOIE1 中断 IIC00.ICMR2.BIT.WAIT = 0; // 禁用等待状态 IIC00.ICMR2.BIT.STOP = 1; // 发送停止条件 IIC00.ICCR2.BIT.SCCS = 0; // 使用 SCLn、SDAn 引脚 IIC00.ICCR1.BYTE = 0x30; // 启用 IIC00 模块 } void iic_send_data(uint8_t data) { IIC00.ICDRT = data; } uint8_t iic_receive_data(void) { return IIC00.ICDRR; } void r_iic_interrupt(void) { if (IIC00.ICSR2.BIT.STOP) { // 接收到停止条件 if (iic_master_mode) { // 主机模式下,发送完成 // 做一些处理... } else { // 从机模式下,接收完成 // 做一些处理... } } if (IIC00.ICSR2.BIT.START) { // 接收到起始条件 if (IIC00.ICSR2.BIT.RDRF) { // 接收到数据 uint8_t data = iic_receive_data(); // 做一些处理... } } } int main(void) { init_iic(); while (1) { if (iic_master_mode) { // 主机模式下,发送数据 iic_send_data(0x55); // 做一些处理... } } } ``` 这段代码示例初始化了 RL78 的 IIC 模块,并提供了主从切换的功能。你可以根据实际需求修改代码中的主从模式、地址、发送和接收数据的处理逻辑。注意,这只是一个简单的示例,具体的切换逻辑和处理需根据你的应用场景进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值