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

太原网站建设鸣蝉公司/欧美网站建设公司

太原网站建设鸣蝉公司,欧美网站建设公司,做门户网站需要什么,旅游网站开发设计与实现视频matting 时序监督 摘要 我们介绍了一种稳健、实时、高分辨率的人类视频抠图方法,该方法取得了新的最先进性能。我们的方法比以前的方法轻得多,可以在Nvidia GTX 1080Ti GPU上以76 FPS处理4K,以104 FPS处理HD。与大多数现有的逐帧作为独…

视频matting
时序监督
在这里插入图片描述

摘要

我们介绍了一种稳健、实时、高分辨率的人类视频抠图方法,该方法取得了新的最先进性能。我们的方法比以前的方法轻得多,可以在Nvidia GTX 1080Ti GPU上以76 FPS处理4K,以104 FPS处理HD。与大多数现有的逐帧作为独立图像进行视频抠图的方法不同,我们的方法使用循环架构来利用视频中的时间信息,并在时间一致性和抠图质量方面取得了显著改进。此外,我们提出了一种新的训练策略,强制我们的网络同时满足抠图和分割目标。这显著提高了我们模型的稳健性。我们的方法不需要任何辅助输入,如trimap或预捕获的背景图像,因此可以广泛应用于现有的人类抠图应用程序

1. 简介

尽管大多数现有的方法[18, 22, 34]是为视频应用设计的,但它们将单个帧作为独立的图像进行处理。这些方法忽略了视频中最广泛可用的特征:时间信息。时间信息可以出于许多原因改善视频抠图性能。首先,它允许预测更一致的结果,因为模型可以看到多个帧和它自己的预测。这显著减少了闪烁并提高了感知质量。其次,时间信息可以提高抠图的稳健性。在个别帧可能模糊不清的情况下,例如前景颜色变得与背景中经过的物体相似,模型可以通过参考前面的帧更好地猜测边界。第三,时间信息允许模型随着时间了解更多关于背景的信息。当摄像机移动时,由于透视变化,主体后面的背景被揭示出来。即使摄像机固定不动,被遮挡的背景仍然经常由于主体的运动而显露出来。更好地了解背景简化了抠图任务。因此,我们提出了一种循环架构来利用时间信息。我们的方法显著提高了抠图质量和时间一致性。它可以应用于所有视频,而不需要任何辅助输入,如手动注释的trimap或预捕获的背景图像

大多数现有的方法都是在合成抠图数据集上进行训练的。样本通常看起来很假,阻止网络推广到真实图像。以前的工作[18, 22]曾试图用分割任务上训练的权重初始化模型,但模型在抠图训练期间仍然过度拟合到合成分布。其他人曾尝试在未标记的真实图像上进行对抗性训练[34]或半监督学习[18]作为额外的适应步骤。我们认为人类抠图任务与人类分割任务密切相关。同时进行分割目标的训练可以有效地调节我们的模型,而无需额外的适应步骤。

2. 网络结构

在这里插入图片描述
encoder
采用MobileNetV3-Large [15]作为我们高效的骨干网络,后面跟着MobileNetV3为语义分割任务提出的LR-ASPP模块。值得注意的是,MobileNetV3的最后一个块使用了扩张卷积而没有下采样步幅。编码器模块在单个帧上运行,并在1/2、1/4、1/8和1/16的尺度上提取特征,供循环解码器使用。

循环解码器
使用循环架构而不是注意力或简单地将多帧作为额外的输入通道进行前馈,原因有几个。循环机制可以在连续的视频流中自行学习保留和忘记哪些信息,而其他两种方法必须依靠固定的规则在每个间隔中删除旧信息并插入新信息到有限的内存池中。能够自适应地保留长期和短期时间信息的能力使循环机制更适合我们的任务。

我们的解码器在多个尺度上采用ConvGRU来聚合时间信息。我们选择ConvGRU是因为它比ConvLSTM更节省参数,因为它有更少的门。形式上,ConvGRU定义如下:
在这里插入图片描述
发现通过拆分和连接将ConvGRU应用于一半的通道是有效且高效的。这种设计有助于ConvGRU专注于聚合时间信息,而另一个拆分分支则将当前帧的空间特征向前传递。所有卷积都使用3×3内核,除了最后一个投影使用1×1内核。

DGF模块
我们采用[44]中提出的深度引导滤波器(DGF)进行高分辨率预测。当处理高分辨率视频时,我们会先将输入帧下采样,然后再通过编码器-解码器网络。然后,低分辨率的alpha、前景、最终隐藏特征以及高分辨率的输入帧被提供给DGF模块,以产生高分辨率的alpha和前景。整个网络进行端到端训练。

3. 训练

我们提出同时使用抠图和语义分割目标来训练我们的网络

数据集
视频包括各种运动,如汽车经过、树叶摇晃和摄像机移动。我们选择3118个不包含人类的剪辑,并从每个剪辑中提取前100帧。我们还按照[22]的方法爬取了8000张图像背景。这些图像有更多的室内场景,如办公室和客厅。我们在前景和背景上都应用运动和时间增强来增加数据多样性。运动增强包括仿射平移、缩放、旋转、剪切、亮度、饱和度、对比度、色调、噪声和模糊,这些变化会随着时间连续变化。运动采用不同的缓冲函数应用,使变化不总是线性的。增强还向图像数据集添加人工运动。此外,我们还在视频上应用时间增强,包括剪辑反转、速度变化、随机暂停和帧跳过。其他离散增强,如水平翻转、灰度和锐化,则始终应用于所有帧。

训练
我们的抠图训练分为四个阶段。它们旨在让我们的网络逐渐看到更长的序列和更高的分辨率,以节省训练时间。我们使用Adam优化器进行训练。所有阶段都使用批量大小B = 4,分布在4个Nvidia V100 32G GPU上。

stage1:
在VM上以低分辨率训练15个epoch,不使用DGF模块。我们设置一个短序列长度T = 15帧,以便网络能够更快地更新。MobileNetV3骨架使用预训练的ImageNet [32]权重初始化,并使用1e-4的学习率,而网络的其余部分使用2e-4。我们独立地在256和512像素之间采样输入分辨率的高度和宽度h,w。这使我们的网络对不同的分辨率和纵横比具有鲁棒性。

stage2:
将T = 50

stage3:
我们附加DGF模块并在VM上使用高分辨率样本训练1个epoch。由于高分辨率会消耗更多的GPU内存,序列长度必须设置得非常短。为了避免我们的循环网络过拟合到非常短的序列,我们在低分辨率长序列和高分辨率短序列上同时训练我们的网络。具体来说,低分辨率通道不使用DGF,T = 40,h,w∼(256,512)。高分辨率通道包含低分辨率通道,并使用下采样因子s = 0.25的DGF,Tˆ = 6和hˆ,wˆ∼(1024,2048)。我们将DGF的学习速率设置为2e-4,网络的其余部分设置为1e-5。

分割部分:
我们的分割训练在每次抠图训练迭代之间交错进行。我们在每个奇数迭代后对图像分割数据进行网络训练,在每个偶数迭代后对视频分割数据进行网络训练。分割训练应用于所有阶段。对于视频分割数据,我们使用与每个抠图阶段相同的B,T,h,w设置。对于图像分割数据,我们将它们视为仅包含1帧的视频序列,因此T0 = 1。这为我们提供了空间来应用更大的批量大小B0 = B×T。

4. 实验结果

与其他方法的比较
在这里插入图片描述
在真实场景
在图3a中,我们比较了所有方法的alpha预测,并发现我们的方法能更准确地预测细微的细节,如头发丝。在图3b中,我们对随机的YouTube视频进行实验。由于这些视频没有预先捕获的背景,我们从比较中删除了BGMv2。我们发现我们的方法对语义错误更具鲁棒性。在图3c和3d中,我们进一步比较了MODNet在手机和网络摄像头视频上的实时抠图。我们的方法能比MODNet更好地处理快速移动的身体部位。
在这里插入图片描述

参数和速度
在这里插入图片描述
CONVGRU的作用
所有VM测试剪辑的平均alpha MAD指标随时间的变化。我们的模型在前15帧中的误差显著下降,然后指标保持稳定。即使使用邻帧平滑技巧,MODNet的指标也有很大波动。
在这里插入图片描述
语义分割的作用

表5显示,当在仅包含人类和仅在人类类别上的COCO验证图像子集上进行评估时,我们的方法与语义分割方法一样鲁棒。我们的方法达到了61.50 mIOU,这在MobileNetV3和DeepLabV3在COCO上训练的性能之间是合理的,考虑到模型大小的差异。我们还尝试通过将α>0.5阈值化为二进制掩码来评估我们的alpha输出的鲁棒性,而我们的方法仍然达到了60.88 mIOU,表明alpha预测也是鲁棒的。

相关文章:

【论文】——Robust High-Resolution Video Matting with Temporal Guidance浅读

视频matting 时序监督 摘要 我们介绍了一种稳健、实时、高分辨率的人类视频抠图方法,该方法取得了新的最先进性能。我们的方法比以前的方法轻得多,可以在Nvidia GTX 1080Ti GPU上以76 FPS处理4K,以104 FPS处理HD。与大多数现有的逐帧作为独…...

第四章、用户体验五要素之范围层解析(本文作用是通俗讲解,让你更容易理解)

把用户需求和产品目标转换成特定的产品时应该提供给用户什么样的内容或者功能就变成了范围层。 范围层就是定义需求。如果不能很好的定义需求,那么你的软件永远都是测试待发布版本。如果产品只是负责人脑海中的一个不定型印象,那将是灾难性的。 1、产品负…...

计算机毕业论文内容参考|基于python的农业温室智能管理系统的设计与实现

文章目录 导文文章重点前言课题内容相关技术与方法介绍技术分析技术设计技术设计技术实现方面系统测试和优化总结与展望本文总结后续工作展望导文 计算机毕业论文内容参考|基于python的农业温室智能管理系统的设计与实现 文章重点 前言 本文介绍了一种基于Python的农业温室智…...

Java 进阶 -- 流

Java I/O, NIO, and NIO.2 BaseStream<T, S extends BaseStream<T, S>> extends AutoCloseable 流(streams)的基本接口&#xff0c;流是支持顺序和并行聚合操作的元素序列。下面的例子演示了一个使用流类型stream和IntStream的聚合操作&#xff0c;计算红色小部件…...

硬件 TCP/IP 协议栈

目录 全硬件的TCP/IP 协议栈简介以太网接入单片机方案以太网接口芯片CH395Q 简介以太网接口芯片CH395Q 命令简介以太网接口芯片CH395Q 寄存器配置与使用移植CH395Q 源码 TCP_Client 实验TCPClient 配置流程TCPClient 实验硬件设计程序设计下载验证 WebServer 实验WebServer 简介…...

word恢复和粘贴按钮变灰色,不可用怎么办?

如果 Word 中的恢复和粘贴按钮变成灰色&#xff0c;可能是由于以下原因之一&#xff1a; 1. 文档处于只读模式。 2. 与 Office 相关的某些组件已损坏或缺失。 3. Word 的文件权限被配置为只读。 以下是一些可能的解决方法&#xff1a; 1. 检查文档是否处于只读模式。 如果是…...

【unity技巧】Physics2D Raycast、Overlapcircle、OverlapBox检测的用法

文章目录 分析检测地面1. 使用Raycast1.1 介绍1.3 场景窗口可视化1.4 完整实例代码1.4 存在问题1.4.1 问题11.4.2 问题2 2. 使用Overlapcircle2.1 介绍2.2 场景窗口可视化2.3 完整实例代码2.4 存在问题 3. 使用OverlapBox3.1 介绍3.2 场景窗口可视化3.3 完整实例代码3.4 注意事…...

一、kafka入门

Kafka入门 为什么要用消息中间件&#xff1f; 异步处理 场景说明&#xff1a;用户注册后&#xff0c;需要发注册邮件和注册短信。传统的做法有两种1.串行的方式&#xff1b;2.并行方式。 串行方式&#xff1a;将注册信息写入数据库成功后&#xff0c;发送注册邮件&#xff…...

公司新来一00后,真让人崩溃...

2022年已经结束结束了&#xff0c;最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;相信很多小伙伴也在准备今年的金九银十的面试计划。 在此展示一套学习笔记 / 面试手册&#xff0c;年后跳槽的朋友可以好好刷一刷&#xff0c;还是挺有必要的&#xff0c;它几乎涵盖了所有的…...

(1Gb)S28HS01GTGZBHA030/ S28HS01GTGZBHV033/ S28HS01GTGZBHA033 FLASH - NOR闪存器件

产品简介&#xff1a; Infineon 带有HyperBus™的S26HSxT以及S26HLxT Semper™闪存是一种高性能、安全可靠的NOR闪存解决方案。 这些组件集成了关键的安全功能&#xff0c;用于汽车、工业、通信等行业的各种应用。S26HSxT和S26HLxT Semper闪存采用HyperBus接口&#xff0c;符…...

苹果服务端通知v2处理(AppStore Server Notifications V2)

苹果服务端通知v2处理 关键词: App Store Server Notifications V2、Python源码、苹果订阅、JWS、x5c、JSON WEB TOKEN 背景 最近要接入苹果订阅功能&#xff0c;调研后发现订阅生命周期内的状态变更是通过苹果服务端通知返回的(什么时候普通内购也能加上减少掉单的概率)&am…...

matlab 道路点云路缘石边界提取

目录 一、功能概述1、算法概述2、主要函数3、参考文献二、代码实现三、结果展示四、参考链接一、功能概述 1、算法概述 1、对于扫描线上的每个点,该函数计算这三个特征。 高差特征——计算一个点周围的标准偏差和高度最大差。路缘石点的标准偏差和高度差必须分别在指定的Heig…...

二叉树详解:带你掌握二叉树

目录 前言1. 树型结构1. 1 树的概念1.2 树的特点1.3 树的相关术语 2. 二叉树&#xff08;binary tree&#xff09;2.1 二叉树的概念2.2 二叉树中的特殊树2.2.1 满二叉树2.2.2 完全二叉树 2.3 二叉树的性质 3. 二叉树的遍历3.1 前序遍历3.2 中序遍历3.3 后序遍历3.4 层序遍历 总…...

LNMP网站框架搭建(编译安装)

目录 一、Nginx的工作原理 工作进程&#xff1a; 二、Nginx编译安装安装 三、mysql的编译安装 四、php的编译安装 验证PHP与nginx的是否连接 验证lnmp的是否搭建成功 五、部署 Discuz&#xff01;社区论坛 一、Nginx的工作原理 php-fpm.conf 是控制php-fpm守护…...

详解Servlet API

目录 前言 HttpServlet HttpServletRequest 代码实例 打印请求信息 通过URL中的queryString进行传递。 通过post请求的body&#xff0c;使用form表单传递 通过POST 请求中的 body 按照 JSON 的格式进行传递 HttpServletResponse 核心方法代码实例 设置状态码 自动刷…...

【小白教程】Docker安装使用教程,以及常用命令!

【小白教程】Docker安装使用教程&#xff0c;以及常用命令&#xff01; - 带你薅羊毛最近调试Docker内容&#xff0c;顺手记录一下&#xff0c;我常用的几个命令&#xff01;这里总结一下&#xff0c;方便自己也同时方便大家使用&#xff01; 内容慢慢完善更新&#xff01;如有…...

TypeScript基础

TS编译运行 ts不是在终端运行&#xff0c;是一门中间语言&#xff0c;最终编译为js运行。 手动编译 // 1. ts编译为js npm i -g typescript // 查看版本 tsc -v// 2. ts直接运行&#xff0c;主要用来查看是否报错 npm i -g ts-node // 查看版本 ts-node -v1.手动编译ts代码 …...

QML学习二:Doxygen为qml工程生成代码文档

效果如下: 设置后能够支持.js和.qml文档。 QML学习二:Doxygen为工程生成注释文档 前言一、安装doxyqml二、Doxygen设置1.文档目录设置2.文档目录设置三、添加注释总结前言 好的代码必须配一个好的文档说明,方便以后维护以及学习。 前提条件: 1.安装好了Doxygen代码生成工…...

Vue 有哪些经典面试题?

前言 下面总结了vue的一些经典的面试题&#xff0c;希望对正在找工作面试的小伙伴们提供一些帮助&#xff0c;我们废话少说直接进入整体、 简述一下什么是MVVM模型 MVVM&#xff0c;是Model-View-ViewModel的简写&#xff0c;其本质是MVC模型的升级版。其中 Model 代表数据模…...

pandas速学-DataFrame

一、理解DataFrame 他是一个表格结构&#xff1a;DataFrame 是一个表格型的数据结构 他是有序的&#xff0c;不同值类型&#xff1a;它含有一组有序的列&#xff0c;每列可以是不同的值类型&#xff08;数值、字符串、布尔型值&#xff09;。 他可以被看做一个由series组成的…...

在任务与执行策略之间的隐性耦合

我们已经知道&#xff0c; Executor 框架可以将任务的提交与任务的执行策略解耦开来。就像许多对复杂过程的解耦操作那样&#xff0c;这种论断多少有些言过其实了。虽然Executor 框架为制定和修改执行策略都提供了相当大的灵活性&#xff0c;但并非所有的任务都能适用所有的执行…...

Spring Cloud Alibaba Nacos 构建配置中心

构建配置中心 新建命名空间 登录 Nacos 面板&#xff0c;依次点击左侧菜单栏【命名空间→新建命名空间】、填写命名空间名和描述信息&#xff0c;点击【确定】&#xff1a; 新建配置文件 依次点击左侧菜单栏【配置管理→配置列表】、切换到指定命名空间【此处为 shop】、点击…...

华为OD机试真题 Java 实现【猴子爬山】【2023 B卷 100分】,附详细解题思路

一、题目描述 一天一只顽猴想去从山脚爬到山顶,途中经过一个有个N个台阶的阶梯,但是这猴子有一个习惯: 每一次只能跳1步或跳3步,试问猴子通过这个阶梯有多少种不同的跳跃方式? 二、输入描述 输入只有一个整数N(0<N<=50)此阶梯有多少个阶梯。 三、输出描述 输…...

【19JavaScript for 循环】JavaScript for 循环:掌握重复执行的关键

JavaScript for 循环 在JavaScript中&#xff0c;for循环是一种常用的循环结构&#xff0c;它允许您重复执行一段代码&#xff0c;达到循环的目的。 基本语法 for (initialization; condition; iteration) {// 要执行的代码}for循环由以下几个关键部分组成&#xff1a; init…...

MySQL学习(联结,组合查询,全文本搜索)

联结 SQL最强大的功能之一就是能在数据检索查询的执行中联结表&#xff1b; 关系表 为什么要使用关系表&#xff1f; 使用关系表可以储存数据不重复&#xff0c;从而不浪费时间和空间&#xff1b;如果有数据信息变动&#xff0c;只需更新一个表中的单个记录&#xff0c;相关…...

Nautilus Chain:独特且纯粹的创新型 Layer3

以 Layer3 架构为主要特点的模块化公链 Nautilus Chain 即将在近期上线主网&#xff0c;这也进一步引发了行业关于 Layer3 的讨论。 实际上&#xff0c;在2022年以太坊的创始人 Vitalik 提出了三大目标&#xff1a;Layer2 用于扩展&#xff0c;Layer3 用于定制功能&#xff0c;…...

十六、立方体贴图(天空盒)

第一部分 概念&#xff1a; 1) 引用 OpenGL ES 立方体贴图本质上还是纹理映射&#xff0c;是一种 3D 纹理映射。立方体贴图所使的纹理称为立方图纹理&#xff0c;它是由 6 个单独的 2D 纹理组成&#xff0c;每个 2D 纹理是立方图的一个面。 立方图纹理的采样通过一个 3D 向量…...

UniAD:实现多类别异常检测的统一模型

来源&#xff1a;投稿 作者&#xff1a;Mr.Eraser 编辑&#xff1a;学姐 论文标题&#xff1a;用于多类异常检测的统一模型 论文链接&#xff1a;https://arxiv.org/abs/2206.03687 论文贡献&#xff1a; 提出UniAD&#xff0c;它以一个统一框架完成了多个类别的异常检测。 …...

Java 面试 | tcp ip http https(2023版)

文章目录 HTTP&HTTPS1、Http和Https的区别?2、什么是对称加密与非对称加密3、客户端不断进行请求链接会怎样?DDos(Distributed Denial of Service)攻击?4、GET 与 POST 的区别?5、什么是 HTTP 协议无状态协议?怎么解决Http协议无状态协议?6、Session、Cookie 与 Appl…...

全志V3S嵌入式驱动开发(音频输出和音频录制)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 之前在芯片公司的时候&#xff0c;基本没有看过音频这一块&#xff0c;只知道有个alsa框架这么个知识点。要驱动音频&#xff0c;需要两部分&#…...