首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 学习教程>>正文
ARTool摄像头与目标相对位置计算原理浅析
2013年7月30日    评论:    分享:

    来源:第三维度
    作者:未知

    前言

    好久没有把学习的东西写出来了,最近在研究AR(增强现实)。发现ARToolKit的利用卡片的投影,来判断单摄像头来空间位置的思路很有特点,所以研究了一下。因为国内的资料很少,因此把从日文资料中学习来的内容分享给大家。

    希望对在这方面有兴趣的朋友有所启发和帮助。
 
    说明

    1,本人正在学习过计算机视觉,还没有入门,有些术语用错的请指教。

    2,原理部分涉及到线性代数的知识,本人已经忘光,虽然重新翻阅了同济大  学的线性代数教材,也只是应用其皮毛,此部分理论知识不牢。
 
    一,  ARToolkit介绍

    对拙文感兴趣的朋友,一定多少了解该技术,我就不班门弄斧了。想了解的朋友随便检索一下会有很多介绍的相关文章。

    我仅把官网备忘如下:http://www.hitl.washington.edu/artoolkit/

    二,  摄像头相对位置算法思路(arGetTransMat)

    ARToolkit的核心算法,我个人认为有2个,一个是卡片的识别(研究有心得的时候分享给大家),另外一个就是根据卡片投影的形状,来计算摄像头与卡片的相对位置。下面把该算法的实现原理介绍如下:

    1,卡片的形状

    正如大家所知道的,卡片的形状一定要是正方形(其他形状也可以,需要修改部分算法),正方型的好处是让算法相对简单。

    2,卡片的图形

    图形可以是任意的,单一定不能是中心对称的,因为中心对称的话就没有办法分辨出上下。

    3,近小远大及投影关系

    计算机视觉中,近小远大的投影关系,大家一定知道。ARTool就是巧妙的利用近小远大及投影关系来计算卡片相对摄像机远近,以及旋转(X轴/Y轴/Z轴)的相对位置。再具体点儿,

    假设事先拍摄好的一张卡片的正上方图片为A(一定要是垂直的正上方),

    在任意角度通过摄像头拍摄取得的卡片图像为B。

    A为正视图,正方型是没有任何扭曲的。B则不同,B会相对与A在空间的X/Y/Z轴上有旋转,及有前后的位移。

    如果我们能根据A与B的图像关系,分别计算出在X轴/Y轴/Z轴的旋转角度和的前后位移值,就知道了,摄像头相对于卡片的空间位置。问题就解决了。

    简单吧,理解上面的1,2,3特别是3,的话,我们就可以往下进行具体实现了。
 
    三,  用线性代数来实现

    解决上面3的问题。

    假设从摄像头上取得的卡片的坐标为Xc,Yc,Zc(摄像头坐标系),卡片的坐标为Xm,Ym,Zm。则有下面公式

    |Xc|  |r1 r2  r3| |Xm|

    |Yc|=|r4  r5  r6||Ym|

    |Xc|  |r7 r8  r9| |Zm|

    再假设相对与X轴的旋转角度为φ,相对与Y轴的旋转角度为θ,相对与Z轴旋转角度为ψ。

    上面的行列式求解为

           |cosφ –sinφ 0|
        X=|sinφ  conφ  0|
           |0       0     1|

           |1     0       0 |
        Y= |0  cosθ –sinθ|
           |0  sinθ   cosθ|
 
           |cosψ  -sinψ  0|
        Z= |sinψ  cosψ   0|
           |0       0      1|
 
        R=
       |cosφcosψ-sinφcosθsinψ-cosφsinψ-sinφcosθcosψ  sinφsinθ|
       |sinφcosψ+cosφcosθsinψ -sinφsinψ+cosφcosθcosψ-cosφsinθ|
       |sinθsinψ                      sinθcosψ             cosθ     |
 
       r9 = cosθ

       r7^2+r8^2 = (sinθ)^2
 
      如果sinθ≠0 则

       cosφ = -r6/sinθ
       sinφ =  r3/sinθ
       cosψ =  r8/sinθ
       sinψ =  r7/sinθ
 
      前后的前后位移非常简单,

      |Xc|   |x| |Xm|
      |Yc| = |y| |Ym|
      |Zc|   |z| |Zm|
 
    OK,问题解决完了。各位看懂了吗?

    如果没有懂,也别灰心,刚学到这里的时候,我也不懂,直到我重新复习了线性代数。
 
    四,线性代数复习

   如果您同我一样,看到上面的公式不知所云的时候,请在网上搜索一下线性代数的教材,再回忆一下大学生活。(我看的是同济大学的线性代数教材,觉得讲的深入浅出。推荐给各位)

   矩阵和线性变换之间存在的一一对应关系。以2维空间为例。

   假设有向量OP(x,y),OP长度为r,辐角为θ,则x=rcosθ,y=rsinθ。
 
     再假设OP1(x1,y1),OP1长度为与OP相同为r,辐角为在θ基础上旋转φ,则有

      X1=rcos(θ+φ)=r(cosφcosθ-sinφsinθ)

      Y1=rsin(θ+φ)=r(sinφcosθ+cosφsinθ)

      把cosθ=x/r ,sinθ=y/r代入

      X1=r(cosφx/r - sinφy/r)=xcosφ-ysinφ

      Y1=r(sinφx/r + cosφy/r)=xsinφ+ ycosφ

     写成行列式的形式的话

     |cosφ  -sinφ|
     |sinφ   cosφ|

    看到这里懂了吧,虽然是2维的例子,与3维的道理相同。

标签:ARTool摄像头AR增强现实
上一篇:微软:《光环》电视剧可与观者形成互动
下一篇:面向移动增强现实的视透型头戴显示器
网友评论:ARTool摄像头与目标相对位置计算原理浅析
评论
留名: 验证码:
您可能还需要关注一下内容:
·幻眼科技:让AR增强现实技术融入日常生活
·eSmart:一场属于VR的狂欢
·聚焦eSmart:智能硬件必将崛起,科技改变数字生活
·幻眼-提供最先进的增强现实营销解决方案
·增强现实技术支持的幼儿教育环境研究
·VR眼镜没前途,AR才是未来
·基于ArcGIS创建三维虚拟城市流程
·首款国产增强现实眼镜 HiAR Glasses发布
·以影像辨识实现智能型导览系统
·汽车制造业是驱动AR技术发展的原动力
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号