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

基于卷积神经网络的立体视频编码质量增强方法_余伟杰

基于卷积神经网络的立体视频编码质量增强方法_余伟杰

  • 提出的基于TSAN的合成视点质量增强方法
      • 全局信息提取流
        • 像素重组
      • 局部信息提取流
        • 多尺度空间注意力机制
  • 提出的基于RDEN的轻量级合成视点质量增强方法
    • 特征蒸馏注意力块
    • 轻量级多尺度空间注意力机制
  • 概念
    • 扭曲失真
    • 孔洞问题
    • 失真和伪影

提出的基于TSAN的合成视点质量增强方法

提出的网络包含两个模块:特征提取模块和重建模块。

为了从低质量合成视点中提取局部和全局信息,特征提取模块中提出了两条信息流,分别为局部信息提取流和全局信息提取流

随着网络层数的增长,提取的特征在传输的过程中可能消失,这会降低网络模型的表达能力,为了提升特征的有效性和复用性,受人眼视觉系统的启发,在局部信息提取流中提出了一种多尺度残差注意力块
在这里插入图片描述

全局信息提取流

基于单一信息流的神经网络缺乏全局信息,全局信息可以将合成视点视作整体以概括整个对象,所以网络的学习能力受到限制。

通过使用全局信息,更多的上下文信息被学习到,从而帮助网络消除低质量合成视点中出现的扭曲失真

在这里插入图片描述首先,将低质量合成视点图下采样为子块,接着将这些字块送入12个完全相同的残差块(Residual Block,RB)中以提取特征,最后,通过一个上采样层反转下采样过程。为了在建模能力和训练速度上做到平衡,下采样和上采样因子被设置为2。

对于下采样过程,本文网络中使用了像素逆重组(pixel-unshuffle)层。不同于池化,步长为2的卷积以及双线性插值方法,pixel-unshuffle操作在下采样过程中不会造成任何的信息丢失,其通过将空间特征重新排列为通道来获得下采样的子图像。

此外,pixel-unshuffle操作不但可以扩大感受野,还可以降低显存使用率。
像素逆重组(pixel-unshuffle)

像素重组

为了将两条信息流中的特征级联起来,全局信息流的输出特征需要上采样至原始大小,由于像素重组(pixel-shuffle)操作l54生成更多真实细节信息,所以本文上采样使用pixel-shuffle操作。pixel-shuffle通过使用卷积层生成多个通道,然后将其重塑为高级特征,一个2倍pixel-shuffle操作的例子如图3-6所示
在这里插入图片描述
从图中可以看出,其输入特征图尺寸为W×Hx C,首先通过一次卷积操作将输入尺寸转变为WxH×4C,接着通过重塑操作将特征图尺寸转变为2W×2H ×C

局部信息提取流

。由于局部特征之间的相关性很小,并且图像中存在大量的局部信息,因此学习更多的局部信息有助于恢复合成视点的质量。提出的局部信息提取流的结构如图3-7所示
在这里插入图片描述受 HVS 的启发,本文提出了一种新颖的多尺度空间注意力机制,该机制被集成到MSRB中,以利用更多有用的特征信息来增强低质量的合成视点效果。通过从空间维度考虑特征之间的相互依赖性,特征图中的关键信息可以被提取。

此外,为了提高结果的准确性,将原始块中使用的激活函数ReLU替换为PReLU

多尺度空间注意力机制

本文提出了一种多尺度空间注意机制,通过合并多个尺度的感受野以更好地在空间域中学习特征之间的关系。在提出的多尺度空间注意机制中,较大的感受野对于引导网络学习孔洞,而较小的感受野则更适合于提取背景特征,所提出的多尺度空间注意机制的结构如图3-8所示。
在这里插入图片描述

提出的基于RDEN的轻量级合成视点质量增强方法

特征蒸馏注意力块

多尺度残差注意力块可以充分利用特征信息增强低质量合成视点的效果,但由于块中使用不同大小的卷积核共享和重用信息,使得网络存在冗余参数,计算不够灵活和高效,有进一步提升的空间。

为了降低模型复杂度,同时保证模型特征提取的性能,文献[6!提出了残差特征蒸馏块(Residual Feature Distillation Block,RFDB),通过通道分离和特征蒸馏的方式显著降低参数量
在这里插入图片描述

轻量级多尺度空间注意力机制

提出了轻量级多尺度空间注意力机制,其结构如图4-3所示。首先通过一个1×1的卷积进行降维,以减少通道数,然后采用步长为2的跨步卷积和最大池化操作减少空间尺寸,接着采用跳跃连接的方式串联三个3×3卷积层,以模拟3×3,5×5和7×7的多尺度卷积核。由于开始采用了池化操作,与之对应,添加了上采样层以恢复空间尺寸,此外,采用了1×1的卷积以恢复同通道尺寸,通过 sigmoid激活函数得到2D空间注意力图,以计算特征图中被强调的部分。最后,学习到的权重W被用于自适应地调整输入特征图fwxwxc。整个注意
在这里插入图片描述

概念

扭曲失真

在 DIBR操作过程中,不正确的深度值可能会使合成视点中的位置发生移动,这种情况被称为扭曲失真。

孔洞问题

参考视点中被前景物体遮盖的区域在合成视点变得可见,这导致了孔洞问题。

失真和伪影

同时纹理视频在视频压缩后会发生几何形变,引入多种失真和伪影。

相关文章:

基于卷积神经网络的立体视频编码质量增强方法_余伟杰

基于卷积神经网络的立体视频编码质量增强方法_余伟杰提出的基于TSAN的合成视点质量增强方法全局信息提取流像素重组局部信息提取流多尺度空间注意力机制提出的基于RDEN的轻量级合成视点质量增强方法特征蒸馏注意力块轻量级多尺度空间注意力机制概念扭曲失真孔洞问题失真和伪影提…...

【2023unity游戏制作-mango的冒险】-3.基础动作和动画API实现

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:unity游戏制作 ⭐mango的基础动作动画的添加⭐ 文章目录⭐mango的基础动作动画的添加⭐&#x1f…...

跨域的几种解决方案?

1-jsonp 【前端后端实现】jsonp: 利用 <script> 标签没有跨域限制的漏洞&#xff0c;网页可以得到从其他来源动态产生的 JSON 数据。JSONP请求一定需要对方的服务器做支持才可以。JSONP优点是简单兼容性好&#xff0c;可用于解决主流浏览器的跨域数据访问的问题。缺点是仅…...

2022年山东省职业院校技能大赛网络搭建与应用赛项正式赛题

2022年山东省职业院校技能大赛 网络搭建与应用赛项 第二部分 网络搭建与安全部署&服务器配置及应用 竞赛说明&#xff1a; 一、竞赛内容分布 竞赛共分二个模块&#xff0c;其中&#xff1a; 第一模块&#xff1a;网络搭建及安全部署项目 第二模块&#xff1a;服务…...

【JUC并发编程】ArrayBlockingQueue和LinkedBlockingQueue源码2分钟看完

文章目录1、BlockingQueue1&#xff09;接口方法2&#xff09;阻塞队列分类2、ArrayBlockingQueue1&#xff09;构造函数2&#xff09;put()入队3&#xff09;take()出队3、LinkedBlockingQueue1&#xff09;构造函数2&#xff09;put()入队3&#xff09;take()出队1、Blocking…...

GitHub个人资料自述与管理主题设置

目录 关于您的个人资料自述文件 先决条件 添加个人资料自述文件 删除个人资料自述文件 管理主题设置 补充&#xff1a;建立一个空白文件夹 关于您的个人资料自述文件 可以通过创建个人资料 README&#xff0c;在 GitHub.com 上与社区分享有关你自己的信息。 GitHub 在个…...

Express篇-连接mysql

创建数据库配置文件config/sqlconfig.jsconst sqlconfig {host: localhost, // 连接地址user: root, //用户名password: ****, //密码port: 3306 , //端口号database: mysql01_dbbooks //数据库名 } module.exports sqlconfig封装数据库管理工具 utils/mysqlUtils.…...

win10 安装rabbitMQ详细步骤

win10 安装rabbitMQ详细步骤 win10 安装rabbitMQ详细步骤win10 安装rabbitMQ详细步骤一、下载安装程序二、安装配置erlang三、安装rabbitMQ四、验证初始可以通过用户名&#xff1a;guest 密码guest来登录。报错&#xff1a;安装RabbitMQ出现Plugin configuration unchanged.问题…...

【成为架构师课程系列】一线架构师:6个经典困惑及其解法

目录 一线架构师:6个经典困惑及其解法 多阶段还是多视图&#xff1f; 内置最佳实践 架构方法论:3个阶段&#xff0c;一个贯穿 Pre-architecture阶段&#xff1a;ADMEMS矩阵方法 Conceptual Architecture阶段&#xff1a;重大需求塑造做概念架构 Refined Architecture…...

光耦合器的定义与概述

光耦合器或光电耦合器是一种电子元件&#xff0c;基本上充当具有不同电压电平的两个独立电路之间的接口。光耦合器是可在输入和输出源之间提供电气隔离的常用元件。它是一个 6 引脚器件&#xff0c;可以有任意数量的光电探测器。 在这里&#xff0c;光源发出的光束作为输入和输…...

谷粒商城--品牌管理详情

目录 1.简单上传测试 2.Aliyun Spring Boot OSS 3.模块mall-third-service 4.前端 5.数据校验 6.JSR303数据校验 7.分组校验功能 8.自定义校验功能 9.完善代码 1.简单上传测试 OSS是对象存储服务&#xff0c;有什么用呢&#xff1f;把图片存储到云服务器上能让所有人…...

stack、queue和priority_queue

目录 一、栈&#xff08;stack&#xff09; 1.stack的使用 2.容器适配器 3.stack的模拟实现 二、队列&#xff08;queue&#xff09; 1.queue的使用 2.queue的模拟实现 三、双端队列&#xff08;deque&#xff09; 1.vector&#xff0c;list的优缺点 2.认识deque 四…...

面试题(二十二)消息队列与搜索引擎

2. 消息队列 2.1 MQ有什么用&#xff1f; 参考答案 消息队列有很多使用场景&#xff0c;比较常见的有3个&#xff1a;解耦、异步、削峰。 解耦&#xff1a;传统的软件开发模式&#xff0c;各个模块之间相互调用&#xff0c;数据共享&#xff0c;每个模块都要时刻关注其他模…...

Spring Security in Action 第三章 SpringSecurity管理用户

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;以实战为线索&#xff0c;逐步深入SpringSecurity相关知识相关知识&#xff0c;打造完整的SpringSecurity学习步骤&#xff0c;提升工程化编码能力和思维能力&#xff0c;写出高质量代码。希望大家都能够从中有所收获&#…...

Java面试——maven篇

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

基于微信小程序的游戏账号交易小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…...

Matlab绘制隐函数总结-二维和三维

1.二维隐函数 二维隐函数满足f(x,y)0f(x,y)0f(x,y)0&#xff0c;这里无法得到yf(x)yf(x)yf(x)的形式。不能通过普通函数绘制。 我们要关注的是使用fplot函数和fimplicit函数。 第1种情况&#xff1a;基本隐函数 基本的隐函数形式形如&#xff1a; x2y22x2(x2y2)12x^{2}y^{…...

如何直观地理解傅立叶变换?频域和时域的理解

如何直观地理解傅立叶变换 傅里叶变换连续形式的傅立叶变换如何直观地理解傅立叶变换?一、傅里叶级数1.1傅里叶级数的三角形式1.2 傅里叶级数的复指数形式二、傅里叶变换2.1一维连续傅里叶变换三、频谱和功率谱3.1频谱的获得3.2频谱图的特征3.3频谱图的组成频域(frequency do…...

STC15读取内部ID示例程序

STC15读取内部ID示例程序&#x1f389;本案例基于STC15F2K60S2为验证对象。 &#x1f4d1;STC15 ID序列介绍 STC15系列STC最新一代STC15系列单片机出厂时都具有全球唯一身份证号码(ID号)。最新STC15系列单片机的程序存储器的最后7个字节单元的值是全球唯一ID号&#xff0c;用…...

Xml格式化与高亮显示

具体请参考&#xff1a;Xml格式化与高亮显示...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...