当前位置: 首页 > news >正文

Competitive Collaboration 论文阅读

论文信息

题目:Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation
作者:Anurag Ranjan, Varun Jampani, Lukas Balles
来源:CVPR
时间:2019
代码地址:https://github.com/anuragranj/cc

Abstract

我们解决了低级视觉中几个相互关联问题的无监督学习:单视图深度预测、相机运动估计、光流以及将视频分割为静态场景和移动区域。

我们的主要见解是这四个基本视觉问题通过几何约束耦合在一起。因此,学习一起解决它们可以简化问题,因为这些解决方案可以相互促进。我们通过更明确地利用几何形状并将场景分割为静态和移动区域,超越了之前的工作。

为此,我们引入了竞争性协作,这是一个促进多个专业神经网络协调训练以解决复杂问题的框架。竞争性协作的工作原理与期望最大化非常相似,但神经网络既充当竞争者来解释与静态或移动区域相对应的像素,又充当通过调节器将像素分配为静态或独立移动的协作者。我们的新颖方法将所有这些问题集成在一个通用框架中,并同时推理场景分割为运动物体和静态背景、相机运动、静态场景结构的深度以及运动物体的光流。我们的模型在没有任何监督的情况下进行训练,并在所有子问题上的联合无监督方法中实现了最先进的性能。
在这里插入图片描述

Introduction

我们在本文中考虑了四个这样的问题:单视图深度预测、相机运动估计、光流和运动分割。之前的工作已经使用真实数据[5]和合成数据[4]通过监督来解决这些问题。然而,合成数据与真实数据之间始终存在现实差距,并且真实数据有限或不准确。

Approach。为了解决联合无监督学习的问题,我们引入了竞争性协作(CC),这是一种通用框架,网络在其中学习协作和竞争,从而实现特定目标。在我们的特定场景中,竞争性协作是一个三人游戏,由两个玩家竞争由第三个玩家(主持人)监管的资源。
在这里插入图片描述

如图 2 所示,我们在框架中引入了两个参与者,即静态场景重建器 R = ( D , C ) R = (D, C) R=(D,C),它使用深度 D 和相机运动 C 来推理静态场景像素;以及运动区域重建器 F,其推理独立运动区域中的像素。这两个玩家通过推理图像序列中的静态场景和移动区域像素来竞争训练数据。比赛由运动分割网络 M 主持,该网络分割静态场景和运动区域,并将训练数据分发给选手。不过,主持人也需要培训,以保证公平竞争。因此,玩家 R 和 F 合作训练主持人 M,使其在训练周期的交替阶段正确分类静态和移动区域。这个通用框架在本质上与期望最大化 (EM) 类似,但专为神经网络训练而制定。

总之,我们的贡献是:
1)我们引入了竞争性协作,这是一种无监督学习框架,其中网络充当竞争对手和合作者以实现特定目标。
2)我们表明,使用该框架联合训练网络对其性能具有协同效应。
3)据我们所知,我们的方法是第一个使用深度、相机运动和光流等低级信息来解决分割任务而无需任何监督的方法。
4)我们在无监督方法中的单视图深度预测和相机运动估计方面实现了最先进的性能。我们在推理场景几何形状的无监督方法中实现了最先进的光流性能,并引入了完全无监督运动分割的第一个基线。
5)我们分析了我们方法的收敛特性,并使用 MNIST [19] 和 SVHN [25] 数字上的混合域学习给出了其泛化的直觉。

Competitive Collaboration

在我们的背景下,竞争性协作被表述为一个三人游戏,由两名玩家竞争由主持人监管的资源组成,如图 3 所示。
在这里插入图片描述

考虑一个未标记的训练数据集 D = D i : i ∈ N D = {D_i : i ∈ \mathbb{N}} D=Di:iN,其中可以分为两个不相交的集合。两个玩家{R,F}竞争获取这些数据作为资源,每个玩家都尝试对D进行分区以最小化其损失。分区由主持人的输出 m = M ( D i ) , m ∈ [ 0 , 1 ] Ω m = M(D_i),m ∈ [0, 1]^Ω m=M(Di)m[0,1]Ω 调节,Ω 是竞争对手的输出域。竞争玩家分别最小化他们的损失函数 L R 、 L F L_R、L_F LRLF,这样每个玩家都会针对自己而不是群体进行优化。为了解决这个问题,我们的培训周期分为两个阶段。

在第一阶段,我们通过固定调节器网络 M 并最小化
在这里插入图片描述
然而,主持人M也需要接受培训。这发生在训练周期的第二阶段。
参赛者{R,F}形成共识并训练主持人M,使其在训练周期的下一阶段正确分配数据。在协作阶段,我们通过最小化
在这里插入图片描述
来修复竞争对手并培训主持人。

在联合学习深度、相机运动、光流和运动分割的背景下,

第一个参与者 R = (D, C) 由深度和相机运动网络组成,用于推理场景中的静态区域。

第二个参与者 F 是推理移动区域的光流网络。

为了训练参赛者,运动分割网络 M 在静态像素上选择网络 (D, C),并在属于运动区域的像素上选择 F。

竞赛确保 (D, C) 仅对静态部分进行推理,并防止移动像素破坏其训练。类似地,它可以防止任何静态像素出现在 F 的训练损失中,从而提高其在运动区域中的性能。在训练周期的第二阶段,参赛者(D、C)和 F 现在通过形成共识来合作推理静态场景和移动区域,该共识用作训练主持人 M 的损失。

我们在此框架内制定了深度、相机运动、光流和运动分割的联合无监督估计

Notation

我们使用 {Dθ, Cφ, Fψ, Mχ} 分别表示估计深度、相机运动、光流和运动分割的网络。下标{θ, φ, ψ, χ}是网络参数。为了简洁起见,我们将省略几个地方的下标。考虑具有目标帧 I 和时间相邻参考帧 I−、I+ 的图像序列 I−、I、I+。一般来说,我们可以有许多相邻帧。在我们的实现中,我们对 Cφ 和 Mχ 使用 5 帧序列,但为了简单起见,使用 3 帧来描述我们的方法。我们估计目标帧的深度为
在这里插入图片描述
我们估计每个参考帧 I−、I+ 的相机运动 e。目标框架 I 为
在这里插入图片描述
类似地,我们估计目标图像分割为静态场景和运动区域。静态场景的光流仅由相机运动和深度定义。这通常指的是场景的结构。移动区域具有独立运动场。与每对目标图像和参考图像相对应的分割掩模由下式给出
在这里插入图片描述
其中 m − , m + ∈ [ 0 , 1 ] Ω m_−, m_+ \in [0, 1]^Ω m,m+[0,1]Ω表示空间像素域 Ω 中静态区域的概率。

最后,网络 Fψ 估计光流。 Fψ 一次处理 2 个图像,在分别估计 u−、u+、后向和前向光流时共享其权重。

在这里插入图片描述

Loss

我们通过联合最小化能量
在这里插入图片描述

来学习网络参数 {Dθ, Cφ, Fψ, Mχ}, 其中 {λR, λF , λM, λC , λS}是各个能量项的权重。

E R E_R ER E F E_F EF 项是两个竞争对手分别重建静态和移动区域时最小化的目标。数据竞争是由新兴市场驱动的。

较大的权重 λ M λ_M λM 将驱动更多像素流向静态场景重建器。 E C E_C EC 一词推动了协作,而 E S E_S ES 是平滑度正则化器。

静态场景项 E R E_R ER 最小化静态场景像素的光度损失,如下所示

在这里插入图片描述
其中Ω是空间像素域,ρ是鲁棒误差函数, w c w_c wc根据深度d和相机运动e将参考帧向目标帧扭曲。同样, E F E_F EF 最大限度地减少了移动区域的光度损失
在这里插入图片描述
我们将鲁棒误差 ρ(x, y) 计算为
在这里插入图片描述
第二项也称为结构相似性损失(SSIM)[34],已在之前的工作[22, 37]中使用, μ x 、 σ x μ^x、σ^x μxσx 是像素邻域的局部均值和方差,其中 c 1 = 0.0 1 2 , c 2 = 0.0 3 2 c_1 = 0.01^2, c_2 = 0.03^2 c1=0.012c2=0.032

在这里插入图片描述
令 ν(e, d) 表示相机运动 e 和深度 d 引起的光流,如附录 A.2 中所述。共识损失 E C E_C EC 通过在 ν(e, d) 给出的静态场景流和 Fψ 给出的光流估计之间取得共识来驱动协作并约束掩模来分割移动对象。它由下式给出
在这里插入图片描述
第一个指标函数有利于将掩模分配给竞争对手,通过比较 ρ R = ρ ( I , w c ( I s , e s , d ) ) ρ_R = ρ(I, w_c(I_s, e_s, d)) ρR=ρ(I,wc(Is,es,d)) ρ F = ρ ( I , w f ( I s , u s ) ) ρ_F = ρ(I, w_f (I_s, u_s)) ρF=ρ(I,wf(Is,us)) 来实现像素上较低的光度误差。
在第二个指标函数中,如果静态场景流ν(e,d)接近光流u,则阈值λc迫使I = 1,表明静态场景。符号∨表示指标函数之间的逻辑或。如果 R 的光度误差低于 F 或 R 的诱导流与 F 的相似,共识损失 E C E_C EC 鼓励将像素标记为静态。

最后,平滑项 E S E_S ES 充当深度、分割和flow的正则化矩阵,
在这里插入图片描述

Inference

深度 d 和相机运动 e 直接从网络输出推断出来。运动分割 m* 由掩模网络 Mχ 的输出以及 Fχ 的静态流和光流估计之间的一致性获得。它由下式给出
在这里插入图片描述
第一项采用 Mχ 使用前向和后向参考帧推断的掩模概率的交集。

第二项采用从 R = (Dθ, Cφ) 和 Fψ 估计的流量之间的共识来推理掩模。

最终的掩模是通过两项的并集获得的。最后,(I, I+) 之间的完整光流 u * 是来自静态场景和独立移动区域的光流的组合,由下式给出
在这里插入图片描述
方程(7)中的损失被公式化以最小化相邻帧的重建误差。两个竞争对手,静态场景重建器 R = (Dθ, Cφ) 和移动区域重建器 Fψ 最小化了这种损失。

重建器 R 使用等式(8)对静态场景进行推理,重建器 Fψ 使用等式(9)对移动区域进行推理。

调节是通过掩模网络 Mχ 使用等式(11)来实现的。

此外,使用方程(12)驱动R、F之间的协作来训练网络Mχ。

如果场景完全静态,并且只有相机移动,则掩模会强制 (Dθ, Cφ) 重建整个场景。然而,(Dθ, Cφ) 在场景的独立移动区域中是错误的,并且这些区域是使用 Fψ 重建的。调节器 Mχ 经过训练,可以通过 (Dθ, Cφ) 和 Fψ 达成共识来正确分割静态和移动区域,以推理场景中的静态和移动部分,如等式 (12) 所示。

因此,我们的培训周期分为两个阶段。
在第一阶段,调节器 Mχ 使用方程(8、9)推动两个模型(Dθ、Cφ)和 Fψ 之间的竞争。
在第二阶段,参赛者(Dθ,Cφ)和Fψ共同协作,使用方程(11,12)训练调节器Mχ。

相关文章:

Competitive Collaboration 论文阅读

论文信息 题目:Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation 作者:Anurag Ranjan, Varun Jampani, Lukas Balles 来源:CVPR 时间&#x…...

非科班菜鸡算法学习记录 | 代码随想录算法训练营完结!

这俩月终于结束了233333,之后就是反复复习和背八股了吧,然后整整项目春招再投投投,感觉大部分题都有思路了但是做过的题也会没思路,还是要复习 总结 数组: 双指针用的很多,一般一个指向遍历位置&#xff0…...

C语言实现三字棋

实现以下: 1游戏不退出,继续玩下一把(循环) 2应用多文件的形式完成 test.c. --测试游戏 game.c -游戏函数的实现 game.h -游戏函数的声明 (2)游戏再走的过程中要进行数据的存储,可以使用3*3的二维数组 char bor…...

【LeetCode】35.复杂链表的复制

题目 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head [[7,null],[13,0],[11,4]…...

代码大全阅读随笔(五)

数据初始化要点: 数据初始化过程很容易出错,所以请使用本章介绍的方法,来初始化数据,从而避免由于非预期的初始化值而造成的错误。 最小化变量作用域。 使用相同的变量的语句尽可能的集中在一起。 早期绑定会减少灵活性&#xff0…...

No1.详解【2023年全国大学生数学建模竞赛】C题——蔬菜类商品的自动定价与补货决策(代码 + 详细输出 + 数据集代码 下载)

时间告诉你什么叫衰老,回忆告诉你什么叫幼稚。不要总在过去的回忆里纠缠,昨天的太阳,晒不干今天的衣裳。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客…...

有什么好用的电容笔?apple pencil替代品推荐

近年来,电容笔越来越成为人们日常生活中常见的数码产品之一。电容笔的便捷性得到了消费者的认可。它逐渐取代无纸化书写。那么到底电容笔哪个品牌好呢,电容笔哪一款最好用呢,今天小编给大家总结几款市面好用的电容笔,让我们一起来…...

什么是回调函数?写出一个示例?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 回调函数⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前…...

深度学习在医疗保健领域的应用:从图像识别到疾病预测

文章目录 深度学习在医学影像识别中的应用1. 癌症检测2. 病理学图像分析3. 医学图像分割 深度学习在疾病预测中的应用1. 疾病风险预测2. 疾病诊断辅助3. 药物研发 深度学习在个性化治疗中的应用1. 基因组学分析2. 临床数据集成 深度学习在医疗保健中的挑战和未来数据隐私和安全…...

SpringBoot实现自定义environment中的value加密

environment中的value为什么要加密? 未经过加密的配置文件,密码均是采用明文密码,很容易导致信息泄露。 SpringBoot environment中的value加密代码如下 package com.xxx.core.encryption;import com.google.common.collect.Maps; import lomb…...

celery的用法--任务调度

在Celery中,任务(Task)是执行特定操作的基本单元。任务可以异步执行,可以带有参数,可以返回结果,可以链式调用,还可以设置任务优先级、超时等属性。 1.定义任务: 使用app.task装饰器…...

MyBatis-Plus学习笔记总结

一、查询 构造器分为QueryWrapper和LambdaQueryWrapper 创建实体类User package com.system.mybatisplus.model;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.…...

How Language Model Hallucinations Can Snowball

本文是LLM系列文章,针对《How Language Model Hallucinations Can Snowball》的翻译。 语言模型幻觉是如何产生雪球的 摘要1 引言2 为什么我们期待幻觉像滚雪球一样越滚越大?3 实验4 我们能防止雪球幻觉吗?5 相关工作6 结论局限性 摘要 在实…...

autojs修改顶部标题栏颜色

顶部标题栏的名字是statusBarColor 不是toolbar。难怪我搜索半天搜不到 修改之后变成这样了 代码如下: "ui"; importClass(android.view.View); importClass(android.graphics.Color); ui.statusBarColor(Color.parseColor("#ffffff")); ui.…...

arppy gis 读取text 并批量添加字段 arcpy.AddField_management

arppy gis 读取text 并批量添加字段 arcpy.AddField_management 例:给“省级行政区域”添加“A、B、C、D” 4个字段。 (1)用Excel制作出字段及其描述表,定义字段结构; (2)复制除标题行以为的内…...

Pandas中at、iat函数详解

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 at 函数:通过行名和列名来取值(取行名为a, 列名为A的值) iat 函数:通过行号和列号来取值(取第1行,第1列的值) 本文给出at、iat常见的…...

【Spring Boot】JPA — JPA入门

JPA简介 1. JPA是什么 JPA是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据,通过注解或者XML描述“对象-关系表”之间的映射关系,并将实体对象持久化到数据库中,极大地简…...

c#反射(Reflection)

当我们在C#中使用反射时,可以动态地获取和操作程序集、类型和成员。下面是一个简单的C#反射示例,展示了如何使用反射来调用一个类的方法: using System; using System.Reflection;public class MyClass {public void MyMethod(){Console.Wri…...

Lua 元表和元方法

一、元表 元表可以修改一个值在面对一个未知操作时的行为,Lua 中使用 table 作为元表的承载。 元表只能给出预先定义的操作集合的行为,比类会更加受限制,不支持继承。 Lua 每一个值都可以有元表 : 表和用户数据类型都具有各自…...

【Git】01-Git基础

文章目录 Git基础1. 简述1.1 版本管理演变1.2 Git的特点 2. Git安装2.1 安装文档2.1 配置user信息 3. 创建仓库3.1 场景3.2 暂存区和工作区 4. 重命名5. 常用git log版本历史5.1 查看当前分支日志5.2 简洁查看日志5.3 查看最近指定条数的日志 6. 通过图形界面工具查看版本7. 探…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...