基于自然语言的多尺度二维时间相邻网络时刻定位论文阅读
本文任务
检索由查询指定的视频最佳匹配时段。
符号说明
V:未修剪的视频 xi代表视频中的帧 lV代表视频的帧的总数
S:查询序列 si 代表单个单词 ls代表单词的总数目 M:最佳匹配时段 使用xi xj分别表示开始和结束帧
对序列嵌入的语言表示
- 提取查询语句的特征
对于输入句子S中的每个单词Si通过word2vec模型输入其嵌入矢量 dS是向量的长度 2. 将单词嵌入 输入三层双向LSTM网络 3. 使用平均输出作为输入句子的特征表示。 4. 提取的特征对查询语句的语言结构进行编码,从而描述感兴趣的时刻。
基于二维时间特征map的视频表示
从输入视频流中提取时刻特征(moment features),并构建二维时间特征图
- 对于一个输入视频,我们首先将其分割成小的非重叠的视频片段,每个片段由T个连续的帧组成
- 对于每个视频片段,我们使用预先训练的CNN模型提取其特征
- 为了在通道维度上生成更多的压缩视频片段表示,我们将视频片段特征输入一个具有dV输出通道的全连接层
- 最终压缩的视频片段被表示为
N是视频片段的总数 - N个视频是时刻候选结构的基础元素,因此使用视频片段特征创建候选时刻的map。
- 使用stacked CNN输出为具有相同特征,但不从同一时间开始的时刻特征。
- 使用稀疏抽样策略。
通过这种方法,我们对短持续时间的时刻进行了密集采样,当矩持续时刻变长时,逐渐增加采样间隔。 这种采样策略可以大大减少候选矩的数量,同时降低计算量。 - 将整个采样的时刻重构为一个2维的时间特征map
FM有三个维度:前两个N分别表示开始和结束索引,dV表示特征维度。 而一个从va这个片段开始持续b个片段在特征map里表示为 将第j层卷积层的第i个输出表示为 它对应于特征映射上的(a,b)的位置:
多尺度二维时间相邻网络
- 首先将二维时间映射FM与句子特征FS融合:通过全连接层将两个跨域特征投影到同一子空间
- 融合
wS和WM代表全连接层的学习参数 1T代表全1向量的转置 哈达玛积:若A=(aij)和B=(bij)是两个同阶矩阵,若cij=aij×bij,则称矩阵C=(cij)为A和B的哈达玛积,或称基本积 矩阵A的Frobenius范数定义为矩阵A各项元素的绝对值平方的总和,也就是 - 将单尺度mapFF重构为K多尺度的maps
- 从区间为2k的融合特征map中取样第k个稀疏map,具体来说:
多尺度map
- 从多尺度二维特征maps上建造时间临近网络。每一个map对应于L个gated convolutional 层
L个层的输出和输入形状是相同的(通过补零)–这种设计当学习候选时刻的不同时,能更好地理解上下文 - 通过网络给出视频片段和查询语句的匹配分数。将输出的特征map分别输入全连通层和sigmoid函数,生成多尺度二维分数图。
Ck是指第k个图里有效候选时段的总数
stacked CNN 深度卷积网络
参考:https://blog.csdn.net/ljhjiayou/article/details/38380293 针对大图片进行recognition时,需要用到无监督学习的方法去pre-training(预训练)stacked CNN的每层网络,然后用BP算法对整个网络进行fine-tuning(微调),并且上一层的输出作为下一层的输入。 首先我们知道,convolution和pooling的优势为使网络结构中所需学习到的参数个数变少,并且学习到的特征具有一些不变性,比如说平移,旋转不变性。以二维图像提取为例,学习的参数个数变少是因为不需要用整张图片的像素来输入到网络,而只需学习其中一部分patch。而不变的特性则是由于采用了mean-pooling或者max-pooling等方法。 每输入一张3232大小的图片,就输出一个84维的向量,这个向量即我们提取出的特征向量。 网络的C1层是由6张2828大小的特征图构成,其来源是我们用6个55大小的patch对3232大小的输入图进行convolution得到,28=32-5+1,其中每次移动步伐为1个像素。 而到了s2层则变成了6张1414大小的特征图,原因是每次对4个像素(即22的)进行pooling得到1个值。 将S2的特征图用1个输入层为150(=556,不是5*5)个节点,输出层为16个节点的网络进行convolution。
多尺度
|