Intention Oriented Image Captions with Guiding Objects

article/2025/11/9 5:39:19

Intention Oriented Image Captions with Guiding Objects

原文地址

时间:2019 CVPR

Intro

image caption的过程缺少可控性,一张图片中可以包括很多个目标,但是一个描述只能包括其中一小部分

在这里插入图片描述
尽管我们能找到并分类出所有目标,但是我们不能强制语言模型描述我们关心的目标

本文提出了image captions with guiding objects(CGO)模型,CGO模型可以保证用户选择的目标包含在一个caption中,它可以是任何从图片中检测到的目标,即便在训练集中没有遇到过

Approach

给定一张图片,CGO能够将选择的目标融合到生成的句子中,这个过程中,两个LSTM生成目标两侧的文本,一个记为LSTM-L,另一个记为LSTM-R

Problem Formulation

给定图片 I I I,我们想要生成序列 y = ( y 1 , y 2 , . . . , y T ) y=(y_1,y_2,...,y_T) y=(y1,y2,...,yT),词汇表的长度为 V V V,记 θ \theta θ是encoder-decoder的参数,我们的目标是找到最佳的参数,使得
在这里插入图片描述

在这里插入图片描述
其中 f t f_t ft是图片的特征,在不同模型中的使用方法不同,比如在NIC中,图片特征图 f f f仅仅在time step = 0的时候提供,而使用attention机制的模型会在每一步attend image feature
在这里插入图片描述
在这里插入图片描述
如果我们想要生成包括某个词的序列,则目标序列变成 y = ( y 1 , . . . , y k , . . . , y T ) y=(y1,...,y_k,...,y_T) y=(y1,...,yk,...,yT),其中 y k y_k yk就是想要包括的词,此时的目标为
在这里插入图片描述

LSTM-L

给定图片 I I I和词 y k y_k yk,LSTM-L生成左边的序列
在这里插入图片描述
然而这里存在一个问题,因为目标可以在序列的任何位置,比如’there is a banana and an apple on the table’以及’there is an apple and a banana on the table‘,且LSTM-L无法得知右边的序列,如图所示
在这里插入图片描述
目标在被描述之前就已经被决定了,就像人类在描述物体前已经得到了物体的大部分信息,因此,我们首先假设有一个集合的目标会出现在描述中,然后设定这些目标的顺序是安排好的,然后我们就可以得到一系列应当出现在右侧序列的目标标签,我们记目标标签为 S = { o b j e c t 1 , . . . , o b j e c t m } S=\{object_1,...,object_m\} S={object1,...,objectm} S S S中的目标不会出现在LSTM-L生成的序列中,但会影响生成的内容,如上图(b)所示,序列S也作为LSTM-L的输入,现在LSTM-L以图片 I I I,序列 S S S y k y_k yk作为输入
在这里插入图片描述
当生成<END>的时候,序列生成结束,句子到达句首,计算损失为
在这里插入图片描述

LSTM-R

当左边的序列生成完成后,LSTM-R以LSTM-L的生成结果作为输入,然后完成另一部分的生成,现在模型训练目标为
在这里插入图片描述
实践中,我们没有将右边的序列当作部分序列来训练,而是使用通常的LSTM误差,两者的区别在于
在这里插入图片描述
全序列的误差,可以看作为左边序列长度为0的情况

Novel Word Embedding

CGO中,当一个novel object 被选择为guiding object的时候,我们可以使用另一个见过的与这个object相似的object,可以通过WordNet或者word2vec中word embeeding的距离来选择,传统的image caption中,使用相似的embedding并不能生成novel word,而CGO中的novel word因为不是通过decoder生成的是直接写入句子的,所以能够生成(copy)novel word

Model details

实验中LSTM-R LSTM-L都使用up-down模型

Result

在这里插入图片描述
在这里插入图片描述

Conclusion

本文提出了CGO来进行object guided image caption,以图片和期望的object词作为输入,模型可以生成包括object的caption,这个过程是由LSTM-L和LSTM-R分别从Object词两边生成句子完成的

问题

本文的生成效果很好,只是反向地生成句子,围绕着词的两侧生成句子是反直觉的


http://chatgpt.dhexx.cn/article/obFIwD5s.shtml

相关文章

Interact as You Intend: Intention-Driven HOI Detection

IEEE多媒体汇刊Author:Bingjie Xu, Junnan Li, Yongkang Wong摘要 为了与物体交互&#xff0c;人类会根据自己的意图引导注意力和移动身体。具体而言&#xff0c;提出的human intention-driven的HOI检测&#xff08;iHOI&#xff09;框架根据人体关节到物体实例的相关距离进行…

【Inception-v3】《Rethinking the Inception Architecture for Computer Vision》

CVPR-2016 在 CIFAR-10 上的小实验可以参考博客【Keras-Inception v3】CIFAR-10 文章目录 1 Background and Motivation2 Advantages / Contributions3 Innovations4 Method4.1 Factorizing Convolutions with Large Filter Size4.1.1 Factorization into smaller convolutions…

DynamicViT

又搬来了来自清华大学与UCLA的工作&#xff0c;提出了一种基于动态token稀疏化的高效视觉transformer&#xff0c;通过分层剪枝66%的输入tokens&#xff0c;可减少31%~37%的FLOPs&#xff0c;并将模型运行速度提高了40%以上&#xff0c;保证精度下降在0.5%以内&#xff0c;可应…

involution理解

最好的参考来自论文作者的知乎&#xff1a;CVPR 2021 | involution&#xff1a;超越convolution和self-attention的神经网络新算子 其他餐卡&#xff1a; https://zhuanlan.zhihu.com/p/400402288 https://zhuanlan.zhihu.com/p/356960359 https://blog.csdn.net/P_LarT/articl…

网络中的pvid与native vlan(本征vlan)区别以及详解

一&#xff1a;pvid与native vlan分别属于华为和思科交换里面的概念&#xff0c;虽然说法不同&#xff0c;但是本质都是缺省vlan 缺省vlan默认为1&#xff0c;各个端口都有一个缺省的vlan&#xff0c;该值支持修改。 2.作用概念&#xff0c;pvid存在于trunk中&#xff0c;且&…

VTP、PVID、ACCESS、trunk

一、VTP详解 VTP有server、client、transparent三种模式、VTP多用于在多vlan的网络环境中&#xff0c;在核心交换机或者根节点交换机中配置Server&#xff0c;在下层的交互机中配置client&#xff0c;VTP在服务模式下&#xff0c;可以创建、删除、修改VLAN&#xff0c;并且转发…

不同VLAN下实现网络互相通信(配置port trunk pvid vlan进行数据转发)

1. 两台交换机同一网段&#xff0c;不同VLAN实现网络互通&#xff0c;逻辑拓扑图如下&#xff1a; 需求&#xff1a;实现VLAN 10与VLAN20之间的PC网络互通 在LSW 12交换机进行如下命令行配置&#xff1a; <HuaWei>system-view #切换系统视图 [Huawei]sysname…

VLAN Tag,PVID

VLAN(Virtual Local Network&#xff0c;虚拟局域网)&#xff0c;对于VLAN的划分方法有很多种&#xff1a;基于端口划分&#xff0c;基于MAC地址划分&#xff0c;基于网络协议划分&#xff0c;基于IP地址划分&#xff0c;基于策略划分等等。但是就上述而言&#xff0c;对VLAN的…

trunk vlan pvid 学习实验整理 2

实验总结&#xff1a; trunk vlan vlan1 vid pvid 等关系。 实验场景二&#xff1a; 上述条件不变【实验场景一】&#xff0c;将PC1 加入vlan10 [SW1]interface Ethernet 0/0/1 [SW1-Ethernet0/0/1]port link-type access [SW1-Ethernet0/0/1]port default vlan 10 >>…

trunk vlan pvid 学习实验整理 1

实验总结&#xff1a; trunk vlan vlan1 vid pvid 等关系。 实验场景一&#xff1a; 将PC1/PC2/PC3,都置于同一网段&#xff1a;192.168.1.0/24 1.PC1 不加入任何vlan&#xff0c;PC2 不加入任何vlan&#xff0c;PC3加入vlan10 2.trunk链路允许vlan 10 20通过。 配置&#xf…

PVID(pvid vlan是什么意思)

26tpwinet如何设置端口pvid25口设置为trunk口&#xff1f; 首先你要确定你的电脑有没有USB转com口线&#xff0c;或者你的笔记本是否支持com口 如果你是win7系统确实没有超级终端那么你可以下一个SecureCRT&#xff0c;然后在设备管理器里面看一下自己是COM几口&#xff0c;波…

PVID和VID的理解

VID解释 VID&#xff08;VLAN ID&#xff09;是VLAN的标识&#xff0c;在交换机里面用来划分端口。比如一个交换机有8个端口&#xff0c;现在将port1&#xff0c;port2&#xff0c;port5三个端口的VID设置成1111&#xff0c;那么这三个端口就能接收vlantag1111的数据包。   …

2、PVID(本征VLAN)实验配置步骤

实验拓扑图&#xff1a; 实验配置思路&#xff1a; 将VLAN10配置为本征VLAN 本征VLAN通过Trunk接口时不打tag标记 实验摘要重点命令&#xff1a; [SW1]int g0/0/1 //进入接口 [SW1-GigabitEthernet0/0/1]port trunk pvid vlan 10 //将VLAN10设置为本征VLAN [SW1-Gig…

华为交换机PVID与VLAN ID及TAG 、UNTAG学习记录

一、PVID和VLAN ID 1、PVID是端口的属性&#xff0c;端口的标识&#xff0c;具有唯一性&#xff0c;交换机默认未配置Vlan的情况下&#xff0c;因为全局vlan1的原因&#xff0c;所有端口的PVID都是1。如下图&#xff1a; 2、交换机里面display port vlan命令可以查看未配置状态…

switch中的PVID、VID、untag、tag概念

以openwrt为例&#xff0c;下图是mt7621&#xff08;glinet mt1300&#xff09;中switch配置图 该switch一共有7个port&#xff0c;一个连接CPU&#xff0c;还有6个可供外部使用&#xff0c;上图只显示了6个port&#xff1b; 一个switch可以设置多个VLAN&#xff08;虚拟局域网…

springboot @Qualifier 注解的作用

Qualifier 注解的用法和要解决的问题 现在这两个类都实现了同一个接口。 controller 要注入这个接口 启动服务日志显示在容器中找到俩个实现类 spring不知道要实现那个 1 有两种方式 既然spring不知道那就直接指明你要实现的类 直接注入实现类 这样有点粗鲁 也能解决问题。…

Spring中的@Qualifier注解

国庆期间闲来无事&#xff0c;写了一个简单的小程序&#xff0c;小程序名称叫做 IT藏经楼。目的是分享这些年自己积累的一些学习材料&#xff0c;方面大家查找使用&#xff0c;包括电子书、案例项目、学习视频、面试题和一些PPT模板。里面所有材料都免费分享。目前小程序中只发…

@Qualifier的用处

Qualifier的用处 可以对于一个接口&#xff0c;多个实现类&#xff0c;指定具体注入哪个实现类到这个接口类 在Server 实例化的时候没有指明名称&#xff0c;在atuoWire的时候没有用Quality指明用哪一个的时候&#xff0c;这这时会用容器中仅有的那一个对象&#xff08;单利&am…

@Autowired和@Qualifier

Autowired 的作用是什么&#xff1f; 1、Autowired 是一个注释&#xff0c;它可以对类成员变量、方法及构造函数进行标注&#xff0c;让 spring 完成 bean 自动装配的工作。 Autowired 默认是按照类去匹配&#xff0c;配合 Qualifier 指定按照名称去装配 bean。 可以这样理解为…

spring注解@Qualifier的详细用法

环境&#xff1a;springboot2.3.10 一般使用在项目中使用Qualifier来限定注入的Bean。 由于项目中我习惯用Resource注解&#xff0c;所以这里先对Autowired和Resource进行个简单的说明。 Autowired和Resource区别 相同点&#xff1a; Autowired与Resource都可以用来装配Be…