【AR实验室】ARToolKit之概述篇

  • 时间:
  • 浏览:0
  • 来源:1分时时彩官网_玩1分时时彩的平台_1分时时彩下注平台

0x00 - 前言


我从去年就开始对AR(Augmented Reality)技术比较关注,你都还上能我去年AR行业一个劲 地处偶尔发声的情况表,丝毫都还上能了其"异姓同名"的兄弟VR(Virtual Reality)火爆。至于MR(Mixed Reality)更像是Google Glass事情前一天对AR的洗白。你都还上能我今年AR行业出了件大事,没错,别左右看到,说的有的是你 —— Pokemon GO。暂且不讨论这款游戏是有的是AR游戏,毕竟争议挺大,你都还上能我这款游戏着实是让AR火了一把。AR应用开发貌似有的是了燎原之势。

0x01 - AR技术定义


目前对AR技术的常见理解有些有些CV(Computer Vision)+CG(Computer Graphic)。CV的辦法 有些有些,简单些比如FREAK+ICP(ARToolKit中的NFT),错综复杂些有些有些SLAM(Magic Leap)。CG就没什么好说的,利用CV算法获取到的图形相关信息(比如CG中的模型矩阵、视图矩阵、投影矩阵)进行绘制。从有些点上来说Pokemon GO着实都还上能了算作AR游戏,毕竟人家有些有些基于LBS的。

知乎上有一有另一个话题 - 给你给让我们我们我们 说下AR的昨天今天明天可不时需吗?欢迎同时讨论 关于未来的AR型态?上方提到了AR你这个被广泛接受的定义:

1. 你这个是Paul Milgram和Fumio Kishino于1994年定义的“现实-虚拟连续体”。让我们我们我们 描述了从真实环境到虚拟环境的连续体。如图1-2所示,真实场景和虚拟场景分布在两端,在这两者之间接近真实环境的是增强现实,接近虚拟场景的是增强虚拟(扩增虚境),而地处上方的每种叫做混合实境。

2. 另外你这个定义是1997年北卡大学的Ronald Azuma提出的增强现实的定义。他认为增强现实技术应具有有另一个具体型态:三维注册、虚实融合以及实时交互。

作者:AR学院归海

链接:https://www.zhihu.com/question/33214635/answer/540058935

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

可能从这有另一个定义来说,Pokemon GO也是可不时需算你这个简单形式的AR游戏,相当于给人在感官上的体验是符合AR的。其着实我知道有些有些人认为下面原先才叫AR……你都还上能我让我们我们我们 还是要有信心的嘛!

这里我表达一下我每本人对AR的看法:

不管是vision based还是LBS,AR在技术上的目标着实有些有些建立一有另一个和现实场景1:1的虚拟世界。从CG的层厚,AR最关键的技术点是建立一有另一个相机坐标系,不能获取到现实场景中相应的模型信息(网格、位姿、材质等等)。都还上能了vision based的辦法 目前可不时需做到对于可能注册过的识别对象,是可不时需获取到它在相机坐标系中的位姿信息。而LBS的辦法 更符合一般CG开发的流程,首先利用GPS建立一有另一个世界坐标系,就可不时需获取到每个物体在世界坐标系的位置(包括相机),可有你就可不时需将什么物体转化到相机坐标系中,思路差太久是原先,有些有些精度上地处一定问提。目前给AR下一有另一个精准的定义还太早,我认为用户感官上着实是虚实融合就可不时需是不是 AR。

0x02 - AR技术现状


着实上方提到了有些有些次Pokemon GO,你都还上能我LBS的AR系统并有给你研究的重点,毕竟从目前来看vision based的AR系统才是主流。你都还上能我局限于我每本人的见识,只使用过Vuforia、EasyAR、ARToolKit。让我们我们我们 有兴趣励志的话 ,可不时需看一下知乎上的讨论 - 有什么比较优秀的AR开源项目,可能SDK?

Vuforia找不到说,商业SDK,支持的型态也比较多,好像可不时需支持3D Object Tracking,具体支持到什么程度,还都还上能了尝试,让我们我们我们 感兴趣可不时需登录Vuforia官网。EasyAR是国内的一款SDK,AR识别性能还是要赞一有另一个,让我们我们我们 可不时需去看EasyAR官网视频,还是很真实地反映了其性能(不像Magic Leap前一天那个鲸鱼的视频),每本人还是很看好的,比起Vuforia最大优势是免费使用一个劲 需水印(^_^;)。而ARToolKit相对上述有另一个SDK在识别性能和型态上表现的有的是很突出,你都还上能我ARToolKit胜在开源,可能你时需做有些AR业务扩展,而Vuforia和EasyAR都还上能了满足你,ARToolKit是一有另一个很好的选择。你都还上能我AR其中一有另一个趋势有些有些集成到现有App中,都还上能了使用Vuforia和EasyAR的代价就比较大了。另外作为一有另一个学生,抱着研究学习的心态,ARToolKit就再相当于不过了。

所前一天期我还是专注于ARToolKit的研究上,听说今年秋天ARToolKit6将发布,还是很期待的,ARToolKit官网链接请戳。

0x03 - ARToolKit概述


ARToolKit系统核心思路是原先的:

下面以NFT(自然图片追踪,Natural Feature Tracking)为例,简述AR实现流程

1. 通过相机校准(标定),获取到可能相机制造工艺偏差而造成的畸变参数,也有些有些相机内参(intrinsic matrix),来复原相机模型的3D空间到2D空间的一一对应关系。这对上方的型态提取步骤有很大作用。

2. 根据相机你这个的硬件参数,让我们我们我们 可不时需计算出相应的投影矩阵(Projection Matrix)。

3. 对待识别的自然图片(也有些有些任意的一张二维图片)进行型态提取,获取到一组型态点{P1}。

4. 实时对相机获取到的图像进行型态提取,也是一组型态点{P2}。

5. 使用ICP(Iterative Closest Point)算法来迭代求解这两组型态点的RT矩阵(Rotation&Translation),即Pose矩阵,也有些有些图形学中常说的模型视图矩阵(Model View Matrix)。

6. 有了MVP矩阵(Model View Projection),就可不时需进行图形绘制了。

0x04 - ARToolKit支持型态


目前来说,ARToolKit支持自然图片/Marker/2D BarCode的识别。

  • 自然图片解决

有些应用比较广泛,对用户的限制也会小有些有些。不过最好使用有些型态比较明显的图像,效果会更好。

  • Marker/MultiMarker

这是你这个经过特殊解决的图像,时需在边缘寄快递包裹 邮寄两层,最外侧是寄快递包裹 邮寄了白色/浅色边缘,内侧是寄快递包裹 邮寄了黑色边缘,让我们我们我们 猜不能猜出来原先做主有些有些提高识别度,同时也方便计算Pose(可能可不时需直接提取边缘来计算Pose)。如下图:

  • 2D BarCode(二维码)

有些没什么好说的,最常见的。

另外ARToolKit目前支持的渲染引擎是OSG(OpenSceneGraph),不过版本比较低。当然,你也可不时需使用OpenGL ES进行绘制。毕竟让我们我们我们 只时需获取到了MVP矩阵,理论上绘制每种是可不时需删剪分开的。

0x05 - 参考资料


  • 给你给让我们我们我们 说下AR的昨天今天明天可不时需吗?欢迎同时讨论 关于未来的AR型态?
  • 有什么比较优秀的AR开源项目,可能SDK?