目前市面上几十种AR SDK中主流的七种SDK它们的特性是怎样的


大部分开发商总是对他们最初使用的SDK念念不忘。

 

这其实很正常,因为大部分人使用的第一个相关产品肯定是业内最流行的。那时候大行其道的是Metaio——我觉得还是它的优点特征吸引了购买者,不过当苹果收购了它,并且迎来了几年低潮期,着实让人捏把汗,大量的用户开始改用Vuforia,或者其他,但是那时候,适用于AR的许多SDK,虽然极具商业价值并且开源,但是还是鲜为人知。

 

我们说的AR是什么呢?

 

我呢,更愿意“延伸现实”来形容这些由AR和VR引申而来的学科和术语。这篇文章中我们暂时不提。在这篇文章里,我们谈论的“AR”是广义上的含义,是指用过数字信息技术,尤其是通过追踪物体和物体特征或插入空间,在现实世界上中插入图形、图像和数据。我知道大多数人更倾向于与“混合现实”相区分的“AR”。值得一提的是,文章中提到的SDK、产品或服务都不是“混合现实”,虽然某种意义上它们也属于混合现实。

 

我们为何关注Unity兼容的SDK

 

我至少熟知近50种应用于AR的SDK。撰写一篇面面俱到的ASR软件全关是不可能的,那得是一本厚厚的科技书籍,远远不是一篇文章能涵盖的。我也不提那些对硬件有特殊要求的东西。因此,我们不会谈到Hololens(除了适用于其他SDK的Hololens)。我重点讲一些普遍与商品硬件兼容的SDK。毫无疑问:Unity是AR平台的领头羊,它在VR中也挺有分量。当微软开始宣传开发商为Hololens开发应用,在目前这个阶段,大家都倾向于选择Unity。谷歌发行的Cardboard SDK也是与Unity兼容的;发行Tango SDK的同时也提供Unity安装包。在英特尔的RealSense,就直接支持Unity。当然开发商也有别的选择——但是基本上所有的都需要你能为交互式引擎提供支持各种的SDK。

 

因此,AR开发商对这些直接支持Unity的AR SDK倍感兴趣——而且我发现,开发商们感兴趣的SDK也就那么几个(当然也有数以万计的是与Unity不兼容的,这个我会在文章最后稍稍提一下,所以如果你还是对Unreal或网上其他感兴趣,我也可以给你提供一些链接和描述。)大部分的SDK都有C#界面,在我们提到的例子中,JavaScript应该是比较常见的。

 

那我们就开始吧!



1、 DAQRI的ARToolkit SDK

 

DAQRI在AR的世界里简直就是条沉睡的巨龙。DAQRI Smart Helmet还未发行,就大获好评,它也不停地兼并其他科技中心,从读心头带到全息头显,应有尽有。与传统科技公司不同的是,它有经费充足的智囊团。在2015年,他们收购了ARToolwork,同时RToolkit SDK也重新发行了一项完全开源的工程。



特别的是,ARToolkit是于1999年开发的——15年后开发商才发行了第一台商用AR头显。ARToolkit由Hirokazu KatoNAIST开发,之后是在华盛顿大学著名的HIT(Human Interface Technology)实验室发行。可能你对Human Interface Technology实验室还不太熟悉,其实他们在过去的20年里,它们在AR和混合现实界有着最享誉盛名的一组科研团队,负责Virtual Retinal Display的核心技术研究。你不翻翻这只科研团队发的论文,你是不会懂延伸现实的。

 

感谢DAQRI开源发行ARToolkit,我们所谈论的东西在这个平台上都是免费的。

 

ARToolkit为三种主要追踪提供支持

 

自然特征追踪(NFT)

 

NFT是特征追踪的黄金标准——就算是外围不太清晰和连贯,它支持任意形式的2d图像。

 

传统方形标记模板

 

这些标记都是简单的图标,图标周边有固体黑边。

 

二维条形码

 

这些条形码都是事先设定的,在各种灯光环境下可以快速检测。高度优化的条形码使得它们易于检测,其他形式的标记可能根本检测不出来。这种类型更有点像框标,并且比其他形式的标记分辨率更低,所有你可能需要其他更专业的标记。

 

其他超级福利

 

由于ARToolkit SDK开源的特性,恐怕这是我所知的Unreal引擎支持的公开资源了,所以如果你一定要用Unreal的话,DAQRI's ARToolkit也许是你的最佳选择。



2.Catchoom的CraftAR SDK

 

Catchooom是图像方面表现一流的物体识别提供商。CraftAR可捕捉距离较远或部分被堵住的目标,在它的理想设置里,它可以在设备中的数据库完成这一切,也可以在云存储上进行。

 

出于一些原因,Catchoom决定在云平台上给每项目标都进行收费,差不多像一个奇怪的许可证系统。与其总收费,它们选择了基于“目标”数收费。

 

20 个图像和1000 个云扫描: 免费,不限时

云装置: 1组, 100个图像, 100k 云扫描/月, $119-$169/月 (包年按$119 每个月)

云加: 不限组, 1000 Images, 150k 云扫描/月, $289-$349/月 (包年按$289 每个月)

云 Pro: 免费安装

设备中图片识别. 不限app, $2890

设备中AR. 不限apps, $2290


设备中图片识别和设备中AR不限app,所以更瘦青睐,但是他们的价格让人望而却步。



Catchoom基础设施呈分散式,减少带缓冲时间,提供更好的带宽服务,所以云识别尽可能地快。这的确很好——云服务有求必应。除非你知道你要在你的移动设备上下至少6个AR app,本设备上的许可费才花得值——如果没有的话,你还是去找别的选择吧。

 

CraftAR提供下列目标:

 

云图像识别

 

Catchoom采用相关SDK进行图片识别和AR.它可以识别各类图片,包括“现实生活”中的3d物体——比如说,汽车音响前端部分之类的。这只取决于你想是别的物体的数量,数量越多,每月收费就越高。

 

移动设备图像识别

 

不需要网络,识别你移动设备中的目标(当然,你要升级来争取识别更多的物体)。

 

云基础AR

 

跟Catchoom的IR差不多,它可以识别云存储中大量东西,里面的目标在NFT里面都是免费的。

 

移动设备AR

也可以选择NFT里面的。

 

云/移动设备混合AR

 

CraftAR SDK允许用户下载目标文档并且定期更新。这样可以减少缓冲时间,减轻网络拥堵。理想的状态是可以一次允许多个用户登录,比如说展销会,或其他现场活动,这样的活动通常会导致服务器拥挤。

 

值得一提的是,CraftAR SDK同时支持IOS和安卓。Catchoom图像识别API的支持范围更广,包括Javascript、Python、 PHP 和 Cordova Plugin,还有移动SDK。

 

只限于IOS和苹果系统还是让人有点失望的,特别是安卓不支持数字眼镜,比如说Epson Moverio。Catchoom是一站式服务, 比如说教育和培训,还有监控软件。



3. Beyond Reality的In2AR SDK

Beyond Reality是一家荷兰公司,其自称是“一个具有创造性的公司,创造新的技术,寻找新的方法应用现有技术。”为此,他们打造了一款属于自己的增强现实引擎,并命名为IN2AR。公司还一直积极参与Extended Reality创造性空间,同时积极推销IN2AR SDK。


来自Unity 的IN2AR 截图


目标类型:

参考图像识别

IN2AR SDK和列表上的其他SDK一样都支持Natural Feature Tracking(特征点追踪),对预先对图片进行分析。


对象追踪?

我之前听过一些模棱两可的传言,说IN2AR可能支持跟踪复杂对象,其官方论坛上对此也有不少评论和询问,可见我不是唯一个对此感到不解的。我不认为他们是故意误导消费者的,但IN2AR似乎并不支持对复杂对象的追踪。稍微弯曲的对象,比如啤酒瓶标签,从论坛的反馈来看还是能够识别的 ,但是不要指望它能够识别像汽化器这种复杂的对象。


定价结构/许可证:

免费试用许可

unitypackage提供的预定义标记

用户可以在网站上注册并创建标记和标记集合。未注册的目标集合将添加水印。


以目标数量定价:

1到4:€999

1 到 5:€1150

1到6:€1300

1 到50:€1450


Beyond Reality似乎推出的是一个伟大的产品,但他们的“按目标数量”定价的模型感觉像是创意工作室开发应用时的方式,而不是SAAS(软件即服务)提供者通常使用的那种方式。我希望他们能马上更新他们的定价模型,使其更动态化,更明智并更加基于订购数量来定价。我觉得相较于成为一个单纯的软件公司,他们可能对拥有自己的引擎和生产更具创意的内容更感兴趣,很可能他们的定价模型靠的是提供出色的客户支持,因此这样看来这种定价还是很合理的。


根据他们指定的价格,我开发的一个相对简单的应用都有78个独特的目标——每一个目标都依据取向提供两个不同的数据。78个目标的数量甚至超过了他们的定价方案的最大值---所以价格可能会高于1450欧元也就是在1600美元以上——这还是仅仅花费在引擎许可上的钱。有很多其他的选项价格远低于此,所以很难想象有人选择IN2AR,除非他们找不到其他增强现实方案。


这就是我们如今在增强和混合现实领域面临的部分问题:很少的开发人员目前能从中获利。还有很多问题有待解决,包括我们如何利用“空间内容“赚钱。以一个比较吸引人的价格卖出你设计的游戏是一回事,但是涉及真正的原创内容,比如将综合数据可视化的规则就尚未编写。公司讯速投入增强现实领域是伴随着数百万资金的投入的。所以在定价方面的情况很尴尬,但似乎这也是2016年推出的AR SDK提价的主要原因。


你可以从这里下载IN2AR。



4. Kudan AR SDK (来自Kudan公司)

Kudan是一家于2011年在英国,布里斯托成立的公司,专注于开发独特的增强现实SDK。我无法说出几个与Kudan SDK配套的数字眼镜因为目前还没有正式的产品支持Kudan SDK。但其在设计上足够灵活,这就意味着它可以间接地支持Moverio眼镜这类的设备。


也许Kudan SDK最独特的,使其胜过其他增强现实SDK的地方在于是其强大的单相机SLAM(即时定位与地图构建)。


SLAM是一项电脑视觉技术,其可以让设备跟踪其位置同时映射周围环境- - 目前Kudan在这方面做得算比较完善。 (退出市场的“Metaio”——已被苹果收购---也有强大的单相机SLAM支持,但目前已经不公开发售了。第十三实验室的Pointcloud SDK也一样被Facebook /Oculus收购,暂时退出了市场)。



Kudan的SDK 支持回复相机数据达到为虚拟现实手机提供空间追踪的效果


SLAM为移动设备传达准确的空间信息,不仅可以作用于增强现实和混合现实,在虚拟现实方面也有用武之地。大其极大地优于Cardboard或者Daydream 应用上简单的旋转跟踪,可以复制整个空间规模(或更大)的跟踪硬件套件,类似HTC Vive的灯塔控制器。


Kudan的SDK的目标跟踪行为十分灵活且技术上不受限制。目标准备主要通过开发者的本地工具(无需使用其他在线或云储存的SDK),而且在跟踪数量上也没有限制。此外,目标可以在运行应用程序中被定义。


我对Kudan最大的担忧在于其他包含SLAM功能的SDK都被收购并因此沉寂,成为其他产品的附属。之前使用Metaio的顾客能够停止继续使用,但如果他们的应用程序需要SLAM(而不是简单的增强现实追踪)他们可以换成Kudan,或者直接就关闭这一功能,除非顾客能够成功的找到其他的替代品。


每个应用1000英镑的价格和其他选择相比似乎是有些贵了,如果你所需要的功能仅仅是标记识别的话,但随着市场越来越关心SLAM这个领域,这个价格的制定还是能够令人接受的。如果你需要一个有实际空间意识的移动应用,那么Kudan绝对是你最好的选择。


你可以在这下载Kudan。



5.Maxst公司的Maxst AR SDK (Max明星?)

Maxst公司成立于2010年,总部设在韩国首尔,其一直从事增强现实服务和项目开发,并致力于实现超一流的性能,就像公司的名字一样,“Maxst”——就像“Maximum-est(最大的)”


最为一款比较新的SDK,Maxst AR特别关注特征点追踪,并提供了一个相当广泛的发展平台,包括Moverio 智能眼镜。



良好的平台和一个免费的入门级造价使Max ST AR更具吸引力


Maxst AR支持多达200个目标图像“通道”,目标准备和处理也不另收费。免费版有水印但没有限制商业使用。此外,999美元的授权费允许无限数量的目标和应用使用,也没有后续费用。其支持iOS,Android、Windows、MacOS X和爱普生Moverio智能眼镜的构建。


而Maxst AR SDK目前比较尴尬的一点不足缺点是不支持Unity的32位版本。他们表示他们很快将支持64位的Unity。这可能会影响一些更大的项目,但它对于大多数用户来说并不会太复杂。


如果这个平台能满足你的需要的话,不妨尝试一下——注册和目标设置非常简单,不受限制的免费版本将提供一个快速性能测试。



6.Robocortex Rox AR SDK

Robocortex是一家法国的科技公司,专门从事增强现实软件和工具开发以及为该行业客户提供相应服务。他们的Rox AR SDK一开始作为ESM(有效二阶最小化)计算机视觉SDK项目开发,由法国国家研究机构INRIA支持,将该技术向商业化方向发展。


Rox AR SDK 项目的示例


该公司同样非常关注特征点追踪和整体目标追踪,结合IMU设备的传感器来改善追踪性能,Rox AR SDK提供了强大的跟踪功能和类似SLAM系统的 “无定向”图像镶嵌。


该公司免费提供评估许可证(需要向公司发邮件索取)和750欧元的专业生产许可证,他们提供的方案恐怕是最容易尝试的了。我找到了获得许可的途径,他们打造的增强现实世界有点不同寻常,不过在软件专业制造的专业领域还算比较常见。


Robocortex提供的方案完全不同于列表上其他的SDK。虽然在大多数现实增强SDK的方法都依赖于非密集特征检测(将复杂目标的分解成小的可识别的组块) Rox使用的是一种他们称为“高效的二阶近似法”或名为ESM的方法,这种方法支持直接对密度数据进行实时分析。


阅读他们的文章更像是阅读学术论文,不禁让我们考虑起他的算法来。如果你确实想探索一番,你真的能够发现不少有用的信息。通过研究——你能发现更多功能,远远超过你可能曾经见到过的。


这意味着,其与Unity的集成可能比列表上其他的SDK复杂一些。Unity的兼容性是通过c#包装提供的。而大多数其他的增强现实SDK提供带有预设的unitypackage,能很快速地设置进你的应用里。Rox花的时间可能较长。不过最后的结果可能更好。Rox的增强现实技术的系统可以应用于导弹制导和无人驾驶的车辆。这是非常了不起的。如果你需要一个能够预测目标运动方向的设备,那么Rox绝对是你的不二选择。


虽然他们只列出了iOS、Android、Windows和Linux操作系统,他们在产品宣传册上也说明了支持其他一些平台。与他们交谈后,他们当前版本也能在Hololens上使用并且答应给我一个7天的试用许可。我觉得应该没有什么安装问题。



7. PTC 的Vuforia SDK


最后要介绍的可能是最著名的一款商业增强现实SDK


Vuforia最初是由高通公司开发的,目的是为了芯片升级 (主要在移动性能方面)。Metaio被苹果收购后,Vuforia很快占领了大部分核心市场成为了这一领域的主流。



目标类型

复杂的对象(使用有内部目标模型的Android应用程序进行扫描)

用户定义的图像(包括本地存储的和云存储的)

柱面(用户定义的全方位图像)

文本(100000字或一个自定义的词汇)

盒(简单的立方体和矩形盒子,上面有用户定义的图像)

帧标记(二维码 ,极快识别,照明条件苛刻)

 

价格结构以及许可

免费和商业SDK选项。闭源。

范围从0美元(有水印的“起动”许可证)到499美元(一次费用)的“经典”许可(针对每个应用程序,没有水印,不支持云识别)

云识别层定价在99美元到999美元。

特殊功能

识别多种标记类型

积极的发展

支持早期全息透镜 (β)

触发标记,当领域被覆盖时(例如,触摸手指)可以触发事件

 

担忧

499美元的费用对刚起步的开发人员来说恐怕是有些过高了,尤其是增强现实开发目前还不算是一个利润丰厚的行业。一般开发人员会选择比较大众的SDK,来支持多个应用的开发。

起动器许可上的水印。之应用程序首次发布加水印是可以的,但尚在开发中的演示应用程序加水印可能会影响美观。

 

Vuforia is available on its own website.

别着急,还有更多!

这还不是全部!还有其他一系列的增强现实SDK因为缺少营销预算而常常被大众忽略,比如Kudan又或者 一直以来声誉不错的ARToolkit。类似OpenCV的OpenSource项目给你更充分的选择。下面是一个简短的列表。在撰写本文时(2016年7月)所有这些仍然可用——尽管AR格局不断发生变化,许多以前可用的SDK由于改变优先级或持续发展项目而被弃用了。

 

ALVAR http://virtual.vtt.fi/virtual/proj2/multimedia/alvar/index.html
AndAR http://code.google.com/p/andar/
ARcrowd http://arcrowd.com/
ARLab http://www.arlab.com/
ARmedia http://www.inglobetechnologies.com/
ARMES http://www.armes-tech.com/
ArUco http://www.uco.es/investiga/grupos/ava/node/26
Augmented Pixels http://augmentedpixels.com/
Aurasma http://www.aurasma.com/
BazAR http://cvlab.epfl.ch/software/bazar/index.php
Beyond Reality Face http://www.beyond-reality-face.com/
BeyondAR http://beyondar.com/platform
Cortexia http://www.cortexica.com/
D'Fusion http://www.t-immersion.com/
Designers ARToolkit (DART) http://ael.gatech.edu/dart/index.htm
DroidAR http://bitstars.github.io/droidar/
flare* http://www.imagination.at/en/?Products:Augmented_Reality_for_Flash
FLARToolkit http://www.libspark.org/wiki/saqoosha/FLARToolKit/en
Goblin XNA http://goblinxna.codeplex.com/
Google Goggles http://www.google.com/mobile/goggles/
HoloBuilder http://www.holobuilder.com/
HOPPALA http://www.hoppala-agency.com/
idee http://ideeinc.com/
instantreality http://www.instantreality.org/
LinceoVR http://www.seac02.it/
Luxand FaceSDK http://www.luxand.com/
Minerva http://sourceforge.net/projects/minervaproject/
mixare http://www.mixare.org/
MXR Toolkit http://mxrtoolkit.sourceforge.net/
NyARToolkit http://nyatla.jp/nyartoolkit/wp/
Obvious Engine http://obviousengine.com/
OpenCV http://opencv.org/
osgART http://osgart.org/
PanicAR http://dopanic.com/solutions/panic_ar.html
PRAugmentedReality https://github.com/promet/PRAugmentedReality
PTAM http://www.robots.ox.ac.uk/~gk/PTAM/
SLARToolkit http://slartoolkit.codeplex.com/
SSTT http://technotecture.com/augmentedreality
Studierstube http://studierstube.icg.tugraz.at/
Studierstube Tracker http://studierstube.icg.tu-graz.ac.at/handheld_ar/stbtracker.php
UART https://research.cc.gatech.edu/uart/
Wikitude http://www.wikitude.com/
windage http://code.google.com/p/windage/
Xloudia http://xloudia.com/
xpose visual search http://www.buzzar.net/index.asp
yvision http://www.yvision.com/
Zenitum Feature Tracker http://www.zenitum.com/en/research/

 

许多SDK是相互依赖的,互相利用的方式也比较独特。有一些的用途很独特,比如人脸识别和SLAM追踪等。



发表评论

评论