前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google发布一致性学习的自我监督学习方法的潜在解决方案(TCC)

Google发布一致性学习的自我监督学习方法的潜在解决方案(TCC)

作者头像
代码医生工作室
发布2019-08-16 14:46:52
1.5K0
发布2019-08-16 14:46:52
举报
文章被收录于专栏:相约机器人

作者 | Debidatta Dwibedi

来源 | google

编辑 | 代码医生团队

视频理解领域取得了很大进展。例如,有监督的学习和强大的深度学习模型可用于对视频中的许多可能操作进行分类,使用单个标签汇总整个剪辑。但是,存在许多场景,其中需要的不仅仅是整个剪辑的一个标签。例如,如果机器人将水倒入杯中,仅仅识别“倾倒液体”的动作就不足以预测水何时会溢出。为此,有必要逐帧跟踪杯子中的水量。类似地,比较投手的姿势的棒球教练可能想要从球离开投手的手的精确时刻检索视频帧。此类应用程序需要模型来理解视频的每个帧。

然而,应用监督学习来理解视频中的每个单独帧是昂贵的,因为需要感兴趣的动作的视频中的每帧标签。这要求注释器通过为每个视频中的每个帧手动添加明确标签,将精细纹理标签应用于视频。只有这样才能训练模型,并且只能进行单一操作。对新行动的训练需要重复该过程。随着对细粒度标签的需求不断增长,这对于从机器人技术到体育分析的应用是必需的,这使得对可以理解视频的可扩展学习算法的需求越来越不合理。

提出了一种使用称为时间循环 - 一致性学习的自我监督学习方法的潜在解决方案(TCC)。这种新颖的方法使用类似顺序过程的示例之间的对应来学习特别适合于对视频进行细粒度时间理解的表示。还发布了TCC代码库,使最终用户能够将自我监督学习算法应用于新的和新颖的应用程序。

https://github.com/google-research/google-research/tree/master/tcc

使用TCC进行表示学习

从幼苗到树木的植物; 每天起床,上班,回家的日常生活; 或者一个人倒一杯水都是按特定顺序发生的事件的例子。捕获此类过程的视频提供跨同一过程的多个实例的时间对应关系。例如,当倒一杯饮料时,人们可以伸手去拿茶壶,一瓶葡萄酒或一杯水。关键时刻对于所有倾倒视频是常见的(例如,第一次接触容器或容器从地面抬起)并且存在独立于许多变化因素,例如视点,尺度,容器样式或速度的视觉变化。事件。TCC试图通过利用循环一致性原则在相同动作的视频中找到这种对应关系,计算机视觉,通过对齐视频来学习有用的视觉表现。

该训练算法的目的是使用处理图像的任何网络架构(例如ResNet)来学习帧编码器。为此,传递视频的所有帧以通过编码器对齐以产生它们相应的嵌入。然后选择两个用于TCC学习的视频,比如视频1(参考视频)和视频2。从视频1中选择参考帧,并且在嵌入空间(非像素空间)中找到来自视频2的其最近邻帧(NN 2)。然后通过找到最近的NN邻居来循环2在视频1,称之为 NN 1。如果表示是周期一致的,那么视频1( NN 1)中的最近邻居帧应该返回到起始参考帧。

使用起始参考帧和NN 1之间的距离作为训练信号来训练嵌入器。随着训练的进行,嵌入通过在正在执行的动作的上下文中开发对每个视频帧的语义理解来改善和减少周期一致性损失。

使用TCC,通过对齐相关视频来学习嵌入对行为的时间细粒度理解。

TCC学到了什么?

在下图中,展示了使用TCC训练的模型,该模型来自宾夕法尼亚行动数据集中执行深蹲练习的人的视频。左侧的每个点对应于帧嵌入,突出显示的点跟踪当前视频帧的嵌入。注意尽管在姿势,光照,身体和物体类型方面存在许多差异,嵌入物如何集体移动。TCC嵌入编码不同的下蹲阶段而不提供明确的标签。

右:输入执行深蹲练习的人的视频。左上角的视频是参考。其他视频显示最近邻居帧(在TCC嵌入空间中)来自其他人做深蹲的视频。左:相应的帧嵌入在执行操作时移动。

TCC

应用学习的每帧嵌入实现了一系列有趣的应用:

少量拍摄动作阶段分类

当几个标记视频可用于训练时,少数拍摄场景,TCC表现非常好。实际上,TCC可以使用少量标记视频对不同操作的阶段进行分类。在下图中,将与其他有监督和自我监督的 学习方法进行比较。发现有监督的学习需要大约50个视频,每个帧被标记以达到与自我监督方法仅使用一个完全标记的视频相同的准确度。

几次动作阶段分类的自我监督和监督学习的比较。

无监督的视频对齐

随着视频数量的增加,手动对齐或同步视频变得非常困难。使用TCC,可以通过选择参考视频中每个帧的最近邻居来对齐许多视频,而无需其他标签,如下图所示。

使用TCC空间中的帧之间的距离投射棒球的人的视频上的无监督视频对准的结果。用于对齐的参考视频显示在左上方面板中。

视频之间的标签/模态转移

就像TCC通过在嵌入空间中使用最近邻居搜索来找到相似的帧一样,它可以将与一个视频中的任何帧相关联的元数据传送到另一视频中的匹配帧。该元数据可以是时间语义标签或其他形式的形式,例如声音或文本。在下面的视频中,展示了两个例子,可以将从一个视频到另一个视频的液体倒入杯中。

每帧检索

利用TCC,视频中的每个帧可以用作通过查找学习的嵌入空间中的最近邻居来检索相似帧的查询。嵌入功能足以区分看起来非常相似的帧,例如在保龄球发布之前或之后的帧。

可以基于每帧从视频执行检索,即,可以使用任何帧来在大量视频中查找类似的帧。检索到的最近邻居显示该模型捕获场景中的细粒度差异。

发布

正在发布代码库,其中包括许多最先进的自我监督学习方法的实现,包括TCC。此代码库对于从事视频理解的研究人员以及希望使用机器学习来对齐视频以创建人,动物和同步移动物体的马赛克的艺术家非常有用。

https://github.com/google-research/google-research/tree/master/tcc

致谢

这是与Yusuf Aytar,Jonathan Tompson,Pierre Sermanet和Andrew Zisserman的联合工作。作者要感谢Alexandre Passos,Allen Lavoie,Anelia Angelova,Bryan Seybold,Priya Gupta,ReljaArandjelović,Sergio Guadarrama,Sourish Chaudhuri和Vincent Vanhoucke对这个项目的帮助。该项目中使用的视频来自PennAction数据集。感谢PennAction的创建者策划了这样一个有趣的数据集。

https://dreamdragon.github.io/PennAction/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 相约机器人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档