Karl Guttag:Niantic户外AR参考设计或采用Lumus光波导

news2024/11/24 20:41:26

前不久,Niantic在高通骁龙峰会上公布了一款用于户外场景的AR眼镜参考设计,其特点是采用无线一体化设计,配备了柔性头带,可用来玩LBS AR游戏。目前关于该AR眼镜方案的信息不多,它的光学方案是大家非常关注的一点,尤其关注它如何在户外强光下清晰显示。

我们知道,AR眼镜要想在户外正常使用,首先显示亮度要足够高,才能在强光下看起来清晰。AR/VR光学专家Karl Guttag认为,Niantic AR眼镜使用了光波导,并且很有可能基于Lumus的方案。就目前来看,Lumus是少数拥有超高亮度光波导的公司,其方案在未使用遮光罩的情况下,可以在户外显示AR。Lumus的光波导在户外军事应用场景已经使用了约10年,近年来推出了一些优秀的AR光学原型,比如:

Lumus Maximus单目2K版

  • 50°FOV
  • 亮度5000尼特
  • 2048x2048分辨率
  • 二维扩瞳光波导方案

Maximus 1080P规格

  • 40°FOV
  • 亮度>4000尼特
  • 1080P分辨率
  • 眼动范围12mmx12mm
  • 16:9纵横比

Maximus 1440P规格

  • 50°FOV
  • 亮度>3000尼特
  • 1440P分辨率
  • 眼动范围12mmx12mm
  • 1:1纵横比

光学元件的明显特征

Guttag指出,尽管不同的光波导方案在外观上差异不大,但由于其输入光/图像的位置、光传播方式(光路)不同,相互之间还是有不同的特征。尤其是在不同的衍射波导方案之间,你可以发现前向漏光的程度,与光栅图案之间的差异。

通常,衍射光波导的光源几乎垂直于光波导耦入,并通过入射光栅,改变光线衍射角度,并在光波导内部实现全内反射(TIR)。因此,衍射光波导的光源、投影模组通常位于入射光栅背面(WaveOptics的投影模组与光波导平行,但采用90°折叠镜来改变光路)。

Magic Leap专利图:典型的衍射波导方案

相比之下,Lumus光波导的光路基于反射来传播,通常会采用以一定角度的棱镜,来将光源耦入到光波导中进行全内反射。因此,投影模组/光源往往并不垂直于光波导。

Lumus和Niantic光学方案对比

在Niantic公布的AR参考设计视频中,可以看到Niantic AR眼镜的投影模块和电子元件的位置、角度、形状、尺寸,以及双线缆设计都与Lumus Maximus参考设计相似。此外,投影模块与光波导连接位置的轮廓也相似。

不过,Lumus Maximus的两侧有额外的外盖,而Niantic AR眼镜原型则没有。而且Niantic采用头箍设计,而Lumus Maximus则采用普通眼镜的镜腿设计。

从视频来看,其AR眼镜可以在明亮的日光下运行,意味着亮度足够大,才能在阳光下看清AR内容。

发光问题(front-projection)对比

在Niantic视频中,并未发现AR眼镜有明显的漏光问题(eye glow或者front project)。Lumus Maximus方案也是如此,由于它的光学特性,只会向前投射少量的光,发光问题不明显。

值得注意的是,采用衍射光波导的HoloLens 2就因为存在向前漏光问题,导致容易泄露士兵的位置,即使在几百米外都能看到。

图注:假如将Maximus眼镜抠图并覆盖Niantic原型上,形状足够吻合,而且投影模块的形状和位置也接近。

户外AR对于亮度的需求

Guttag指出,由于日光照射的户外环境亮度大,所以AR眼镜通常也需要数千尼特的亮度,才能达到足够的对比度,从而清晰显示AR。即使在AR眼镜上叠加遮光罩,也不能完全弥补亮度问题,反而让环境光难以透过,在户外移动有安全隐患。

通常,人眼可感知非常宽的亮度感知范围,在光线充足的房间里,一般可看到(清楚)20到150尼特的亮度。而在户外,光线的亮度大约在500到10000尼特之间。在夜晚或光线昏暗的房间中,经过一段时间适应,人眼也可以看到低于0.1尼特亮度的东西。

而对比度,通常指的是最亮和最暗区域的比例,在AR眼镜中,透入的环境光会同时增加暗处和亮处图像的亮度,而且可透入的环境光量会受AR眼镜的透光率影响。

在1.5:1对比度下,图像中的文本几乎不可读,当对比度提升至2:1时,文本可读性提升,但色彩饱和度低。当对比度提升至8:1时,色彩饱和度才达到适中水平。而如果是在看电影,人们通常会更喜欢100:1以上的对比度。

想要提升对比度,通常有两种方式:一种是提升显示屏亮度,另外一种就是降低背景亮度(通过被动或主动调光)。举个例子,假设户外草地区域亮度为2500尼特,如果你想实现8:1的对比度,那么需要将AR显示模组的亮度调到2500尼特,并将环境光调暗4倍左右。

如果是在常见的birdbath+OLED AR眼镜中,如果屏幕亮度仅100尼特,那么遮光罩需要遮挡99%的环境光,才能达到8:1对比度。然而,带上遮光率99%的AR眼镜出门走路,几乎看不见外面的环境,很危险。

因此结论很明显,在户外使用AR需要足够高的透光性和足够高的亮度,但同时还需要足够高的对比度,因此设计出在户外使用的AR眼镜具有很高的挑战性。即使搭配上遮光罩,AR显示模组的亮度也需要达到数千尼特。就拿Lumus Maximus举例,它的亮度超过3000尼特,但在户外场景中,可能还需要一定程度调暗背景(比如使用遮光罩)。

值得注意的是,AR对亮度的高要求,也提升了对光学设计效率的需求。对比相同视场角和眼动范围的衍射光波导方案,Lumus Maximus的效率约高3到7倍,在亮度和耗电量方面,也比基于birdbath+OLED的方案效率高30多倍。对于在户外使用的AR眼镜来讲,为了保证设备足够便携,通常电池尺寸、重量需要优化,那么高效的AR光学将有助于省电,以及减少散热。

参考设计不会发售

由于Niantic与高通合作开发的AR眼镜是参考设计,可能并没有严格去限制成本,Guttag认为可能短时间内不会面向消费者发售。未来,Niantic可能会寻求硬件厂商合作完成设计和生产,或是在参考设计基础上,吸引AR应用开发者来创建内容生态。不过目前,Niantic并未明确公布设计户外AR眼镜的原因。

为了验证自己的猜想,Guttag分别联系了Niantic和Lumus,两家公司对此拒绝回应。因此Guttag认为,如果这两家公司想要正式合作,可能早就宣布了。实际上,Lumus可能是作为关键技术供应商,向Niantic提供了AR光学技术。此前Intel就曾要求使用其技术的硬件厂商标明Intel Inside标志,但Lumus显然不是Intel那样规模的大公司,影响力要小得多。

尽管Niantic并未标明AR光学的来源,但却多次强调其AR眼镜是与高通合作设计,基于高通骁龙技术,实际上这样的合作与技术关系不大,更重要的是依托于高通的XR业务和营销能力。

除了Lumus,Niantic还有其他选择吗?

Kral Guttag认为,Lumus Maximus在户外使用的亮度、效率、尺寸、重量和图像质量方面具有显着优势,而且还生成与衍射波导相比具有成本竞争力。值得注意的是,Lumus几乎是唯一一家开发了大于50°FOV、高于85%透光率、亮度超过2000尼特/瓦的AR光公司。此外,与大多数其他技术相比,Lumus Maximus的“前向漏光”问题并不明显。

相比之下,Kral Guttag也比较好奇的是,为什么Snap斥资5亿美元收购WaveOptics,该公司虽然是行业内优秀的衍射波导厂商之一。但其亮度和效率不够好,并且图像质量不如Lumus Maximus。Kral Guttag认为,Snap与其花费5亿美元,还不如购买更先进的技术。

参考:KG

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

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

相关文章

游戏服务端 - AOI九宫格算法

游戏服务端 - AOI九宫格算法 下面简述内容,只针对平面上的简易场景。我们将平面上的场景分为一个个格子(Grid),场景管理所有的Grid。如下(假设场景的长宽均为20,每个格子宽高定义为1)&#xff1…

电脑怎么查看是固态硬盘还是机械硬盘

前言 前两天有粉丝问我,买电脑的时候有的参数看不懂,比如固态硬盘和机械硬盘区分,他听商家说给他配置的电脑是512G固态硬盘,但是又不知道从哪里看到底是不是固态硬盘,怕以次充好。 今天我就跟大家详细介绍一下硬盘到…

五、path路径模块和url模块

上一篇内容讲到的fs文件系统模块是官方提供的内置模块,本篇path路径模块也是Node.js官方提供的内置模块,也是核心模块,用来处理路径,path模块用来满足用户对路径的处理需求。在上一篇内容就涉及到路径拼接的问题,来一个…

1 数据结构 绪论(时间空间复杂度)

文章链接是我的掘金博客,大家有兴趣可以去我的博客上看 博客地址:数据结构专栏 1 数据结构 绪论(时间空间复杂度)考纲要求 💕1 术语(逻辑结构&存储结构)1.1 数据结构的形式定义(…

【图像分割】遗传算法优化K聚类图像分割【含Matlab源码 1605期】

⛄一、遗传算法优化K聚类简介 文中提出基于优化遗传算法的模糊聚类图像分割算法, 是在上述对遗传算法进行了优化的基础上形成的。不仅根据个体适应度大小和变化快慢自适应调节变异率和交叉率, 提高计算准确性和效率, 另外, 在遗传算法迭代计算中加入基于曲线二阶导数的约束条件…

JavaWeb框架(三):JavaWeb项目实战 基于Servlet 实现系统登录注册功能

MVC实战项目 仓储管理系统需求:实现基本的登录和注册功能MVC实战项目:登录和注册登录功能实现注册功能实现总结Redis章节复习已经过去,新的章节JavaWeb开始了,这个章节中将会回顾JavaWeb实战项目 公司管理系统部分功能 代码会同步…

「地表最强」C++核心编程(四)类和对象--继承

环境: 编译器:CLion2021.3;操作系统:macOS Ventura 13.0.1 文章目录一、继承的基本语法二、继承方式2.1 public继承2.2 protected继承2.3 private继承2.4 继承规则三、继承中的对象模型四、继承中的构造和析构顺序五、继承同名成员…

PyQt5利用Qt designer(QT设计师)使用tab widget和stacked widget实现多页面切换

PyQt5 Qt designer QT设计师 使用tab widget和stacked widget实现多页面切换一、使用Qt designer(QT设计师)进行多页面切换ui设计二、实现tab widget多页面切换三、实现stacked widget多页面切换四、生成代码五、运行效果一、使用Qt designer(QT设计师)进行多页面切换ui设计 本…

Go 实现线性查找算法和二分查找算法

耐心和持久胜过激烈和狂热。 哈喽大家好,我是陈明勇,今天分享的内容使用 Go 实现线性查找算法和二分查找算法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步&…

雪花算法原理

SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:1bit,不用,因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。41bit时间戳&#…

热门技术中的应用:云计算中的网络-第27讲-云中的网络QoS:邻居疯狂下电影,我该怎么办?

在小区里面,是不是经常有住户不自觉就霸占公共通道,如果你找他理论,他的话就像一个相声《楼道曲》说的一样:“公用公用,你用我用,大家都用,我为什么不能用?”。 除此之外,你租房子的时候,有没有碰到这样的情况:本来合租共享WiFi,一个人狂下小电影,从而你网都上不…

编程15年40岁程序员的我终于在压力下被迫转行了

本人今年40岁多了,中山大学计算机小硕,已经从事it工作15年多,最后一次工作是2017年,创业,互联网教育方向,2020年失败关闭公司。 创业失败后,在家沉淀了几个月,然后决定再次找工作。…

如何在UnrealEngine虚幻引擎中进行版本管理

项目团队中的分工协作必不可少,在UE项目中进行版本控制非常必要。UE支持使用Perforce和SVN进行版本管理,此处选用自己比较熟悉的SVN。 1.使用SVN进行源码管理 通过编辑器偏好设置窗口(编辑(Edit)> 编辑器偏好设置&…

9. Spring注解开发

1. 注解开发定义Bean对象 目的&#xff1a;xml配置Bean对象有些繁琐&#xff0c;使用注解简化Bean对象的定义 1.1 在applicationContext.xml中开启Spring注解包扫描 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.spr…

33 CPP类多态-如何析构派生类

33 CPP类多态-如何析构派生类 派生类的析构函数在执行完后&#xff0c;会自动执行基类的析构函数&#xff0c;这是C编译器强制的规定。 这时候基类的内存模型&#xff1a;AA表示的就是Person类 将基类的析构函数设置为虚函数后。 基类的虚函数表中多了一个函数&#xff0c;但是…

性能测试(二)—— 常用测试工具、JMeter环境搭建、JMeter功能概述

目录 一、常用性能测试工具 1. 主流性能测试工具 1.1 LoadRunner 1.2 JMeter 1.3 LoadRunner 与 JMeter对比 二、JMeter环境搭建 1. 安装JDK 1.1 JDK下载 1.2 JDK配置环境变量 2. 安装JMeter 2.1 下载 2.2 安装 2.3 Jmeter环境配置 2.4 启动验证 三、JMeter功能…

[附源码]计算机毕业设计Python的中点游戏分享网站(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

反应式编程框架设计:如何使得程序调用不阻塞等待

前言&#xff1a; 程序在高并发的情况下&#xff0c;程序容易崩溃。主要的原因是&#xff1a;在高并发的情况下&#xff0c;有大量用户请求需要程序计算处理&#xff0c;而目前的处理方式是&#xff0c;为每个用户请求分配一个线程&#xff0c;当程序内部因为访问数据库等原因…

软件测试:Java VS Python,刚开始应该选择哪门语言进行入门呢?

前言 当你学完软件测试基本理论&#xff0c;掌握业务测试流程&#xff0c;功能测试可以搞定&#xff0c;数据库和linux玩得也很溜时&#xff0c;接下来想进一步进阶&#xff0c;那么学习一门编程语言必不可少。 同时&#xff0c;学习一门编程语言也是你成为自动化测试工程师乃…

如何正确使用JMeter性能测试?紧扣面试实际要求

前段时间专门挑了一段时间在准备面试。经过两次面试后&#xff0c;有一些比较深刻的认识。对于企业要求来说&#xff0c;除了对专业理论知识考究之外&#xff0c;对测试工具这块也是看重的。 一、使用JMeter测试快速入门 1、线程组是什么 进程&#xff1a; 一个正在执行的程序…