睿诚科技协会

iPhone的AR卷尺是如何实现测量的?

iPhone 的测距仪并不是一个真正的物理卷尺,它是一款结合了 硬件软件增强现实 应用,其核心原理可以概括为:利用双目视觉系统(或ToF传感器)进行空间感知,结合 AR 技术在屏幕上构建虚拟的测量尺,最终实现对物体尺寸的估算。

iPhone的AR卷尺是如何实现测量的?-图1
(图片来源网络,侵删)

下面我们分步拆解这个原理:


核心硬件:iPhone 如何“看见”三维世界?

要让手机测量距离,它首先需要理解自己所处的三维空间,iPhone 主要通过以下两种技术来实现,具体取决于你的 iPhone 型号:

双目视觉 - 适用于大部分 iPhone(如 iPhone 12/13/14 系列)

这是最主流和基础的技术,模仿了人类的双眼。

  • 硬件构成:

    iPhone的AR卷尺是如何实现测量的?-图2
    (图片来源网络,侵删)
    • 两个摄像头: iPhone 的主摄像头和超广角摄像头,这两个摄像头之间有一个固定的物理距离(基线距离,Baseline)。
    • 图像信号处理器: 这是 iPhone 芯片(如 A16 Bionic)的一部分,负责处理摄像头捕捉到的图像。
  • 工作原理(模仿人眼):

    1. 捕捉两幅图像: 同时用主摄像头和超广角摄像头拍摄同一场景,得到两幅略有角度差异的 2D 图像。
    2. 寻找对应点: ISP 会在这两幅图像中寻找同一个物体上的同一个点,你在桌面上放了一个杯子,主摄像头图像里杯子的某个像素点,在超广角图像中会对应到另一个像素点。
    3. 计算视差: 由于两个摄像头位置不同,同一个点在两幅图像中的位置会有一个微小的位移,这个位移就叫做“视差”(Parallax)。
    4. 计算深度: 视差越大,说明这个物体离手机越近;视差越小,说明离手机越远。 通过一个复杂的几何公式(基于基线距离和视差),iPhone 就可以精确计算出这个物体到手机的距离,从而得到一个“深度图”(Depth Map),深度图记录了画面中每个像素点到相机的距离。

飞行时间 - 适用于 Pro/Pro Max 型号(如 iPhone 12 Pro 及后续 Pro 型号)

ToF 是一种更先进、更精确的深度感知技术。

  • 硬件构成:

    • ToF 传感器: 通常位于前置摄像头旁边,它不是一个普通的摄像头,而是一个专门的深度传感器。
    • 红外发射器: 会发射人眼看不见的脉冲红外光。
  • 工作原理(类似雷达):

    iPhone的AR卷尺是如何实现测量的?-图3
    (图片来源网络,侵删)
    1. 发射红外光: ToF 传感器向物体发射一束经过调制的红外光脉冲。
    2. 接收反射光: 红外光碰到物体后反射回来,被传感器接收。
    3. 计算时间差: 通过精确测量“发射”和“接收”之间的时间差(Δt),因为光速是已定的常数(c),所以可以根据公式 距离 = (光速 × 时间差) / 2 直接计算出物体到传感器的距离。
    4. 生成深度图: 通过快速扫描整个场景,ToF 传感器可以生成一个分辨率和精度都非常高的深度图。

小结: 无论哪种技术,最终目的都是生成一张 深度图,让 iPhone 能够理解场景中哪些东西远,哪些东西近。


核心软件:ARKit 和虚拟尺子的诞生

有了深度图,iPhone 只是知道了“哪里有东西”,但还不知道“这个东西有多大”,这时,苹果的 ARKit(增强现实开发框架) 就登场了。

ARKit 是苹果提供的一套强大的软件工具,它负责将硬件获取的深度信息转化为稳定、可交互的 AR 体验,测距仪 App ARKit 的一个典型应用。

  • 平面检测: 当你打开测距仪 App 并将手机对准一个平面(如墙壁、地面、桌面)时,ARKit 会利用深度信息自动检测这个平面的边界,它会告诉你:“哦,这是一个水平/垂直的平面,我可以把它作为测量的基准。” 这就是为什么你第一次测量时,App 会自动检测并框选出一个矩形区域。

  • 锚定虚拟物体: 一旦检测到平面,ARKit 就会在这个虚拟平面上“锚定”一个虚拟的测量起点和一条虚拟的测量线,这条虚拟尺子会牢牢地“粘”在平面上,即使你移动手机,只要这个平面还在视野内,尺子也会跟着移动,保持稳定。

  • 实时追踪与计算:

    1. 单次测量(高度/宽度): 你将手机屏幕上的“起点”对准要测量的物体一端,然后拖动屏幕到另一端,ARKit 会实时计算这两点在 3D 空间中的实际距离,并将这个数值显示在虚拟尺子上。
    2. 自动测量(房间尺寸): 在检测到平面后,你可以将手机在房间的四个角上依次移动,ARKit 会利用视觉里程计技术追踪手机的运动轨迹,并记录下每个角的位置,从而自动计算出整个房间的长和宽。

从点到面:自动测身高功能

这个功能是上述原理的集大成者,非常巧妙。

  1. 检测地面和头顶: 当你将手机对准一个人并点击“自动测量”时,ARKit 首先会利用深度图检测出地面(一个水平面)。
  2. 建立垂直参考线: 它会从地面向上建立一条垂直的参考线。
  3. 识别头顶位置: 当你将手机慢慢从下往上移动时,ARKit 会持续分析深度图,当手机的摄像头捕捉到人头顶的最高点时,它会识别出这个点的 3D 坐标。
  4. 计算距离: 由于它已经知道地面的位置,所以只需计算出“地面”到“头顶”这两点之间的垂直距离,就是身高了。

精度有多高?影响因素是什么?

iPhone 测距仪非常方便,但它的精度是估算,不是工业级的精确测量。

  • 理想情况下的精度: 在光线良好、纹理丰富的表面上进行近距离(1-10米)测量,误差通常在 1% 到 2% 以内,测量 1 米的物体,误差可能在 1-2 厘米左右。

  • 影响精度的关键因素:

    1. 表面纹理: 在完全光滑、无纹理的表面(如一面白墙、玻璃)上测量,手机很难找到对应点,精度会大幅下降。
    2. 光线条件: 光线太暗或太亮(特别是强光直射摄像头)都会影响深度传感器的性能。
    3. 测量距离: 距离越远,视差越小,ToF 信号的反射也越弱,误差会显著增大,对于 10 米以上的物体,误差可能会变得很大。
    4. 测量角度: 最好让手机摄像头尽量与被测表面保持垂直,倾斜角度过大会引入误差。
    5. 物体移动: 如果被测物体或手机在测量过程中发生移动,会导致计算错误。

iPhone 卷尺技术原理 = 双目视觉/ToF(硬件深度感知) + ARKit(软件空间理解与渲染)

它的工作流程是: 摄像头/ToF传感器 → 捕捉图像/发射红外光 → ISP/ToF芯片 → 生成深度图 → ARKit分析深度图 → 检测平面、锚定虚拟尺子 → 计算并显示距离。

这项技术不仅用于测距仪,还广泛应用于游戏(如《Pokémon GO》)、家居购物(如 IKEA Place)、工业检测等多个 AR 领域,是现代智能手机 AR 功能的基石。

分享:
扫描分享到社交APP
上一篇
下一篇