Vuforia SDK分析

2023-11-01

Vuforia Architecture(高通组件)

camera

    单实例,在需要摄像头的时候会返回唯一的摄像头实例。

Image Converter

    单实例,像素级的图像转换器。在相机的 OpenGL ES rendering 格式和 tracking 的格式之间转换。

Tracker

    单实例,用一种可自定义变更的算法跟踪在摄像头得到的图片中的目标,并把对象用 state object 方式存储。跟踪器可同时追踪多个数据集(被追踪对象),但是同一时间只能有一个被激活。

Video Background Renderer

    单实例,在 state object 中渲染从摄像头获得的图像。该组件的性能在 background video rendering (视频背景渲染)中是最佳的。

Application Code

    开发者必须初始化以上的所有组件,并且需要在程序中完成3个关键动作。在所有的框架中,state object 不断被跟新,并且应用程序提供方法被呼叫。

    3个关键动作:

    1. 查询 state object 的最新状态, 并且标记或更新这些 state 的状态。

    2. 为新加入的数据更新程序逻辑。

    3. 把图形叠加并且显示到屏幕。

Target Resources

    目标资源创建于在线的 Target Management System  。下载的数据中包含 XML 配置文件,让开发者能配置一个跟踪特点,在二进制文件中还包含一个跟踪目标数据。



Trackables (可被追踪的目标)

定义: Trackables 是高通AR开发包可以在六自由度中追踪到的所有现实世界中的目标。每个可追踪的,当发现和跟踪,有一个名称、一个ID、状态和姿态信息。图像目标、多目标和标记都trackables,从这个基类继承的属性。Trackables是更新每一帧被处理,结果被传递到应用程序的状态对象。为更全面地理解应用程序间的数据流和SDK请看看Vuforia架构

参数:
  • Trackable type

                 Enum that defines the type of the trackable:

  •            UNKNOWN_TYPE - A trackable of unknown type.
  •           IMAGE_TARGET - A trackable of ImageTarget type.
  •           MULTI_TARGET - A trackable of MultiTarget type.
  •           MARKER - A trackable of Marker type.
  • Trackable name / identifier
                   A string that uniquely identifies the trackable within the database of targets.
                   Max string length: 25 characters
                   Character set: a-z, A-Z, 0-9,[ - _ .]
  • Trackable status
                   Each trackable has a status information associated with it in the State object, which is updated as each camera frame is processed. The status is    characterized by an enum:
  •                     UNKNOWN - The state of the trackable is unknown. This is usually returned before tracker initialization.
  •                    UNDEFINED - The state of the trackable is not defined.
  •                    NOT_FOUND - The trackable was not found, E.x. The referenced trackable is not part of the database.
  •                    DETECTED - The trackable was detected in this frame.
  •                   TRACKED - The trackable was tracked in this frame.
  • Trackable pose
                     Current valid pose of a  DETECTEDor TRACKED trackable is returned as a 3x4 matrix in row-major order. The Vuforia SDK provides simple tool functions to convert the Vuforia pose matrix into a GL model-view matrix, and to project 3D points from the 3D scene to the device screen.

坐标系统:

    高通SKD使用右手坐标系,坐标系如下图:


x:右为正方向

y:正上方为正方向

z:远离图像的方向为正方向

Relevant API's

           QCAR::Trackable::

           TYPE getType ()
           bool isOfType (TYPE type)
           STATUS getStatus ()
           int getId ()
           char* getName ()
           Matrix34F& getPose ()
           TYPE { UNKNOWN_TYPE, IMAGE_TARGET, MULTI_TARGET, MARKER }
           STATUS { UNKNOWN, UNDEFINED, NOT_FOUND, DETECTED, TRACKED }

           QCAR::State::

           Frame getFrame ()
           int getNumTrackables ()
           Trackable* getTrackable (int idx)
           int getNumActiveTrackables ()
           Trackable* getActiveTrackable (int idx)

Inherited Classes

Image Targets

定义:  

    图像形式的跟踪目标。只要是拥有比对数据的真实世界的目标都能识别并捕捉。SDK拥有自己的算法计算目标的特征点,不需要图像完全符合数据中心中的数据,只要目标还在摄像头的范围内即可。

    目标是提前在 Target Management System 中输入的 JPG 或者 PNG 图形 (只有 RGB 或者 灰度图像是被支持的)。把这些数据保存在数据库并在运行的时候提取。

     高通SDK允许同时有多个图像目标,同时允许5个目标在摄像头范围内(性能随CPU和GPU限制)。高通SDK同时可以允许50个图像目标在资源数据库中。在运行的时候允许交换数据集,这使得应用程序可以容纳更多的目标。


其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide Image Targets 章节


Multi Targets

定义:

    一个 Multi Targets 是由多个 Image Targets 以及他们之间的相对空间关系定义的一个组合。当这个组合的其中一部分被追踪到,其他部分相对于此部分的位置和方向就可以得到了。只要有一个以上的组件在摄像头的范围内,这个 Multi Targets 就可以被追踪到。多个图像目标和 Multi Targets 的差别是: Multi Targets 是由一个整体的方式被追踪的,他们之间是拥有位置方位的关系的。

    图像目标组成一个多目标创建目标管理系统从JPG或PNG输入图像(只有RGB或灰度图像的支持)。特征提取这些图像存储在一个数据库,用于运行时比较。空间关系的各个部分存储在数据集配置XML文件使用简单的转换。

    多目标可以以两种方式创建——直接与在线目标管理系统和在运行时通过一个定义良好的api集。可以添加或删除部分,和他们的空间可以更改配置。这种灵活性可以用来创建一个姿势信息从多个图像目标或跟踪对象已经改变,但是已知的空间配置。

    多目标数据集的一部分。注意,数据集可以被加载,激活,残疾,卸在运行时。详细信息请参见图像目标的DevGuide节。


其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide Multi Targets 章节


Frame Markers

定义:

    除了基于特征检测和跟踪,Vuforia SDK可以跟踪一个特殊类型的基准标记称为“框架标记”。独特的id的一个框架标记是编码到一个二进制模式沿着边境的标记图像。一个框架标记允许任何图像被放置在标记边界。他们是更可取的,因为他们看起来更自然比其它更传统的基准的标记。这个Vuforia SDK要求框架和二进制模式是完全可见的相机形象识别。

    不像图像目标,框架生成的标记并不是在线目标管理系统。所有512架标记作为存档分布在资产\文件夹的Vuforia SDK安装。扩展他们适当的可打印的大小、使用规模经营的“没有过滤”或“最近邻”选项在任何图像编辑器(如Adobe Photoshop)。

    由于相对较低的处理能力需要解码该标记ID,所有512架标记可用于应用程序和大约5可以检测并同时跟踪。
    注意:与Vuforia SDK v1.5帧宽度的框架标记已经改变了。确保使用更新的框架标记模板位于资产\文件夹。


其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide  Frame Markers 章节


Virtual Buttons

定义:

    虚拟按钮是通过矩形区域图像目标,当感动或阻挡在相机视图,触发一个事件。虚拟按钮可以用来实现事件(比如一个按钮按下或检测特定区域的图像目标是覆盖的一个对象。虚拟按钮仅评估如果按钮面积在相机视图和相机是稳定的。评价虚拟按钮在快速摄影机的运动是禁用的。

    创建虚拟按钮通过定义他们的数据集的配置XML文件作为财产的图像目标。或者他们补充道,摧毁了在应用程序运行时通过一组定义良好的api。


其他详细说明:https://ar.qualcomm.at/qdevnet/developer_guide  Virtual Buttons 章节

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vuforia SDK分析 的相关文章

  • 左程云视频算法笔记03 选择排序

    题目二 选择排序 比如一个数组有10个数字 它们的下标 是 0 到 10 1 在3下标位置处有个数字为2 它与0下标位置处的数字对比 如果小于 则放到0下标位置处 然后减减 接着在4下标位置处有个数字5 它与1下标位置处对比 如果小于 调换
  • AR联机初探+官方项目代码解析

    学AR也有一小段时间了 今天给大家分享一下如何让两部以上的设备查看到相同的增强现实景象 在这里作者就以苹果官方的示例来进行解析 一定要把代码下载了和文章对照着看 不然会懵 官方项目代码地址 https developer apple com
  • UE4 安卓AR 识别图片

    UE4 安卓AR 识别图片 开启一个插件 准备一个只有玩家出生点的场景 这个场景用来做识别图片的 新建一个游戏模式 设置好默认的pawn类 一个摄像机就行了 代表手机开启AR会话后的那个相机 然后gamemode 事件开始运行 就直接开启A
  • AR开发 - 入门笔记

    文章目录 C C 基础 环境编程 C C 进阶 性能优化 图像处理库 OpenCV 图形学和 OpenGL 深度学习推理库 ncnn GUI框架imgui 多视图几何与 SLAM Unity AR 教程 C C 基础 语法 C99 C 03
  • Unity3D里不存在Vuforia

    起初在Unity里没能找到ARCamera 然后在搜索框里去搜索Vuforia 发现根本不存在 下载Vuforia插件包 下载Vofuria插件包 在Unity里导入Vuforia插件包 在Unity里导入插件包后 软件会提示update
  • Unity接入Huawei AR Engine

    说在前面 使用Unity进行AR开发的开发者基本都会遇到华为手机的坎 由于谷歌的制裁 ARCore并不能覆盖华为的新机型导致新的机型已经不能使用ARFoundation方案 使用第三方通用的ARsdk也并不能完美兼容常用的华为机型 毕竟官方
  • 【Unity-EasyAR 2022.4】全网最新各类功能使用教程与心得01——详细导包与平面图像追踪

    期待已久的EasyAR教程 今天则是第一期关于上一次教程的补充和平面图像追踪的使用 详细配置请见介绍配置篇 18条消息 全网最新Unity EasyAR环境配置心得 2021 11 牛马大亨的博客 CSDN博客 easyar怎么导入unit
  • unity 各AR插件对比

    上个项目使用到AR 使用了好几个AR SDK来测试 先总结一下 可能后续有所不同 仅为当前 各AR插件对比 2D 3D Android PC vuforia EasyAR HiAR 太虚AR 解释一下 vuforia并不是不支持PC平台 而
  • Mrtk 如何动态开启关闭网格渲染

    protected void Show IMixedRealityDataProviderAccess dataProviderAccess CoreServices SpatialAwarenessSystem as IMixedReal
  • unity添加多个相机渲染物体多个视角的图片

    添加相机 我渲染物体多视角的图片是要用到cave空间 所以添加了四个相机 并且都放在空物体下面 还有两个物体 用在cave空间要保证四个相机的位置一致 rotation互成90 前 0 0 0 右 0 90 0 左 0 270 0 下 90
  • Android增强现实(一)-AR的三种方式(展示篇)

    有一段时间没写博客了 事情比较多 博客进度有点跟不上了 1 Android增强现实 一 AR的三种方式 展示篇 2 Android增强现实 二 支持拖拽控制进度和伸缩的VrGifView 3 Android增强现实 三 3D模型展示器 这段
  • vofuria的开发(5)替换原vuforia的茶壶模型、改为自己想要的模型AR model

    1 在基于android NDK开发的过程中 替换目标图片之后就是如何替换掉官方demo中给的茶壶模型 换成自己想要模型 如果对替换目标图片不了解的可以点击这里 2 在更换模型的过程中首先你要有一个 obj的文件 这个文件你可以去下载 也可
  • 常见芯片算力对比(一)

    常见芯片算力对比 一 Hi3559A 即Hi3559ARFCV100 4T算力 封装 FC BGA 常备 Hi3519A Hi3519ARFVV100 才是AI芯片 2T算力 kirin980 4 2TOPS kirin990 10T算力
  • vuforia for unity 入门教程

    一 配置vuforia环境 与 运行简单AR程序 1 安装unity2017 1 从官网上下载unity2017下载器 2 运行下载器勾选上vuforiasupport选项 其余不变 点击开始安装 2 创建AR项目与配置AR运行环境 1 打
  • Unity-AR 简介

    Unity AR 简介 现有Unity AR Sdk ARKit 苹果推出的AR开发平台 ARCore Google 推出的增强现实 SDK ARFoundation ARFoundation是ARKit XR插件和ARCore XR插件
  • 在 Android Studio 中安装 Vuforia

    谁能给我一些关于如何在 Android Studio 中安装 Vuforia 的说明 我正在制作一个新应用程序 需要将增强现实与 Vuforia 结合使用 希望你能帮我 多谢 您需要执行以下步骤 请阅读我们的入门指南 了解有关设置的说明 J
  • Vuforia:如何用图像目标示例中的文本更改茶壶?

    如何在 Vuforia Image Target 示例中更改带有文本内容的茶壶 该示例位于 https developer vuforia com resources sample apps image targets sample app
  • 【广州华锐互动】AR变电站交互仿真实训系统让你学生掌握专业技能

    随着科技的不断发展 智能变电站已经成为了电力系统的重要组成部分 为了提高电力系统的运行效率和安全性 培养高素质的电力工程技术人才 越来越多的高校和职业院校开始开设AR仿真实训课程 本文将为大家简单介绍一下广州华锐互动为知名电力集团开发的AR
  • 在SceneKit中使用Vuforia提供的投影矩阵和标记姿势

    目前 我正在尝试解决在 SceneKit 中渲染时投影矩阵和帧标记姿势的使用问题 场景中的模型和相机图像背景显示没有问题 然而 一旦我更改投影矩阵和帧标记姿势矩阵以匹配 Vuforia 所有内容都会被推到屏幕外 func didUpdate
  • 启用 Vuforia 时 Unity 崩溃

    在 XR 设置中启用 Vuforia 增强现实支持 时 我的编辑器崩溃 以下是我遵循的步骤 重现步骤 1 创建一个新项目 2 文件 gt 构建设置 gt 播放器设置 gt 播放器 3 从 XR 设置中启用 Vuforia 增强现实 复选框

随机推荐

  • web前端(HTML+CSS)试题总结

    一 填空题 1 网页的后缀名通常为 xxx html 或 xxx htm 的页面 2 请写出在网页中设定表格边框的厚度的属性 border 设定表格单元格之间宽度属性 cellspacing 设定表格资料与单元格线的距离属性 cellpad
  • docker_run_application

    docker三种方式运行application 1 一次性运行 docker run ubuntu 14 04 bin echo Hello world 登录到container ubuntu14 04 运行命令 bin echo Hell
  • 六、HSV颜色空间应用实例——颜色分割提取与替换

    教程汇总 python基础入门系列 通过之前的章节 四 OpenCV颜色空间 HSV颜色模型 我们已经初步认识了HSV颜色空间的特性与优势 现在就来看两个典型的应用实例 颜色分割提取 与 颜色替换 颜色分割 通过HSV颜色空间的操作我们可以
  • visual studio 2019 调试驱动

    搭建驱动开发环境 搭建环境需要两台机器 本地机器用来代码开发 一台虚拟机用来测试和安装驱动 搭建驱动开发环境参考 visual studio 添加调试机器 驱动工程的属性 gt Driver Installer gt Deployment
  • 第三篇.WDF驱动之Helloworld

    借助Microsoft提供的kmdf框架 来理解一下驱动的一般流程 驱动的开发流程 1 驱动程序入口函数 DriverEntry 驱动程序的入口函数 类似于 main函数 程序的标准入口函数是DriverEntry 与WDM不同 WDF的D
  • Vue2.0安装Element-ui

    1 在项目终端输入 npm i element ui S 如果想知道是否安装成功 2 随后在main js里引入element组件 加载 element 组件库 import ElementUI from element ui 加载 ele
  • Linux入门级命令

    目录 1 开启终端 2 Linux命令格式 3 扩展 Linux下的命令补全 4 切换用户 5 uname命令 6 ls命令 用法一 用法二 用法三 7 pwd命令 8 cd命令 9 clear命令 10 reboot命令 11 shutd
  • MySQL表字段设置默认值

    环境 MySQL 5 1 命令行工具 问题 MySQL表字段设置默认值 解决 SQL CREATE TABLE test i a int NOT NULL DEFAULT 1 ts b timestamp NOT NULL DEFAULT
  • chrome启动参数设置

    chrome禁止本地浏览时加载本地其他文件 可以采用添加启动参数的方式来支持 添加参数为 allow file access from files 或者 disable web security Google Chrome 浏览器默认安装路
  • KDD‘21华为数值型特征做embedding,An Embedding Learning Framework for Numerical Features in CTR Prediction

    本文是针对数值型特征做embedding的方法 背景 图1 常用的数值型embedding方法可以分为以下三类 No Embedding 这类方法不做embedding 而是直接用原始的数值作为特征 或者在数值上面做一些改进 例如youtu
  • React 核心概念(3)

    React 核心概念 3 1 事件处理 React 元素的事件处理和 DOM 元素的很相似 但是有一点语法上的不同 引自 事件处理 React 事件的命名采用小驼峰式 camelCase 而不是纯小写 使用 JSX 语法时你需要传入一个函数
  • 写网关介绍比较好的文章地址

    https www jianshu com p 5bc4c0f58bf3
  • 自带内网穿透的文件同步工具Syncthing介绍

    文章目录 特征简介 下载与安装 简单介绍 后记 特征简介 Syncthing是一个文件同步工具 可以实现异地电脑间的文件同步 Syncthing自带内网穿透功能 文件同步过程将以P2P方式进行 Syncthing支持Windows MacO
  • QT中QDockWidget使用详解

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 一 具体操作 1 QDockWidget控件配置函数 2 代码 1 头文件 2 实现文件 效果 遇到的问题 前言 QDockWidget提供了dock widget的概念 也称为工具面板或
  • shell脚本基础5——常用命令写作技巧

    文章目录 一 grep命令 二 sed命令 2 1 选项参数 2 2 常用命令 三 AWK命令 3 1 常用参数 3 2 常用示例 四 find与xargs 五 date命令 六 对话框 6 1 消息框 6 2 yes no对话框 6 3
  • 信息安全风险评估---矩阵法计算风险

    矩阵法计算风险 假设 有以下信息系统中资产面临威胁利用脆弱性的情况 共有两项重要财产 资产A1和资产A2 资产A1面临一个主要威胁T1 资产A2面临两个主要威胁T2 T3 威胁T1可以利用资产A1存在的两个脆弱性 脆弱性V1和V2 威胁T2
  • 小程序DOM如何转为图片并将图片分享给朋友?

    方案一 h5中转页 1 利用web端插件html2canvas将dom转成图片 h5端 入参请参考文档 http www dtmao cc ios 65361 html html2canvas refdom useCORS true sca
  • 可穿戴设备未来市场巨大

    可穿戴设备将冲击智能手机的存在 不可否认 可穿戴设备未来的市场非常之大 甚至极有可能冲击智能手机的存在 从功能角度讲 可穿戴设备有机会一步步替代智能手机 现阶段来讲 许多可穿戴设备只能算是手机的附庸产品 通讯 社交等功能以手机为基础 可穿戴
  • STM32定时器(输入捕获)

    上一章讲了输出比较的内容 输出比较就是定时器自增 同时和CCR比较 按照自己设置的比较要求 输出REF高低电平 这一章我们讲下面结构图输出比较左边部分 也就是输入捕获 首先 介绍一下输入捕获 IC input capture 输入捕获 输入
  • Vuforia SDK分析

    Vuforia Architecture 高通组件 camera 单实例 在需要摄像头的时候会返回唯一的摄像头实例 Image Converter 单实例 像素级的图像转换器 在相机的 OpenGL ES rendering 格式和 tra