Monocular arbitrary moving object discovery and segmentation 论文阅读

基本信息

题目:Monocular Arbitrary Moving Object Discovery and Segmentation
作者
在这里插入图片描述
来源:BMVC
时间:2021
代码地址:https://github.com/michalneoral/Raptor

Abstract

我们提出了一种发现和分割场景中独立移动的物体或其部分的方法。给定三个单眼视频帧,该方法输出语义上有意义的区域,即对应于整个对象的区域,即使只有其中一部分移动。

基于 CNN 的端到端方法的架构称为 Raptor,它结合了语义和运动主干,将其输出传递到最终的区域分割网络。语义主干以与类无关的方式进行训练,以便泛化到训练数据之外的对象类。运动分支的核心是根据光流、光学扩展、单深度和估计的相机运动计算出的几何成本量。

对所提出的架构在 KITTI、DAVIS-Moving 和 YTVOSMoving 数据集上的实例运动分割和二元动静态分割问题的评估表明,所提出的方法在所有数据集上实现了最先进的结果,并且能够很好地泛化到各种环境。对于KITTI数据集,我们提供了升级的实例运动分割注释,涵盖了所有运动对象。

Introduction

只有单个相机可用(单目视觉),相机不一定是静态的,并且处理需要是因果的。目标是发现并分割所有独立移动的“物体”。我们将该问题称为移动对象发现和分割 – MODaS

Object define

MODaS 规范的关键是实例或对象的定义。常用的定义(参见第 2 节)是几何定义——一组经历相同刚性运动并在空间上连接的像素。此定义在两种重要情况下失败:(i) 当对象不是刚性的时,以及 (ii) 当两个语义不同但邻近的对象移动相似时(参见图 1)。对于应用程序来说,过度分割和分割不足的情况都是有问题的。例如,当一个人移动她的腿时,应该返回整个人的轮廓,因为要预测位置的是人,而不是腿。因此,移动对象在几何上被定义,其部分独立于相机运动而移动,并且在语义上,它是语义上有意义的实体。
在这里插入图片描述

Object discovery

对象发现与现代检测器密切相关,因为它们不仅输出位置,还输出可能数百个类别的分割[18]。在这方面,我们更进一步,使用以与类无关的方式训练的检测器[14],其中所有类都合并为单个“对象”类。这样,检测器可以更好地概括训练期间未见过的类别的对象(例如,当训练数据仅包含马时检测到骆驼)。为了将其与已知类的检测问题区分开来,我们将其称为对象发现。

Independent motion

独立运动。当一个物体(或其部分)的表观运动不是相机自我运动的结果时,该物体(或其一部分)被认为是独立移动的。一般来说,从单目相机识别此类运动是一个不适定问题。由于光流本身只是 3D 场景运动的 2D 投影,因此其解释是不明确的。单目深度估计的最新进展提供了克服这些模糊性的可能方法。对于统计数据与训练数据集相似的场景,单一深度可以作为真实深度的有用先验,并且能够消除观察到的运动的歧义[46]

Contribution

我们提出了一种名为 Raptor 的基于 CNN 的架构,它基于语义和几何处理的新颖组合。我们表明,与类无关的语义部分导致了语义上有意义的对象的发现,而几何运动成本量处理解决了明显的运动歧义。该网络发现刚性和非刚性移动对象及其实例分割掩模。与大多数方法 [14、15、20、31、33、38、46] 不同,Raptor 架构使用三个框架进行 MODaS。我们是第一个将几何部分扩展到两帧处理之外的人。

我们表明,对两个方向(向前和向后)的几何特征的估计提高了 Raptor 的发现和分割输出的精度

Architecture

所提出的 Raptor 架构如图 2 所示。它有两个输入分支:一个生成语义特征(绿色),另一个使用运动成本量 (MCV) 生成运动特征(橙色)。它们的输出被连接并发送到混合任务级联(HTC)[11]头,该头生成移动对象掩模。

在这里插入图片描述

Semantic backbone

语义主干(图 2 (a))改编自 DetectoRS 架构 [29]。它围绕递归特征金字塔主干 (RFP) 和可切换空洞卷积 (SAC) 构建。我们使用主干网的 ResNet-50 变体。

为了将检测管道转换为对象发现方法,以便它更好地推广到未知类,我们遵循[14]的类不可知训练的思想。我们在对象分割问题 [21] 上训练主干网络和临时 HTC 头,将所有对象类别合并为单个“对象”类别。本次训练不存在运动分支。 [14] 中已经表明,这种方法可以更好地预测未知类。训练结束后,HTC 头被丢弃,语义主干权重被固定。

Motion branch

运动分支(图 2 (b))的灵感来自于最近的刚体运动分割方法 [46]。它使用单眼深度 D t D_t Dt 、光流 F t − > t + 1 F_{t->t+1} Ft>t+1、光学扩展 E t + 1 E_{t+1} Et+1 和自我运动估计 [ R t + 1 , t t + 1 ] [R_{t+1},t_{t+1}] [Rt+1,tt+1] 作为前向运动成本体积 (MCV) 构造的输入。我们使用 F t − > t − 1 F_{t->t-1} Ft>t1 E t − 1 E_{t-1} Et1 [ R t − 1 , t t − 1 ] [R_{t-1},t_{t-1}] [Rt1,tt1] 进一步计算“向后”MCV。和[46]一样,我们为每个方向构建一个 14 通道 MCV,包括:对极几何的每像素 Samson 误差、每像素旋转单应性重投影误差、3D P+P 成本、深度对比度成本、重建 3D来自光流的场景点、校正运动场、光流和光学扩展的不确定性以及 3D 角度 P+P 成本。这些成本旨在指示与估计的自我运动的不一致,同时处理共面或共线运动或自我运动简并的各种模糊性。

运动分支主干架构与语义主干架构类似,但它不是基于 ResNet-50,而是基于 ResNet-18 DetectoRS 架构构建。输入是每个方向的 14 通道运动成本量。图像特征不直接输入到运动主干。向前和向后方向的MCV一一穿过运动主干。运动分支是用另一个临时 HTC 头单独预训练的,没有 MODaS 问题的语义主干。训练结束后,临时 HTC 头再次被丢弃,运动主干被固定。

Semantic + motion

语义 + 运动(图 2 (b)) 两个分支的输出被连接起来。

语义分支产生五个特征张量 F 1 / 4 、 F 1 / 8 、 F 1 / 16 、 F 1 / 32 、 F 1 / 64 F_{1/4} 、F_{1/8}、 F_{1/16} 、 F_{1/32} 、 F_{1/64} F1/4F1/8F1/16F1/32F1/64 ,空间分辨率递减,每个特征张量有 256 个通道。

原始运动分支生成每个方向 256 个通道的特征张量。面对训练设备的内存限制,我们通过额外的 1x1 卷积层将输出标准化为 128 通道。然后,两个方向的输出与语义主干的特征连接并馈送到 HTC 头(总共 512 个通道)。由于 MCV 仅针对刚体运动而设计,因此它会报告铰接对象的仅部分不一致问题。 HTC 头的任务是将这些部分不一致与语义特征结合在一起,并输出完整的运动对象分割掩模。

两个分支在最终训练中都是固定的,并且只有最终的 HTC 头部接受了移动物体发现的训练。运动分支归一化 1x1 CNN 层在训练的最后阶段与 HTC 一起进行训练。

Improvement of MCV components

MCV 组件的改进。运动分支使用多种外部算法来生成其输入。我们还小心翼翼地将它们带到文献中最先进的版本。我们使用 RAFT [32] 代替原来较旧且较弱的 VCN [45] 光流估计器。我们在广泛的数据集上训练 RAFT(鲁棒视觉挑战风格,如先前的作品 [24, 39] 展示了增强的泛化能力)。使用此光流估计,我们还重新训练了光学扩展部分。

与原始 VCN 不同,RAFT 不输出超出范围的置信度,这是 MCV 中的通道之一。我们将其替换为类似的前向-后向一致性成本,该成本针对 MCV 计算为 F t − > t + 1 + w a r p ( F t + 1 − > t ; F t − > t + 1 ) F_{t->t+1} + warp(F_{t+1->t} ;F_{t->t+1}) Ft>t+1+warp(Ft+1>t;Ft>t+1),其中 warp 操作转换流 $F_{t+1->t}到框架 t。我们不设置该值的阈值。

Experiments

MCV 的构建需要内部相机参数和相机运动 [R;t] 的估计,以分解基本矩阵。我们选择 NG-RANSAC [6] 进行基本矩阵估计,因为它允许在未来的工作中进行可能的端到端训练。

对于不包含相机固有参数的数据集,我们将焦距设置为 1 / m a x ( I w i d t h , I h e i g h t ) 1/max(I_{width},I_{height}) 1/max(Iwidth,Iheight),并将主点设置为图像的中点。

Failure case

在这里插入图片描述

(见图 5)最常见的问题是缓慢移动的物体、远离相机的物体或靠近扩展点的物体。它们的检测可能需要更长的时间整合。观察到的另一个问题是合并不明确的对象实例(带包的人、摩托车及其驾驶员等)。 Raptor 还与明显被遮挡的对象(树叶、条形后面……)作斗争,有时会返回静态但语义上有意义的对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TDengine(taos)数据库导出历史数据

业务需求:导出某个站点的累计充电量,累计放电量,光伏总放电量,进线总功率的所有数据‘ 1、登录taos,使用存数据的库; 提示Database changed;即为使用成功; 2、找到你想要导出的字段…

Spring Boot Web 项目配置解决跨域

文章归档:https://www.yuque.com/u27599042/coding_star/xc80n6opewy92kfp 通过编写配置类实现 WebMvcConfigurer 接口解决跨域 在项目中增加 WebMvcConfigurer 接口的实现配置类 WebMvcConfig import org.springframework.context.annotation.Configuration; imp…

制作macOS Ventura U盘启动盘教程

macOS 14更新一段时间了,发现某些应用不适配想要无损降级,如何进行macOS的降级呢,除了备份好的时间机器备份,还需要一个可以引导的macOS U盘安装器,如何制作macOS 13 Ventura 系统启动U盘呢,小编带来对新手…

【uniapp】小程序开发7:自定义组件、自动注册组件

一、自定义轮播图组件、自动注册 以首页轮播图组件为例。 1、创建组件文件src/components/my-swipper.vue 代码如下&#xff1a; <template><view><view class"uni-margin-wrap"><swiper class"swiper" circular :indicator-dots…

ES6初步了解生成器

生成器函数是ES6提供的一种异步编程解决方案&#xff0c;语法行为与传统函数完全不同 语法&#xff1a; function * fun(){ } function * gen(){console.log("hello generator");}let iterator gen()console.log(iterator)打印&#xff1a; 我们发现没有打印”hello…

前端(二十三)——轮询和长轮询

&#x1f62b;博主&#xff1a;小猫娃来啦 &#x1f62b;文章核心&#xff1a;实现客户端与服务器实时通信的技术手段 文章目录 前言轮询技术轮询的概念轮询的实现原理轮询的优缺点轮询的使用场景 长轮询技术长轮询的概念长轮询的实现原理长轮询的优缺点长轮询的使用场景 轮询与…

《C和指针》笔记34:字符串函数

文章目录 1. 获取字符串长度strlen 2. 复制字符串strcpystrncpy 3. 拼接字符串strcatstrncat 4. 字符串比较strcmpstrncmp 1. 获取字符串长度 strlen 库函数strlen的原型如下&#xff1a; size_t strlen( char const *string );注意strlen返回一个类型为size_t的值。这个类型…

【K8S】常用的 Kubernetes(K8S)指令

常用的 Kubernetes&#xff08;K8s&#xff09;指令&#xff1a; 创建一个资源&#xff1a;kubectl create <资源类型> <资源名称> 例如&#xff1a;kubectl create deployment my-deployment 获取资源列表&#xff1a;kubectl get <资源类型> 例如&#xf…

[备忘.Linux]服务部署管理常用命令|systemd

在Linux上部署程序、排查程序问题会用到的一些常用命令。 偶尔会要用到&#xff0c;特放这里备忘和分享。 服务 服务&#xff08;service&#xff09;&#xff0c;指常驻在内存中的程序。 --启动服务。如果服务已经在运行&#xff0c;会忽略启动命令。 sudo systemctl star…

SpringBoot运行流程源码分析------阶段三(Spring Boot外化配置源码解析)

Spring Boot外化配置源码解析 外化配置简介 Spring Boot设计了非常特殊的加载指定属性文件&#xff08;PropertySouce&#xff09;的顺序&#xff0c;允许属性值合理的覆盖&#xff0c;属性值会以下面的优先级进行配置。home目录下的Devtool全局设置属性&#xff08;~/.sprin…

用 Go 访问 MySql 数据库

所有代码样例 package mainimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" )var db *sql.DB// 初始化连接 func initDB() (err error) {db, err sql.Open("mysql", "root:mm..1213tcp(127.0.0.1:3306)/chapte…

【JavaEE】网络原理---TCP协议的易懂图文详解(确认应答、超时重传、连接管理、滑动窗口、流量控制)

一、TCP协议 TCP&#xff0c;即Transmission Control Protocol&#xff0c;传输控制协议。人如其名&#xff0c;要对数据的传输进行一个详细的控制。 1.1 TCP协议格式 &#xff08;为了方便排版这样化的&#xff0c;我们从上到下依次理解&#xff09; 二、TCP原理 2.1 确…

【linux系列】创建软连接

文章目录 作用命令创建软连接删除软链接修改软链接 参数 作用 现在服务器使用的时候&#xff0c;可视化界面仅显示固定目录下的内容&#xff0c;无法访问前序目录&#xff0c;导致查看内容非常麻烦&#xff0c;这时候软连接的作用就显现出来了&#xff0c;在当前目录下连接上&…

【Spring】使用aop切面编程时要给那些类加注解

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理 Spring 中使用aop切面编程时要给那些类加注解 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一…

C++入门(4):auto、范围for、nullptr

一、关键词 auto 1.1 概念 auto 作为一个新的类型指示符来指示编译器&#xff0c;auto 声明的变量必须由编译器在编译时期推导而得。 #include <iostream> using namespace std;int main() {int a 0;auto b a;auto c &a;auto* d &a;auto& e a;cout &…

使用达梦数据库的总结

–修改当前会话所在模式&#xff1a; set schema 模式名;–创建表空间、用户名并为用户指定表空间&#xff0c;并为用户授权 create tablespace "RSGL_BZK" datafile REGL_BZK.DBF size 7488 autoextend on next 128 maxsize 33554431 CACHE NORMAL; create user …

【工具】Java请求带http重定向的地址 自动进行重定向

【工具】Java请求带http重定向的地址 自动进行重定向 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;public class HTTPGETWithMultipleHeaders {public static voi…

嵌入式实时操作系统的设计与开发(信号量学习)

信号量 除了临界点机制、互斥量机制可实现临界资源的互斥访问外&#xff0c;信号量&#xff08;Semaphore&#xff09;是另一选择。 信号量与互斥量的区别 对于互斥量来说&#xff0c;主要应用于临界资源的互斥访问&#xff0c;并且能够有效地避免优先级反转问题。对于信号量…

Linux下导出dump文件(Oracle和PG数据)

dump文件可以快速的导入导出&#xff0c;所以在数据量较大的情况下用其他方法导出数据都不如dump。 不管是什么数据库&#xff0c;第一步都需要登录Oracle用户 su - oracle登录之后可以选择导出文件到当前目录 Oracle数据库导出&#xff1a; exp 数据库用户名/密码localhos…

UE4 中可全局获取的变量(例如游戏实例、玩家控制器等) 详解

目录 0 引言1 全局对象&#xff08;全局变量&#xff09;1.1 游戏实例 GameInstance1.1.1 介绍1.1.2 使用 GameInstance 1.2 玩家控制器 PlayerController1.3 游戏世界类 UWorld &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&…