草庐IT

HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验

HMS Core 2023-03-28 原文

AR技术已经被广泛应用于营销、教育、游戏、展览等场景。通过2D图像跟踪技术和3D物体跟踪技术,用户只需使用一台手机进行拍摄,即可实现海报、卡牌等平面物体以及文物、手办等立体物体的AR效果。尽管近年来2D图像跟踪和3D物体跟踪算法已经取得了很大的进步,但受限于环境等因素影响,效果仍然有很大提升空间,是目前AR开发者的研发难点。

HMS Core AR Engine提供了2D图像和3D物体的端云协同跟踪技术,让开发者更简单便捷地开发AR类应用,让用户拥有更丰富的AR交互体验。

2D图像跟踪技术

端云协同2D图像实时跟踪技术已率先应用于Bilibili会员购,购物者在选购时能够浏览商品的AR特效,多角度、近距离地与IP衍生商品实现互动,从而获得全新的AR购物体验。据会员购后台数据统计,具备AR特效的商品销量更好,AR活动参与率是普通游戏参与率的2倍左右,助力会员购平台收入提升。

图1. Bilibili会员购效果图

传统的纯端侧2D图像跟踪方案,如果开发者要让新的图片支持AR特效就必须更新应用版本,有较高的版本维护成本,而且随着支持AR特性图片的增加,应用的体积也会不断增大。为此,AR Engine采用端云协同的架构解决该问题,开发者仅需将图片上传到云端即可快速发布新图片的AR特效,端侧应用版本无需更新,应用体积也不会因此而增加。

图2. 端云协同2D图像跟踪技术原理图

端云协同2D图像跟踪技术主要涵盖了:

云侧图像特征提取模块

云侧向量检索引擎

端侧视觉跟踪模块

在提升云端服务的响应速度方面,端云协同2D图像跟踪技术利用硬件平台加速,开发了软硬协同的高性能向量检索引擎,实现海量特征下的毫秒级检索响应。

3D物体跟踪技术

在文物介绍、商品展示、AR教育等场景,AR Engine还提供了端云协同3D物体实时跟踪技术。该技术能够实现3D物体全息式信息展示效果

图3. 端云协同3D物体实时跟踪技术效果图

现实生活中,会存在不同纹理材质的3D物体,例如雕塑类的纯色弱纹理材质,或者金属器皿类的反光现象,3D物体也会受光线变化导致表面出现阴影,这些场景都对3D物体跟踪带来很大的挑战。为了实现在各种场景下均能快速准确的进行识别跟踪,AR Engine使用多个AI网络组合完成3D识别定位功能,分别完成对象检测、位姿粗定位、位姿优化。

图4. 端云协同3D物体跟踪技术原理图

端云协同3D物体实时跟踪技术主要涵盖了:

云侧训练样本AI合成模块

云侧AI网络自动训练模块

云侧AI网络推理模块

端侧视觉跟踪模块

在对AI网络进行算法训练时,传统的训练样本人工标注方式,往往存在工作量大、开发周期长等问题。为此,AR Engine结合海量的离线数据和对抗生成策略,设计了训练样本的AI合成算法,能够免人工标注,仅依赖合成样本就可以实现复杂场景下3D物体的精准识别。

端云协同3D物体跟踪技术在文物介绍场景,已助力华为河图为莫高窟实现全息式文旅导游体验,帮助游客随时探究洞窟的内部细节。

图5. 华为河图的莫高窟全息式文旅导游效果图

以上技术来自华为2012中央媒体技术院,通过AR Engine面向开发者开放,在广告营销、教育、文旅等场景为用户带来差异化的AR体验。

更多AR技术的信息,欢迎收看5月27日19:00-20:00 HMS Core Discovery第15期直播,让我们一起探索HMS Core AR Engine是如何帮助开发者们构筑立体世界,打造沉浸式营销的服务体验。

欢迎访问华为开发者联盟官网-HMS Core AR Engine

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

有关HMS Core AR Engine 2D图片/3D物体跟踪技术 助力打造更智能AR交互体验的更多相关文章

  1. ruby-on-rails - Ruby on Rails - 为文本区域和图片生成列 - 2

    我是Rails的新手,所以请原谅简单的问题。我正在为一家公司创建一个网站。那家公司想在网站上展示它的客户。我想让客户自己管理这个。我正在为“客户”生成一个表格,我想要的三列是:公司名称、公司描述和Logo。对于名称,我使用的是name:string但不确定如何在脚本/生成脚手架终端命令中最好地创建描述列(因为我打算将其设置为文本区域)和图片。我怀疑描述(我想成为一个文本区域)应该仍然是描述:字符串,然后以实际形式进行调整。不确定如何处理图片字段。那么……说来话长:我在脚手架命令中输入什么来生成描述和图片列? 最佳答案 对于“文本”数

  2. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  3. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  4. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  5. [Vuforia]二.3D物体识别 - 2

    之前说过10之后的版本没有3dScan了,所以还是9.8的版本或者之前更早的版本。 3d物体扫描需要先下载扫描的APK进行扫面。首先要在手机上装一个扫描程序,扫描现实中的三维物体,然后上传高通官网,在下载成UnityPackage类型让Unity能够使用这个扫描程序可以从高通官网上进行下载,是一个安卓程序。点到Tools往下滑,找到VuforiaObjectScanner下载后解压数据线连接手机,将apk文件拷入手机安装然后刚才解压文件中的Media文件夹打开,两个PDF图打印第一张A4-ObjectScanningTarget.pdf,主要是用来辅助扫描的。好了,接下来就是扫描三维物体。将瓶

  6. ruby-on-rails - Rails 3,在RAILS_ROOT上方显示来自本地文件系统的jpg图片 - 2

    我正在尝试找出一种方法来显示来自不在RAILS_ROOT下(在RedHat或Ubuntu环境中)的已安装文件系统的图像。我不想使用符号链接(symboliclink),因为这个应用程序实际上是通过Tomcat部署的,而当我关闭Tomcat时,Tomcat会尝试跟随符号链接(symboliclink)并删除挂载中的所有图像。由于这些文件的数量和大小,将图像放在public/images下也不是一种选择。我查看了send_file,但它只会显示一张图片。我需要在一个格式良好的页面中显示6个请求的图像。由于膨胀,我宁愿不使用Base64编码,但我不知道如何将图像数据与呈现的页面一起传递下去。

  7. python - Ruby 或 Python 的 3d 游戏引擎? - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion是否有适用于这些的3d游戏引擎?

  8. 【自动驾驶环境感知项目】——基于Paddle3D的点云障碍物检测 - 2

    文章目录1.自动驾驶实战:基于Paddle3D的点云障碍物检测1.1环境信息1.2准备点云数据1.3安装Paddle3D1.4模型训练1.5模型评估1.6模型导出1.7模型部署效果附录show_lidar_pred_on_image.py1.自动驾驶实战:基于Paddle3D的点云障碍物检测项目地址——自动驾驶实战:基于Paddle3D的点云障碍物检测课程地址——自动驾驶感知系统揭秘1.1环境信息硬件信息CPU:2核AI加速卡:v100总显存:16GB总内存:16GB总硬盘:100GB环境配置Python:3.7.4框架信息框架版本:PaddlePaddle2.4.0(项目默认框架版本为2.3

  9. 最新版人脸识别小程序 图片识别 生成二维码签到 地图上选点进行位置签到 计算签到距离 课程会议活动打卡日常考勤 上课签到打卡考勤口令签到 - 2

    技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下看,如果不符合你的需求,可以跳过。1-1,登录注册页可以看到登录页有注册入口,注册页如下我们的注册,需要管理员审核,审核通过后才可以正常登录使用小程序1-2,个人中心页登录成功以后,我们会进入个人中心页我们在个人中心页可以注册人脸,因为我们做人脸识别签到,需要先注册人脸才可以进行人脸比对,进

  10. ruby-on-rails - 带图片 uploader 的多步表单 - 2

    我想建立3步用户注册,在第2步上传头像。所以我遵循RyanBates的指南http://railscasts.com/episodes/217-multistep-forms.我正在使用CarrierWavegem来处理上传。但似乎我无法在用户session中存储上传的文件信息(我收到无法转储文件错误)。我在Controller中使用以下技术ifparams[:user][:img_path]@uploader=FirmImgUploader.new@uploader.store!(params[:user][:img_path])session[:img]=@uploaderpara

随机推荐