面向 3DoF+的虚拟视图合成算法研究(陈 莹)

news2024/9/29 19:26:45

面向 3DoF+的虚拟视图合成算法研究(陈 莹)

  • 论文贡献
    • 多视点联合的虚拟视图合成算法
    • 视图合成中多视点伪影消除算法
    • 面向虚拟视图合成算法的 3DoF+系统
  • 基于深度的虚拟视图合成算法
    • 视点映射(3D-Warping)
      • 三维空间映射变换(3D-Warping)
        • 仿射变换
        • 透视投影
        • 刚体变换
    • 视图融合
    • 空洞填补
      • Criminisi Inpainting 算法
    • DIBR 去伪影算法
      • 单幅参考视图 DIBR 去伪影算法
        • 基于背景重建的空洞填补算法
        • 基于局部前景移除的空洞填补算法
      • 多幅参考视图 DIBR 去伪影算法
        • 多视图空洞填补算法
        • 全景视频的虚拟视图合成算法
  • 多视点联合的虚拟视图合成算法
    • 传统DIBR算法
    • 多视点联合的虚拟视图合成算法
  • 视图合成中基于多视点的伪影消除算法

论文贡献

多视点联合的虚拟视图合成算法

  • 通过对多视点进行三维空间变换得到虚拟视图处的亚像素信息,并分析这些亚像素与待插值整像素点之间的相关性
  • 依据相关性,不同的应用场景,分别采用三种不同的多视点合成插值算法,分别是最邻近插值、三角插值和非均匀插值。

视图合成中多视点伪影消除算法

  • 分析了伪影区域的空间特征–>区分区域内前后景–>根据待插值点的位置信息选取前景或后景的像素信息完成插值

面向虚拟视图合成算法的 3DoF+系统

基于深度的虚拟视图合成算法

DIBR 的基本思想是利用参考视点的纹理图及深度图进行三维空间映射变换,最终得到目标视点的虚拟视图。多视图 DIBR 技术主要由视点映射、视点融合、空洞填补三个部分组成。

视点映射(3D-Warping)

视点映射主要完成了参考视点图像到目标视点图像的转换。视点映射的核心是三维空间映射变换(3D-Warping)

三维空间映射变换(3D-Warping)

3D-Warping 主要由两部分组成,首先完成了参考视点图像平面上的点依据对应的深度信息投影到三维空间中,然后再将这些三维空间中的点投影到目标视点的虚拟图像平面中
在这里插入图片描述
在整个 3D-Warping 过程中,涉及到以下四个坐标系:图像坐标系、像素坐标系、相机坐标系、世界坐标系。世界坐标系中的一点变换至某一确定图像坐标系中的一点,需要经过刚体变换、透视投影和仿射变换。

仿射变换

图像坐标系与像素坐标系之间的转换关系统称为仿射变换

透视投影

透视投影表示的是相机坐标系与图像坐标系之间的转换关系,在针孔相机中,其原理与小孔成像的原理类似

刚体变换

刚体变换表示的是世界坐标系与相机坐标系之间的转换关系

视图融合

  • 参考视图各自经过独立的视图映射过程得到对应的虚拟视图,视图融合主要完成了对这些虚拟视图的融合操作,以得到一幅更加完整的虚拟视图
  • 使用多幅参考视图合成中间的虚拟视图,可以有效利用多幅参 考视图中对遮挡关系的不同描述,以有效减少虚拟视图中由于遮挡导致的空洞。

目前视图融合算法主要有以下两种算法:

  1. 第一种是基于相机基线距离的视图融合算法
  2. 第二种是基于指数加权的视图融合算法

空洞填补

空洞填补完成了对虚拟视图中仍然存在的空洞进行填补的操作,以输出最终完整的虚拟视图结果。对于较大的空洞区域,大部分研究人员倾向于选择一种基于样本块的方法,如 Criminisi Inpainting 算法

Criminisi Inpainting 算法

Criminisi Inpainting 算法的主要思想原理是:在待填补的空洞边缘处选择一点 p,以 p 为中心生成一个待填补的目标块。然后,根据目标块中的已知的像素信息在图像中计算确定最佳匹配块,将其对应的信息复制待填补的块中,反复迭代,直到完成整幅图像的填补。

在这里插入图片描述

DIBR 去伪影算法

参考视图投影至虚拟视图的核心思想是 3D-Warping,在这个过程中,不同类型的人工伪影(artifacts)出现在合成视图中,包括裂缝(cracks)、虚影(ghost)、空洞(disocclusions)、视线外区(OOFAs)

单幅参考视图 DIBR 去伪影算法

基于背景重建的空洞填补算法

基于背景重建的空洞填补算法主要是通过 2D 视频及其对应深度图的时间相关性构建背景视频。为了使得背景视频内容更加真实,将原视频中的前景对象进行检测并移除。使用运动补偿算法,使得提出的背景重建模型能够适用于移动摄像场景。重建得到的背景视频可以用于消除合成视图中的空洞
在这里插入图片描述

基于局部前景移除的空洞填补算法

即移除局部前景区域,使用被移除前景区域周边的背景像素对其进行填补。最后,利用在参考视图中填补的背景像素正向 3D-Warping 至虚拟视图完成最终的空洞填补过程
在这里插入图片描述
其中模块功能如下:

  • 形态学预处理模块完成前景边缘检测以及深度校正
  • 空洞区域边缘检测模块完成对深度不连续造成的空洞边缘的检测与标识
  • 局部前景移除模块完成移除区域的深度估计以及纹理预测
  • 在空洞填补和后处理模块中,虚拟视图的空洞填补仅需将移除局部前景的参考视图变换至虚拟视图即可完成

多幅参考视图 DIBR 去伪影算法

多视图空洞填补算法

在这里插入图片描述
在使用多幅参考视图进行图像插值时,除了使用与目标视图最邻近的两个视图之
外,通过使用存在的其他参考视图,对空洞进行填补
注意
该视图合成算法依赖于深度图的准确性。因为错误的深度图会使得参考像素投影至虚拟视图中不正确的位置

全景视频的虚拟视图合成算法

全景视频的虚拟视图合成算法,通过使用多个全景视频的纹理图和深度图,有效减少了空洞

该算法

  1. 首先依据参考视图与虚拟视图在空间中的距离,对输入的视图进行优先级排序;
  2. 然后,赋予距离较近的视图高优先级,这些视图主要用于合成视图,赋予距离较远的视图低优先级,这些视图主要用于空洞填补;
  3. 接着,每幅参考视图依据其纹理图和深度图独立完成视图变换的过程,对于具有相同优先级的视图,对视图变换后的结果进行视图融合操作
  4. 最后,得到最终的视图合成结果。

其中有两部分的创新值得关注:

  1. 全景视频基于深度的空洞填补
    采用了一种全景视频的空洞填补方法,
  2. 颜色校正
    不同的视图(尤其是用物理相机拍摄的真实视图)在颜色特征上会产生不连续的情况,这些会导致在虚拟视图中产生颜色伪影。
    为了减少这种现象,均衡从不同参
    考视图投影的点的全局色差。校正方法是对从两个视图分别得到的颜色分量取平均值。

多视点联合的虚拟视图合成算法

在这里插入图片描述

传统DIBR算法

已有的 DIBR算法主要由视图变换、视图融合、空洞填补三个模块组成

  1. 视图变换模块首先根据输入的参考视图及其对应的深度图进行视图变换,从而得到参考像素点在虚拟视图中的位置,在此基础上进一步使用最邻近插值等方法得到各自的虚拟视图
  2. 视图融合模块负责将得到的多幅虚拟视图按照一定的加权规则进行融合,从而获得一幅更完整的虚拟视图
  3. 空洞填补模块负责对虚拟视图中仍然存在的空洞进行填补,并得到最终的虚拟视图。

多视点联合的虚拟视图合成算法

有效利用多幅视图的信息以提升视图合成的质量,合理使用了当前视点所有参考视图变换后精确的亚像素信息,提高了插值得到的虚拟视图整像素的精度。
在这里插入图片描述

该算法由三维空间映射与图像插值两个主要模块组成

  1. 多视点三维空间变换主要实现了多幅参考视图的像素到虚拟视图中对应亚像素的变换,以共同用于后续的图像插值。首先,每个视点的参考像素经过三维空间映射变换至虚拟视图,然后对多视点变换后的结果进行存储,并分析这些来自多幅参考视图的像素(实像素)与最终虚拟视图整像素(虚像素)之间的相关性。
  2. 经过多视点三维空间映射模块后获得了参考像素在虚拟视图中对应的亚像素信息,利用这些亚像素信息完成图像插值模块以直接获得虚拟视图整像素的信息。为了更好地实现图像插值模块,依据插值算法的空间和时间复杂度,实现了三种不同应用场景的插值算法。三种算法分别是最邻近插值、三角插值和非均匀插值

最邻近视图合成
对于实时性要求较高的场景,可以使用最邻近视图合成,它只需在待求的像素矩阵中,将距离待求像素点最近的点的像素值直接赋值给待求像素点即可
在这里插入图片描述
三角插值视图合成
选用待插值点周围的三个点应用三角形插值,更准确的计算出待插值点的信息。
在这里插入图片描述
非均匀插值视图合成
在一个待插值整像素点的周围,可能分布着很多来自不同参考视图的像素,如果仅使用其中的一部分,而另一部分没有进行有效合理的应用,不能充分发挥出多视图联合的优势。对非均匀分布的点首先进行合理的选择,尽可能多的使用有效的参考像素完成非均匀插值,以进一步提升算法性能。
在这里插入图片描述

视图合成中基于多视点的伪影消除算法

方法主要包含伪影区域标识、伪影区域前后景划分、待插值点位置判别、图像插值四个模块。

这样的方式更加有效地利用了多幅参考视图中的深度信息。相比于独立地使用每幅视图的纹理或深度信息,联合使用多幅视图的深度信息构建出的三维信息,使得伪影区域的判断更加准确,进而有效地去除了伪影,提升了合成视图的质量
在这里插入图片描述
伪影区域标识
依据伪影区域内参考像素在三维空间中
的分布特征,对虚拟视图中的伪影区域与其他区域进行区分并标识

伪影区域前后景划分
判断区域中分别属于前景和后景的像素。

待插值点位置判别
对伪影区域内的待插值整像素点进行前后景的判别,即判断待插值整像素属于前景还是后景

图像插值
使用对应的前、后景参考像素对伪影区域内的待插值像素完成插值,将结果与其他区域图像插值的结果相加得到最终的虚拟视图

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

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

相关文章

TYPE-C 手机/电脑同时充电直播 视频采集卡方案

Type-C音视频采集卡有什么作用? ​能够帮助专业用户和游戏玩家迅速搭建简单、高性价比的音视频解决方案。可将新闻联播、体育竞赛、视频教学课程、网络视频等,通过HDMI高清视频信号分段或整体录制在本地计算机共享使用。支持多种带HDMI接口的游戏机设备…

生物素-琥珀酰亚胺酯Biotin-NHS;CAS号:35013-72-0;可对溶液中的抗体,蛋白质和任何其他含伯胺的大分子进行简单有效的生物素标记。

结构式: ​ 生物素-琥珀酰亚胺酯Biotin NHS CAS号:35013-72-0 英文名称:Biotin-NHS 中文名称:D-生物素 N-羟基琥珀酰亚胺酯;生物素-琥珀酰亚胺酯 CAS号:35013-72-0 密度:1.50.1 …

vue项目第二天

项目中使用element-ui库中文网https://element.eleme.cn/#/zh-CN安装命令npm install element-ui安装按需加载babel插件npm install babel-plugin-component -Dnpm i //可以通过npm i 的指令让配置刷新重新配置一下项目中使用element-ui组件抽离文件中按需使用element ui &…

sqoop 数据同步方案理解+问题解决

sqoop数据同步——问题与解决方案 1、sqoop导出oracle数据,数据源无法选择表空间,只能指定默认表空间的表。 方案:不指定数据源的表名,而是使用–query,利用sql语句把数据带出来。 例:--query "SELE…

【游戏逆向】内存构造发包结构体实现协议发送简单代码

捕捉到游戏的封包以后 我们可以对其进行发送来实现功能 基本有两种方式 第一种直接调用明文发包函数 第二种构造明文封包以后,再调用加密算法,然后通过send等发包函数对其进行发送 如果能够把加密算法分析透彻的话,第二种方式是最好的 …

element Ui树状图控件 spring boot Vue 实现角色授权功能

目录 前言: 二. element ui 2.1官网提供的核心代码 三.表结构 ​编辑 四.后端 4.1功能分析 4.2实体类 4.3 查询全部权限显示的结果 4.2修改角色权限的后台方法 五.vue 5.0代码总览 5.1树形图 5.2所需要的绑定数据 5.3所需方法 前言: 先上图…

微搭低代码从入门到精通04-创建自定义应用

微搭中的应用分为两类,模型应用和自定义应用。上一篇我们介绍了模型应用的创建方法,本篇我们介绍一下自定义应用的创建方法。 登录微搭的控制台,在左侧的菜单里点击应用,点击新建应用,选择新建自定义应用 输入应用的名…

logstash毫秒时间戳转日期以及使用业务日志时间戳替换原始@timestamp

文章目录问题解决方式参考问题 在使用Kibana观察日志排查问题时发现存在很多组的timestamp 数据一样,如下所示 详细观察内部数据发现其中日志数据有一个timestamp字段保存的是业务日志的毫秒级时间戳,经过和timestamp数据对比发现二者的时间不匹配。经…

1630_GNU的二进制分析工具nm简单使用探索

全部学习汇总: GreyZhang/toolbox: 常用的工具使用查询,非教程,仅作为自我参考! (github.com) GNU有一套二进制的分析工具,之前是用过objdump的,但是也没有系统掌握。如果做底层软件的设计,这些…

OpenWrt路由器设置域名动态解析手把手教程

文章目录0、前言1、准备工作2、详细步骤2.1、OpenWrt路由器软件包安装2.2、防火墙放行入站数据(修改为“接受”并保存应用)2.3、域名解析服务商对域名的解析设置2.4、路由器中动态域名插件的设置0、前言 因为一直用着内网穿透(zerotier或者是…

SQLyog Ultimate 13.2 Crack

SQLyog终极版 MySQL开发工具 让您的数据库开发人员在短时间内完成大量工作并不是确保质量结果的最佳方式。当涉及到您的 MySQL 数据库时,您不想偷工减料 — 尤其是当这样做会导致代价高昂的中断时。 使用 SQLyog 获得可靠的数据库备份和数据同步:一个强大…

HTTP协议路由转发小结

问题介绍:个人电脑 hosts 文件配置如下: xx.xx.xx.243 xxx.domain.com 其中 xx.xx.xx.243 是里约网关的服务器ip,而应用部署在 xx.xx.xx.93 上,但最终请求为何会转发到93这台服务器上呢? 原因是里约网关配置了转发规则…

【hello, world】计算机系统漫游

文章目录hello程序信息就是位 上下文程序被其他程序翻译成不同的格式预处理阶段编译阶段汇编阶段链接阶段了解编译系统如何工作是大有益处的优化程序性能理解链接时出现的错误避免安全漏洞处理器读并解释储存在内存中的指令系统的硬件组成总线I/O设备主存处理器运行hello程序高…

web3:区块链共识机制系列-POS(Proof of Stake)股权证明算法

web3相关学习一并收录至该博客:web3学习博客目录大全 前情衔接:web3:区块链常见的几大共识机制及优缺点 目录前言算法公式与原理算法公式运作原理以Peer Coin为例缺陷优点缺点特点分类发展历程casper协议1.什么是无成本利益关系问题2.引入casper协议解决…

力扣33.搜索旋转排序数组

文章目录力扣33.搜索旋转排序数组题目描述方法1&#xff1a;二分查找力扣33.搜索旋转排序数组 题目描述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&…

Android框架WiFi架构

同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。 一、wpa_supplicant:wpa_supplicant本身开源项目源码,被谷歌收购之后加入Android移…

Python中的类和对象(4)

1. 构造函数 &#xff08;_ init _(self[,……])&#xff09; 在类中定义 _init _() 方法&#xff0c;可以实现在实例化对象的时候进行个性化定制&#xff1a; >>> class C: ... def __init__(self, x, y): ... self.x x ... self.y y ... …

离散数学 课时二 命题逻辑等值演算

等值式(等值联结词) 1、设A、B是两个命题公式,若A、B构成的等价式 A等价于B 为重言式,那么称A与B是等值的 2、常用等值式&#xff1a; 注意&#xff1a; 1 双否定律 2 幂等律 3 交换律 4 结合律 5 吸收律 6 德摩根律 7 同一律 8 零律 9 矛盾律 10 排中律 11 蕴含表达式 12 …

十分钟带你体验一下什么是分布式事务

我们经常在网上看到很多人发关于分布式事务的理论&#xff0c;但是讲实战的却非常少&#xff0c;所以我今天想通过一个案例&#xff0c;来让小伙伴们都感受一下什么是分布式事务&#xff0c;这篇文章理论偏少&#xff0c;请文明观看。咱们今天的主角是 Seata&#xff01; 分布…

Django项目开发

一.认识NoSQL 1.SQL 关系型数据库 结构化: 定义主键&#xff0c;无符号型数据等关联的&#xff1a;结构化表和表之间的关系通过外键进行关联&#xff0c;节省存储空间SQL查询&#xff1a;语法固定 SELECT id,name,age FROM tb_user WHERE id1 ACID 2.NoSQL 非关系型数据库 Re…