Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜

本文主要是介绍Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[转] http://www.leiphone.com/news/201705/qUh1fcXk9p3zNnXP.html


据雷锋网了解,Oculus Research 的 VR 和 AR 研发中心近日发布了一项名为“焦点平面显示”的新技术,该技术试图改善现今 VR 头戴设备的视觉辐辏调节冲突问题(VAC现象,也就是我们通常所说的调焦冲突,雷锋网(公众号:雷锋网)的详细解释请阅读文后背景介绍),公司将这项技术称为一次“突破性”进展。

Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜

图为Oculus Research 焦点平面展示器原型机,图片来源:courtesy Oculus

目前,Oculus Research 已经发表了关于该技术的一篇论文,并计划在今年7月的SIGGRAPH 大会上展示这项技术。公司官方报道称:

焦点平面显示技术模仿了人眼在不同距离物体间自然转换聚焦的方式。不同于过去通过增加更多聚焦区域来获得相同景深的方法,这项新的技术利用空间光调制器(SLMs)改变光线进入显示器的方式,使头盔显示器在3D物体上的焦点发生弯曲,从而增加景深,同时将展示的空间距离最大化。这项技术可以提升画面的清晰度,让用户的 VR 使用体验更加真实自然。该项目结合了先进的硬件工程技术、科学医学成像技术、计算机视觉研究和最先进的算法技术,旨在推进下一代 VR 设备的发展,此次研究综合使用了多个学科的最前沿方法,也是我们的第一次尝试。这项技术未来甚至可以让近视人群在使用 VR 设备时摘掉眼镜。

项目研究者们使用了空间光调制器,对光线进行选择性弯曲,从而改变对图像不同区域的焦点调节。

由 Oculus Research 的科学家 Nathan Matsuda,Alexander Fix 和 Douglas Lanman 合作发表的论文中对该技术阐释如下:

焦点平面显示延续了此前变焦距和多焦距的概念,并进一步根据场景内容对视觉图像进行定制化。得益于数年来相关的自适应成像技术应用的研究基础,我们展示了新型的相位调制器 SLMs 在实现焦点平面显示一概念的能力。我们构建出一个概念证明原型机来展示高像素的多点对焦成果,同时也展示了对联合焦点平面与彩色图像分解的一个完整最优解决框架。通过将基于目标的焦散、视网膜扫描显示器和其他相适应的HMDs 等概念的结合,我们希望该研究可以启发研究者们利用新型展示技术解决 HMDs 中的视觉辐辏调节冲突问题。

当然,这项技术并不是解决视觉辐辏调节冲突问题的最佳方法,但是 Oculus 打算将这项技术作为目前 VR 展示技术和未来理想解决方案的一个折衷方法。

Oculus 在其官方博客中写道:“尽管我们离最终产品的实现还有很长的一段路要走,但那时这项新技术为未来的研究打开了一个激动人心又富有价值的新方向。我们将会为整个 VR/AR 产业的利益,持续发表新的研究结果。“

论文中提到的所谓“变焦距”展示是目前一个热门研究主题。因为该技术旨在让 VR 头盔展示器中的光线变得更贴近我们现实生活中看到的样子,使得我们的双眼在虚拟场景中聚焦更加自然和舒适。这项技术也可以让近视人群在使用 VR 头盔时摘掉眼镜。

焦点平面显示技术仍然需要人眼追踪,所以这还不是一个十分完善的解决方案。研究者也承认,该技术在广角情况下不易实现,下图展示了研究者们对实现“变焦距”的不同技术方式的特点评估。

Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜

问题背景:视觉辐辏调节冲突问题(Vergence-Accommodation Conflict)


Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜

在聚焦不同距离的物体时,眼晶体会自行调整曲度,图片来源:courtesy Pearson Scott Foresman

在现实世界里,如果想要聚焦在近物上,眼睛晶状体就会自动弯曲,将物体的光准确地反射在视网膜上,使你清晰地看到该物体。而对于远距离物体,光线则从不同于近物的角度进入眼睛,此时晶状体必须再次调整,保证光线还能正好聚焦在视网膜上。这也就是为什么当你注视眼前的手指时,后面的景象会变得模糊;相反地,如果你聚焦与手指后面的景象,你的手指将变得模糊不清。这就叫做屈光调节(Accommodation)。

Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜

视觉辐辏是指单眼将单个视角重叠整合为3D图像的眼轴旋转。图片来源:courtesy Fred Hsu

视觉辐辏(Vergence)是指双眼眼轴通过一定的旋转将左右单个视角整合为一个立体图像的过程。在观察远距离物体时,双眼几乎是平行的,因为双眼距离与物体的距离相比已经微不足道了(这相当于两个眼睛观察到的物体角度几乎相同)。但是在观察近距离物体时,你的双眼必须有一定角度的向内旋转,以保证图像的立体效果。你可以通过观察面前手指来感受这一过程。当你聚焦在近处的手指时,会看到手指后方的景象有两个成像,而当你聚焦在远处时,会出现两根手指。

通过眼睛的精密调整,你的大脑可以利用屈光调节或视觉辐辏来判断聚焦物体的远近距离。问题在于,屈光调节和视觉辐辏实际上并不是自动地同时发生的,他们之间有一个直接的相关关系,给定任意的屈光调节度,就会对应一个视觉辐辏度;相同地,给定一个视觉辐辏度,就有一个相应的屈光调节度。在人类的婴儿时期,大脑和眼的配合就已经形成了正确的肌肉记忆,使得二者总能在无需思考下同时发生。

但是,在现今的AR/VR头戴展示器上,受限于光学设计,屈光调节和视觉辐辏不会像人眼一样同时调整。在AR/VR 的头盔中,在距双眼3英寸的地方有一个播放虚拟图像的显示器,和一个将光线聚焦在眼睛上的透镜(就像人眼中将外界光线聚焦在视网膜上的晶状体一样)。但是因为显示器和眼睛的距离是固定不变的,所以图像中所有物体的光线也是从相同距离出发。因此即使在虚拟场景里有一个五公里远的山和一个五英寸近的咖啡杯,他们进入你眼中光线的角度都是一样的(这就意味着你眼睛的屈光调节度不会改变)。

因此,不变的屈光调节和头盔中变化的双眼视觉辐辏产生了一个冲突。所以调整VR显示中左右眼不同的图像,使得双眼可以在不同距离物体之间调整聚焦点,是VR/AR 显示立体光学的关键所在。

当然,雷锋网觉得未来我们的确可以研发出的最贴近现实也是最舒适的VR/AR展示技术,消除视觉辐辏调节冲突问题,让二者同步进行,正如我们在真实世界里看到的一样。

via roadtovr.com


这篇关于Oculus展示新突破“焦点平面显示技术”,让近视人群使用VR头盔时摘掉眼镜的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/285168

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud