补充现实:复习材料


高级移动开发人员Igor Litvinenko发布。

每个人都可能听说过VR头盔,它们创造了进入虚拟世界的效果。但是,今天我不想谈论虚拟,而是谈论增强现实。这些概念对于区分很重要。在虚拟现实头盔中,会生成整个图像-这样的现实完全是人造的。与虚拟现实不同,增强现实并不意味着创建完全人工的现实,而是将我们的现实的视频流添加到虚拟对象和数据中。因此,发生了虚拟世界和现实世界的结合。

核心增强现实技术



增强现实是如何产生的?为了增加某个真实对象,有必要在视频流中检测该真实对象。这是最重要的事情-发现对象后,完成某件事并以某种方式对其进行补充就不再困难了。有多种检测必要对象的方法-主要是为此使用增强现实标记。以下按进化顺序列出了检测互补对象的主要方法:

  • 最简单的标记或图像。
  • 无标记-无标记增强现实。
  • 简单的3D标记。
  • 用于渲染复杂对象(圆柱,立方体,盒子)的标记的组合。
  • 框架标记。
  • 根据位置。
  • 真实增强现实。


图片标记



粗黑框可以轻松识别最简单的增强现实标记。这样的对象很容易在视频流中检测到:



  • 要求:
    • 黑色框,宽度至少为10%。
    • 只有黑色和白色。
    • 转弯不变-我们可以随时指示确切的旋转角度。
    • 总是正方形。

  • 这里的算法最简单:通过执行这些阈值(将显示二值化),我们可以确定图像的边缘(边缘检测),中间的正方形和白色正方形。这样,我们就可以进入内部内容,将其切出并像图片一样使用-比扫描整个帧要容易得多。
    • 拐角检测。
    • 斑点检测。
    • 边缘检测。
    • 门槛。

  • 好处:
    • 最简单的检测算法是许多可以检测标记的开放式库和封闭式库。
    • 最稳定-始终可以非常准确地检测到标记,并且几乎没有模型抖动效果。



无标记



尽管有名称,但使用无标记方法时,标记实际上仍然存在。只是在这里它看起来不像标记,而是像图片。



  • 要求:
    • 大量的小零件。
    • 颜色越多越好。
    • 转弯是不变的。
    • 理想比例为1:1,即越接近正方形越好。比率为1:2或更高时,标记识别度很差

  • 演算法 特征点用于检测此类标记:假设这是渐变发生变化的点。也就是说,这是可见的清晰边界。也可以使用查找几何点的算法:在图片中的某些位置,存在形成角的精确标记-例如,十字可以是几何点。
    • Detect interest points.
    • Fiducial markers/
    • Edge detection — .
    • Simultaneous localization and mapping (SLAM) — .

  • :
    • : — . , — . , , — , .





这项技术使您可以考虑三维物体的简单形状:立方体,圆柱体等。在这里,我们可以创建一种配置,以帮助了解我们面前的物体是什么样的-例如,具有某种颜色组合的某种形状的物体可以用作标记(例如,提出了通过包装和标签识别药物的应用程序。我们还提供了一个识别葡萄酒品牌的应用程序-库可以从不同角度查找标签,由于非线性标记转换,该方法不适用于无标记或简单技术。

画框标记



假设您正在开会。您的徽标挂在墙上,向人们展示去往何处。徽标只有一个,因此所有图像都相同;为此,您需要唯一地标识每张图片。怎么做?使用框架标记。使用帧标记时,图像ID在帧中被加密:



  • 要求:
    • 统一框架。
    • 转弯是不变的。
    • 总是正方形。
    • 内部图像应与框架形成对比。
    • 小尺寸(3-10厘米)。

  • 算法:
    • 基准标记。

  • 好处:
    • 唯一标识相同标记的能力。



基于位置的增强现实



如果您在城市中四处走走,并获得有关所看到建筑物的信息,则很可能会使用该位置来添加真实感。



在这种情况下,没有图像识别任务。该技术基于对移动设备中存在的GPS接收器,指南针和加速度计的使用。多亏了他们,我们才知道我们朝着哪个方向发展。因此,为了补充现实,您只需要正确响应移动设备传感器的读数即可。这项任务并不是那么困难-有足够的库可以很好地处理它。

真实增强现实



这里没有标记。在这里,我们可以随时随地确定落入相机镜头的任何物体的3D形状和特征。我们需要知道对象的深度才能将2D图像转换为3D。为此,您可以使用例如已经提到的SLAM算法,该算法在周围物体上搜索特征点。到目前为止,在移动设备上,所有这些都很慢。现在,这种增强现实技术正在与PlayStation一起积极实施Sony。

密钥共享-keyshare.org



现在,我将告诉您我们如何用DataArt编写增强现实引擎以及为什么这么做。

一家瑞士初创公司决定基于增强现实技术的使用,提出一种新的增加销售的系统,我们为此开发了该系统。这就是它的工作方式。

我们拥有关键图像形式的获得专利的增强现实标记,可以将其放置在例如产品说明旁边的杂志中。此键内不同大小的白点使您可以唯一地标识内容。有一个服务器-它接收从密钥读取的代码,并将有关产品,其3D模型等的各种数据返回给用户。



为了开发这样的密钥,我们尝试了所有最受欢迎的库,但是找不到适合任何组合的标记。当我们使用标记增强现实时,它位于关键点。标记为黑白,关键点集中在变化的地方。最后,我们决定从头开始编写所有内容。

我们使用了MSER搜索算法,该算法仅找到一个范围。毕竟,我们知道肯定有一个黑键,并且在此键内肯定有一个白叉。因此,我们首先找到一个大的黑色区域,然后在该区域内找到一个白色区域。然后我们切出图片并查看宽高比-应该为2:1。接下来,我们分析表格。专注于十字架,我们可以找到关键短语的开头。至于要点,它们始终位于同一位置,因此也很容易找到它们。结果,我们通过表格获得了标记搜索算法。当然,这不是通用解决方案,但是它可以很好地执行我们的任务。

因此,在iPhone 5S上,我们获得了超过25 FPS的性能。要做到这一点是非常困难的。首先,与任何算法一样,我们对图片进行缩小:识别算法在质量较低的缩小图片上效果更好。然后他们引入了预测算法-找到图片后,我们假设密钥不能以超过某个像素值的速度飞出帧。然后我们缩短图片。之后,我们将分析动态:如果用户将手机向左旋转,则按键将向右移动。这是一个概率算法。如果我们没有立即找到所需的内容,我们将开始处理越来越大的区域。我们有一个很棒的模型渲染算法,它是从头开始编写的。

我们还有什么?键上有三行,每行有13个点。这意味着469种组合是可能的。由于图片在超过一米的距离上已经有些模糊,因此我们制作了带有纠错功能的概率解密算法。我们将其与自校正密钥结合使用。因此,我们可以准确地识别出四个错误信号,这就足够了。我们还有优化的检测算法,下一个位置的跟踪和预测算法。

尽管这样的密钥在某种程度上让人想起QR码,但还是存在根本差异。您无法将增强现实附加到QR码,因为其内容在不断变化。换句话说,您不能将其创建为标记。您无法在其上放置3D模型,也无法确定旋转角度。另外,这种钥匙很容易识别。

足球俱乐部识别器



我们还开发了一个应用程序,可以帮助用户跟踪自己喜欢的足球俱乐部。它允许您将虚拟现实添加到足球俱乐部徽标的图像中-当您将摄像机悬停在徽标上时,会显示俱乐部数据。 

Source: https://habr.com/ru/post/zh-CN391055/


All Articles