iPhone 12 Pro 的激光雷达能做哪些有趣的事?
Matrix 首页推荐
文章代表作者个人观点,少数派仅对标题和排版略作修改。
iPhone 12 Pro 和 iPad Pro 2020 上新搭载的那颗激光雷达扫描仪(LiDAR)究竟能做什么?本文将从一个实验讲起,向你展示其在 3D 扫描、AR 增强现实、 Unity 游戏、3D 打印领域的联动。
为了探究这个问题,我向附近的小商店 Quick and Convience 寻求帮助。在店主 Andy 的允许下,我使用激光雷达扫描了他的商店。我将通过这次实践,向你反馈雷达传感器的真实使用体验。
激光雷达扫描仪
根据 Apple 官方介绍,激光雷达扫描仪具备纳秒级速度。它可测量激光触及物体后反射回来所用的时间,这样就能绘制出你所处空间的深度图。简单来说,这是一颗深度测量镜头,可以完成瞬间测距工作。
测距结果不但可以被用于AR 场景的迅速定位、夜间成像的对焦、相片合成时的背景虚化,也可以提取其原始数据分析周围场景。
AR 的使用情况我在另一篇文章详细讲过,若你感兴趣可以去阅读「AR:未来,即将到来」。本文进行的这项实验,考验的就是其最原始的本领,周边场景的完整测绘能力。
扫描到的信息
从货柜开始,打开雷达传感器进行扫描,看到的是如下的场景。从图中你会发现,雷达传感器与肉眼不同,它看到的只有远近关系而没有材质。
无人汽车上使用的雷达往往能识别一百米左右的距离。但受限于机身尺寸和需求差异,iPhone Pro 和 iPad Pro 上的雷达传感器只能识别几米的距离。上图中,你可以看到深度信息只包含镜头周边的场景,过远的地方则无法识别。
那我们怎么才能扫描整个场景呢?答案是陀螺仪和网格系统,iPhone 会通过陀螺仪来对设备姿态进行记录。当扫描开始后,它会通过一套网格系统来记录被拍摄物品所处的位置。如下图所示,便是拍摄过程中的网格视图。
扫描到的信息是无数的位置关系。为将这些信息变成可用的模型,我们可以使用多边形网面图,它也被称作 Mesh。如下图所示,货柜被进一步处理成一个个三角形组成的一张网。这个网所具备的凹凸代表的便是真实世界中物品所具备的形状和深度关系。
除了深度信息外,最后一步需要获取的便是从摄像头拍照。这一步与雷达传感器无关,使用的是设备上的普通摄像头,用于记录场景的材质 Texture。
信息组合之后
上一小节所探讨的是雷达传感器创建周边场景所需要技术元素。用网格图综合这些信息后,你便可以得到整个商店的完整深度信息图。
将这些深度信息组合所得的网面图所得三角填充基础色,得到结果如下图所示。
最后将拍到的图片根据位置一一还原到扫描到的场景中,会得到完整的,带有纹理的图片。
最终结果
稍微对上图所得的 3D 模型进行边角处理,得到的完整模型如下。这便是 iPad Pro 或者 iPhone 12 激光雷达扫描仪配合普通摄像头所看到的世界。下图由 928 张图片合成所得,灰色区域并非合成失败,而是我自己没记住那些地方扫了那些没扫,最终被不小心遗漏。
若你想下载这份扫描结果,可以访问我的网站 - AR 分页。分享的文件为 usdz,下载大小为 25MB。当你在 iPhone 或 iPad 上下载该文件时,设备会自动使用 AR 模式将其打开。本文所使用的扫描软件为「3D Scanner App」,仅支持配有 LiDAR 的设备使用。
激光雷达与 AR 相结合
得到成品图之后,我和老板进行了简单探讨。我们认为成品模型所具备的效果很像早些年网游里的材质贴图,当然雷达扫描仪不负责纹理这块,而且现阶段软件对图片合成的效果还有很大提升空间。
如果把模型用 AR 展示出来会怎么样?这样琢磨着,我将商店模型用 AR 放置在了小商店的入口处。得到的效果如下图,把玩间忽然间有一种很梦幻的感觉,小场景中也有货架、房顶、商品。一时间商店中好像出现了一个小人国,有一种动画短片里镜头深入,又见同一个场景的轮回感。
若你想下载这份扫描结果,可以访问我的网站 - AR 分页。分享的文件为 usdz,下载大小为 25MB。当你在 iPhone 或 iPad 上下载该文件时,设备会自动使用 AR 模式将其打开。本文所使用的扫描软件为「3D Scanner App」,仅支持配有 LiDAR 的设备使用。
激光雷达与 3D 打印相结合
既然激光雷达具备 3D 扫描的能力,是否有可能使用它扫描周边场景,接着直接将扫描到的模型用 3D 打印出来呢?为了验证目前 3D 扫描的精度,我找到了几个最近打印出来的 3D 模型,用于扫描测试。设想很简单,如果 3D 扫描仪有能力精确扫描出 3D 打印的模型,那么扫描到的模型便可以被用在 3D 打印中。
下图是艺术家周远玉设计,我参与制作的 3D 打印模型,用于对比展示。这张照片以 AirPods Pro 作为参照物,用雷达扫描仪扫描。
上图中,打印出的象牙的直径约为 0.2 毫米,雷达传感器的 3D 扫描远无法到达这个精度。作为较大对照物的树干高度约为十厘米,而扫描仪也无法捕捉其表面细节。所得结论,现阶段 iPhone Pro 或 iPad Pro 所配置的激光雷达的精度还不够,尚不足以用于扫描模型以用于 3D 打印。
iPhone 前端用于 Face ID 的也是激光雷达,为什么其精度可以被用于安全扫描呢?这是因为虽然二者同属于激光雷达扫描仪,但 Face ID 所投射出的点阵主要用于面部识别,精度更高,但识别范围相对较近。而 iPhone 或 iPad 背后的雷达传感器投射范围较大,但精度相对较低。下图左侧为后置激光雷达传感器,右侧前置是 Face ID。
若你对 3D 打印的现状、原理及选购方法感兴趣,可以关注我。未来我会写一篇 3D 打印的回答,介绍下图中的光敏树脂打印及固化机, 并对比讨论传统的热熔 3D 打印机,到时会放出一些看似不可思议的图和视频。
激光雷达与 Unity 游戏结合
既然已经通过激光雷达获得了 3D 的商店图模型,如果直接将扫描到的场景用于游戏会怎么样?基于这个想法,我将 3D 模型导出,重整了材质纹理,如下图所示。
接着,我将这些新获得的素材放入了游戏引擎 Unity 2020 中,制作了一个卡丁车游戏场景,如下图所示。商店自身场景比较暗,我给赛车加了大灯,并给场景添加了光源。
在商店里跑一圈,视频如下。不难看出,3D 扫描所获取的模型局限性还很大,存在多边形过多、纹理素质差等问题,因此在未来很长一段时间,用 iPhone 扫描的 3D 模型都无法替换传统的游戏模型制作方式。不过可以用 iPhone 扫描场景,并在商店中开卡丁车,依旧是个很有趣的尝试!
总结
本文中,我探索了激光雷达在 3D 场景、AR、3D 打印、游戏中的可能性。激光雷达现阶段仍存在局限性,如精度不完美,识别距离一般。基于这些遗憾,在 AR 应用中,整个世界都被增强的场景暂时无法见到。
我曾经认为雷达传感器仅对于 AR 有帮助,实则不然,这个传感器的出现会在未来数年影响许多领域。扫描仪速度极快,在手机上就能对周边环境进行感知的能力更是前所未有。看到熟悉的商店变为手机中的模型、游戏里的场景,让人惊叹技术发展之快的同时,更是对未来充满遐想。
试想未来的一天,大家不用再拘泥于佩戴者 3D 眼镜去电影院感受伪 3D 画面,而是随时可以掏出手机,像拍视频一样的拍摄周边场景分享给朋友。朋友收到 3D 扫描后,直接用自身佩戴的 AR 眼镜将你看到的场景完整还原在自己的生活中。而这,只是众多畅想之一。
未来我也将在应用中继续探索这些新能力的应用,若你也有想法想要实现,可以订阅「给创作者的 iOS 独立开发指南」,它含设计、构思、编程、推广、商业化等内容。无论你是不熟悉编程领域的新人,还是熟知技术的开发者,都能在本教程中扩充视野、补充所缺的知识,最终制作出属于你的应用程序。
作为作者福利,我申请了额外的优惠券给你,可以与正在进行的双十一优惠叠加使用,欢迎点击领取。
本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。