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:i∈N,其中可以分为两个不相交的集合。两个玩家{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 LR、LF,这样每个玩家都会针对自己而不是群体进行优化。为了解决这个问题,我们的培训周期分为两个阶段。
在第一阶段,我们通过固定调节器网络 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.012,c2=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,之后就是反复复习和背八股了吧,然后整整项目春招再投投投,感觉大部分题都有思路了但是做过的题也会没思路,还是要复习 总结 数组: 双指针用的很多,一般一个指向遍历位置࿰…...
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]…...
代码大全阅读随笔(五)
数据初始化要点: 数据初始化过程很容易出错,所以请使用本章介绍的方法,来初始化数据,从而避免由于非预期的初始化值而造成的错误。 最小化变量作用域。 使用相同的变量的语句尽可能的集中在一起。 早期绑定会减少灵活性࿰…...
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. 探…...
【Vue2.0源码学习】生命周期篇-初始化阶段(initState)
文章目录 1. 前言2. initState函数分析3. 初始化props3.1 规范化数据3.2 initProps函数分析3.3 validateProp函数分析3.4 getPropDefaultValue函数分析3.5 assertProp函数分析 4. 初始化methods5. 初始化data6. 初始化computed6.1 回顾用法6.2 initComputed函数分析6.3 defineC…...
专升本英语零基础学习
1. 词法 1.1 名词 名词(n.),是词类的一种,属于实词。他表示人,物,事,地点或抽象概念的统一名称。 1.1 名词的含义 名词(n.),是词类的一种,属于实词。他表示人&#x…...
QUIC协议连接详解(二)
目录 一:RTT解释 二:QUIC 1-RTT连接 三:QUIC 0-RTT连接 一:RTT解释 在介绍QUIC协议的连接之前先科普一下什么是RTT。RTT是Round-Trip Time的英文缩写,翻译过来就是一趟来回的时间即往返时延。时间计算即从发送方发送…...
JAVA 经常遇到一些问题【第二部分36~51】
重拾者: 每日记录至目前(记录51种不同场景的问题可参考解决方案) 异常就两部分: 1、excepiton信息: 报错产生的原因 2、at开头表示: 异常产生的代码位置。 欢迎关注本人微信公众号:AIM…...
蓝桥杯打卡Day6
文章目录 N的阶乘基本算术整数查询 一、N的阶乘OI链接 本题思路:本题是关于高精度的模板题。 #pragma GCC optimize(3) #include <bits/stdc.h>constexpr int N1010;std::vector<int> a; std::vector<int> f[N];std::vector<int> mul(in…...
spark集群问题汇总
一、 磁盘问题 问题描述可能原因解决措施core节点磁盘不足, 并且持续增加未开启spark-history的日志清理打开日志清理: spark.history.fs.cleaner.enabled task节点磁盘不足 APP应用使用磁盘过大: 1. 严重的数据倾斜 2. 应用本身数据量大 1. 解决数据倾斜 2. 加大资源, 增加e…...
WebServer 解析HTTP 请求报文
一、TCP 状态转换 浏览器访问网址,TCP传输全过程 二、TCP协议的通信过程 三、TCP 通信流程 // TCP 通信的流程 // 服务器端 (被动接受连接的角色) 1. 创建一个用于监听的套接字- 监听:监听有客户端的连接- 套接字:这…...
Golang开发--interface的使用
在Go语言中,接口(interface)是一种特殊的类型,它定义了一组方法的集合。接口为实现多态性提供了一种机制,允许不同的数据类型实现相同的方法,从而可以以统一的方式处理这些不同类型的对象。接口在Go中广泛用…...
2023 年高教社杯全国大学生数学建模竞赛题目 B 题 多波束测线问题
B 题 多波束测线问题 单波束测深是利用声波在水中的传播特性来测量水体深度的技术。声波在均匀介质中作匀速直线传播,在不同界面上产生反射,利用这一原理,从测量船换能器垂直向海底发射声波信号,并记录从声波发射到信号接收的传播…...
leetcode算法题--生成特殊数字的最少操作
原题链接:https://leetcode.cn/problems/minimum-operations-to-make-a-special-number/description/ 感觉还是比较难想到的。。 func minimumOperations(num string) int {res : len(num)if strings.Contains(num, "0") {res-- }f : func(tail string)…...
自己电脑上做的网站 怎么让别人看/杭州网站建设公司
将下面的程序补充完整(包括定义函数),使其能够完成图示的功能。请使用已有程序的风格。/* * Copyright (c) 2014,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:demo.cpp * 完成时间:2014年…...
丹东做网站/网页制作软件dw
EnableTaskWindows DisableTaskWindows 在Delphi中显示一个窗口有两种方式,模态方式显示(ShowModal)和非模态方式显示(Show),模态方式显示窗口时,必须在自身关闭后才能使父窗口起作用,但有时我们想要实现一…...
建站网站教程视频教程/网站seo百度百科
ant 使用指南 一、概述 ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。在实际软件开发中,有很多地方可以用到ant。 开发环境: System:Windows JDK:1.6 IDE&…...
做网站公司高端/搜狗站长工具综合查询
原标题:django打造电商项目本课程的特点是实战,老师将手把手教大家搞个“大”项目,开发一套功能完备的系统!全程采用企业级标准电商平台实战项目,以互联网公司标准开发流程,带领大家实践从0到项目正式上线。…...
福田做棋牌网站建设/湖州seo排名
1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import jav…...
湘潭网站建设哪些公司/营销计划怎么写
Trick 【题目描述】 暴躁的稻草人,最终以自爆来给我们的队伍致命一击,全队血量见底,稻草人也一分为二。还好我们有雨柔妹子,瞬间精力回满。不过事后姜小弟和龙腹黑就开始了报复。 他们读取存档,将若干暴躁的稻草人活捉…...