基于自然特征的增强现实
从两年前开始知道增强现实,算是见证了增强现实从marker到natural marker的发展,使用过ARToolkit, EPFL的Bazar,也用过total immersion的软件,应当说不论是marker还是natural marker都已经很成熟了,尤其是total immersion的产品,实时性和稳定性都非常棒。国内做AR的公司也雨后春笋般涌现,但一般都是直接用开源软件,稍微做些修改。所以一直希望自己写一个AR软件,当然自己水平有限,离产品级软件还差得很远,只为了自娱自乐。其实AR的原理非常简单,不论是marker还是natural marker,都是
1)检测点或线特征;
2)利用对应点/线估算单应矩阵homography matrix
3)利用单应矩阵计算位姿
AR原理如此简单,为什么目前国内很少有人做出来呢?我感觉主要原因是:AR对实时性要求比较高,尤其对于 natural marker AR,制约其发展的主要是特征点检测与匹配算法,SIFT特征点抗各种变换的能力很强但速度太慢,SURF速度快一些但实际用下来发现正确匹配的特征点比 SIFT还是少了很多。正好最近做的课题需要用到SIFT,就对基于SIFT特征点的跟踪做了些改进,试下来效果还可以,于是在这个基础上初步写了个AR 软件。当然从严格意义上来说,这还不是AR,但能够从natural marker估算出位姿,也离AR差不多了。下一步是载入3D模型,将模型augment到视频流上。但自己的opengl知识太有限,下一步改进不知道啥时候能搞定了。。。