会议:ECCV 2018
作者:Huseyin Coskun, David Joseph Tan, Sailesh Conjeti, Nassir Navab, and Federico Tombari
1. 要解决的问题
- 衡量两段人物动作之间的相似度是实现如视频相似度、人物重定位等应用场景的重要基础。传统方法中,我们对姿态的度量建立在手动定义特征的欧式距离之上,而面对不等长序列的比较则加入DTW方法进行序列对齐。
- 在本文中,通过度量学习的方式,将每一段动作序列通过A-LSTM网络embedding为语义空间内的向量后计算距离,并结合注意力机制得到不等长序列中与Query最接近的部分,如下图所示,其中(a)为Query。该方法实现了不等长相似动作序列的查询。
2. 方法&原理
度量学习(Metric Learning)
动作分析中的度量学习旨在得到一个合理的embedding模型,将任意长度的输入(关节点数据序列)embedding为同一个语义空间下的向量,随后计算两个向量的某种距离作为相似度:度量学习实现的核心有三点:1)构建训练数据对的采样方法;2)原始数据的embedding模型;3)合理的损失函数。有关度量学习的具体细节可以点击前文链接查看。下面分别介绍本文用到的三部分模块。
-
构建训练数据对的采样方法
本文采用了最常见的三元组训练对,模型的输入,其中为和同一类的sample。采样时首先随机得到N对正例组合,对于每一对正例,从与其M个不同的类别中分别随机抽取一个负例,得到,最终一共得到对三元组。 -
Embedding 模型
考虑动作序列在时间上的维度,采用带有自注意力机制的双向LSTM模型对其进行编码,模型的结构如下图所示,输入为34*L维的17个人体关节点坐标序列,最终的输出向量为34维。
- 合理的损失函数
本文采用MMD-NCA来计算最终向量间的距离,其中MMD(Maximum mean discrepancy)用来度量两个分布的相互距离,利用核方法将向量映射到高维空间以提高非线性。
NCA Loss(Neighborhood Components Analysis)则用来衡量正例和所有负例分布中心的距离。将两者结合得到的最终的损失函数,
模型的整体训练结构如下图所示:
整体结构3. 实验&结论
- 实验使用数据集:CMU mocap,Human 3.6M
- 评估指标:FPR,NMI,F1 score
- Baseline:DTW的各种变体
同时作者也与baseline做了表格中数据的对比,可以看出效果提高了不少。
实验效果
下图为同一个Query在使用本文方法和DTW时查询到的最相似序列。4. 借鉴
- 1)在衡量原型和素材镜头的相似度时,可以分为内容和画面两部分。其中内容部分的主要特征同样是基于关节点和主体坐标的,是否可以参考度量学习的方式,将该特征序列embedding到同一个语义空间中来计算相似度?更近一步,由于不知道内容和画面对于相似度的影响,是否可以用类似VGG的网络对画面特征进行提取,与内容特征组合训练一个全局的度量模型?
- 2)若考虑到数据量的问题难以实现训练,现有方法的基础上,是否可以考虑用MMD距离或马氏距离来取代特征平均后的欧式距离?
网友评论