计算机视觉对于使增强现实 (AR) 系统理解物理世界并与之交互至关重要。AR 中常用的三个关键技术包括 对象检测和跟踪、同步定位与地图构建 (SLAM) 和 特征匹配与注册。 这些方法使 AR 应用程序能够识别环境、锚定虚拟内容并保持数字元素和物理元素之间的对齐。
对象检测和跟踪 构成了许多 AR 交互的基础。 对象检测识别场景中的特定项目或表面,例如桌子、墙壁或预定义的标记,如二维码。 检测到后,跟踪算法会实时跟踪它们的移动。 例如,ARKit (iOS) 和 ARCore (Android) 使用平面检测来识别平面,使应用程序能够在它们上面放置虚拟对象。 跟踪依赖于相机和 IMU(惯性测量单元)等传感器来更新对象的位置,随着用户的移动。 这确保了虚拟元素保持正确的锚定,即使相机角度或光照发生变化。
SLAM(同步定位与地图构建)是一种核心技术,用于在跟踪设备在其中的位置时绘制未知环境的地图。 SLAM 算法处理来自相机、深度传感器或 LiDAR 的数据,以创建周围环境的 3D 地图并实时估计设备的位置。 这对于 AR 导航应用程序或环境未预定义的游戏至关重要。 例如,Microsoft 的 HoloLens 使用 SLAM 让用户放置持久存在于特定位置的全息图。 SLAM 通常将视觉数据与传感器融合(例如,加速度计、陀螺仪)相结合,以提高精度,尤其是在动态或低纹理环境中。
特征匹配和注册 确保虚拟对象与物理世界精确对齐。 特征匹配识别场景中的不同点(关键点),例如边缘或角落,并在帧之间跟踪它们。 像 ORB(Oriented FAST and Rotated BRIEF)或 SIFT(尺度不变特征变换)这样的技术用于匹配这些特征。 然后,注册将虚拟内容与这些点对齐,并调整透视和比例。 例如,Snapchat 的面部滤镜使用面部特征检测将眼镜或动画等效果映射到用户的脸上。 图像分割是另一种相关的技术,它将前景和背景元素分离(例如,将人从周围环境中隔离),从而能够真实地合成 AR 内容。 像 OpenCV 或基于 ML 的框架(例如,TensorFlow Lite)等工具通常为实时应用程序中的这些过程提供支持。