热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

paddle图标注_不同视角构造cycleconsistency,降低视频标注成本

最近看了两篇文章,题目惊人的相似,但是切入点和潜在应用却完全不同:1.《TemporalCycle-ConsistencyLearning
f2d39f9f5344de95419719bf17c18f43.png

最近看了两篇文章,题目惊人的相似,但是切入点和潜在应用却完全不同:

1.《Temporal Cycle-Consistency Learning》[1],出自谷歌DeepMind,是上一篇《Time-Contrastive Networks: Self-Supervised Learning from Video》[2]的拓展升级版。在文中对于temporal alignment 任务,利用多个同类视频间的时间上下文的一致性来做frame matching,self-supervised 地学习多帧的embedding features。

2. 《Learning Correspondence from the Cycle-consistency of Time》[3],出自CMU的Xiaolong等。对于一个视频内时间上下文的mid-level特征一致性来做patch matching,self-supervised 地学习单帧的embedding features。

这两篇文章都同时提到很多相同的关键词:self-supervised, Correspondence, nearest neighbors, embeddings

它们的主要相同点:1) 都设计了cycle-consistency的loss来进行自监督学习; 2) 都是先对每帧单独提取mid-level feature,然后再在deep space里进行matching。

它们的主要区别:1) 前者的cycle loss设计是基于多个视频间的,而后者是对于一个视频内部的;2) 由于前者对frame-level进行matching,帧global 与 global运算;而后者是local patch与global运算。

----------------------------------------------------------------

一、Temporal Cycle-Consistency Learning (TCC) [1],CVPR2019

该文的目标是自学习embedding spaces,使得视频1和视频2尽量对齐。如下图所示,1) 首先对视频1和视频2若干帧映射到embedding spaces,左边的每个圆圈表示每帧的表征;2) 接着在视频1中寻找视频2当前帧(黑色和红色的圆圈)中的nearest neighbors(即实线蓝色箭头对应的两个绿色点);3) 最后cycle-back,用同样的方法寻找视频2中对应视频1两个绿色点nearest neighbors。这里产生的cycle consistency error就作为模型的Loss。

3fb4a4ad3629b7d621eac86f1b788a66.png
Cycle-consistent representation learning

由于 cycle-consistency 的计算是不可微的,文中的主要贡献是设计了两种可微方法来实现 cycle-consistency,分别是Cycle-back 分类和Cycle-back 回归。

我们首先计算视频

中的
在视频
的soft nearest neighbor
,然后再反过来求
在视频
中的nearest neighbor。下面两种方式是用来实现soft nearest neighbor matching:
6d7e8c7d638993cdecbe8af02bb2af3d.png
Temporal cycle consistency

1.Cycle-back 分类

把每一帧当成是一个类别,那么匹配nearest neighbor可看成是one-hot分类问题,即只有匹配帧为1,其他帧为0。逻辑单元直接由两者在embedding space的距离表示,这样从视频

中寻找当前
的近邻可以表达成:
27e26bfce26c4144740dd0dec84603c0.png

反过来,从视频

中寻找
的近邻也可通过距离的Softmax表示,最后产生的cross-entropy loss就是cycle consistency error。

2.Cycle-back 回归

由于上述分类过程没有约束cycled back的时间点要离当前时间点的远近,而作者希望对离得近的时间点惩罚小,而离得远的时间点惩罚大,故在cycling back的过程加入了regression loss,即约束相似性分布为高斯分布,使得在当前时间点附近有Peak分布,而整体的variance尽量小,Loss表示为:

e4875f04e690658d6d1b1bbee5588aad.png

后面实验时也对比了MSE版本的Loss,即只考虑高斯分布中的均值,不考虑方差,

,从实验结果来看,性能 Cycle-back 回归 > Cycle-back 分类 > MSE

------------------------------------

关于Encoder,使用的是VGG-M/ResNet50。而Embeeding Network结构如下,加入3D卷积和3D池化,在补充材料中作者说到,即使在 k=2 情况下,性能也较好。

2d28adbe83a10386cb25db89f33df3ee.png

实验结果

从下面实验结果图可见:1) 在仅仅有 0.1%和0.5%标注的label情况下,TCC性能远比Supervised learning的效果好,体现出 self-supervised learning在少样本学习下的优势; 2) TCC性能明显优于现有的两种无监督学习方法 SaL 和 TCN,当TCC+TCN结合时,在Penn Action下性能达到最大。

29a6762b6c94cbe5a065de0a5767da9f.png

潜在应用

1.语音和视频跨模态迁移对齐

2.视频的细粒度检索,检索到内容对齐好的frame-level

3.视频异常检测

4.视频同步回放

具体可见 https://sites.google.com/view/temporal-cycle-consistency

--------------------------------------------------------------

二、Time-Contrastive Networks(TCN)[2],ICRA2018

由于上面实验有对比TCN的结果,这里简单介绍下,都是同一个组的工作。主要思想在temporal上构造三元组,离anchor近的当成positive,离anchor远的当成negative。通过这个self-supervised learning,模型能学到强时间上下文的表达,尽管在空间上这些帧都是similar-looking images。

与TCC相比,TCN只有一个视频内部训练,难以学到多个视频的时间上下文关联,这也是在视频对齐中性能不如TCC的主要原因。

37b63abd5f57b87e35d5fede21160697.png
Single-view TCN

----------------------------------------------------------------

三、Learning Correspondence from the Cycle-consistency of Time[3],CVPR2019

该文主要致力于统一光流和跟踪,通过自学习时空上的corresponding来得更好的embedding表征。如下图所示,主要贡献点有:1)构造了从t-->t-1-->t-2-->t-1-->t的time cycle,在不要手工标注label情况下,通过cycle前后的信息差异,来引导模型学习 ;2)对于上下文tracking,如t-->t-1,构造了可微分的tracking operation,使得网络能进行端到端地训练。

8776441a2b6ae4df4c6ca1abf32b7260.png
A Cycle in Time

首先我们来看可微分tracking operation

,简单的patch matching过程。如下图所示,1) 首先对当前帧需要跟踪的patch和上一帧,提取下采样8倍的Mid-level feature,进行L2正规化,通过点乘计算Affinity矩阵后Softmax; 2)接着通过两个卷积层和一个全连接层,定位出仿射变换的三个参数,2D平移和旋转;3)最后进行双线性sample,得到匹配后区域的特征。
1699a3dab972cc395598e325fcf98494.png
可微分tracking operation

网络的端到端训练是基于Backward-forward的iterative tracking后的模板匹配来实现的。如下图所示,在backward过程,从

-->
-->
,通过迭代进行上述的tracking operation
,我们可以得到跟踪到的特征;然后进行反向forward,迭代两次
,最后得到cycled back的patch特征,计算与原始patch特征的loss,更新网络
4374e165ed6f264589a14918aa99d49f.png
训练端到端Cycle-consistent

文中使用的 Loss 由三部分组成:

为每个tracking operation
前后的patch feature的相似度损失;
为 2-step skip cycle和原始cycle下的坐标级别的patch alignment误差。
504cf4c5ae3cf26337e2f705f8d7a088.png

实验结果

性能远超当前的几种unsupervised methods,但相比fully supervised,仍需努力。

7c10b31f22002a874a4b7de9b772e381.png
实例分割on DAVIS-2017

不同应用下可视化效果,在不需要人工label情况下,已经很棒棒哒:

6a2a4c8f5186c4d0635fa28464b4b13e.png

官方的代码链接:https://github.com/xiaolonw/TimeCycle

-------------------------------------------------------------

总结与展望:

两篇文章从不同视角来构造cycle-consistency约束,目标都是为了在不需要标注label情况下,学到更好的视频representation,这也是解决在real-world中大规模无标注视频数据的低利用率及高昂的frame-level人工标注成本等问题。正如作者在future work里谈到的,这两篇文章还是存在一定局限,比如[1]中的训练需要保证同一个视频内部尽量无重复的动作片段,以及两个视频的类别及内容必须有一定的相似性;[3]中在训练过程patch的选取是随机化的,可能包含多个物体,很容易导致网络学习歧异。

未来展望的话,必须把两篇文章的思想用起来,拓展到各种视频任务中;而对于两篇文章本身,双方的结合未尝不可,对于[1]中embedding特征是基于全局的,可参考[3]中类似思想,找到场景下带语义的object/patch来进行cycle交互,估计能理解得更好,对齐得更好。

Reference:

[1] Debidatta Dwibedi et al., Temporal Cycle-Consistency Learning, CVPR2019

[2] Pierre Sermanet et al., Time-Contrastive Networks: Self-Supervised Learning from Video, ICRA2018

[3] Xiaolong Wang et al. , Learning Correspondence from the Cycle-consistency of Time, CVPR2019



推荐阅读
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • 本文深入探讨了 C# 中 `SqlCommand` 和 `SqlDataAdapter` 的核心差异及其应用场景。`SqlCommand` 主要用于执行单一的 SQL 命令,并通过 `DataReader` 获取结果,具有较高的执行效率,但灵活性较低。相比之下,`SqlDataAdapter` 则适用于复杂的数据操作,通过 `DataSet` 提供了更多的数据处理功能,如数据填充、更新和批量操作,更适合需要频繁数据交互的场景。 ... [详细]
  • 如何使用 net.sf.extjwnl.data.Word 类及其代码示例详解 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • 在Unity中进行3D建模的全面指南,详细介绍了市场上三种主要的3D建模工具:Blender 3D、Maya和3ds Max。每种工具的特点、优势及其在Unity开发中的应用将被深入探讨,帮助开发者选择最适合自己的建模软件。 ... [详细]
  • 本项目在Java Maven框架下,利用POI库实现了Excel数据的高效导入与导出功能。通过优化数据处理流程,提升了数据操作的性能和稳定性。项目已发布至GitHub,当前最新版本为0.0.5。该项目不仅适用于小型应用,也可扩展用于大型企业级系统,提供了灵活的数据管理解决方案。GitHub地址:https://github.com/83945105/holygrail,Maven坐标:`com.github.83945105:holygrail:0.0.5`。 ... [详细]
  • 本文深入探讨了 MXOTDLL.dll 在 C# 环境中的应用与优化策略。针对近期公司从某生物技术供应商采购的指纹识别设备,该设备提供的 DLL 文件是用 C 语言编写的。为了更好地集成到现有的 C# 系统中,我们对原生的 C 语言 DLL 进行了封装,并利用 C# 的互操作性功能实现了高效调用。此外,文章还详细分析了在实际应用中可能遇到的性能瓶颈,并提出了一系列优化措施,以确保系统的稳定性和高效运行。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • 本文深入探讨了 HTML 中的 `margin` 属性,详细解析了其基本特性和应用场景。文章不仅介绍了 `margin` 的基本概念,还重点讨论了垂直外边距合并现象,并分析了 `margin` 在块级元素与内联元素中的不同表现。通过实例和代码示例,帮助读者全面理解 `margin` 的使用技巧和常见问题。 ... [详细]
  • 如何在datetimebox中进行赋值与取值操作
    在 datetimebox 中进行赋值和取值操作时,可以通过以下方法实现:使用 `$('#j_dateStart').datebox('setValue', '指定日期')` 进行赋值,而通过 `$('#j_dateStart').datebox('getValue')` 获取当前选中的日期值。若需要清空日期值,可以使用 `$('#j_dateStart').datebox('clear')` 方法。这些操作能够确保日期控件的准确性和灵活性,适用于各种前端应用场景。 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
author-avatar
番茄国王2013_562_572
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有