头显评测

“Jump ' ing in the Deep End:深入探索Google VR

  • 2015-05-29
  • VR昨天在谷歌IO上的声明又向前迈进了一大步(抱歉,不得不这样做)。*Jump平台承诺从捕捉到展示,彻底重塑VR内容生产版图。要理解Jump是如何以及为什么这样做的,需要真正弄懂Jump本身。因此,根据截图和发布的规格,我们会尽最大努力。

    首先,Jump是一个物理平台。这是一个GoPro阵列,就像你可能从360 Heroes或其他十几家GoPro持有者公司中的任何一家公司得到的一样。谷歌产品管理副总裁兼VR/AR负责人克莱·巴沃声称,这款钻机使用的是现成的摄像头,演示文稿暗示它与相机无关,但实际上它是一台GoPro钻机。谷歌没有出售它,但他们正在发布CAD图纸,这样任何人都可以制造它们。这是一个渲染,但他们也有照片,所以这不是Vaporware:

    所有16个摄像头都预装了美国国家安全局软件。

    是的,他们甚至用硬纸板做了一个(价值8000美元的相机和8美分的硬纸板,就像我的车里的法拉利引擎一样)。但在你开始生产这些东西的公司之前,要知道GoPro也将销售这款Jump系列产品,据说是在今年夏天之前。GoPro在达到公布的交付日期(如果不是猜测的日期)方面一直相当出色,所以这可能是准确的。但如果你想要不同的颜色或不同的材料,你仍然可以自己做。例如,我几乎可以保证,很快就会有六种碳纤维版本可供选择,塑料版本几乎很快就会出现在阿里巴巴上。我只需记住:任何钻机都可能必须以严格的公差建造,因为相机的位置很重要。请看下面的内容,我们将在这里讨论"校准的摄像头阵列"。

    乍一看,这个钻机比同等的GoPro支架稍大一些。它有16个摄像头,根本没有上下摄像头。根据GoPro 4 Black的规格,这台钻机横向可以捕捉到360度的全景,但垂直角度只有120度多一点。所以它将在每根杆子周围缺失大约30度,直接在你的头上和你的脚上。(我认为,可能不是什么大问题--但对于现有的一家公司来说,这可能是一个小小的差异化?和毛的《大跃进》一样,谷歌的《大跃进》也会造成一些人员伤亡。)此外,《大跃进》的布置也像一个单声道钻机,每个摄像头都指向不同的方向。大多数3D GoPro Rig都有两个摄像头指向每个方向,如下所示:

    来自360 Heroes的3D GoPro Rig。它可以容纳12个GoPros,其中10个是立体声对。所以每只眼睛5个摄像头。

    通过将两个摄像头指向每个方向,您可以为每只眼睛获得不同的视图,这将为您提供视差和3D效果。你也会看到接缝,因为指向一个方向的"左"摄像头与指向另一个方向的"左"摄像头相差很远。有一个完整的微型行业是围绕着将这种安排留下的接缝(以及Mono 360中的较小接缝,尽管这通常更容易处理)建立在一起的。

    但这是谷歌将其他一切都出类拔萃的地方:他们的钻机一个3D钻机。但这些摄像头并不是专用的左眼或右眼;每个摄像头都捕捉到了用于两只眼睛的像素。谷歌获得3D效果的方式和贾阿姨一样,使用机器视觉来推断3D位置,然后重新映射这些3D位置,这样就没有Seam。一个也没有。他(理论上):这是一件大事,因为现在有了1万美元的半专业装备,你就可以制作出完美的360 3D VR。太让人吃惊了。(这也不是整个故事-我稍后会讨论限制。)

    它的工作原理是这样的:因为他们的软件确切地知道每个摄像头相对于另一个摄像头的位置,如果他们能找到两个摄像头之间匹配的像素补丁,他们就可以计算出这个点在现实世界的3D空间中的位置。在使用这些3D数据后,他们可以弯曲和扭曲胶片,为你提供所谓的"立体正交"视角:基本上,每一条垂直胶片都有准确的视差。对于普通的钻机,只有在拍摄镜头的两个镜头之间的主题是这样的,它与主题与镜头轴的夹角的余弦一起下降。(换句话说,你离得越远,通常你的立体深度就越小。)现在,这需要大量的计算,但谷歌可以相当快地做到这一点--可能比现有的现成缝纫机更快--因为它们决定了你如何以及在哪里放置相机。

    这里有一个交易,深度(再次抱歉):当你从阵列中的一个相机切换到另一个相机时,视角会稍微移动一点。为了拼接图像(或构建3D模型),您可以从相邻相机的图像中找到匹配的区域。因此,如果你从相机A的几个像素开始,在相机B的镜头中寻找类似的像素补丁,你实际上知道从哪里开始,从哪个方向开始寻找。与未校准的钻井平台相比,这大大加快了搜索过程。公平地说,现有的拼接软件,如视频拼接软件或Kolor拼接软件(现在已经方便地成为GoPro的一部分)可能会对你的相机装备做出一些相当好的算法假设--但校准后的相机装备的纯数学优势是巨大的。

    所以,一旦你找到匹配的补丁,并且你知道你必须在源图像中走多远才能找到它们,你就可以计算出该区域到相机阵列的距离。如果物体在无穷远处,它在两张图像中会有一些小距离(它不在图像的同一区域,因为摄像头指向的方向略有不同)。随着拍摄对象靠近相机,这一距离将降至零,然后随着拍摄对象接近钻机,距离开始变大。*图像中的准确距离完全由被摄体的距离决定,因此您可以以惊人的精度计算3D位置。

    对于左视图中X处的给定点,相应的点必须位于右视图中的一条核线上,由直线er-xr表示。显然,这对查找点对应关系很有帮助:您只需搜索一行,而不是整个图像。(图片无耻地抄袭自维基百科关于极线几何的优秀文章。)

    完全准确地说,你在第二张图片中沿着核线进行搜索。(由于GoPro镜头扭曲严重,除非在Memory…中重新映射,否则线条实际上是圆弧但那张图表会让我彻底崩溃。)请注意,这背后的超高效算法只有几年的历史;那些对极客感兴趣的人应该考虑阅读《多视几何》,它既涵盖了这里的具体情况,也涵盖了未校准相机钻机的一般情况。在这里可以找到;我只读了前几百页,但每一页我可能都读了十遍。*它很密集,你需要花一些时间来尝试可视化一些东西,比如"无限大的平面"。再加上它很重的线性代数;享受。

    关于跳跃…之后这一切的更多含义

    继续第2页…
    <!--NextPage-->
    因此,使用3D模型,你甚至可以获得一些环顾四周、跟踪头部的风格。请注意,这只是一点点,使用Jump时,您完全没有关于垂直视差的数据:因此,您可以在钻机边界内左右移动头部,并获得新的透视图,但如果您上下移动,您将开始丢失视差的像素。不过,理论上图像点会正确移动-你确实有适当的3D信息,只是你没有背景像素,当物体随着你的垂直运动视差越过彼此时,你就没有背景像素了。(为画内图像插入像素并不是不可能的,但使用Jump并不一定能做到这一点。(因为我必须挑剔每一项技术,这就是这笔交易的运作方式。)

    现在,我以前在讨论光场时可能提到过这一点,但机器视觉并不完美。话虽如此,人类的视觉并不完美,但至少我们习惯了它的特质。但这种机器视觉技术的问题是,它要求这些小块像素在不同的相机之间看起来大致相同。对于没有镜面反射的完全无光的曲面,这基本上是正确的。但任何有光泽或微光的东西看起来都不对劲。但坦率地说,演示片段相当静态是有原因的--很多外部世界与机器视觉技术玩得不那么好。我敢打赌,如果摄像机离得更近,那些摩托车看起来会很奇怪,或者至少里面的反射会很奇怪。

    另一件可能会搞砸算法的事情是高度重复的模式,因为算法可能会找到错误的匹配。(砖墙和链条栅栏是这种技术的祸害,尽管有绕过它的方法。)此外,没有特色的区域很难匹配,玻璃是残酷的。此外,还有一些在图像中显示出来的非物件,比如电话线之间的交叉点:虽然会有两个视图上看起来相似的区域,但它们并不对应于任何物理上的物件。在电话线的情况下,它们看起来相交的地方是你的视角的函数,在3D空间中没有意义,那就是"交叉点"。但有了这项技术,计算机将思考有一场比赛,认为它是看到了世界上的一个物理交叉,而不是两个视角的技巧。压缩伪像也会产生一些相当残酷的高频错误-记住,GoPros会动态压缩到H.264,而且压缩的质量非常不稳定。甚至不要让我开始谈论树叶,或者最糟糕的是:镜头光斑。在镜头中有耀斑,但你不会注意到它们,因为它们是由巨大而柔和的荧光灯引起的,所以耀斑的边缘很柔和,在视图之间很好地融合在一起。然而,像太阳这样的强光不会产生如此良好的照明弹。

    话说回来,根据谷歌盯着街景画面的所有机器,我认为可以肯定地说,可能没有人比谷歌更擅长解决这些问题了。事实上,演示给出了一些关于他们是如何做到这一点的线索。在一场精彩的表演中,巴沃播放了一张沿着3D场景的轮廓进行算法跟踪的幻灯片:

    白线勾勒出了推断出的场景的3D形状。这是Jump用来生成正确视差的原始3D模型。

    这暗示了谷歌可能会采取什么措施来解决我之前提到的许多挑战:当你有一个无法正确匹配的补丁时,看看附近,只需插入来自周围环境的深度数据。如果你得到了完全虚假的东西,比如镜头光斑或电话线上的假匹配,请忽略它,并围绕它进行插补。这样做的结果是"软化",某种程度上是等高线地图的低传。我相信我们看到的痕迹也准确地代表了算法的输出,因为它真的与场景几何形状不太匹配;边缘周围的线条看起来太平滑了(看看柱子的顶部),而且所有地方都是连续的,就像一张巨大的橡皮布推过场景的顶部。(如果这听起来非常不准确,请记住,我们通过组合许多深度线索来获得很多深度感知;避免严重错误的立体声视差比准确地获得它更重要…这就是为什么我一直认为,对于狭隘的视场来说,对‘立体正交性’的关注有点夸大了,但我跑题了。)如果这实际上是算法的输出,有一个区域特别显示了这种橡皮纸效果:

    轮廓线太平滑时会表现出奇怪的行为-请注意轮廓线是如何以平滑的渐变从柱子跳到天花板的,以及如何通过左下角中心的压力机看到缺口太多轮廓线。这就好像整个场景是一个连续的曲面。*在视频本身中,这些边缘周围有误差,但也可以看到一些真实的视差,所以可能技术比这些轮廓线所显示的更微妙。

    尽管如此,还是会有一些文物。事实上,如果你在看的话,演示片段确实有一些相当明显的文物(我一直在看)。如果你专注于堆叠在前景中右中的压力机上的骰子,它们的反射似乎会随着你在横向运动演示中从一边到另一边的移动而加倍和剪切。

    算法和机器视觉技术无法很好地处理这种镜面反射--部分原因可能是它离相机太近了。但主要是因为每个相机的反射效果都不一样。随着镜头从一边到另一边平移,这些骰子就像缝合不好的接缝一样翻倍和淡入淡出。

    好的,这是超级微小的,是可以原谅的--我甚至可以听到你说的(另外,这是在一个Lookround演示中)。但请不要这么宽容,因为在被证明不是这样之前,这个系统将受到常见问题的困扰:反射、水、重复图案、半透明、透明度等。一个摩托车商店的演示,尽管它可能令人印象深刻,但并不是对这项技术的终极严峻考验。话虽如此:天哪,它看起来真的很棒,所以我相信Jump很快就会成为VR制作的主要组成部分。至少,这大大提高了GoPro VR制作的门槛,一些SVVR小组成员估计,目前正在进行的真人VR制作的80%左右。

    那么,使用这个钻机会是什么感觉呢?--它相当笨重。但GoPro显然支持它,所以希望触发所有摄像头将非常容易,Bavor说曝光将匹配(想必还有快门和色温,尽管演示中涉及到了使镜头更好匹配的"校准"步骤;希望发货版本不需要这样做)。据推测,我们也得到了‘帧同步’。因为Bavor从技术上讲并不是在说话,我不知道帧同步是指半帧内的同步,还是更像是毫秒或微秒的同步,这是你使用专业3D相机系统得到的。我听说有传言说,GoPro 3和4的设计方式,它们不可能硬同步到毫秒或微秒级,尽管这是道听途说,可能是完全错误的。(无论如何,GoPro过去已经为3D安装了这个系统,但没有安装英雄3或英雄4…的选项所以这个谣言可能是有一定道理的。)从内容制作人的角度来看,这实际上可能是一个问题;我见过高运动对象或快速移动的相机出现重大拼接和通信错误,而抖动只有0.5毫秒,相机时钟可能只是晶体振荡器,非常容易漂移(我甚至看到过千分之几的漂移,这意味着每20秒左右就会以60fps的速度丢弃一帧)。诚然,你需要的准确性完全取决于你的主题移动的速度,当然,但有点讽刺的是,GoPros可能不是动作镜头的最佳选择。(是的,我刚才真的写了。)

    同样,GoPro也有一个明显的滚动快门。似乎最大帧速率决定了滚动快门,如果您以给定分辨率设置的最大帧速率或接近最大帧速率拍摄,您可以放心地假设它几乎是100%滚动的。用稍微不那么专业的术语来说,你推相机的力度越大,帧速率越低,你在镜头中得到的果冻就越多。但当最大速度为30fps时-例如,GoPro Black上的4k镜头-这意味着你看到的是大约30毫秒的滚动快门。相机的任何移动都会产生问题,快速移动的被摄体会扭曲。这种扭曲会对谷歌的机器视觉技术产生怎样的影响?目前还不清楚。我相信今年夏天我们会学到更多。

    当然,由于这个原因和其他原因,系统在较低分辨率、较高帧速率的GoPro设置中可能会运行得更好。他们说,1920×1440在60 fps的速度下,会给你一个更快的滚动快门(仍然可能是12毫秒的量级,这不是很好,但也不是很糟糕)。当然,在更高的帧速率下,VR镜头看起来要好得多,所以有另一个理由将分辨率提高到60p。

    如果听起来我很挑剔,我确实是-这是我使用相机技术的某种方式。坦率地说,我被演示震撼了;不过,你应该亲自看看视频。对我来说,我甚至报名参加了夏季测试版计划,在这里。我可以试一试,只要你在我后面排队。(个人方面,对克莱·巴沃:随时可以把我放在候选名单上。(我只是说说而已)

    但如何使用呢?坦率地说,这需要大量的摄像头和数据来争论。在我们上一篇关于Jump的文章中,我们计算出该阵列将产生大约430 GB/小时的数据。我是这样想的:在GoPro Black上启用Protune后,你可以录制到60Mbit的H.264压缩流。这大约是每台相机每秒7.5兆字节。一个多小时,16个摄像头*3600秒/小时*7.5MB/摄像头-秒加起来相当于…432 GB。存储设备很便宜,但看起来这个钻机的成本不会是摄像头,而是硬盘。芯片和处理器。哦,还有microSD卡。记录这16张小指甲大小的卡片可不是一件容易的事。在适当的数字电影布景上,有一个名副其实的角色,名为"数据牧马人",指的是那些努力备份镜头和拍摄镜头的可怜的笨蛋。

    一张艺术家的画作,展示了你将在Jump钻机上使用的所有MicroSD卡。

    巴沃不经意地提到,这些摄像头拍摄的原始图像有五台4k电视那么大。只要我们在做手指计算,我会说这大约是20k,即20480 x 2160。(顺便说一句,Oculus是对的:你的计算机不够快。)这强烈地表明你以1440的速度拍摄,顺便说一句:将这个分辨率除以16个摄像头,结果正好是1920 x 1440。(这可能是对的,但巧合的可能性比看起来更大,因为所有分辨率都是HD分辨率的小数倍,它们往往会相当平均地分配…目前还没有关于输出文件有多大的消息,但在这一点上,我怀疑它大致相当于现有的VR,或者更高一点:称之为4k左右,大部分捕获分辨率是计算机可以咀嚼的冗余像素。

    有多多余?好吧,如果我们把GoPros排成一排,它们的图像不会重叠,它们将覆盖1510度(94.4度VFOV x 16个摄像头)。由于我们只需要覆盖360度,这是一个超过4:1的覆盖比例。换句话说,大多数图像点实际上被两个以上的摄像头看到,这是机器视觉技术的充足素材,如果两个摄像头一致,第三个(或第四个)摄像头有成像伪像,可能会出现耀斑拒绝之类的事情。再说一次,这是假设我们的分辨率设置是正确的,但数字确实是累加的。

    当然,如果我们以1920 x 1440的速度拍摄,我们实际上不会非常有2160个垂直像素-记住相机是横向的,但即使我们比这些投影少了大约240个像素。当然,摄像头无论如何都不能覆盖180度垂直,所以垂直像素/度几乎就是2160p视频拉伸到180…时的水平Aaaa,我们正式对一份尚未发布的规范进行了细枝末节,这份规范是基于主旨演讲中的一句一次性台词。

    所以,除非你已经在做高端VR,或者拍摄数字IMAX,或者使用大幅面打印,否则你可能不太熟悉那么高的分辨率。而且,尽管听起来很尖刻,但老实说,我只能假设大多数谷歌纸板用户完全浪费了分辨率,除非这些耳机升级是实质性的。因此,要么这是面向未来的(有可能;早在任何人观看之前,YouTube就已经启用了4k上传),要么谷歌计划让YouTube成为市场上每一款耳机上视频的首选目的地。

    换句话说,谷歌刚刚宣布自己是VR内容空间的主要参与者。虽然真人虚拟现实的前景仍然相当不确定,但谷歌已经提出了相当大的要求。

    VR52

    VR52网成立于2015年,平台提供VR头显、AR眼镜、配件外设、厂商、测评、行业资讯、游戏与应用、展会活动等。

    热门VR眼镜

    热门资讯

    标签

    头显眼镜对比
    清除所有