Ad-hoc Video Search(AVS跨模态视频检索)

AVS任务也是跨模态检索中的一种,即对于给定的句子,尝试在视频库中检索出语义相关的内容。而跨模态相关的文章,博主已经在其他跨模态检索的文章中介绍过了。Ad-hoc和传统的视频检索任务不太一样,如它的名字ad-hoc一样,这其实属于推荐中的两者形态:

  • ad hoc。类似于书籍检索。数据相对稳定不变,而查询千变万化。
  • routing。类型与新闻推荐。用户兴趣稳定不变,但数据不断变化。

一般的跨模态会有预定义语义标签,而AVS任务只能通过建模用户的 查询意图, 所以某种程度上它的难度更偏向于相似度匹配问题。

ASV主要有两种处理思路,一是基于concept/keyword这种概念,二是基于特征。接下来本文将从这两个方面进行整理。


基于概念一般需要做三个步骤:显式的概念–匹配—选择。

  • 从查询句子中提取一个或多个关键字。
  • 选择与关键字相关的一个或多个概念分类器。
  • 对于每个测试视频序列,通过集成来自多个概念分类器的分数来计算查询短语的分数。

[IVCNZ2018] Latent Concept Extraction for Zero-shot Video Retrieval
这篇文章对于文本概念的处理是:

  • 大量预先训练的概念分类器来提高查询中出现的单词的覆盖率,尝试把复杂的查询也变成多个概念的组合。
  • 引入自然语言处理技术,即使没有与关键字对应的概念分类器,也能够找到可替换的概念分类器,进一步提高词的覆盖率。

但是对于某些词的效果仍然很槽糕,虽然继续增加概念分类器的变化是一个解决方案,但不可能涵盖所有关键字。所以

  • 能找到关于未知关键字的潜在概念分类器吗?
  • 能用现有概念分类器的组合来表示查询短语吗?

于是基于特征的方法就开始流行了。将输入都映射到同一语义空间,再进行匹配与对比。


在这里插入图片描述
[MM2019] W2VV++: Fully Deep Learning for Ad-hoc Video Search
以往的AVS任务需要显式的概念建模(如对象、动作、场景)、匹配和选择,这份工作完全基于深度学习而不需要建模概念。同时W2VV发现对文本的多种建模要比一种有效,而W2VV++是基于此的升级版。模型结构如上图:

  • 文本端bow+w2v+GRU进行多种得到特征。
  • 视频端均匀采样帧后用ResNeXt-101+ResNet-152得到特征
  • 然后Triple loss。
class W2VV_MS(Base_model):
    def __init__(self, opt, we_weights=None):

        n_layers = opt.n_text_layers
        #只支持lstm和gru的文本计算
        assert (opt.rnn_style in ['lstm', 'gru']), "not supported LSTM style (%s)" % lstm_style

        #构建模型
        print("Building model...")

        #输入词到rnn
        main_input = Input(shape=(opt.sent_maxlen,))
        #再分别用 bow, word2vec 或者word hashing来嵌入句子特征
        auxiliary_input = Input(shape=(n_layers[0],))

        if we_weights is None: #如果有预训练的结果
            we = Embedding(opt.vocab_size, opt.embed_size)(main_input)
        else: #没有就再Embedding
            we = Embedding(opt.vocab_size, opt.embed_size, trainable=True, weights = [we_weights])(main_input
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值