【通过改变压缩视频的分辨率实现高效的视频语义分割】CVPR2022论文精度
Efficient Semantic Segmentation by Altering Resolutions for Compressed Videos
- Efficient Semantic Segmentation by Altering Resolutions for Compressed Videos
- Basic Information:
- 论文简要 :
- 背景信息:
- a. 理论背景:
- b. 技术路线:
- 结果:
- a. 详细的实验设置:
- b. 详细的实验结果:
Efficient Semantic Segmentation by Altering Resolutions for Compressed Videos
Basic Information:
Title: Efficient Semantic Segmentation by Altering Resolutions for Compressed Videos (通过改变压缩视频的分辨率实现高效的语义分割)
Authors: Yubin Hu, Yuze He, Yanghao Li, Jisheng Li, Yuxing Han, Jiangtao Wen, Yong-Jin Liu (胡宇斌, 何宇泽, 李洋浩, 李继升, 韩宇星, 温江涛, 刘永金)
Affiliation: Department of Computer Science and Technology, Tsinghua University (清华大学计算机科学与技术系)
Keywords: Video semantic segmentation, altering resolution, compressed videos, computational cost, feature fusion (视频语义分割,改变分辨率,压缩视频,计算成本,特征融合)
论文简要 :
通过改变压缩视频的分辨率,提出了一种名为AR-Seg的高效语义分割框架,通过特征融合和特征相似性训练策略,实现了对非关键帧的低分辨率处理,从而显著降低了计算成本,同时保持了高的分割准确性。
背景信息:
论文背景: 视频语义分割是一项计算量巨大的任务,由于需要对高帧率视频进行逐帧预测。过去的工作主要集中在设计紧凑模型或自适应网络策略来提高语义分割的效率,但没有考虑到影响计算成本的重要因素:输入分辨率。
过去方案: 过去的方法主要集中在设计紧凑和高效的图像分割架构,以减少每帧的计算开销,或者通过在关键帧上使用深度模型,在非关键帧上使用浅层网络来避免重复计算。
论文的Motivation: 通过观察发现,过去的方法忽略了输入分辨率对计算成本的影响。本文提出了一种新的方法,通过利用视频中的时序相关性,使用压缩视频中的运动矢量来推断和丰富低分辨率帧中缺失的局部特征,从而避免了降低分辨率带来的分割准确性损失。本文的研究动机是基于对现有方法的不足之处,并从背景知识出发,提出了新的研究思路。
方法:
a. 理论背景:
本文提出了一种名为AR-Seg的改变分辨率框架,用于压缩视频中高效的视频语义分割(VSS)。AR-Seg旨在通过在非关键帧上使用低分辨率来减少计算成本。为了防止性能下降,设计了一种名为Cross Resolution Feature Fusion(CReFF)模块,用于将高分辨率关键帧的特征映射到低分辨率非关键帧,以实现更好的空间对齐。提出了Feature Similarity Training(FST)策略,通过使用高分辨率特征对聚合特征进行监督,以保持分割准确性。在CamVid和Cityscapes数据集上的实验结果表明,AR-Seg在使用PSPNet18骨干网络时实现了最先进的性能,并节省了67%的计算成本,同时保持了高的分割准确性。
b. 技术路线:
AR-Seg框架由两个分支组成:一个用于关键帧的高分辨率(HR)分支和一个用于非关键帧的低分辨率(LR)分支。HR分支在高分辨率上预测分割结果,并提供中间特征作为LR分支的参考。LR分支与HR分支使用相同的骨干网络,并使用CReFF模块将HR特征聚合到LR特征中。聚合特征然后转换为像素级的语义标签。
结果:
a. 详细的实验设置:
在CamVid和Cityscapes数据集上评估了AR-Seg框架,用于街景视频语义分割。实验结果表明,AR-Seg在节省计算成本的同时,实现了与基于图像的方法相当或更好的性能。AR0.5-模型在减少67%计算成本的同时,实现了与1.0x分辨率基准相似的性能。与其他基于视频的方法相比,AR-Seg模型在保持单帧骨干模型准确性的同时,减少了55%以上的计算成本。
b. 详细的实验结果:
实验结果表明,AR0.6-Bise18模型在准确性和计算成本方面都表现出色。在CamVid数据集上进行了消融研究,评估了CReFF和FST方法中不同组件的重要性。验证了对关键帧特征进行变形和使用局部注意力进行融合的必要性。评估了FLA组件的设计,发现7x7邻域在计算和准确性之间取得了良好的平衡。将CReFF组件放置在最终的1x1卷积层之前可以获得最佳性能。FST策略包括MSE Loss和共享的最终卷积层,提高了分割性能。调整了LR分支的分辨率,发现AR-Seg在所有分辨率下都提高了两个骨干网络的准确性。研究了帧之间的时间间隔,发现AR0.5-PSP18在与关键帧的所有距离上都保持了高的准确性。
相关文章:
【通过改变压缩视频的分辨率实现高效的视频语义分割】CVPR2022论文精度
Efficient Semantic Segmentation by Altering Resolutions for Compressed Videos Efficient Semantic Segmentation by Altering Resolutions for Compressed VideosBasic Information:论文简要 :背景信息:a. 理论背景:b. 技术路线: 结果:a. 详细的实验设置:b. 详细的实验结果…...
golang 时间工具类
用不习惯也嫌麻烦每次都去操作时间,然后就自己写了个时间工具类 package timeutilimport ("time" )func New() *TimeUtil {return &TimeUtil{} }// TimeUtil 是时间操作工具类 type TimeUtil struct{}// GetFormattedDate 获取格式化的日期字符串 fun…...
剑指 Offer 44.!! 数字序列中某一位的数字
参考资料 剑指 Offer 44. 数字序列中某一位的数字 中等 351 相关企业 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。…...
16K个大语言模型的进化树;81个在线可玩的AI游戏;AI提示工程的终极指南;音频Transformers课程 | ShowMeAI日报
👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 LLM 进化树升级版!清晰展示 15821 个大语言模型的关系 这张进化图来自于论文 「On the Origin of LLMs: An Evolutionary …...
Docker Compose 容器编排 + Docker--harbor私有仓库部署与管理
目录 一、Docker Compose简介 1、Docker Compose 的YAML 文件格式及编写注意事项 2、Docker compose 使用的三个步骤 3、 Docker Compose配置常用字段 4、 Docker Compose 常用命令 5、 Docker Compose 文件结构 二: Docker Compose 安装 1、Docker Compose…...
九五从零开始的运维之路(其二十六)
文章目录 前言一、概述1.什么是数据库2.数据库能干什么(一)企业应用(二)金融行业(三)电子商务(四)社交媒体(五)物联网 3.为什么要用数据库,优势、…...
29.Git版本控制工具
1.Git简介 Git是一开源的分布式版本控制系统,提供了存储代码、管理版本历史、分支和合并等功能。 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。它的主要目的是跟踪和记录软件开发过程…...
【算法题】2790. 长度递增组的最大数目
题目: 给你一个下标从 0 开始、长度为 n 的数组 usageLimits 。 你的任务是使用从 0 到 n - 1 的数字创建若干组,并确保每个数字 i 在 所有组 中使用的次数总共不超过 usageLimits[i] 次。此外,还必须满足以下条件: 每个组必须…...
Qt设置开机自启动无法读取配置文件
问题: Qt5.9.4再注册表中加入开机自启动后,每次开机可以启动,但是无法读取配置文件 解决方案 再main()方法中加入QDir::setCurrent(QCoreApplication::applicationDirPath());即可。 static void AutoRunWithSystem(bool bAutoRun) {// 获取…...
解决Font family [‘sans-serif’] not found问题
序言 以下测试环境都是在 anaconda3 虚拟环境下执行。 激活虚拟环境 conda activate test_python_env 或 source activate test_python_env工具: WinSCP Visual Studio Code 这里笔者使用 WinSCP 工具连接,编辑工具是 Visual Studio Code 一、字体…...
C语言进阶-2
1、多文件C语言项目 1.1、简单的C语言程序(项目) 只有一个C文件(a.c),编译的时候gcc a.c -o a,执行的时候./a 1.2、复杂的C语言程序(项目) 是由多个C文件构成的。例如一个项目中包含2个c文件(…...
Zabbix监控之分布式部署
文章目录 Zabbix监控之分布式部署zabbix proxy概述部署zabbix-proxy节点规划基础环境准备安装proxy以及数据库配置数据库添加服务端host解析修改zabbix-proxy配置文件启动代理服务器 zabbix页面(1)在zabbix页面添加代理(2)zabbix-agent连接proxy Zabbix监控之分布式部署 zabbi…...
vue2企业级项目(七)
vue2企业级项目(七) 组件封装 src目录下创建components/index.js const components require.context("./modules", true, /index\.js$/);export default {install: (Vue) > {components.keys().forEach((key) > {let component compo…...
PDPS教程:导出带颜色的JT格式2D布局图文件的另一种方法
目录 概述 布局图平面化与边缘化处理 导出为JT格式文件 JT格式文件查看 概述 在PDPS软件中导入机器人生产线或工作站2D布局图之前,要先将布局图文件转换为JT格式。 使用Crossmanager软件转换出来的2D布局图文件会将图形元素原有的颜色自动修改为黑白颜色&…...
AI面试官:Asp.Net 中使用Log4Net (二)
AI面试官:Asp.Net 中使用Log4Net (二) 当面试涉及到使用log4net日志记录框架的相关问题时,通常会聚焦在如何在.NET或.NET Core应用程序中集成和使用log4net。以下是一些关于log4net的面试题目,以及相应的解答、案例和代码: 文章目…...
C# Solidworks二次开发:向量相关的数学函数API的使用介绍
今天要讲的是Solidworks二次开发时候,如何使用一些与数学相关的API方法的介绍,在Solidworks中本身提供了一个函数用于对数学对象的访问,函数名为MathUtility。借助这个函数,我们来引出今天要介绍的几个API。 (1&#…...
table 导出表格 Excel
在请求中需要设置 responseType: blob export const requestExport (api, method, params {}, config) > {const apiToken localStorage.getItem(token);const data method GET ? params : data;let headers {BackServer-Token: ${apiToken},};if (config?.headers…...
基于 Flink SQL CDC 数据处理的终极武器
文章目录 一、传统的数据同步方案与 Flink SQL CDC 解决方案1.1 Flink SQL CDC 数据同步与原理解析1.2 基于日志的 CDC 方案介绍1.3 选择 Flink 作为 ETL 工具 二、 基于 Flink SQL CDC 的数据同步方案实践2.1 CDC Streaming ETL2.2 Flink-CDC实践之mysql案例 来源互联网多篇文…...
uniapp使用HQChart的k线,用webSocket更新数据
项目:不借用HQChart的各种接口数据,即数据后端返回,但是数据格式要和原数据格式一样。 //k线图 CreateHQChartKLine(){var chartHeightuni.upx2px(this.ChartHeight);let hqchartCtrlthis.$refs.HQChartCtrl;hqchartCtrl.KLine.Option.Type&…...
idea的Plugins中搜索不到插件
1、ctrlalts 打开设置 ; 2、搜索框输入plugins; 3、点击plugins; 4、点齿轮按钮,选择HTTP Proxy settings; 如下操作: 5、刷新DNS,ipconfig /flushdns 6、重新打开idea 的plugins 插件列表出来了...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...
