【AR实验室】ARToolKit之概述篇

  • 时间:
  • 浏览:0

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/5100058935

来源:知乎

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

肯能从你这个 个多定义来说,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?