AR SDK解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jjjwwwjjjwww/article/details/79982612

目标

通过梳理主流AR SDK的设计逻辑,得到对算法系统设计有意的启发。

SDK列表

  • 高通VISLAM
  • ARCore

    • ARCore中的概念
      Oriented Points
      Oriented points lets you place virtual objects on angled surfaces. When you perform a hit test that returns a feature point, ARCore will look at nearby feature points and use those to attempt to estimate the angle of the surface at the given feature point. ARCore will then return a pose that takes that angle into account.
  • ARKit

ARKit技术分析

文章列表:
https://m.leiphone.com/news/201709/thNHA0Ss9KPwjy30.html

https://m.leiphone.com/news/201709/hioiZlgdXIj9fFex.html


笔记:
1.关于标定
ARKit 能够如此稳定的三种标定方法:
- 相机的光学几何校正(简单)
- 相机的光度标定(难)
- IMU误差消除(非常难)

另外,传感器的时钟同步是更重要的。

标定不是非黑即白的问题,需要统计、并做更多的迭代以减少误差,才能让用例更加稳定。系统标定得越好,位置估计误差就会越不容易出现。

2.关于重定位
ARCore 和 ARKit 都采用了一种被称为“锚点”(Anchors)的概念,让我们感觉地图似乎覆盖了更大的物理面积。我第一次看到这个概念是在 HoloLens 上。正常情况下,系统会完全控制地图,而用户或应用开发者并不知道这点。锚点使开发者告诉系统“记住周围的地图,不要将其丢弃”。
不管何时,内容被放置在一个物理位置时,开发者通常会丢下一个锚点。如果没有锚点,用户来回走动时,物理位置周围构建的地图(内容所呈现的地方)将会丢失,内容也将丢失。而加上锚点后,内容将永远固定在那里,也不排除因为积累的漂移,系统需要矫正重新定位时,糟糕的 UX (用户体验)会对内容产生影响。

3.关于技术现状
ARKit / ARCore SDK目前还是1.0版,功能还非常基础(VIO、平面检测、基础照明),将在未来几年内获得更多的功能(3D场景理解、遮挡、多人联网,内容固定性等)。对开发商和消费者来说,这将是一个不断的学习过程。所以现在只需要坚持向着自己认为对的路子走就好。

另外说两个事实:第一,谷歌这样的科技大厂,其Tango项目也只适用于少量的机型;第二,ARKit也只支持较新版本的硬件。
可以看出,AR本身还存在技术上的问题。
另一方面,安卓是不可小觑的生态系统,而针对安卓生态的AR引擎尚有许多问题需要处理。
因此,在安卓手机上实现可靠的AR是有生态价值的。

猜你喜欢

转载自blog.csdn.net/jjjwwwjjjwww/article/details/79982612
今日推荐