手机中的 AR 小应用究竟是如何实现的?

2024-12-18上海AR开发专家

  • 场中一头奶牛悠闲地吃着草,一个卡通小人儿在和消费者聊着天。出现这一切,都源于一个简单的牛奶瓶。消费者通过手机或平板扫描牛奶瓶身上的图案,就会呈现一个虚拟农场,可以选择各种小动物,并和它们进行互动。
    这种深受孩子喜爱的宣传方式是怎么实现的呢?其实这个过程只需要六步:
    通过摄像头采集实时视频;
    将采集到的视频流数字化成图像,然后通过上文的特征点检测、特征点描述子生成、特征点匹配一系列处理,找到识别标识物;
    识别出标识物后,以标识物作为参考,确定要生成的动画在 AR 环境中的位置和方向,并确定提前存入手机中的标识图位置;
    标识物中的标识符号与预设的目标图进行匹配;
    程序根据标识物位置调整动画(虚拟信息)位置;
    动画(虚拟信息)被渲染进视频流。
    这就是 AR 的实现过程,今天将为大家解释六步中的“精华”——识别并跟踪标识物。
    牛奶瓶上的特点
    当消费者拿起手机扫描牛奶瓶时,手机是怎么判断这幅图是不是自己要找的目标呢?
    目标图是在开发这款 AR 应用时提前读入 app 的。启动 app 后,它就开始查找与标识图相同的帧。
    这就像警察在抓逃犯时,会在各交通要道设立排查点,将过往行人与逃犯照片进行对比,进行排查。警察在比对照片时,不会每根头发,每个毛孔都要进行比较。他们会关注嫌疑人的一些显著外貌特征,与这些特征相似度极高的人视为犯罪嫌疑人。
    同理,图像识别中的目标图也具有特征,我们将这些特征称为“特征点”。
    那么问题来了,如何找到这些点?
    图像在电子设备中的状态是一堆数字。特征点就是那些和周围数字值相差较大的点,检测方法一般有:FAST、Harris、SIFT、SURF、MSER 等。
    FAST 特征点检测法因检测速度快而深受研究者喜爱,具体遵循以下步骤:
    首先,从图像中选取一个像素,记作 P。如果我们想判断它是否为一个特征点,首先把 P 点的亮度值记作 I。再设定一个合适的阈值 t,用来控制特征点的选取。以 P 为圆心,3 个像素为半径做圆,这个圆的边界上有 16 个像素,如下图所示:
    如果这 16 个像素的像素值都比 I+t 大,或都比 I-t 小,那么 P 就是一个特征点。一般在实际检测中,这 16 个像素不用全部与 P 的亮度值进行比较,只要有 3/4 个以上的像素亮度值比 P+t 大或比 P-t 小,就可以认为 P 点为特征点。
    简单来说,特征点就是与周围反差较大的点,就像下图所示:
    找到特征点就可以识别了么?
    只知道检测到特征点还不行,必须知道两张图像中的特征是否一致。如何判断特征点是否一致,就需要借助特征点描述子了。
    特征点描述子是一种描述特征点的方法。比如,我们在挑西瓜时,会选根蒂蜷缩、敲起来声音浊响的青绿西瓜。这个挑瓜的过程就是描述的过程,挑瓜的依据就相当于生成的描述子。
    如果一个瓜和我们的挑瓜条件相似或相同,那么我们就判断它是一个好瓜。同样的如果一幅图像中有一个点和我们的描述子相似或相同,那么就可以判断它们为同一特征。
    找到了特征点描述子,接下来就是要在目标图和识别图之间进行匹配。
    判断两幅图是否为同一幅图的标准是人为控制的。我们既可以设置匹配率为 10% 以上的两幅图像是同一图像,也可以设置匹配率为 90% 以上。具体标准根据应用所需而定。
    目前,特征点匹配技术大概分为两类:一类是分别获取两幅图像的特征点及特征点描述子,根据一定的搜索策略对这些特征点和描述子进行计算,最终获得最优极值点即为匹配结果;另一类是只获取参考帧图像的特征点信息,并利用它在当前帧上寻找最优匹配,这种匹配的最大优点是只需提取参考帧的特征点,节约了一半的特征点提取时间。
    发现目标要盯紧
    从文章开头的视频中可以看到,当小孩拿着 iPad 转动时,生成的动画会保持不动。给我们一种“动画和牛奶是一个整体”的错觉。要想达到这种效果,需要对视频流中的图像进行特征点跟踪。
    特征跟踪有两种方式,一种是对视频流中的每一帧图像,进行特征点匹配。另一种则在第一幅图像中,寻找可能的特征位置,然后在后续的图像中搜索它们的对应位置。显然,这类“先检测后跟踪”的方法适合用在视频跟踪应用中。
    在跟踪过程中,相邻两帧经过匹配后,得到当前帧的目标特征点。由于得到的目标特征点中存在不稳定特征点,因此需要将这些不稳定的点剔除。
    但又出现了一个新的问题,即随着跟踪的进行,有效特征点会逐渐减少。尤其是在跟踪过程中当目标姿态发生了大幅度变化时,经常会出现目标的特征点急剧减少甚至消失的情况,这样会导致跟踪效果不好甚至跟踪失败。
    这就像卖水果的小商贩经常会挑出好的水果摆放在最前面,随着客人的购买,再继续往上添加。
    解决特征点减少问题的方法和卖水果是一样的。只需扩大范围搜索重新提取特征点,即当前时刻目标物中得到的特征点的个数小于一定的阈值时,扩大跟踪面积重新提取特征点,将重新提取到的特征点用在接下来的跟踪过程中。
    农场中一头奶牛悠闲地吃着草,一个卡通小人儿在和消费者聊着天。出现这一切,都源于一个简单的牛奶瓶。消费者通过手机或平板扫描牛奶瓶身上的图案,就会呈现一个虚拟农场,可以选择各种小动物,并和它们进行互动。
    在跟踪的同时还需要完成一件事情,那就是渲染动画。动画必须和识别图位置保持一致才能达到融合效果。
    目前手机端 AR 应用开发多数是采用这种图像法,这种方法已经被模式化。开发者不用考虑上述这些底层实现,可以使用一些插件来实现。常用插件国外的有
    Vuforia

    Metaio
    等,国内有 HiAR、EasyAR、VoidAR 等。
    题图来源:childteaching

关于AR

卓越的技术,一流的团队,为您打造专家级AR产品。
Test your infrastructure

什么是AR?

AR(Augmented Reality),即增强现实技术能将虚拟信息(图片,视频, 音频等)融入现实世界,让现实世界更加多元、丰富,为人们带来更加生动有 趣的感官体验。简单来说AR技术给人们带来的是一种信息的增强体验,它也 将成为一种“更新奇、更易传播”的新型信息传递方式。

AR的趋势

在信息技术化的时代趋势下,AR将以一种新型娱乐及信息交互方式融入人们 的生活,而对于企业来说,AR产品的广泛推广及运用也将是一项不可错失的 绝佳商机。

Test your infrastructure

AR运用的困惑

AR技术备受瞩目,然后实际运用上却让人望而止步。
成本上 往往单制作一个AR形式的内容就得花费上万元, 只有高预算的大企业或广告商才能出手
技术上 AR技术总给人一种触不可及的印象,导入AR技术 是否需要高度技术支持。
企划上 AR充满娱乐性,但是好玩之外,如何将AR良性结 合商务是难题。

选择迅速AR的八大优势

迅速AR始终以满足顾客为己任,成就AR领先品牌。

经典案例展示

我们是AR应用的领军者,专注AR技术研究与开发。

新闻动态 · 与日俱进

我们诚心邀您分享我们的成长历程。
更多动态 >

合作伙伴

整合全球产业链资源,服务超过7亿用户