Learning from Synthetic Animals 阅读
摘要
由于这个方向上带标签训练数据的缺失,这篇论文使用生成的虚拟数据进行学习,提出了一个一致性约束半监督学习方法。
这个方法结合了空间和时间一致性。并且生成了虚拟动物数据集。
方法
生成图片
图片使用的参数有两个,一个是和任务有关的参数比如动物的姿态和形状,一个是和任务无关的参数比如背景和纹理。
$ X = G(\alpha, \beta) $
一致性
- 背景一致性,理想情况下,模型预测的关键点应该和背景无关,和图片旋转角度无关。
- 不变性一致性:如果变换T不改变与任务相关的因素,则模型的预测预期是相同的。这里的想法是,一个良好的模型应该是对β操作不变的。例如,在二维姿态估计中,向图像添加噪声或干扰颜色不应影响模型的预测。将这些变换命名为不变变换\(\tau_\beta\)。可以用这个变化来检测模型的预测是否正确。
- 等方差一致性:这个一致性就是和上面相反的,是涉及到任务的变化\(\alpha\),这个变化应该是相当的容易让模型的预测结果变化,但是这个变化应该有对应的可逆变化,在施加这个逆变化后,模型的预测应该变回变化前的预测。
- 时间一致性:在视频的两帧之间,有关参数\(\alpha\)和无关参数\(\beta\)的变化不会太大。
生成假标签
这个文章从两个方向来解决标签中含有的噪声问题
- 使用了一个一致性检查的方法来检查标签
- 在训练迭代的过程中之间的增加训练样本
- 对于每一个输入的如片进行一个任务变化和非任务变化\(\alpha,\beta\),一张图片得到两个图片,再对这两个图片进行预测得到两个预测,通过这两个预测得到估计的标签和他的置信度(但是文章中没有细写,需要看代码)
- 使用时间一致性来升级弱预测,对于每一个关键点,当前帧和前一帧的置信度是否更强这里使用的是比例是否小于一个参数\(\lambda\)(算法第9行),如果小于这个参数,那么就要做一些修改。这个时间一致性仅仅在对于视频输入的时候才可以使用。
- 在训练的过程中,吧所有置信度进行排序,然后只挑选前20%的数据进行训练,然后在迭代过程中慢慢加大这个比例直到80%。
一致性约束半监督学习
这个损失是使用的预测的热力图作的损失。
首先使用虚拟数据集训练一个初始模型。然后不停的进行获取标签,自训练进行重复。
生成数据集
这个文章有这个部分是我比较惊喜的,很少有文章可以告诉你他们的数据是如何生成的。这个文章使用的是虚幻引擎来生成数据。可惜没有给出虚幻的工程文件。
给定一个 CAD 模型和一些动画序列,从随机视点渲染具有随机姿势和随机纹理的动物,以获得一些随机照明和随机背景图像。 还生成地面实况深度图、部分分割和密集的关节位置(2D 和 3D)。 有关合成数据集中的样本,请参见下图。
实验部分
这个部分建议去看原文。