广告

只需要六步,用手机实现AR就这么简单?

2016-10-08 ARinChina 阅读:
图像在电子设备中的状态是一堆数字。特征点就是那些和周围数字值相差较大的点,检测方法一般有:FAST、Harris、SIFT、SURF、MSER 等。

深受孩子喜爱的宣传方式是怎么实现的呢?其实这个过程只需要六步:Nliednc

通过摄像头采集实时视频;Nliednc

将采集到的视频流数字化成图像,然后通过上文的特征点检测、特征点描述子生成、特征点匹配一系列处理,找到识别标识物;Nliednc

识别出标识物后,以标识物作为参考,确定要生成的动画在 AR 环境中的位置和方向,并确定提前存入手机中的标识图位置;Nliednc

标识物中的标识符号与预设的目标图进行匹配;Nliednc

程序根据标识物位置调整动画(虚拟信息)位置;Nliednc

动画(虚拟信息)被渲染进视频流。Nliednc

这就是 AR 的实现过程,今天将为大家解释六步中的“精华”——识别并跟踪标识物。Nliednc

牛奶瓶上的特点Nliednc

当消费者拿起手机扫描牛奶瓶时,手机是怎么判断这幅图是不是自己要找的目标呢?Nliednc

目标图是在开发这款 AR 应用时提前读入 app 的。启动 app 后,它就开始查找与标识图相同的帧。Nliednc

这就像警察在抓逃犯时,会在各交通要道设立排查点,将过往行人与逃犯照片进行对比,进行排查。警察在比对照片时,不会每根头发,每个毛孔都要进行比较。他们会关注嫌疑人的一些显著外貌特征,与这些特征相似度极高的人视为犯罪嫌疑人。Nliednc

2016100800004Nliednc

同理,图像识别中的目标图也具有特征,我们将这些特征称为“特征点”。Nliednc

那么问题来了,如何找到这些点?Nliednc

图像在电子设备中的状态是一堆数字。特征点就是那些和周围数字值相差较大的点,检测方法一般有:FAST、Harris、SIFT、SURF、MSER 等。Nliednc

2016100800005Nliednc

FAST 特征点检测法因检测速度快而深受研究者喜爱,具体遵循以下步骤:Nliednc

首先,从图像中选取一个像素,记作 P。如果我们想判断它是否为一个特征点,首先把 P 点的亮度值记作 I。再设定一个合适的阈值 t,用来控制特征点的选取。以 P 为圆心,3 个像素为半径做圆,这个圆的边界上有 16 个像素,如下图所示:Nliednc

2016100800006Nliednc

如果这 16 个像素的像素值都比 I+t 大,或都比 I-t 小,那么 P 就是一个特征点。一般在实际检测中,这 16 个像素不用全部与 P 的亮度值进行比较,只要有 3/4 个以上的像素亮度值比 P+t 大或比 P-t 小,就可以认为 P 点为特征点。Nliednc

简单来说,特征点就是与周围反差较大的点,就像下图所示:Nliednc

2016100800007Nliednc

找到特征点就可以识别了么?Nliednc

只知道检测到特征点还不行,必须知道两张图像中的特征是否一致。如何判断特征点是否一致,就需要借助特征点描述子了。Nliednc

特征点描述子是一种描述特征点的方法。比如,我们在挑西瓜时,会选根蒂蜷缩、敲起来声音浊响的青绿西瓜。这个挑瓜的过程就是描述的过程,挑瓜的依据就相当于生成的描述子。Nliednc

2016100800008Nliednc

如果一个瓜和我们的挑瓜条件相似或相同,那么我们就判断它是一个好瓜。同样的如果一幅图像中有一个点和我们的描述子相似或相同,那么就可以判断它们为同一特征。Nliednc

找到了特征点描述子,接下来就是要在目标图和识别图之间进行匹配。Nliednc

2016100800009Nliednc

判断两幅图是否为同一幅图的标准是人为控制的。我们既可以设置匹配率为 10% 以上的两幅图像是同一图像,也可以设置匹配率为 90% 以上。具体标准根据应用所需而定。Nliednc

目前,特征点匹配技术大概分为两类:一类是分别获取两幅图像的特征点及特征点描述子,根据一定的搜索策略对这些特征点和描述子进行计算,最终获得最优极值点即为匹配结果;另一类是只获取参考帧图像的特征点信息,并利用它在当前帧上寻找最优匹配,这种匹配的最大优点是只需提取参考帧的特征点,节约了一半的特征点提取时间。
发现目标要盯紧Nliednc

从文章开头的视频中可以看到,当小孩拿着 iPad 转动时,生成的动画会保持不动。给我们一种“动画和牛奶是一个整体”的错觉。要想达到这种效果,需要对视频流中的图像进行特征点跟踪。Nliednc

特征跟踪有两种方式,一种是对视频流中的每一帧图像,进行特征点匹配。另一种则在第一幅图像中,寻找可能的特征位置,然后在后续的图像中搜索它们的对应位置。显然,这类“先检测后跟踪”的方法适合用在视频跟踪应用中。Nliednc

2016100800010Nliednc

在跟踪过程中,相邻两帧经过匹配后,得到当前帧的目标特征点。由于得到的目标特征点中存在不稳定特征点,因此需要将这些不稳定的点剔除。Nliednc

但又出现了一个新的问题,即随着跟踪的进行,有效特征点会逐渐减少。尤其是在跟踪过程中当目标姿态发生了大幅度变化时,经常会出现目标的特征点急剧减少甚至消失的情况,这样会导致跟踪效果不好甚至跟踪失败。Nliednc

这就像卖水果的小商贩经常会挑出好的水果摆放在最前面,随着客人的购买,再继续往上添加。Nliednc

解决特征点减少问题的方法和卖水果是一样的。只需扩大范围搜索重新提取特征点,即当前时刻目标物中得到的特征点的个数小于一定的阈值时,扩大跟踪面积重新提取特征点,将重新提取到的特征点用在接下来的跟踪过程中。Nliednc

2016100800011Nliednc

农场中一头奶牛悠闲地吃着草,一个卡通小人儿在和消费者聊着天。出现这一切,都源于一个简单的牛奶瓶。消费者通过手机或平板扫描牛奶瓶身上的图案,就会呈现一个虚拟农场,可以选择各种小动物,并和它们进行互动。Nliednc

在跟踪的同时还需要完成一件事情,那就是渲染动画。动画必须和识别图位置保持一致才能达到融合效果。Nliednc

目前手机端 AR 应用开发多数是采用这种图像法,这种方法已经被模式化。开发者不用考虑上述这些底层实现,可以使用一些插件来实现。常用插件国外的有 Vuforia、Metaio 等,国内有 HiAR、EasyAR、VoidAR 等。Nliednc

20160630000123Nliednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
您可能感兴趣的文章
  • 英特尔推出面向4级自动驾驶的Mobileye EyeQ Ultra RIS 昨日,英特尔在CES 2022上推出了专为自动驾驶打造的 Eye Q Ultra 系统集成芯片,但要注意的是,Mobileye EyeQ Ultra 不包含任何 x86 内核,而是具有 12 个 RISC-V 内核、Arm GPU 和 DSP,旨在带来Level 4 自动驾驶汽车,特别是 176 TOPS AI 加速器。
  • 宝马展出“变色车漆”,“电子墨水”技术还能降能耗 2022年全球最大的消费电子展CES展览期间,宝马集团展出了多款创新数字化成果,其中就包括这两天热议的“变色车漆”(“电子墨水”技术(E-ink)),以及四款全新主题模式(My Modes)、BMW悬浮式巨幕(BMW Theatre Screen)和BMW电动车声浪模拟(BMW IconicSounds Electric)。
  • 华为或于2022年推出麒麟830/720芯片,工艺上“退”至14n 日前, 外媒消息称,华为有望在2022年更新两款麒麟芯片,分别是麒麟830和麒麟720,均采用14nm制程工艺。此外,有网友认为这则爆料不可信,在该网友看来,海思的这张海报想说的,应该是不会放弃麒麟的设计。他还特别提到,中芯国际好像也因为制裁的缘故没有办法给华为供货吧?这种情况下华为能找哪家代工呢? ​
  • 哪种蓝牙MCU最适合您的设计? 当今的蓝牙微控制器是集成的微小奇迹。即使是空间要求最小的嵌入式设计中也适用,并将CPU、内存资源和外设以及射频功能所需的元件封装在一起。但蓝牙MCU的型号以及其具有的“蓝色色调”多得让人眼花缭乱、无从选择。
  • 小米12 Pro 拆解:屏幕、性能、续航、声音、样样都 Pro? 小米12 Pro发布后,微机分WekiHome与艾奥科技分别在B站发表了拆机视频,微机分WekiHome在视频简介中甚至表示“作为 2021 年度最后一台旗舰手机小米12 Pro,屏幕,系统,相机,续航,声音,样样都 Pro”。感兴趣的小伙伴不妨与EDN小编一起,看看小米12 Pro内部做工用料到底Pro到了什么程度。
  • 太阳能汽车是终极的电动汽车吗? 为何只考虑通过电网或先进的家用太阳能、水力、地热系统充电的电动汽车呢?为何不干脆将太阳能电池置于车顶上,从而有可能不需要连接到任何系统呢?它是属于个人的,可以携带,也是可以从永无止尽的免费来源取得的终极能源类型——还有什么比这更好的呢?
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告
    向右滑动:上一篇 向左滑动:下一篇 我知道了