侧边栏壁纸
  • 累计撰写 225 篇文章
  • 累计创建 275 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

AR技术概述

DGF
DGF
2017-06-20 / 0 评论 / 0 点赞 / 28 阅读 / 0 字

post22-1.jpg

一、概述

增强现实技术(Augmented Reality,简称 AR),相信大家都不再陌生,其实也就这两年才火起来。如果是 2010 年之前你跟人说 AR,基本会被认为是天方夜谭。没有合适的硬件平台,与大众消费市场距离太远,只能算是实验室里的玩具。后面智能手机一出,情况就不一样了,相机、大屏幕(相比功能机),这两个关键器件的存在,以及硬件计算能力的突飞猛进,AR 技术有了落地的基础,于是乎大量的 AR 应用如雨后春笋冒出来。特别是今年 Pokemon Go 的发布,脑洞一下子就打开了,大众对 AR 技术的憧憬越来越强烈。

post22-4.png
AR

顾名思义,增强现实是对现实的增强。广义地来看,“增强现实”早已覆盖生活中的方方面面,比如在树干上覆盖 LED 灯,营造艺术效果;比如在鬼屋里放置一些声源,制造恐怖气氛;甚至喷香水,都是对现实的增强,提升人视觉、听觉、嗅觉等感官上的感受。当然这些都是用实物来增强现实,显得没那么有科技感。

post22-2.jpg
AR

而通常所说的增强现实,指的是用虚拟内容来做视觉上的增强,通过屏幕或投影设备来显示。比如常见的在手机的相机预览中展示 3D 动画(如 QQ 传火炬)、微软的 HoloLens,Google 的 Tango,还有 Magic Leap 等等。

总体上看,AR 技术的关键在于设备对周围环境的感知理解:最基本的,确定设备自身的空间位置;再高级一点的,对环境进行实时重建(SLAM);更高级的,就涉及到识别、认知和交互了。这里面,定位是最基础的,只有设备自身的位置(和朝向)精确地被确定,虚拟出来的内容才能和现实很好地结合,以达到足够的真实感,并且,该过程需要实时地进行。这也是 VR 的关键技术之一。

目前应用于移动设备上的 AR 主要有两类:基于图片标记的 AR 和基于 IMU 的 AR。

post22-3.jpeg
AR

QQ 传火炬是典型的基于图片标记的 AR,通过手机拍摄特定的图像(另一个用户手机上展示的火炬图片),在预览画面中叠加 3D 动画效果,移动或旋转手机,3D 动画始终与拍摄的火炬图片保持固定的位置关系,从而达到增强现实的体验。Pokemon Go 则是基于 IMU AR 的典型,即通过设备自身的陀螺仪、加速度计等传感器数据来进行定位。设备旋转可以通过陀螺仪测得,而位移则可通过加速度计测得。基于 IMU 的 AR 实现相对简单,但精度较低,且 drift 严重(累计误差越来越大),适用场景有限。

本系列文章主要讨论基于平面图片标记的 AR 技术实现,又可分为两类:Marker 和 Markerless,两者的区别主要在于图片标记是否是规则的:

  • Marker:通常是黑白方格按一定编码方式构成的图片;
  • Markerless:普通的图片。

相比普通图片,特定编码的 Marker 识别和跟踪都更简单,但应用上比较局限。所以现在主流的 AR 应用都是 Markerless 的,即识别一张普通的平面图片,然后在上面叠加 3D 内容,如 QQ 传火炬。

二、原理

如之前所说,AR 的关键在于设备自身的定位。而基于图片标记的 AR,就是通过相机拍摄已知图片,根据该图片在相机画面中的位置,来确定相机的空间位置,也即确定设备的空间位置。如下图主流程包括三个阶段:拍摄图像、图像处理和更新虚拟内容,其中图像处理是核心。在图像处理完成后,得到了相机的外参(Extrinsic,相机坐标系与世界坐标系的变换关系),然后应用到预览画面的叠加层(如 OpenGL 或 3D 引擎环境),更新虚拟内容的位置,就完成了整个一帧的处理过程。然后不断重复这个过程,使得设备移动后,虚拟内容始终展示在正确的位置上。

post22-9.png
图像处理过程作为核心,又包括一些子过程,如相机内参标定、预览帧特征提取、匹配、相机外参标定等过程(其中内参标定可离线完成)。

1. 相机内参标定

相机的成像过程可以看做是将空间点变换到图像上点的过程。如果忽略相机的畸变影响,则整个变换过程都是线性的。相机内参标定的目标就是找到这个变换的参数(含畸变),从而可以用数学计算准确地刻画相机的成像过程。

post22-5.png
在不考虑镜头畸变的情况下,可以将相机成像的变换模型表示成如下:

post22-6.png
AR

其中 ( A ) 即为相机的内参矩阵,包括 x、y 方向上的焦距 ( f_x )、( f_y ) 和图像中心 ( c_x )、( c_y )。空间点 ( M ) 首先经过相机外参 ( [R|t] ) 变换到设备(相机)坐标系(DCS),然后经过相机内参 ( A ) 变换到图像坐标系(ICS),成像在 ( (u, v) ) 处。确定相机内参的过程即为内参标定。内参与相机的焦距、硬件工艺有关,通常可以离线完成。内参标定常采用张正友棋盘格标定法,其操作简单且精度较高:只需从不同角度拍摄同一棋盘格的图片,即可完成标定。

2. 图像特征提取与匹配

图像特征点(Key Point)又称“兴趣点”,可认为是图像上具有特定特征的局部位置标示。特征描述(Descriptor)则是表示该特征点“特征”的量,可用来区分、匹配不同的特征点。良好的特征点应该具有以下性质:

  • 重复性:同一个物体或场景在不同的条件下(如旋转、尺度、光照),两幅图像中对应的特征越多越好。
  • 独特性:特征的幅值模式需要呈现多样性,这样的特征才能被区分和匹配。
  • 数量性:检测到的特征数目要多,但太多会对检索实时性造成影响。
  • 准确性:得到的特征应该能被精确定位,包括图像空间和尺度空间上的精确定位。
  • 高效性:检测和描述的时间越短越好,以便用于后续的实时应用。

post22-7.png
其中可重复性又以旋转不变性和尺度不变性为关键。SIFT 及其改进算法 SURF 是常用的特征提取算法,FAST 则以快速闻名,适用于实时场景。

特征匹配即在提取两幅图的特征点后,根据特征点的描述子进行匹配,得到匹配点对集,以用于后续的单应矩阵计算。特征匹配可看作分类过程,如简单的基于汉明距离进行匹配,或基于 k 近邻算法进行匹配后通过比率测试减少误匹配。FLANN 是常用的特征匹配开源库。

3. 相机外参标定

post22-8.png
相机外参标定即求取前文相机成像公式中的 ( [R|t] )。在已知相机内参的情况下,根据两幅图像间的特征点匹配点对,即可求得相机在这两幅图像间的空间位置关系(旋转 ( R ) 和平移 ( t ))。如果其中一幅图像是输入的标记图片,将其设定在世界坐标原点,该过程是计算机视觉中的 PnP(Perspective-n-Point)问题,也可看作是相机的外参标定过程。

该问题可基于直接线性变换 DLT(Direct Linear Transformation)结合最小二乘法求解,也可根据一个初始值通过迭代方法求解。外参标定过程的重点在于误匹配的去除,常采用 RANSAC 算法进行。

三、结语

VR 让人体验不一样的世界,而 AR 则是让现实世界更美好。有人把 AR 看作新的计算平台,完全不为过。试想一下,最早期的寻呼机、功能机只是提供一维的通知、电话或短信服务,到了智能机时代,大屏的出现,二维的图像、音视频成了主流,那下一个时代呢,也许3D技术、AR会是计算设备的核心能力之一。

0

评论区